Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

[Feature] [JSON] Broader support of allOf JSON keyword #1070

Merged
merged 72 commits into from
Nov 6, 2024
Merged
Show file tree
Hide file tree
Changes from 26 commits
Commits
Show all changes
72 commits
Select commit Hold shift + click to select a range
17e0140
refactor oneOf, allOf
hudson-ai Oct 30, 2024
dfa5d25
allOf tests from the JSON Schema test suite
hudson-ai Oct 30, 2024
b505f1d
prototype allOf
hudson-ai Oct 30, 2024
c43c76c
fix nesting of sibling oneOf, allOf, anyOf
hudson-ai Oct 30, 2024
be24921
pass parent schema down to allOf
hudson-ai Oct 30, 2024
f4d3789
validate node keys when recursively calling add_schema
hudson-ai Oct 30, 2024
1102bc2
no longer nonlocal
hudson-ai Oct 30, 2024
b7043ba
punt to allOf for handling sibling keys
hudson-ai Oct 30, 2024
79b8ffb
ref in allof
hudson-ai Oct 30, 2024
02d12be
types
hudson-ai Oct 30, 2024
e251822
type narrowing
hudson-ai Oct 30, 2024
558a236
fix test that was supposed to fail under old logic but now passes
hudson-ai Oct 30, 2024
7296061
un xfail ref with siblings
hudson-ai Oct 30, 2024
cf6eb15
remove xfails for siblings (still failing but for wrong reason...)
hudson-ai Oct 30, 2024
5c1df52
drop todo
hudson-ai Oct 30, 2024
19aff29
items
hudson-ai Oct 30, 2024
fa86178
safer update
hudson-ai Oct 30, 2024
70d27ec
defaultdict for allOf properties
hudson-ai Oct 30, 2024
0d5b053
flatten allOfs when possible
hudson-ai Oct 30, 2024
f3be1ec
pass around base uri rather than context manager for finer grained co…
hudson-ai Oct 30, 2024
2732bd7
reorder properties in test cases to be consistent with the order we v…
hudson-ai Oct 30, 2024
6bc08ae
false schemas
hudson-ai Oct 30, 2024
a0b1c12
enum and const
hudson-ai Oct 31, 2024
4505171
modify test to use enum instead of multipleOf (which we don't have an…
hudson-ai Oct 31, 2024
7d0b576
remove the ternary implementation since the union of all the binary o…
hudson-ai Oct 31, 2024
c5ed6b3
make mypy less sad
hudson-ai Oct 31, 2024
a8cdd2a
apply additionalProperties correctly in allOf
hudson-ai Oct 31, 2024
985d38e
tests for additionalProperties in allOf
hudson-ai Oct 31, 2024
60bf51b
add (xfailed) test for inconsistent additionalProperties values in allOf
hudson-ai Oct 31, 2024
dbec459
mypy
hudson-ai Oct 31, 2024
4e688bd
prefixItems and items
hudson-ai Oct 31, 2024
f71cf91
some simple reduction ops
hudson-ai Oct 31, 2024
cf765fa
deterministic order of required properties
hudson-ai Oct 31, 2024
a656c45
add tests for prefixItems and items
hudson-ai Nov 1, 2024
1cf3910
test for two minimums or maximums
hudson-ai Nov 1, 2024
dd0f2a4
refactor json tests into multiple files
hudson-ai Nov 1, 2024
496718e
blacken json tests
hudson-ai Nov 1, 2024
8a7dfb6
drop unnecessary typing import from test
hudson-ai Nov 1, 2024
ce18dc4
drop some more unnecessary imports
hudson-ai Nov 1, 2024
7af4401
raise UnsatisfiableSchemaError whenever allOf leads to conflicting co…
hudson-ai Nov 1, 2024
487282a
raise UnsatisfiableSchemaError if schema is literal false
hudson-ai Nov 1, 2024
6aa8567
catch UnsatisfiableSchemaError if raised when building grammar for ob…
hudson-ai Nov 1, 2024
372bd3d
raise more UnsatisfiableSchemaErrors if min > max for string, number,…
hudson-ai Nov 1, 2024
7149e87
add illegal keys to not expression of additonal_key_grammar
hudson-ai Nov 1, 2024
614d29f
mypy
hudson-ai Nov 1, 2024
3b802c8
unsatisfiable items
hudson-ai Nov 1, 2024
57c7d42
drop xfail
hudson-ai Nov 1, 2024
faa3fe7
exception string
hudson-ai Nov 1, 2024
01039e2
UnsatisfiableSchemaError for empty oneOf, anyOf
hudson-ai Nov 1, 2024
a48c9d2
test unsatisfiable integer
hudson-ai Nov 1, 2024
820b8ba
test unsatisfiable number
hudson-ai Nov 1, 2024
2769f25
test unsatisfiable string
hudson-ai Nov 1, 2024
95e8134
test unsatisfiable array
hudson-ai Nov 1, 2024
e21924d
test unsatisfiable object
hudson-ai Nov 1, 2024
add4f51
raise UnsatisfiableSchemaError if all anyOf subschemas are unsatisfiable
hudson-ai Nov 2, 2024
6d35e6b
punt multi-type schemas to anyOf so it can handle unsatisfiable subsc…
hudson-ai Nov 2, 2024
b236a2c
test unsatisfiable anyOf
hudson-ai Nov 2, 2024
ce84d53
Revert "blacken json tests"
hudson-ai Nov 4, 2024
cb4845b
raise UnsatisfiableSchemaError in const/enum
hudson-ai Nov 4, 2024
f439a1a
Merge branch 'main' into allOf
hudson-ai Nov 5, 2024
5489f17
black and isort
hudson-ai Nov 5, 2024
a1714cf
Merge branch 'main' into allOf
hudson-ai Nov 5, 2024
1295aff
refactor allOf contents out to reduce_schema
hudson-ai Nov 5, 2024
67fd5e5
refactor sibling handling into push_sibling_keys
hudson-ai Nov 5, 2024
e4ff3aa
drop unnecessary cd-ing
hudson-ai Nov 5, 2024
b989a03
reorder properties in test cases to be consistent with the order we v…
hudson-ai Nov 5, 2024
241c47e
simplify enum and const validation
hudson-ai Nov 6, 2024
134410c
mypy
hudson-ai Nov 6, 2024
5d1c986
delete files accidentally committed
hudson-ai Nov 6, 2024
156728d
a few extra test cases
hudson-ai Nov 6, 2024
68900ed
more explicit NotImplementedError for oneOf, anyOf
hudson-ai Nov 6, 2024
0a63f59
add some comments about dropped UnsatisfiableSchemaErrors
hudson-ai Nov 6, 2024
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
Loading
Loading