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

@ -19,14 +19,16 @@
{
"description": "neither",
"data": {},
"valid": true
"valid": true,
"schema_id": "schema1"
},
{
"description": "nondependant",
"data": {
"foo": 1
},
"valid": true
"valid": true,
"schema_id": "schema1"
},
{
"description": "with dependency",
@ -34,31 +36,36 @@
"foo": 1,
"bar": 2
},
"valid": true
"valid": true,
"schema_id": "schema1"
},
{
"description": "missing dependency",
"data": {
"bar": 2
},
"valid": false
"valid": false,
"schema_id": "schema1"
},
{
"description": "ignores arrays",
"data": [
"bar"
],
"valid": true
"valid": true,
"schema_id": "schema1"
},
{
"description": "ignores strings",
"data": "foobar",
"valid": true
"valid": true,
"schema_id": "schema1"
},
{
"description": "ignores other non-objects",
"data": 12,
"valid": true
"valid": true,
"schema_id": "schema1"
}
]
},
@ -80,19 +87,22 @@
{
"description": "empty object",
"data": {},
"valid": true
"valid": true,
"schema_id": "schema2"
},
{
"description": "object with one property",
"data": {
"bar": 2
},
"valid": true
"valid": true,
"schema_id": "schema2"
},
{
"description": "non-object is valid",
"data": 1,
"valid": true
"valid": true,
"schema_id": "schema2"
}
]
},
@ -117,7 +127,8 @@
{
"description": "neither",
"data": {},
"valid": true
"valid": true,
"schema_id": "schema3"
},
{
"description": "nondependants",
@ -125,7 +136,8 @@
"foo": 1,
"bar": 2
},
"valid": true
"valid": true,
"schema_id": "schema3"
},
{
"description": "with dependencies",
@ -134,7 +146,8 @@
"bar": 2,
"quux": 3
},
"valid": true
"valid": true,
"schema_id": "schema3"
},
{
"description": "missing dependency",
@ -142,7 +155,8 @@
"foo": 1,
"quux": 2
},
"valid": false
"valid": false,
"schema_id": "schema3"
},
{
"description": "missing other dependency",
@ -150,14 +164,16 @@
"bar": 1,
"quux": 2
},
"valid": false
"valid": false,
"schema_id": "schema3"
},
{
"description": "missing both dependencies",
"data": {
"quux": 1
},
"valid": false
"valid": false,
"schema_id": "schema3"
}
]
},
@ -187,7 +203,8 @@
"foo\nbar": 1,
"foo\rbar": 2
},
"valid": true
"valid": true,
"schema_id": "schema4"
},
{
"description": "quoted quotes",
@ -195,7 +212,8 @@
"foo'bar": 1,
"foo\"bar": 2
},
"valid": true
"valid": true,
"schema_id": "schema4"
},
{
"description": "CRLF missing dependent",
@ -203,14 +221,16 @@
"foo\nbar": 1,
"foo": 2
},
"valid": false
"valid": false,
"schema_id": "schema4"
},
{
"description": "quoted quotes missing dependent",
"data": {
"foo\"bar": 2
},
"valid": false
"valid": false,
"schema_id": "schema4"
}
]
},
@ -238,7 +258,8 @@
"bar": 2,
"baz": 3
},
"valid": true
"valid": true,
"schema_id": "schema5"
}
]
},
@ -275,14 +296,16 @@
"foo": 1,
"bar": 2
},
"valid": true
"valid": true,
"schema_id": "schema_schema1"
},
{
"description": "no dependency",
"data": {
"foo": "quux"
},
"valid": true
"valid": true,
"schema_id": "schema_schema1"
},
{
"description": "wrong type",
@ -290,7 +313,8 @@
"foo": "quux",
"bar": 2
},
"valid": false
"valid": false,
"schema_id": "schema_schema1"
},
{
"description": "wrong type other",
@ -298,7 +322,8 @@
"foo": 2,
"bar": "quux"
},
"valid": false
"valid": false,
"schema_id": "schema_schema1"
},
{
"description": "wrong type both",
@ -306,7 +331,8 @@
"foo": "quux",
"bar": "quux"
},
"valid": false
"valid": false,
"schema_id": "schema_schema1"
},
{
"description": "ignores arrays (invalid in strict mode)",
@ -318,17 +344,20 @@
{
"code": "STRICT_ITEM_VIOLATION"
}
]
],
"schema_id": "schema_schema1"
},
{
"description": "ignores strings",
"data": "foobar",
"valid": true
"valid": true,
"schema_id": "schema_schema1"
},
{
"description": "ignores other non-objects",
"data": 12,
"valid": true
"valid": true,
"schema_id": "schema_schema1"
}
]
},
@ -365,7 +394,8 @@
"data": [
"bar"
],
"valid": true
"valid": true,
"schema_id": "schema_schema2"
}
]
},
@ -393,14 +423,16 @@
"data": {
"foo": 1
},
"valid": true
"valid": true,
"schema_id": "schema_schema3"
},
{
"description": "object with property having schema false is invalid",
"data": {
"bar": 2
},
"valid": false
"valid": false,
"schema_id": "schema_schema3"
},
{
"description": "object with both properties is invalid",
@ -408,12 +440,14 @@
"foo": 1,
"bar": 2
},
"valid": false
"valid": false,
"schema_id": "schema_schema3"
},
{
"description": "empty object is valid",
"data": {},
"valid": true
"valid": true,
"schema_id": "schema_schema3"
}
]
},
@ -454,7 +488,8 @@
"b": 3,
"c": 4
},
"valid": true
"valid": true,
"schema_id": "schema_schema4"
},
{
"description": "quoted quote",
@ -463,7 +498,8 @@
"foo\"bar": 1
}
},
"valid": false
"valid": false,
"schema_id": "schema_schema4"
},
{
"description": "quoted tab invalid under dependent schema",
@ -471,14 +507,16 @@
"foo\tbar": 1,
"a": 2
},
"valid": false
"valid": false,
"schema_id": "schema_schema4"
},
{
"description": "quoted quote invalid under dependent schema",
"data": {
"foo'bar": 1
},
"valid": false
"valid": false,
"schema_id": "schema_schema4"
}
]
},
@ -509,7 +547,8 @@
"data": {
"foo": 1
},
"valid": false
"valid": false,
"schema_id": "schema_schema5"
},
{
"description": "matches dependency (invalid in strict mode - bar not allowed if foo missing)",
@ -521,7 +560,8 @@
{
"code": "STRICT_PROPERTY_VIOLATION"
}
]
],
"schema_id": "schema_schema5"
},
{
"description": "matches both",
@ -529,14 +569,16 @@
"foo": 1,
"bar": 2
},
"valid": false
"valid": false,
"schema_id": "schema_schema5"
},
{
"description": "no dependency",
"data": {
"baz": 1
},
"valid": true
"valid": true,
"schema_id": "schema_schema5"
}
]
},
@ -569,7 +611,8 @@
"data": {
"bar": 1
},
"valid": true
"valid": true,
"schema_id": "schema_schema6"
}
]
}