jsi-dev 0.0.8 → 0.0.10

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (149) hide show
  1. checksums.yaml +4 -4
  2. data/.yardopts +3 -4
  3. data/CHANGELOG.md +19 -0
  4. data/LICENSE.md +2 -3
  5. data/README.md +87 -43
  6. data/docs/Glossary.md +313 -0
  7. data/jsi.gemspec +1 -1
  8. data/lib/jsi/base/mutability.rb +48 -0
  9. data/lib/jsi/base/node.rb +66 -52
  10. data/lib/jsi/base.rb +593 -176
  11. data/lib/jsi/jsi_coder.rb +4 -2
  12. data/lib/jsi/metaschema_node/bootstrap_schema.rb +118 -59
  13. data/lib/jsi/metaschema_node.rb +245 -154
  14. data/lib/jsi/ptr.rb +45 -17
  15. data/lib/jsi/ref.rb +197 -0
  16. data/lib/jsi/registry.rb +311 -0
  17. data/lib/jsi/schema/cxt/child_application.rb +35 -0
  18. data/lib/jsi/schema/cxt/inplace_application.rb +37 -0
  19. data/lib/jsi/schema/cxt.rb +80 -0
  20. data/lib/jsi/schema/dialect.rb +137 -0
  21. data/lib/jsi/schema/draft04.rb +113 -5
  22. data/lib/jsi/schema/draft06.rb +123 -5
  23. data/lib/jsi/schema/draft07.rb +157 -5
  24. data/lib/jsi/schema/draft202012.rb +303 -0
  25. data/lib/jsi/schema/dynamic_anchor_map.rb +63 -0
  26. data/lib/jsi/schema/element.rb +69 -0
  27. data/lib/jsi/schema/elements/anchor.rb +13 -0
  28. data/lib/jsi/schema/elements/array_validation.rb +82 -0
  29. data/lib/jsi/schema/elements/comment.rb +10 -0
  30. data/lib/jsi/schema/{validation → elements}/const.rb +11 -7
  31. data/lib/jsi/schema/elements/contains.rb +59 -0
  32. data/lib/jsi/schema/elements/contains_minmax.rb +91 -0
  33. data/lib/jsi/schema/elements/content_encoding.rb +10 -0
  34. data/lib/jsi/schema/elements/content_media_type.rb +10 -0
  35. data/lib/jsi/schema/elements/content_schema.rb +16 -0
  36. data/lib/jsi/schema/elements/default.rb +11 -0
  37. data/lib/jsi/schema/elements/definitions.rb +19 -0
  38. data/lib/jsi/schema/elements/dependencies.rb +99 -0
  39. data/lib/jsi/schema/elements/dependent_required.rb +49 -0
  40. data/lib/jsi/schema/elements/dependent_schemas.rb +69 -0
  41. data/lib/jsi/schema/elements/dynamic_ref.rb +69 -0
  42. data/lib/jsi/schema/elements/enum.rb +26 -0
  43. data/lib/jsi/schema/elements/examples.rb +10 -0
  44. data/lib/jsi/schema/elements/format.rb +10 -0
  45. data/lib/jsi/schema/elements/id.rb +30 -0
  46. data/lib/jsi/schema/elements/if_then_else.rb +82 -0
  47. data/lib/jsi/schema/elements/info_bool.rb +10 -0
  48. data/lib/jsi/schema/elements/info_string.rb +10 -0
  49. data/lib/jsi/schema/elements/items.rb +93 -0
  50. data/lib/jsi/schema/elements/items_prefixed.rb +96 -0
  51. data/lib/jsi/schema/elements/not.rb +31 -0
  52. data/lib/jsi/schema/elements/numeric.rb +137 -0
  53. data/lib/jsi/schema/elements/numeric_draft04.rb +77 -0
  54. data/lib/jsi/schema/elements/object_validation.rb +55 -0
  55. data/lib/jsi/schema/elements/pattern.rb +35 -0
  56. data/lib/jsi/schema/elements/properties.rb +145 -0
  57. data/lib/jsi/schema/elements/property_names.rb +48 -0
  58. data/lib/jsi/schema/elements/ref.rb +62 -0
  59. data/lib/jsi/schema/elements/required.rb +34 -0
  60. data/lib/jsi/schema/elements/self.rb +24 -0
  61. data/lib/jsi/schema/elements/some_of.rb +180 -0
  62. data/lib/jsi/schema/elements/string_validation.rb +57 -0
  63. data/lib/jsi/schema/elements/type.rb +43 -0
  64. data/lib/jsi/schema/elements/unevaluated_items.rb +54 -0
  65. data/lib/jsi/schema/elements/unevaluated_properties.rb +54 -0
  66. data/lib/jsi/schema/elements/xschema.rb +10 -0
  67. data/lib/jsi/schema/elements/xvocabulary.rb +10 -0
  68. data/lib/jsi/schema/elements.rb +101 -0
  69. data/lib/jsi/schema/issue.rb +3 -4
  70. data/lib/jsi/schema/schema_ancestor_node.rb +105 -52
  71. data/lib/jsi/schema/vocabulary.rb +36 -0
  72. data/lib/jsi/schema.rb +598 -383
  73. data/lib/jsi/schema_classes.rb +195 -141
  74. data/lib/jsi/schema_set.rb +85 -128
  75. data/lib/jsi/set.rb +23 -0
  76. data/lib/jsi/simple_wrap.rb +14 -17
  77. data/lib/jsi/struct.rb +57 -0
  78. data/lib/jsi/uri.rb +40 -0
  79. data/lib/jsi/util/private/memo_map.rb +9 -13
  80. data/lib/jsi/util/private.rb +59 -31
  81. data/lib/jsi/util/typelike.rb +19 -60
  82. data/lib/jsi/util.rb +53 -34
  83. data/lib/jsi/validation/error.rb +45 -2
  84. data/lib/jsi/validation/result.rb +121 -90
  85. data/lib/jsi/validation.rb +1 -6
  86. data/lib/jsi/version.rb +1 -1
  87. data/lib/jsi.rb +170 -36
  88. data/lib/schemas/json-schema.org/draft/2020-12/schema.rb +62 -0
  89. data/lib/schemas/json-schema.org/draft-04/schema.rb +60 -109
  90. data/lib/schemas/json-schema.org/draft-06/schema.rb +53 -108
  91. data/lib/schemas/json-schema.org/draft-07/schema.rb +63 -127
  92. data/readme.rb +4 -4
  93. data/{resources}/schemas/2020-12_strict.json +19 -0
  94. data/{resources}/schemas/json-schema.org/draft/2020-12/meta/applicator.json +48 -0
  95. data/{resources}/schemas/json-schema.org/draft/2020-12/meta/content.json +17 -0
  96. data/{resources}/schemas/json-schema.org/draft/2020-12/meta/core.json +51 -0
  97. data/{resources}/schemas/json-schema.org/draft/2020-12/meta/format-annotation.json +14 -0
  98. data/{resources}/schemas/json-schema.org/draft/2020-12/meta/format-assertion.json +14 -0
  99. data/{resources}/schemas/json-schema.org/draft/2020-12/meta/meta-data.json +37 -0
  100. data/{resources}/schemas/json-schema.org/draft/2020-12/meta/unevaluated.json +15 -0
  101. data/{resources}/schemas/json-schema.org/draft/2020-12/meta/validation.json +98 -0
  102. data/{resources}/schemas/json-schema.org/draft/2020-12/schema.json +58 -0
  103. metadata +73 -52
  104. data/docs/glossary.md +0 -281
  105. data/lib/jsi/metaschema.rb +0 -6
  106. data/lib/jsi/schema/application/child_application/contains.rb +0 -25
  107. data/lib/jsi/schema/application/child_application/draft04.rb +0 -21
  108. data/lib/jsi/schema/application/child_application/draft06.rb +0 -28
  109. data/lib/jsi/schema/application/child_application/draft07.rb +0 -28
  110. data/lib/jsi/schema/application/child_application/items.rb +0 -18
  111. data/lib/jsi/schema/application/child_application/properties.rb +0 -25
  112. data/lib/jsi/schema/application/child_application.rb +0 -13
  113. data/lib/jsi/schema/application/draft04.rb +0 -8
  114. data/lib/jsi/schema/application/draft06.rb +0 -8
  115. data/lib/jsi/schema/application/draft07.rb +0 -8
  116. data/lib/jsi/schema/application/inplace_application/dependencies.rb +0 -28
  117. data/lib/jsi/schema/application/inplace_application/draft04.rb +0 -25
  118. data/lib/jsi/schema/application/inplace_application/draft06.rb +0 -26
  119. data/lib/jsi/schema/application/inplace_application/draft07.rb +0 -32
  120. data/lib/jsi/schema/application/inplace_application/ifthenelse.rb +0 -20
  121. data/lib/jsi/schema/application/inplace_application/ref.rb +0 -18
  122. data/lib/jsi/schema/application/inplace_application/someof.rb +0 -44
  123. data/lib/jsi/schema/application/inplace_application.rb +0 -14
  124. data/lib/jsi/schema/application.rb +0 -12
  125. data/lib/jsi/schema/ref.rb +0 -183
  126. data/lib/jsi/schema/validation/array.rb +0 -69
  127. data/lib/jsi/schema/validation/contains.rb +0 -25
  128. data/lib/jsi/schema/validation/dependencies.rb +0 -49
  129. data/lib/jsi/schema/validation/draft04/minmax.rb +0 -91
  130. data/lib/jsi/schema/validation/draft04.rb +0 -110
  131. data/lib/jsi/schema/validation/draft06.rb +0 -120
  132. data/lib/jsi/schema/validation/draft07.rb +0 -157
  133. data/lib/jsi/schema/validation/enum.rb +0 -25
  134. data/lib/jsi/schema/validation/ifthenelse.rb +0 -46
  135. data/lib/jsi/schema/validation/items.rb +0 -54
  136. data/lib/jsi/schema/validation/not.rb +0 -20
  137. data/lib/jsi/schema/validation/numeric.rb +0 -121
  138. data/lib/jsi/schema/validation/object.rb +0 -45
  139. data/lib/jsi/schema/validation/pattern.rb +0 -34
  140. data/lib/jsi/schema/validation/properties.rb +0 -101
  141. data/lib/jsi/schema/validation/property_names.rb +0 -32
  142. data/lib/jsi/schema/validation/ref.rb +0 -40
  143. data/lib/jsi/schema/validation/required.rb +0 -27
  144. data/lib/jsi/schema/validation/someof.rb +0 -90
  145. data/lib/jsi/schema/validation/string.rb +0 -47
  146. data/lib/jsi/schema/validation/type.rb +0 -49
  147. data/lib/jsi/schema/validation.rb +0 -49
  148. data/lib/jsi/schema_registry.rb +0 -190
  149. data/lib/jsi/util/private/attr_struct.rb +0 -130
@@ -0,0 +1,17 @@
1
+ {
2
+ "$schema": "https://json-schema.org/draft/2020-12/schema",
3
+ "$id": "https://json-schema.org/draft/2020-12/meta/content",
4
+ "$vocabulary": {
5
+ "https://json-schema.org/draft/2020-12/vocab/content": true
6
+ },
7
+ "$dynamicAnchor": "meta",
8
+
9
+ "title": "Content vocabulary meta-schema",
10
+
11
+ "type": ["object", "boolean"],
12
+ "properties": {
13
+ "contentEncoding": { "type": "string" },
14
+ "contentMediaType": { "type": "string" },
15
+ "contentSchema": { "$dynamicRef": "#meta" }
16
+ }
17
+ }
@@ -0,0 +1,51 @@
1
+ {
2
+ "$schema": "https://json-schema.org/draft/2020-12/schema",
3
+ "$id": "https://json-schema.org/draft/2020-12/meta/core",
4
+ "$vocabulary": {
5
+ "https://json-schema.org/draft/2020-12/vocab/core": true
6
+ },
7
+ "$dynamicAnchor": "meta",
8
+
9
+ "title": "Core vocabulary meta-schema",
10
+ "type": ["object", "boolean"],
11
+ "properties": {
12
+ "$id": {
13
+ "$ref": "#/$defs/uriReferenceString",
14
+ "$comment": "Non-empty fragments not allowed.",
15
+ "pattern": "^[^#]*#?$"
16
+ },
17
+ "$schema": { "$ref": "#/$defs/uriString" },
18
+ "$ref": { "$ref": "#/$defs/uriReferenceString" },
19
+ "$anchor": { "$ref": "#/$defs/anchorString" },
20
+ "$dynamicRef": { "$ref": "#/$defs/uriReferenceString" },
21
+ "$dynamicAnchor": { "$ref": "#/$defs/anchorString" },
22
+ "$vocabulary": {
23
+ "type": "object",
24
+ "propertyNames": { "$ref": "#/$defs/uriString" },
25
+ "additionalProperties": {
26
+ "type": "boolean"
27
+ }
28
+ },
29
+ "$comment": {
30
+ "type": "string"
31
+ },
32
+ "$defs": {
33
+ "type": "object",
34
+ "additionalProperties": { "$dynamicRef": "#meta" }
35
+ }
36
+ },
37
+ "$defs": {
38
+ "anchorString": {
39
+ "type": "string",
40
+ "pattern": "^[A-Za-z_][-A-Za-z0-9._]*$"
41
+ },
42
+ "uriString": {
43
+ "type": "string",
44
+ "format": "uri"
45
+ },
46
+ "uriReferenceString": {
47
+ "type": "string",
48
+ "format": "uri-reference"
49
+ }
50
+ }
51
+ }
@@ -0,0 +1,14 @@
1
+ {
2
+ "$schema": "https://json-schema.org/draft/2020-12/schema",
3
+ "$id": "https://json-schema.org/draft/2020-12/meta/format-annotation",
4
+ "$vocabulary": {
5
+ "https://json-schema.org/draft/2020-12/vocab/format-annotation": true
6
+ },
7
+ "$dynamicAnchor": "meta",
8
+
9
+ "title": "Format vocabulary meta-schema for annotation results",
10
+ "type": ["object", "boolean"],
11
+ "properties": {
12
+ "format": { "type": "string" }
13
+ }
14
+ }
@@ -0,0 +1,14 @@
1
+ {
2
+ "$schema": "https://json-schema.org/draft/2020-12/schema",
3
+ "$id": "https://json-schema.org/draft/2020-12/meta/format-assertion",
4
+ "$vocabulary": {
5
+ "https://json-schema.org/draft/2020-12/vocab/format-assertion": true
6
+ },
7
+ "$dynamicAnchor": "meta",
8
+
9
+ "title": "Format vocabulary meta-schema for assertion results",
10
+ "type": ["object", "boolean"],
11
+ "properties": {
12
+ "format": { "type": "string" }
13
+ }
14
+ }
@@ -0,0 +1,37 @@
1
+ {
2
+ "$schema": "https://json-schema.org/draft/2020-12/schema",
3
+ "$id": "https://json-schema.org/draft/2020-12/meta/meta-data",
4
+ "$vocabulary": {
5
+ "https://json-schema.org/draft/2020-12/vocab/meta-data": true
6
+ },
7
+ "$dynamicAnchor": "meta",
8
+
9
+ "title": "Meta-data vocabulary meta-schema",
10
+
11
+ "type": ["object", "boolean"],
12
+ "properties": {
13
+ "title": {
14
+ "type": "string"
15
+ },
16
+ "description": {
17
+ "type": "string"
18
+ },
19
+ "default": true,
20
+ "deprecated": {
21
+ "type": "boolean",
22
+ "default": false
23
+ },
24
+ "readOnly": {
25
+ "type": "boolean",
26
+ "default": false
27
+ },
28
+ "writeOnly": {
29
+ "type": "boolean",
30
+ "default": false
31
+ },
32
+ "examples": {
33
+ "type": "array",
34
+ "items": true
35
+ }
36
+ }
37
+ }
@@ -0,0 +1,15 @@
1
+ {
2
+ "$schema": "https://json-schema.org/draft/2020-12/schema",
3
+ "$id": "https://json-schema.org/draft/2020-12/meta/unevaluated",
4
+ "$vocabulary": {
5
+ "https://json-schema.org/draft/2020-12/vocab/unevaluated": true
6
+ },
7
+ "$dynamicAnchor": "meta",
8
+
9
+ "title": "Unevaluated applicator vocabulary meta-schema",
10
+ "type": ["object", "boolean"],
11
+ "properties": {
12
+ "unevaluatedItems": { "$dynamicRef": "#meta" },
13
+ "unevaluatedProperties": { "$dynamicRef": "#meta" }
14
+ }
15
+ }
@@ -0,0 +1,98 @@
1
+ {
2
+ "$schema": "https://json-schema.org/draft/2020-12/schema",
3
+ "$id": "https://json-schema.org/draft/2020-12/meta/validation",
4
+ "$vocabulary": {
5
+ "https://json-schema.org/draft/2020-12/vocab/validation": true
6
+ },
7
+ "$dynamicAnchor": "meta",
8
+
9
+ "title": "Validation vocabulary meta-schema",
10
+ "type": ["object", "boolean"],
11
+ "properties": {
12
+ "type": {
13
+ "anyOf": [
14
+ { "$ref": "#/$defs/simpleTypes" },
15
+ {
16
+ "type": "array",
17
+ "items": { "$ref": "#/$defs/simpleTypes" },
18
+ "minItems": 1,
19
+ "uniqueItems": true
20
+ }
21
+ ]
22
+ },
23
+ "const": true,
24
+ "enum": {
25
+ "type": "array",
26
+ "items": true
27
+ },
28
+ "multipleOf": {
29
+ "type": "number",
30
+ "exclusiveMinimum": 0
31
+ },
32
+ "maximum": {
33
+ "type": "number"
34
+ },
35
+ "exclusiveMaximum": {
36
+ "type": "number"
37
+ },
38
+ "minimum": {
39
+ "type": "number"
40
+ },
41
+ "exclusiveMinimum": {
42
+ "type": "number"
43
+ },
44
+ "maxLength": { "$ref": "#/$defs/nonNegativeInteger" },
45
+ "minLength": { "$ref": "#/$defs/nonNegativeIntegerDefault0" },
46
+ "pattern": {
47
+ "type": "string",
48
+ "format": "regex"
49
+ },
50
+ "maxItems": { "$ref": "#/$defs/nonNegativeInteger" },
51
+ "minItems": { "$ref": "#/$defs/nonNegativeIntegerDefault0" },
52
+ "uniqueItems": {
53
+ "type": "boolean",
54
+ "default": false
55
+ },
56
+ "maxContains": { "$ref": "#/$defs/nonNegativeInteger" },
57
+ "minContains": {
58
+ "$ref": "#/$defs/nonNegativeInteger",
59
+ "default": 1
60
+ },
61
+ "maxProperties": { "$ref": "#/$defs/nonNegativeInteger" },
62
+ "minProperties": { "$ref": "#/$defs/nonNegativeIntegerDefault0" },
63
+ "required": { "$ref": "#/$defs/stringArray" },
64
+ "dependentRequired": {
65
+ "type": "object",
66
+ "additionalProperties": {
67
+ "$ref": "#/$defs/stringArray"
68
+ }
69
+ }
70
+ },
71
+ "$defs": {
72
+ "nonNegativeInteger": {
73
+ "type": "integer",
74
+ "minimum": 0
75
+ },
76
+ "nonNegativeIntegerDefault0": {
77
+ "$ref": "#/$defs/nonNegativeInteger",
78
+ "default": 0
79
+ },
80
+ "simpleTypes": {
81
+ "enum": [
82
+ "array",
83
+ "boolean",
84
+ "integer",
85
+ "null",
86
+ "number",
87
+ "object",
88
+ "string"
89
+ ]
90
+ },
91
+ "stringArray": {
92
+ "type": "array",
93
+ "items": { "type": "string" },
94
+ "uniqueItems": true,
95
+ "default": []
96
+ }
97
+ }
98
+ }
@@ -0,0 +1,58 @@
1
+ {
2
+ "$schema": "https://json-schema.org/draft/2020-12/schema",
3
+ "$id": "https://json-schema.org/draft/2020-12/schema",
4
+ "$vocabulary": {
5
+ "https://json-schema.org/draft/2020-12/vocab/core": true,
6
+ "https://json-schema.org/draft/2020-12/vocab/applicator": true,
7
+ "https://json-schema.org/draft/2020-12/vocab/unevaluated": true,
8
+ "https://json-schema.org/draft/2020-12/vocab/validation": true,
9
+ "https://json-schema.org/draft/2020-12/vocab/meta-data": true,
10
+ "https://json-schema.org/draft/2020-12/vocab/format-annotation": true,
11
+ "https://json-schema.org/draft/2020-12/vocab/content": true
12
+ },
13
+ "$dynamicAnchor": "meta",
14
+
15
+ "title": "Core and Validation specifications meta-schema",
16
+ "allOf": [
17
+ {"$ref": "meta/core"},
18
+ {"$ref": "meta/applicator"},
19
+ {"$ref": "meta/unevaluated"},
20
+ {"$ref": "meta/validation"},
21
+ {"$ref": "meta/meta-data"},
22
+ {"$ref": "meta/format-annotation"},
23
+ {"$ref": "meta/content"}
24
+ ],
25
+ "type": ["object", "boolean"],
26
+ "$comment": "This meta-schema also defines keywords that have appeared in previous drafts in order to prevent incompatible extensions as they remain in common use.",
27
+ "properties": {
28
+ "definitions": {
29
+ "$comment": "\"definitions\" has been replaced by \"$defs\".",
30
+ "type": "object",
31
+ "additionalProperties": { "$dynamicRef": "#meta" },
32
+ "deprecated": true,
33
+ "default": {}
34
+ },
35
+ "dependencies": {
36
+ "$comment": "\"dependencies\" has been split and replaced by \"dependentSchemas\" and \"dependentRequired\" in order to serve their differing semantics.",
37
+ "type": "object",
38
+ "additionalProperties": {
39
+ "anyOf": [
40
+ { "$dynamicRef": "#meta" },
41
+ { "$ref": "meta/validation#/$defs/stringArray" }
42
+ ]
43
+ },
44
+ "deprecated": true,
45
+ "default": {}
46
+ },
47
+ "$recursiveAnchor": {
48
+ "$comment": "\"$recursiveAnchor\" has been replaced by \"$dynamicAnchor\".",
49
+ "$ref": "meta/core#/$defs/anchorString",
50
+ "deprecated": true
51
+ },
52
+ "$recursiveRef": {
53
+ "$comment": "\"$recursiveRef\" has been replaced by \"$dynamicRef\".",
54
+ "$ref": "meta/core#/$defs/uriReferenceString",
55
+ "deprecated": true
56
+ }
57
+ }
58
+ }
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: jsi-dev
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.0.8
4
+ version: 0.0.10
5
5
  platform: ruby
6
6
  authors:
7
7
  - Ethan
8
8
  autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2023-11-23 00:00:00.000000000 Z
11
+ date: 2026-01-30 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: addressable
@@ -25,13 +25,13 @@ dependencies:
25
25
  - !ruby/object:Gem::Version
26
26
  version: '2.3'
27
27
  - !ruby/object:Gem::Dependency
28
- name: maruku
28
+ name: bigdecimal
29
29
  requirement: !ruby/object:Gem::Requirement
30
30
  requirements:
31
31
  - - ">="
32
32
  - !ruby/object:Gem::Version
33
33
  version: '0'
34
- type: :development
34
+ type: :runtime
35
35
  prerelease: false
36
36
  version_requirements: !ruby/object:Gem::Requirement
37
37
  requirements:
@@ -50,72 +50,82 @@ files:
50
50
  - CHANGELOG.md
51
51
  - LICENSE.md
52
52
  - README.md
53
- - docs/glossary.md
53
+ - docs/Glossary.md
54
54
  - jsi.gemspec
55
55
  - lib/jsi.rb
56
56
  - lib/jsi/base.rb
57
+ - lib/jsi/base/mutability.rb
57
58
  - lib/jsi/base/node.rb
58
59
  - lib/jsi/jsi_coder.rb
59
- - lib/jsi/metaschema.rb
60
60
  - lib/jsi/metaschema_node.rb
61
61
  - lib/jsi/metaschema_node/bootstrap_schema.rb
62
62
  - lib/jsi/ptr.rb
63
+ - lib/jsi/ref.rb
64
+ - lib/jsi/registry.rb
63
65
  - lib/jsi/schema.rb
64
- - lib/jsi/schema/application.rb
65
- - lib/jsi/schema/application/child_application.rb
66
- - lib/jsi/schema/application/child_application/contains.rb
67
- - lib/jsi/schema/application/child_application/draft04.rb
68
- - lib/jsi/schema/application/child_application/draft06.rb
69
- - lib/jsi/schema/application/child_application/draft07.rb
70
- - lib/jsi/schema/application/child_application/items.rb
71
- - lib/jsi/schema/application/child_application/properties.rb
72
- - lib/jsi/schema/application/draft04.rb
73
- - lib/jsi/schema/application/draft06.rb
74
- - lib/jsi/schema/application/draft07.rb
75
- - lib/jsi/schema/application/inplace_application.rb
76
- - lib/jsi/schema/application/inplace_application/dependencies.rb
77
- - lib/jsi/schema/application/inplace_application/draft04.rb
78
- - lib/jsi/schema/application/inplace_application/draft06.rb
79
- - lib/jsi/schema/application/inplace_application/draft07.rb
80
- - lib/jsi/schema/application/inplace_application/ifthenelse.rb
81
- - lib/jsi/schema/application/inplace_application/ref.rb
82
- - lib/jsi/schema/application/inplace_application/someof.rb
66
+ - lib/jsi/schema/cxt.rb
67
+ - lib/jsi/schema/cxt/child_application.rb
68
+ - lib/jsi/schema/cxt/inplace_application.rb
69
+ - lib/jsi/schema/dialect.rb
83
70
  - lib/jsi/schema/draft04.rb
84
71
  - lib/jsi/schema/draft06.rb
85
72
  - lib/jsi/schema/draft07.rb
73
+ - lib/jsi/schema/draft202012.rb
74
+ - lib/jsi/schema/dynamic_anchor_map.rb
75
+ - lib/jsi/schema/element.rb
76
+ - lib/jsi/schema/elements.rb
77
+ - lib/jsi/schema/elements/anchor.rb
78
+ - lib/jsi/schema/elements/array_validation.rb
79
+ - lib/jsi/schema/elements/comment.rb
80
+ - lib/jsi/schema/elements/const.rb
81
+ - lib/jsi/schema/elements/contains.rb
82
+ - lib/jsi/schema/elements/contains_minmax.rb
83
+ - lib/jsi/schema/elements/content_encoding.rb
84
+ - lib/jsi/schema/elements/content_media_type.rb
85
+ - lib/jsi/schema/elements/content_schema.rb
86
+ - lib/jsi/schema/elements/default.rb
87
+ - lib/jsi/schema/elements/definitions.rb
88
+ - lib/jsi/schema/elements/dependencies.rb
89
+ - lib/jsi/schema/elements/dependent_required.rb
90
+ - lib/jsi/schema/elements/dependent_schemas.rb
91
+ - lib/jsi/schema/elements/dynamic_ref.rb
92
+ - lib/jsi/schema/elements/enum.rb
93
+ - lib/jsi/schema/elements/examples.rb
94
+ - lib/jsi/schema/elements/format.rb
95
+ - lib/jsi/schema/elements/id.rb
96
+ - lib/jsi/schema/elements/if_then_else.rb
97
+ - lib/jsi/schema/elements/info_bool.rb
98
+ - lib/jsi/schema/elements/info_string.rb
99
+ - lib/jsi/schema/elements/items.rb
100
+ - lib/jsi/schema/elements/items_prefixed.rb
101
+ - lib/jsi/schema/elements/not.rb
102
+ - lib/jsi/schema/elements/numeric.rb
103
+ - lib/jsi/schema/elements/numeric_draft04.rb
104
+ - lib/jsi/schema/elements/object_validation.rb
105
+ - lib/jsi/schema/elements/pattern.rb
106
+ - lib/jsi/schema/elements/properties.rb
107
+ - lib/jsi/schema/elements/property_names.rb
108
+ - lib/jsi/schema/elements/ref.rb
109
+ - lib/jsi/schema/elements/required.rb
110
+ - lib/jsi/schema/elements/self.rb
111
+ - lib/jsi/schema/elements/some_of.rb
112
+ - lib/jsi/schema/elements/string_validation.rb
113
+ - lib/jsi/schema/elements/type.rb
114
+ - lib/jsi/schema/elements/unevaluated_items.rb
115
+ - lib/jsi/schema/elements/unevaluated_properties.rb
116
+ - lib/jsi/schema/elements/xschema.rb
117
+ - lib/jsi/schema/elements/xvocabulary.rb
86
118
  - lib/jsi/schema/issue.rb
87
- - lib/jsi/schema/ref.rb
88
119
  - lib/jsi/schema/schema_ancestor_node.rb
89
- - lib/jsi/schema/validation.rb
90
- - lib/jsi/schema/validation/array.rb
91
- - lib/jsi/schema/validation/const.rb
92
- - lib/jsi/schema/validation/contains.rb
93
- - lib/jsi/schema/validation/dependencies.rb
94
- - lib/jsi/schema/validation/draft04.rb
95
- - lib/jsi/schema/validation/draft04/minmax.rb
96
- - lib/jsi/schema/validation/draft06.rb
97
- - lib/jsi/schema/validation/draft07.rb
98
- - lib/jsi/schema/validation/enum.rb
99
- - lib/jsi/schema/validation/ifthenelse.rb
100
- - lib/jsi/schema/validation/items.rb
101
- - lib/jsi/schema/validation/not.rb
102
- - lib/jsi/schema/validation/numeric.rb
103
- - lib/jsi/schema/validation/object.rb
104
- - lib/jsi/schema/validation/pattern.rb
105
- - lib/jsi/schema/validation/properties.rb
106
- - lib/jsi/schema/validation/property_names.rb
107
- - lib/jsi/schema/validation/ref.rb
108
- - lib/jsi/schema/validation/required.rb
109
- - lib/jsi/schema/validation/someof.rb
110
- - lib/jsi/schema/validation/string.rb
111
- - lib/jsi/schema/validation/type.rb
120
+ - lib/jsi/schema/vocabulary.rb
112
121
  - lib/jsi/schema_classes.rb
113
- - lib/jsi/schema_registry.rb
114
122
  - lib/jsi/schema_set.rb
123
+ - lib/jsi/set.rb
115
124
  - lib/jsi/simple_wrap.rb
125
+ - lib/jsi/struct.rb
126
+ - lib/jsi/uri.rb
116
127
  - lib/jsi/util.rb
117
128
  - lib/jsi/util/private.rb
118
- - lib/jsi/util/private/attr_struct.rb
119
129
  - lib/jsi/util/private/memo_map.rb
120
130
  - lib/jsi/util/typelike.rb
121
131
  - lib/jsi/validation.rb
@@ -125,10 +135,21 @@ files:
125
135
  - lib/schemas/json-schema.org/draft-04/schema.rb
126
136
  - lib/schemas/json-schema.org/draft-06/schema.rb
127
137
  - lib/schemas/json-schema.org/draft-07/schema.rb
138
+ - lib/schemas/json-schema.org/draft/2020-12/schema.rb
128
139
  - readme.rb
140
+ - "{resources}/schemas/2020-12_strict.json"
129
141
  - "{resources}/schemas/json-schema.org/draft-04/schema.json"
130
142
  - "{resources}/schemas/json-schema.org/draft-06/schema.json"
131
143
  - "{resources}/schemas/json-schema.org/draft-07/schema.json"
144
+ - "{resources}/schemas/json-schema.org/draft/2020-12/meta/applicator.json"
145
+ - "{resources}/schemas/json-schema.org/draft/2020-12/meta/content.json"
146
+ - "{resources}/schemas/json-schema.org/draft/2020-12/meta/core.json"
147
+ - "{resources}/schemas/json-schema.org/draft/2020-12/meta/format-annotation.json"
148
+ - "{resources}/schemas/json-schema.org/draft/2020-12/meta/format-assertion.json"
149
+ - "{resources}/schemas/json-schema.org/draft/2020-12/meta/meta-data.json"
150
+ - "{resources}/schemas/json-schema.org/draft/2020-12/meta/unevaluated.json"
151
+ - "{resources}/schemas/json-schema.org/draft/2020-12/meta/validation.json"
152
+ - "{resources}/schemas/json-schema.org/draft/2020-12/schema.json"
132
153
  homepage: https://github.com/notEthan/jsi
133
154
  licenses:
134
155
  - AGPL-3.0
@@ -148,7 +169,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
148
169
  - !ruby/object:Gem::Version
149
170
  version: '0'
150
171
  requirements: []
151
- rubygems_version: 3.4.10
172
+ rubygems_version: 3.5.22
152
173
  signing_key:
153
174
  specification_version: 4
154
175
  summary: 'JSI: JSON Schema Instantiation'