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,7 +4,6 @@
"database": {
"schemas": [
{
"$schema": "https://json-schema.org/draft/2020-12/schema",
"allOf": [
{
"properties": {
@ -26,7 +25,8 @@
"foo"
]
}
]
],
"$id": "allOf_0_0"
}
]
},
@ -37,21 +37,24 @@
"foo": "baz",
"bar": 2
},
"valid": true
"valid": true,
"schema_id": "allOf_0_0"
},
{
"description": "mismatch second",
"data": {
"foo": "baz"
},
"valid": false
"valid": false,
"schema_id": "allOf_0_0"
},
{
"description": "mismatch first",
"data": {
"bar": 2
},
"valid": false
"valid": false,
"schema_id": "allOf_0_0"
},
{
"description": "wrong type",
@ -59,7 +62,8 @@
"foo": "baz",
"bar": "quux"
},
"valid": false
"valid": false,
"schema_id": "allOf_0_0"
}
]
},
@ -68,7 +72,6 @@
"database": {
"schemas": [
{
"$schema": "https://json-schema.org/draft/2020-12/schema",
"properties": {
"bar": {
"type": "integer"
@ -102,7 +105,8 @@
"baz"
]
}
]
],
"$id": "allOf_1_0"
}
]
},
@ -114,7 +118,8 @@
"bar": 2,
"baz": null
},
"valid": true
"valid": true,
"schema_id": "allOf_1_0"
},
{
"description": "mismatch base schema",
@ -122,7 +127,8 @@
"foo": "quux",
"baz": null
},
"valid": false
"valid": false,
"schema_id": "allOf_1_0"
},
{
"description": "mismatch first allOf",
@ -130,7 +136,8 @@
"bar": 2,
"baz": null
},
"valid": false
"valid": false,
"schema_id": "allOf_1_0"
},
{
"description": "mismatch second allOf",
@ -138,14 +145,16 @@
"foo": "quux",
"bar": 2
},
"valid": false
"valid": false,
"schema_id": "allOf_1_0"
},
{
"description": "mismatch both",
"data": {
"bar": 2
},
"valid": false
"valid": false,
"schema_id": "allOf_1_0"
}
]
},
@ -154,7 +163,6 @@
"database": {
"schemas": [
{
"$schema": "https://json-schema.org/draft/2020-12/schema",
"allOf": [
{
"maximum": 30
@ -162,7 +170,8 @@
{
"minimum": 20
}
]
],
"$id": "allOf_2_0"
}
]
},
@ -170,12 +179,14 @@
{
"description": "valid",
"data": 25,
"valid": true
"valid": true,
"schema_id": "allOf_2_0"
},
{
"description": "mismatch one",
"data": 35,
"valid": false
"valid": false,
"schema_id": "allOf_2_0"
}
]
},
@ -184,11 +195,11 @@
"database": {
"schemas": [
{
"$schema": "https://json-schema.org/draft/2020-12/schema",
"allOf": [
true,
true
]
],
"$id": "allOf_3_0"
}
]
},
@ -196,7 +207,8 @@
{
"description": "any value is valid",
"data": "foo",
"valid": true
"valid": true,
"schema_id": "allOf_3_0"
}
]
},
@ -205,11 +217,11 @@
"database": {
"schemas": [
{
"$schema": "https://json-schema.org/draft/2020-12/schema",
"allOf": [
true,
false
]
],
"$id": "allOf_4_0"
}
]
},
@ -217,7 +229,8 @@
{
"description": "any value is invalid",
"data": "foo",
"valid": false
"valid": false,
"schema_id": "allOf_4_0"
}
]
},
@ -226,11 +239,11 @@
"database": {
"schemas": [
{
"$schema": "https://json-schema.org/draft/2020-12/schema",
"allOf": [
false,
false
]
],
"$id": "allOf_5_0"
}
]
},
@ -238,7 +251,8 @@
{
"description": "any value is invalid",
"data": "foo",
"valid": false
"valid": false,
"schema_id": "allOf_5_0"
}
]
},
@ -247,10 +261,10 @@
"database": {
"schemas": [
{
"$schema": "https://json-schema.org/draft/2020-12/schema",
"allOf": [
{}
]
],
"$id": "allOf_6_0"
}
]
},
@ -258,7 +272,8 @@
{
"description": "any data is valid",
"data": 1,
"valid": true
"valid": true,
"schema_id": "allOf_6_0"
}
]
},
@ -267,11 +282,11 @@
"database": {
"schemas": [
{
"$schema": "https://json-schema.org/draft/2020-12/schema",
"allOf": [
{},
{}
]
],
"$id": "allOf_7_0"
}
]
},
@ -279,7 +294,8 @@
{
"description": "any data is valid",
"data": 1,
"valid": true
"valid": true,
"schema_id": "allOf_7_0"
}
]
},
@ -288,13 +304,13 @@
"database": {
"schemas": [
{
"$schema": "https://json-schema.org/draft/2020-12/schema",
"allOf": [
{},
{
"type": "number"
}
]
],
"$id": "allOf_8_0"
}
]
},
@ -302,12 +318,14 @@
{
"description": "number is valid",
"data": 1,
"valid": true
"valid": true,
"schema_id": "allOf_8_0"
},
{
"description": "string is invalid",
"data": "foo",
"valid": false
"valid": false,
"schema_id": "allOf_8_0"
}
]
},
@ -316,13 +334,13 @@
"database": {
"schemas": [
{
"$schema": "https://json-schema.org/draft/2020-12/schema",
"allOf": [
{
"type": "number"
},
{}
]
],
"$id": "allOf_9_0"
}
]
},
@ -330,12 +348,14 @@
{
"description": "number is valid",
"data": 1,
"valid": true
"valid": true,
"schema_id": "allOf_9_0"
},
{
"description": "string is invalid",
"data": "foo",
"valid": false
"valid": false,
"schema_id": "allOf_9_0"
}
]
},
@ -344,7 +364,6 @@
"database": {
"schemas": [
{
"$schema": "https://json-schema.org/draft/2020-12/schema",
"allOf": [
{
"allOf": [
@ -353,7 +372,8 @@
}
]
}
]
],
"$id": "allOf_10_0"
}
]
},
@ -361,12 +381,14 @@
{
"description": "null is valid",
"data": null,
"valid": true
"valid": true,
"schema_id": "allOf_10_0"
},
{
"description": "anything non-null is invalid",
"data": 123,
"valid": false
"valid": false,
"schema_id": "allOf_10_0"
}
]
},
@ -375,7 +397,6 @@
"database": {
"schemas": [
{
"$schema": "https://json-schema.org/draft/2020-12/schema",
"allOf": [
{
"multipleOf": 2
@ -390,7 +411,8 @@
{
"multipleOf": 5
}
]
],
"$id": "allOf_11_0"
}
]
},
@ -398,42 +420,50 @@
{
"description": "allOf: false, anyOf: false, oneOf: false",
"data": 1,
"valid": false
"valid": false,
"schema_id": "allOf_11_0"
},
{
"description": "allOf: false, anyOf: false, oneOf: true",
"data": 5,
"valid": false
"valid": false,
"schema_id": "allOf_11_0"
},
{
"description": "allOf: false, anyOf: true, oneOf: false",
"data": 3,
"valid": false
"valid": false,
"schema_id": "allOf_11_0"
},
{
"description": "allOf: false, anyOf: true, oneOf: true",
"data": 15,
"valid": false
"valid": false,
"schema_id": "allOf_11_0"
},
{
"description": "allOf: true, anyOf: false, oneOf: false",
"data": 2,
"valid": false
"valid": false,
"schema_id": "allOf_11_0"
},
{
"description": "allOf: true, anyOf: false, oneOf: true",
"data": 10,
"valid": false
"valid": false,
"schema_id": "allOf_11_0"
},
{
"description": "allOf: true, anyOf: true, oneOf: false",
"data": 6,
"valid": false
"valid": false,
"schema_id": "allOf_11_0"
},
{
"description": "allOf: true, anyOf: true, oneOf: true",
"data": 30,
"valid": true
"valid": true,
"schema_id": "allOf_11_0"
}
]
},
@ -442,7 +472,6 @@
"database": {
"schemas": [
{
"$schema": "https://json-schema.org/draft/2020-12/schema",
"allOf": [
{
"properties": {
@ -465,7 +494,8 @@
]
}
],
"extensible": true
"extensible": true,
"$id": "allOf_12_0"
}
]
},
@ -477,7 +507,8 @@
"bar": 2,
"qux": 3
},
"valid": true
"valid": true,
"schema_id": "allOf_12_0"
}
]
},
@ -486,7 +517,6 @@
"database": {
"schemas": [
{
"$schema": "https://json-schema.org/draft/2020-12/schema",
"allOf": [
{
"properties": {
@ -502,7 +532,8 @@
}
}
}
]
],
"$id": "allOf_13_0"
}
]
},
@ -513,7 +544,8 @@
"foo": 1,
"bar": 2
},
"valid": true
"valid": true,
"schema_id": "allOf_13_0"
},
{
"description": "fails on extra property z explicitly",
@ -522,7 +554,8 @@
"bar": 2,
"z": 3
},
"valid": false
"valid": false,
"schema_id": "allOf_13_0"
}
]
},
@ -531,7 +564,6 @@
"database": {
"schemas": [
{
"$schema": "https://json-schema.org/draft/2020-12/schema",
"allOf": [
{
"properties": {
@ -548,7 +580,8 @@
}
}
}
]
],
"$id": "allOf_14_0"
}
]
},
@ -560,7 +593,8 @@
"bar": 2,
"z": 3
},
"valid": true
"valid": true,
"schema_id": "allOf_14_0"
}
]
},
@ -571,26 +605,27 @@
{
"allOf": [
{
"$ref": "#/$defs/partA"
"$ref": "partA"
},
{
"$ref": "#/$defs/partB"
"$ref": "partB"
}
],
"$defs": {
"partA": {
"properties": {
"id": {
"type": "string"
}
}
},
"partB": {
"properties": {
"name": {
"type": "string"
}
}
"$id": "allOf_15_0"
},
{
"$id": "partA",
"properties": {
"id": {
"type": "string"
}
}
},
{
"$id": "partB",
"properties": {
"name": {
"type": "string"
}
}
}
@ -603,7 +638,8 @@
"id": "1",
"name": "Me"
},
"valid": true
"valid": true,
"schema_id": "allOf_15_0"
},
{
"description": "extra property is invalid (root is strict)",
@ -612,7 +648,8 @@
"name": "Me",
"extra": 1
},
"valid": false
"valid": false,
"schema_id": "allOf_15_0"
},
{
"description": "partA mismatch is invalid",
@ -620,7 +657,8 @@
"id": 1,
"name": "Me"
},
"valid": false
"valid": false,
"schema_id": "allOf_15_0"
}
]
}