Current section

Files

Jump to
oapi_generator lib open_api spec schema discriminator.ex
Raw

lib/open_api/spec/schema/discriminator.ex

defmodule OpenAPI.Spec.Schema.Discriminator do
@moduledoc false
#
# Definition
#
@type t :: %__MODULE__{
property_name: String.t(),
mapping: %{optional(String.t()) => String.t()}
}
defstruct [
:property_name,
:mapping
]
#
# Decoder
#
@spec decode(map, map) :: {map, t}
def decode(state, yaml) do
discriminator = %__MODULE__{
property_name: Map.fetch!(yaml, "propertyName"),
mapping: Map.fetch!(yaml, "mapping")
}
{state, discriminator}
end
end