significantly simplified the validator and work continues on query

This commit is contained in:
2026-03-03 17:58:31 -05:00
parent 3898c43742
commit e7f20e2cb6
58 changed files with 5446 additions and 5693 deletions

View File

@ -4,9 +4,9 @@
"database": {
"schemas": [
{
"$schema": "https://json-schema.org/draft/2020-12/schema",
"uniqueItems": true,
"extensible": true
"extensible": true,
"$id": "uniqueItems_0_0"
}
]
},
@ -17,7 +17,8 @@
1,
2
],
"valid": true
"valid": true,
"schema_id": "uniqueItems_0_0"
},
{
"description": "non-unique array of integers is invalid",
@ -25,7 +26,8 @@
1,
1
],
"valid": false
"valid": false,
"schema_id": "uniqueItems_0_0"
},
{
"description": "non-unique array of more than two integers is invalid",
@ -34,16 +36,18 @@
2,
1
],
"valid": false
"valid": false,
"schema_id": "uniqueItems_0_0"
},
{
"description": "numbers are unique if mathematically unequal",
"data": [
1.0,
1.00,
1,
1,
1
],
"valid": false
"valid": false,
"schema_id": "uniqueItems_0_0"
},
{
"description": "false is not equal to zero",
@ -51,7 +55,8 @@
0,
false
],
"valid": true
"valid": true,
"schema_id": "uniqueItems_0_0"
},
{
"description": "true is not equal to one",
@ -59,7 +64,8 @@
1,
true
],
"valid": true
"valid": true,
"schema_id": "uniqueItems_0_0"
},
{
"description": "unique array of strings is valid",
@ -68,7 +74,8 @@
"bar",
"baz"
],
"valid": true
"valid": true,
"schema_id": "uniqueItems_0_0"
},
{
"description": "non-unique array of strings is invalid",
@ -77,7 +84,8 @@
"bar",
"foo"
],
"valid": false
"valid": false,
"schema_id": "uniqueItems_0_0"
},
{
"description": "unique array of objects is valid",
@ -89,7 +97,8 @@
"foo": "baz"
}
],
"valid": true
"valid": true,
"schema_id": "uniqueItems_0_0"
},
{
"description": "non-unique array of objects is invalid",
@ -101,7 +110,8 @@
"foo": "bar"
}
],
"valid": false
"valid": false,
"schema_id": "uniqueItems_0_0"
},
{
"description": "property order of array of objects is ignored",
@ -115,7 +125,8 @@
"foo": "bar"
}
],
"valid": false
"valid": false,
"schema_id": "uniqueItems_0_0"
},
{
"description": "unique array of nested objects is valid",
@ -135,7 +146,8 @@
}
}
],
"valid": true
"valid": true,
"schema_id": "uniqueItems_0_0"
},
{
"description": "non-unique array of nested objects is invalid",
@ -155,7 +167,8 @@
}
}
],
"valid": false
"valid": false,
"schema_id": "uniqueItems_0_0"
},
{
"description": "unique array of arrays is valid",
@ -167,7 +180,8 @@
"bar"
]
],
"valid": true
"valid": true,
"schema_id": "uniqueItems_0_0"
},
{
"description": "non-unique array of arrays is invalid",
@ -179,7 +193,8 @@
"foo"
]
],
"valid": false
"valid": false,
"schema_id": "uniqueItems_0_0"
},
{
"description": "non-unique array of more than two arrays is invalid",
@ -194,7 +209,8 @@
"foo"
]
],
"valid": false
"valid": false,
"schema_id": "uniqueItems_0_0"
},
{
"description": "1 and true are unique",
@ -202,7 +218,8 @@
1,
true
],
"valid": true
"valid": true,
"schema_id": "uniqueItems_0_0"
},
{
"description": "0 and false are unique",
@ -210,7 +227,8 @@
0,
false
],
"valid": true
"valid": true,
"schema_id": "uniqueItems_0_0"
},
{
"description": "[1] and [true] are unique",
@ -222,7 +240,8 @@
true
]
],
"valid": true
"valid": true,
"schema_id": "uniqueItems_0_0"
},
{
"description": "[0] and [false] are unique",
@ -234,7 +253,8 @@
false
]
],
"valid": true
"valid": true,
"schema_id": "uniqueItems_0_0"
},
{
"description": "nested [1] and [true] are unique",
@ -252,7 +272,8 @@
"foo"
]
],
"valid": true
"valid": true,
"schema_id": "uniqueItems_0_0"
},
{
"description": "nested [0] and [false] are unique",
@ -270,7 +291,8 @@
"foo"
]
],
"valid": true
"valid": true,
"schema_id": "uniqueItems_0_0"
},
{
"description": "unique heterogeneous types are valid",
@ -284,7 +306,8 @@
1,
"{}"
],
"valid": true
"valid": true,
"schema_id": "uniqueItems_0_0"
},
{
"description": "non-unique heterogeneous types are invalid",
@ -298,7 +321,8 @@
{},
1
],
"valid": false
"valid": false,
"schema_id": "uniqueItems_0_0"
},
{
"description": "different objects are unique",
@ -312,7 +336,8 @@
"b": 1
}
],
"valid": true
"valid": true,
"schema_id": "uniqueItems_0_0"
},
{
"description": "objects are non-unique despite key order",
@ -326,7 +351,8 @@
"a": 1
}
],
"valid": false
"valid": false,
"schema_id": "uniqueItems_0_0"
},
{
"description": "{\"a\": false} and {\"a\": 0} are unique",
@ -338,7 +364,8 @@
"a": 0
}
],
"valid": true
"valid": true,
"schema_id": "uniqueItems_0_0"
},
{
"description": "{\"a\": true} and {\"a\": 1} are unique",
@ -350,7 +377,8 @@
"a": 1
}
],
"valid": true
"valid": true,
"schema_id": "uniqueItems_0_0"
}
]
},
@ -359,7 +387,6 @@
"database": {
"schemas": [
{
"$schema": "https://json-schema.org/draft/2020-12/schema",
"prefixItems": [
{
"type": "boolean"
@ -369,7 +396,8 @@
}
],
"uniqueItems": true,
"extensible": true
"extensible": true,
"$id": "uniqueItems_1_0"
}
]
},
@ -380,7 +408,8 @@
false,
true
],
"valid": true
"valid": true,
"schema_id": "uniqueItems_1_0"
},
{
"description": "[true, false] from items array is valid",
@ -388,7 +417,8 @@
true,
false
],
"valid": true
"valid": true,
"schema_id": "uniqueItems_1_0"
},
{
"description": "[false, false] from items array is not valid",
@ -396,7 +426,8 @@
false,
false
],
"valid": false
"valid": false,
"schema_id": "uniqueItems_1_0"
},
{
"description": "[true, true] from items array is not valid",
@ -404,7 +435,8 @@
true,
true
],
"valid": false
"valid": false,
"schema_id": "uniqueItems_1_0"
},
{
"description": "unique array extended from [false, true] is valid",
@ -414,7 +446,8 @@
"foo",
"bar"
],
"valid": true
"valid": true,
"schema_id": "uniqueItems_1_0"
},
{
"description": "unique array extended from [true, false] is valid",
@ -424,7 +457,8 @@
"foo",
"bar"
],
"valid": true
"valid": true,
"schema_id": "uniqueItems_1_0"
},
{
"description": "non-unique array extended from [false, true] is not valid",
@ -434,7 +468,8 @@
"foo",
"foo"
],
"valid": false
"valid": false,
"schema_id": "uniqueItems_1_0"
},
{
"description": "non-unique array extended from [true, false] is not valid",
@ -444,7 +479,8 @@
"foo",
"foo"
],
"valid": false
"valid": false,
"schema_id": "uniqueItems_1_0"
}
]
},
@ -453,7 +489,6 @@
"database": {
"schemas": [
{
"$schema": "https://json-schema.org/draft/2020-12/schema",
"prefixItems": [
{
"type": "boolean"
@ -463,7 +498,8 @@
}
],
"uniqueItems": true,
"items": false
"items": false,
"$id": "uniqueItems_2_0"
}
]
},
@ -474,7 +510,8 @@
false,
true
],
"valid": true
"valid": true,
"schema_id": "uniqueItems_2_0"
},
{
"description": "[true, false] from items array is valid",
@ -482,7 +519,8 @@
true,
false
],
"valid": true
"valid": true,
"schema_id": "uniqueItems_2_0"
},
{
"description": "[false, false] from items array is not valid",
@ -490,7 +528,8 @@
false,
false
],
"valid": false
"valid": false,
"schema_id": "uniqueItems_2_0"
},
{
"description": "[true, true] from items array is not valid",
@ -498,7 +537,8 @@
true,
true
],
"valid": false
"valid": false,
"schema_id": "uniqueItems_2_0"
},
{
"description": "extra items are invalid even if unique",
@ -507,7 +547,8 @@
true,
null
],
"valid": false
"valid": false,
"schema_id": "uniqueItems_2_0"
}
]
},
@ -516,9 +557,9 @@
"database": {
"schemas": [
{
"$schema": "https://json-schema.org/draft/2020-12/schema",
"uniqueItems": false,
"extensible": true
"extensible": true,
"$id": "uniqueItems_3_0"
}
]
},
@ -529,7 +570,8 @@
1,
2
],
"valid": true
"valid": true,
"schema_id": "uniqueItems_3_0"
},
{
"description": "non-unique array of integers is valid",
@ -537,16 +579,18 @@
1,
1
],
"valid": true
"valid": true,
"schema_id": "uniqueItems_3_0"
},
{
"description": "numbers are unique if mathematically unequal",
"data": [
1.0,
1.00,
1,
1,
1
],
"valid": true
"valid": true,
"schema_id": "uniqueItems_3_0"
},
{
"description": "false is not equal to zero",
@ -554,7 +598,8 @@
0,
false
],
"valid": true
"valid": true,
"schema_id": "uniqueItems_3_0"
},
{
"description": "true is not equal to one",
@ -562,7 +607,8 @@
1,
true
],
"valid": true
"valid": true,
"schema_id": "uniqueItems_3_0"
},
{
"description": "unique array of objects is valid",
@ -574,7 +620,8 @@
"foo": "baz"
}
],
"valid": true
"valid": true,
"schema_id": "uniqueItems_3_0"
},
{
"description": "non-unique array of objects is valid",
@ -586,7 +633,8 @@
"foo": "bar"
}
],
"valid": true
"valid": true,
"schema_id": "uniqueItems_3_0"
},
{
"description": "unique array of nested objects is valid",
@ -606,7 +654,8 @@
}
}
],
"valid": true
"valid": true,
"schema_id": "uniqueItems_3_0"
},
{
"description": "non-unique array of nested objects is valid",
@ -626,7 +675,8 @@
}
}
],
"valid": true
"valid": true,
"schema_id": "uniqueItems_3_0"
},
{
"description": "unique array of arrays is valid",
@ -638,7 +688,8 @@
"bar"
]
],
"valid": true
"valid": true,
"schema_id": "uniqueItems_3_0"
},
{
"description": "non-unique array of arrays is valid",
@ -650,7 +701,8 @@
"foo"
]
],
"valid": true
"valid": true,
"schema_id": "uniqueItems_3_0"
},
{
"description": "1 and true are unique",
@ -658,7 +710,8 @@
1,
true
],
"valid": true
"valid": true,
"schema_id": "uniqueItems_3_0"
},
{
"description": "0 and false are unique",
@ -666,7 +719,8 @@
0,
false
],
"valid": true
"valid": true,
"schema_id": "uniqueItems_3_0"
},
{
"description": "unique heterogeneous types are valid",
@ -679,7 +733,8 @@
null,
1
],
"valid": true
"valid": true,
"schema_id": "uniqueItems_3_0"
},
{
"description": "non-unique heterogeneous types are valid",
@ -693,7 +748,8 @@
{},
1
],
"valid": true
"valid": true,
"schema_id": "uniqueItems_3_0"
}
]
},
@ -702,7 +758,6 @@
"database": {
"schemas": [
{
"$schema": "https://json-schema.org/draft/2020-12/schema",
"prefixItems": [
{
"type": "boolean"
@ -712,7 +767,8 @@
}
],
"uniqueItems": false,
"extensible": true
"extensible": true,
"$id": "uniqueItems_4_0"
}
]
},
@ -723,7 +779,8 @@
false,
true
],
"valid": true
"valid": true,
"schema_id": "uniqueItems_4_0"
},
{
"description": "[true, false] from items array is valid",
@ -731,7 +788,8 @@
true,
false
],
"valid": true
"valid": true,
"schema_id": "uniqueItems_4_0"
},
{
"description": "[false, false] from items array is valid",
@ -739,7 +797,8 @@
false,
false
],
"valid": true
"valid": true,
"schema_id": "uniqueItems_4_0"
},
{
"description": "[true, true] from items array is valid",
@ -747,7 +806,8 @@
true,
true
],
"valid": true
"valid": true,
"schema_id": "uniqueItems_4_0"
},
{
"description": "unique array extended from [false, true] is valid",
@ -757,7 +817,8 @@
"foo",
"bar"
],
"valid": true
"valid": true,
"schema_id": "uniqueItems_4_0"
},
{
"description": "unique array extended from [true, false] is valid",
@ -767,7 +828,8 @@
"foo",
"bar"
],
"valid": true
"valid": true,
"schema_id": "uniqueItems_4_0"
},
{
"description": "non-unique array extended from [false, true] is valid",
@ -777,7 +839,8 @@
"foo",
"foo"
],
"valid": true
"valid": true,
"schema_id": "uniqueItems_4_0"
},
{
"description": "non-unique array extended from [true, false] is valid",
@ -787,7 +850,8 @@
"foo",
"foo"
],
"valid": true
"valid": true,
"schema_id": "uniqueItems_4_0"
}
]
},
@ -796,7 +860,6 @@
"database": {
"schemas": [
{
"$schema": "https://json-schema.org/draft/2020-12/schema",
"prefixItems": [
{
"type": "boolean"
@ -806,7 +869,8 @@
}
],
"uniqueItems": false,
"items": false
"items": false,
"$id": "uniqueItems_5_0"
}
]
},
@ -817,7 +881,8 @@
false,
true
],
"valid": true
"valid": true,
"schema_id": "uniqueItems_5_0"
},
{
"description": "[true, false] from items array is valid",
@ -825,7 +890,8 @@
true,
false
],
"valid": true
"valid": true,
"schema_id": "uniqueItems_5_0"
},
{
"description": "[false, false] from items array is valid",
@ -833,7 +899,8 @@
false,
false
],
"valid": true
"valid": true,
"schema_id": "uniqueItems_5_0"
},
{
"description": "[true, true] from items array is valid",
@ -841,7 +908,8 @@
true,
true
],
"valid": true
"valid": true,
"schema_id": "uniqueItems_5_0"
},
{
"description": "extra items are invalid even if unique",
@ -850,7 +918,8 @@
true,
null
],
"valid": false
"valid": false,
"schema_id": "uniqueItems_5_0"
}
]
},
@ -859,9 +928,9 @@
"database": {
"schemas": [
{
"$schema": "https://json-schema.org/draft/2020-12/schema",
"uniqueItems": true,
"extensible": true
"extensible": true,
"$id": "uniqueItems_6_0"
}
]
},
@ -872,7 +941,8 @@
1,
1
],
"valid": false
"valid": false,
"schema_id": "uniqueItems_6_0"
},
{
"description": "extra unique items valid",
@ -880,7 +950,8 @@
1,
2
],
"valid": true
"valid": true,
"schema_id": "uniqueItems_6_0"
}
]
}