Packages
jsv
0.5.0
0.21.2
0.21.1
0.21.0
0.20.0
0.19.6
0.19.5
0.19.4
0.19.3
0.19.2
0.19.1
0.19.0
0.18.3
0.18.2
0.18.1
0.18.0
0.17.1
0.17.0
0.16.0
0.15.2
0.15.1
0.15.0
0.14.0
0.13.1
0.13.0
0.12.0
0.11.5
0.11.4
0.11.3
retired
0.11.2
0.11.1
0.11.0
0.10.1
0.10.0
0.9.0
0.8.1
0.8.0
0.7.2
0.7.1
0.7.0
0.6.3
0.6.2
0.6.0
0.5.1
0.5.0
0.4.0
0.3.0
0.2.0
0.1.0
A JSON Schema Validator with complete support for the latest specifications.
Current section
Files
Jump to
Current section
Files
lib/jsv/resolver/embedded/draft202012/meta/validation.ex
defmodule JSV.Resolver.Embedded.Draft202012.Meta.Validation do
@moduledoc false
@spec schema :: map
def schema do
%{
"$defs" => %{
"nonNegativeInteger" => %{"minimum" => 0, "type" => "integer"},
"nonNegativeIntegerDefault0" => %{
"$ref" => "#/$defs/nonNegativeInteger",
"default" => 0
},
"simpleTypes" => %{
"enum" => ["array", "boolean", "integer", "null", "number", "object", "string"]
},
"stringArray" => %{
"default" => [],
"items" => %{"type" => "string"},
"type" => "array",
"uniqueItems" => true
}
},
"$dynamicAnchor" => "meta",
"$id" => "https://json-schema.org/draft/2020-12/meta/validation",
"$schema" => "https://json-schema.org/draft/2020-12/schema",
"properties" => %{
"const" => true,
"dependentRequired" => %{
"additionalProperties" => %{"$ref" => "#/$defs/stringArray"},
"type" => "object"
},
"enum" => %{"items" => true, "type" => "array"},
"exclusiveMaximum" => %{"type" => "number"},
"exclusiveMinimum" => %{"type" => "number"},
"maxContains" => %{"$ref" => "#/$defs/nonNegativeInteger"},
"maxItems" => %{"$ref" => "#/$defs/nonNegativeInteger"},
"maxLength" => %{"$ref" => "#/$defs/nonNegativeInteger"},
"maxProperties" => %{"$ref" => "#/$defs/nonNegativeInteger"},
"maximum" => %{"type" => "number"},
"minContains" => %{"$ref" => "#/$defs/nonNegativeInteger", "default" => 1},
"minItems" => %{"$ref" => "#/$defs/nonNegativeIntegerDefault0"},
"minLength" => %{"$ref" => "#/$defs/nonNegativeIntegerDefault0"},
"minProperties" => %{"$ref" => "#/$defs/nonNegativeIntegerDefault0"},
"minimum" => %{"type" => "number"},
"multipleOf" => %{"exclusiveMinimum" => 0, "type" => "number"},
"pattern" => %{"format" => "regex", "type" => "string"},
"required" => %{"$ref" => "#/$defs/stringArray"},
"type" => %{
"anyOf" => [
%{"$ref" => "#/$defs/simpleTypes"},
%{
"items" => %{"$ref" => "#/$defs/simpleTypes"},
"minItems" => 1,
"type" => "array",
"uniqueItems" => true
}
]
},
"uniqueItems" => %{"default" => false, "type" => "boolean"}
},
"title" => "Validation vocabulary meta-schema",
"type" => ["object", "boolean"]
}
end
end