CharterAgreementProtocol.Schema.Definition (Charter Agreement Protocol v0.2.1)

Copy Markdown View Source

A closed, non-authorizing object definition and its cross-field rules.

Summary

Types

cross_rule()

@type cross_rule() ::
  {:field_equals, binary(), CharterAgreementProtocol.Json.value()}
  | {:fields_equal, binary(), binary()}
  | {:ordered, binary(), :lt | :lte | :gt | :gte, binary()}
  | {:ordered_if_present, binary(), :lt | :lte | :gt | :gte, binary()}
  | {:allowed, [binary()], [[CharterAgreementProtocol.Json.value()]]}
  | {:requires, binary(), CharterAgreementProtocol.Json.value(), binary()}

t()

@type t() :: %CharterAgreementProtocol.Schema.Definition{
  cross_field: [cross_rule()],
  fields: [CharterAgreementProtocol.Schema.Field.t()],
  name: binary()
}