CharterAgreementProtocol.Schema.Field (Charter Agreement Protocol v0.1.0)

Copy Markdown View Source

A non-authorizing field declaration consumed by Schema.validate/2.

Summary

Types

constraint()

@type constraint() ::
  {:integer_range, integer(), integer()}
  | {:string_bytes, non_neg_integer(), non_neg_integer()}
  | {:one_of, [CharterAgreementProtocol.Json.value()]}
  | {:matches, Regex.t()}
  | :utc_timestamp
  | {:all, [constraint()]}

t()

@type t() :: %CharterAgreementProtocol.Schema.Field{
  cardinality: nil | {non_neg_integer(), non_neg_integer()},
  constraint: nil | constraint(),
  name: binary(),
  nested:
    nil | {:object | :array, CharterAgreementProtocol.Schema.Definition.t()},
  required?: boolean(),
  types: [value_type()]
}

value_type()

@type value_type() ::
  :null | :boolean | :integer | :float | :number | :string | :array | :object