Module: JSONSchemer::Draft202012::Vocab

Defined in:
lib/json_schemer/draft202012/vocab.rb,
lib/json_schemer/draft202012/vocab/core.rb,
lib/json_schemer/draft202012/vocab/content.rb,
lib/json_schemer/draft202012/vocab/meta_data.rb,
lib/json_schemer/draft202012/vocab/applicator.rb,
lib/json_schemer/draft202012/vocab/validation.rb,
lib/json_schemer/draft202012/vocab/unevaluated.rb,
lib/json_schemer/draft202012/vocab/format_assertion.rb,
lib/json_schemer/draft202012/vocab/format_annotation.rb

Defined Under Namespace

Modules: Applicator, Content, Core, FormatAnnotation, FormatAssertion, MetaData, Unevaluated, Validation

Constant Summary collapse

CORE =
{
  # https://datatracker.ietf.org/doc/html/draft-bhutton-json-schema-01#section-8.1
  '$schema' => Core::Schema,
  '$vocabulary' => Core::Vocabulary,
  # https://datatracker.ietf.org/doc/html/draft-bhutton-json-schema-01#section-8.2
  '$id' => Core::Id,
  '$anchor' => Core::Anchor,
  '$ref' => Core::Ref,
  '$dynamicAnchor' => Core::DynamicAnchor,
  '$dynamicRef' => Core::DynamicRef,
  '$defs' => Core::Defs,
  'definitions' => Core::Defs,
  # https://datatracker.ietf.org/doc/html/draft-bhutton-json-schema-01#section-8.3
  '$comment' => Core::Comment,
  # https://github.com/orgs/json-schema-org/discussions/329
  'x-error' => Core::XError
}
APPLICATOR =
{
  # https://datatracker.ietf.org/doc/html/draft-bhutton-json-schema-01#section-10.2
  'allOf' => Applicator::AllOf,
  'anyOf' => Applicator::AnyOf,
  'oneOf' => Applicator::OneOf,
  'not' => Applicator::Not,
  # https://datatracker.ietf.org/doc/html/draft-bhutton-json-schema-01#section-10.2.2
  'if' => Applicator::If,
  'then' => Applicator::Then,
  'else' => Applicator::Else,
  'dependentSchemas' => Applicator::DependentSchemas,
  # https://datatracker.ietf.org/doc/html/draft-bhutton-json-schema-01#section-10.3
  'prefixItems' => Applicator::PrefixItems,
  'items' => Applicator::Items,
  'contains' => Applicator::Contains,
  # https://datatracker.ietf.org/doc/html/draft-bhutton-json-schema-01#section-10.3.2
  'properties' => Applicator::Properties,
  'patternProperties' => Applicator::PatternProperties,
  'additionalProperties' => Applicator::AdditionalProperties,
  'propertyNames' => Applicator::PropertyNames,
  'dependencies' => Applicator::Dependencies
}
UNEVALUATED =
{
  'unevaluatedItems' => Unevaluated::UnevaluatedItems,
  'unevaluatedProperties' => Unevaluated::UnevaluatedProperties
}
VALIDATION =
{
  # https://datatracker.ietf.org/doc/html/draft-bhutton-json-schema-validation-01#section-6.1
  'type' => Validation::Type,
  'enum' => Validation::Enum,
  'const' => Validation::Const,
  # https://datatracker.ietf.org/doc/html/draft-bhutton-json-schema-validation-01#section-6.2
  'multipleOf' => Validation::MultipleOf,
  'maximum' => Validation::Maximum,
  'exclusiveMaximum' => Validation::ExclusiveMaximum,
  'minimum' => Validation::Minimum,
  'exclusiveMinimum' => Validation::ExclusiveMinimum,
  # https://datatracker.ietf.org/doc/html/draft-bhutton-json-schema-validation-01#section-6.3
  'maxLength' => Validation::MaxLength,
  'minLength' => Validation::MinLength,
  'pattern' => Validation::Pattern,
  # https://datatracker.ietf.org/doc/html/draft-bhutton-json-schema-validation-01#section-6.4
  'maxItems' => Validation::MaxItems,
  'minItems' => Validation::MinItems,
  'uniqueItems' => Validation::UniqueItems,
  'maxContains' => Validation::MaxContains,
  'minContains' => Validation::MinContains,
  # https://datatracker.ietf.org/doc/html/draft-bhutton-json-schema-validation-01#section-6.5
  'maxProperties' => Validation::MaxProperties,
  'minProperties' => Validation::MinProperties,
  'required' => Validation::Required,
  'dependentRequired' => Validation::DependentRequired
}
FORMAT_ANNOTATION =
{
  'format' => FormatAnnotation::Format
}
FORMAT_ASSERTION =
{
  'format' => FormatAssertion::Format
}
CONTENT =
{
  'contentEncoding' => Content::ContentEncoding,
  'contentMediaType' => Content::ContentMediaType,
  'contentSchema' => Content::ContentSchema
}
META_DATA =
{
  # 'title' => MetaData::Title,
  # 'description' => MetaData::Description,
  # 'default' => MetaData::Default,
  # 'deprecated' => MetaData::Deprecated,
  'readOnly' => MetaData::ReadOnly,
  'writeOnly' => MetaData::WriteOnly,
  # 'examples' => MetaData::Examples
}