View Source Avrora.Schema.Name (avrora v0.30.1)

Struct for versioned schema names like io.acme.Payment:42.

Summary

Functions

Parse schema name with optional version, returning struct.

Types

t()

@type t() :: %Avrora.Schema.Name{
  name: String.t(),
  origin: String.t(),
  version: nil | integer()
}

Functions

parse(payload)

@spec parse(String.t()) :: {:ok, t()} | {:error, term()}

Parse schema name with optional version, returning struct.

Examples

iex> Avrora.Schema.Name.parse("Payment")
{:ok, %Avrora.Schema.Name{origin: "Payment", name: "Payment", version: nil}}
iex> Avrora.Schema.Name.parse("io.acme.Payment:42")
{:ok, %Avrora.Schema.Name{origin: "io.acme.Payment:42", name: "io.acme.Payment", version: 42}}