This module provides a way to extract the fields and types of an Ecto.Schema.
@type property() :: {atom(), atom()}
@type t() :: %Swagdox.Schema{ description: String.t(), example: term(), module: module(), properties: [property()], required: [atom()], type: String.t() }
@spec description(module()) :: String.t()
@spec example(module()) :: any()
@spec infer(module()) :: t()
@spec name(t()) :: String.t()
@spec properties(module()) :: [property()]
@spec reference(t() | String.t()) :: String.t()
@spec render(t()) :: map()