jsoncompat 0.4.3__tar.gz
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.
- jsoncompat-0.4.3/.github/workflows/ci.yml +461 -0
- jsoncompat-0.4.3/.github/workflows/compat.yml +64 -0
- jsoncompat-0.4.3/.github/workflows/examples.yml +34 -0
- jsoncompat-0.4.3/.github/workflows/website.yaml +44 -0
- jsoncompat-0.4.3/.gitignore +6 -0
- jsoncompat-0.4.3/AGENTS.md +13 -0
- jsoncompat-0.4.3/Cargo.lock +2247 -0
- jsoncompat-0.4.3/Cargo.toml +73 -0
- jsoncompat-0.4.3/Justfile +134 -0
- jsoncompat-0.4.3/LICENSE +7 -0
- jsoncompat-0.4.3/PKG-INFO +176 -0
- jsoncompat-0.4.3/README.md +164 -0
- jsoncompat-0.4.3/benches/dataclasses_codegen.rs +121 -0
- jsoncompat-0.4.3/benches/fixtures/README.md +15 -0
- jsoncompat-0.4.3/benches/fixtures/deep-allof.json +103 -0
- jsoncompat-0.4.3/benches/fixtures/local-refs-conditional.json +57 -0
- jsoncompat-0.4.3/benches/fixtures/object-validation.json +70 -0
- jsoncompat-0.4.3/benches/fixtures/recursive-refs.json +35 -0
- jsoncompat-0.4.3/benches/fixtures/tuple-contains.json +62 -0
- jsoncompat-0.4.3/benches/fixtures/wide-anyof.json +108 -0
- jsoncompat-0.4.3/benches/schema_ops.rs +191 -0
- jsoncompat-0.4.3/benches/validator_cache.rs +99 -0
- jsoncompat-0.4.3/bootstrap.sh +12 -0
- jsoncompat-0.4.3/codegen/Cargo.toml +13 -0
- jsoncompat-0.4.3/codegen/src/dataclasses.rs +2897 -0
- jsoncompat-0.4.3/codegen/src/lib.rs +42 -0
- jsoncompat-0.4.3/developing.md +218 -0
- jsoncompat-0.4.3/examples/dataclasses/README.md +21 -0
- jsoncompat-0.4.3/examples/dataclasses/demo.py +100 -0
- jsoncompat-0.4.3/examples/dataclasses/models.py +250 -0
- jsoncompat-0.4.3/examples/dataclasses/schema.json +67 -0
- jsoncompat-0.4.3/examples/python/basic/demo.py +53 -0
- jsoncompat-0.4.3/examples/stamp/README.md +21 -0
- jsoncompat-0.4.3/examples/stamp/bundle.json +220 -0
- jsoncompat-0.4.3/examples/stamp/demo.py +126 -0
- jsoncompat-0.4.3/examples/stamp/manifest.json +56 -0
- jsoncompat-0.4.3/examples/stamp/reader.schema.json +111 -0
- jsoncompat-0.4.3/examples/stamp/reader_models.py +468 -0
- jsoncompat-0.4.3/examples/stamp/schema-v1.json +14 -0
- jsoncompat-0.4.3/examples/stamp/schema-v2.json +17 -0
- jsoncompat-0.4.3/examples/stamp/writer.schema.json +55 -0
- jsoncompat-0.4.3/examples/stamp/writer_models.py +137 -0
- jsoncompat-0.4.3/examples/wasm/demo.html +58 -0
- jsoncompat-0.4.3/fuzz/Cargo.toml +22 -0
- jsoncompat-0.4.3/fuzz/README.md +61 -0
- jsoncompat-0.4.3/fuzz/src/format_gen.rs +160 -0
- jsoncompat-0.4.3/fuzz/src/lib.rs +1545 -0
- jsoncompat-0.4.3/fuzz/src/regex_gen.rs +437 -0
- jsoncompat-0.4.3/jsoncompat/__init__.py +576 -0
- jsoncompat-0.4.3/jsoncompat/_native.pyi +10 -0
- jsoncompat-0.4.3/jsoncompat/codegen/__init__.py +4 -0
- jsoncompat-0.4.3/jsoncompat/codegen/dataclasses.py +857 -0
- jsoncompat-0.4.3/jsoncompat/codegen/serialization.py +242 -0
- jsoncompat-0.4.3/jsoncompat/py.typed +1 -0
- jsoncompat-0.4.3/openapi/Cargo.toml +17 -0
- jsoncompat-0.4.3/openapi/README.md +75 -0
- jsoncompat-0.4.3/openapi/src/json_pointer.rs +35 -0
- jsoncompat-0.4.3/openapi/src/lib.rs +6640 -0
- jsoncompat-0.4.3/package.json +10 -0
- jsoncompat-0.4.3/pnpm-lock.yaml +10668 -0
- jsoncompat-0.4.3/pnpm-workspace.yaml +4 -0
- jsoncompat-0.4.3/presentation/deck/.gitignore +4 -0
- jsoncompat-0.4.3/presentation/deck/README.md +41 -0
- jsoncompat-0.4.3/presentation/deck/components/AudienceRolloutQuestion.vue +168 -0
- jsoncompat-0.4.3/presentation/deck/components/CheckerEmbed.vue +80 -0
- jsoncompat-0.4.3/presentation/deck/components/IncidentSketch.vue +326 -0
- jsoncompat-0.4.3/presentation/deck/components/NetworkHero.vue +471 -0
- jsoncompat-0.4.3/presentation/deck/components/SimulatorBackdrop.vue +98 -0
- jsoncompat-0.4.3/presentation/deck/components/SimulatorDeck.vue +516 -0
- jsoncompat-0.4.3/presentation/deck/global-bottom.vue +1 -0
- jsoncompat-0.4.3/presentation/deck/package.json +28 -0
- jsoncompat-0.4.3/presentation/deck/public/favicon.ico +0 -0
- jsoncompat-0.4.3/presentation/deck/scripts/capture-simulator-assets.mjs +182 -0
- jsoncompat-0.4.3/presentation/deck/slides.md +700 -0
- jsoncompat-0.4.3/presentation/deck/style.css +1 -0
- jsoncompat-0.4.3/presentation/deck/styles/index.css +1175 -0
- jsoncompat-0.4.3/presentation/deck/vite.config.ts +22 -0
- jsoncompat-0.4.3/presentation/interactive/.gitignore +5 -0
- jsoncompat-0.4.3/presentation/interactive/README.md +43 -0
- jsoncompat-0.4.3/presentation/interactive/index.html +26 -0
- jsoncompat-0.4.3/presentation/interactive/package.json +23 -0
- jsoncompat-0.4.3/presentation/interactive/src/app.ts +757 -0
- jsoncompat-0.4.3/presentation/interactive/src/input/keys.ts +41 -0
- jsoncompat-0.4.3/presentation/interactive/src/main.ts +8 -0
- jsoncompat-0.4.3/presentation/interactive/src/model/story-loader.test.ts +132 -0
- jsoncompat-0.4.3/presentation/interactive/src/model/story-loader.ts +264 -0
- jsoncompat-0.4.3/presentation/interactive/src/model/story.ts +8 -0
- jsoncompat-0.4.3/presentation/interactive/src/model/types.ts +152 -0
- jsoncompat-0.4.3/presentation/interactive/src/render/decode-fx.ts +160 -0
- jsoncompat-0.4.3/presentation/interactive/src/render/layout.test.ts +16 -0
- jsoncompat-0.4.3/presentation/interactive/src/render/layout.ts +49 -0
- jsoncompat-0.4.3/presentation/interactive/src/render/packets.ts +303 -0
- jsoncompat-0.4.3/presentation/interactive/src/render/panels.ts +425 -0
- jsoncompat-0.4.3/presentation/interactive/src/render/type-colors.ts +38 -0
- jsoncompat-0.4.3/presentation/interactive/src/schema/flatten.test.ts +72 -0
- jsoncompat-0.4.3/presentation/interactive/src/schema/flatten.ts +187 -0
- jsoncompat-0.4.3/presentation/interactive/src/schema/generate.test.ts +86 -0
- jsoncompat-0.4.3/presentation/interactive/src/schema/generate.ts +252 -0
- jsoncompat-0.4.3/presentation/interactive/src/schema/validate.test.ts +132 -0
- jsoncompat-0.4.3/presentation/interactive/src/schema/validate.ts +152 -0
- jsoncompat-0.4.3/presentation/interactive/src/sim/engine.test.ts +156 -0
- jsoncompat-0.4.3/presentation/interactive/src/sim/engine.ts +264 -0
- jsoncompat-0.4.3/presentation/interactive/src/sim/packet.ts +80 -0
- jsoncompat-0.4.3/presentation/interactive/src/sim/transitions.ts +56 -0
- jsoncompat-0.4.3/presentation/interactive/story/README.md +26 -0
- jsoncompat-0.4.3/presentation/interactive/story/default-story.json +104 -0
- jsoncompat-0.4.3/presentation/interactive/tsconfig.json +20 -0
- jsoncompat-0.4.3/presentation/interactive/vite.config.ts +12 -0
- jsoncompat-0.4.3/pybindings/Cargo.toml +34 -0
- jsoncompat-0.4.3/pybindings/README.md +164 -0
- jsoncompat-0.4.3/pybindings/bench_dataclasses_runtime.py +361 -0
- jsoncompat-0.4.3/pybindings/bench_dataclasses_scaling.py +257 -0
- jsoncompat-0.4.3/pybindings/bench_dataclasses_startup.py +185 -0
- jsoncompat-0.4.3/pybindings/bench_fixture_models.py +1646 -0
- jsoncompat-0.4.3/pybindings/bench_fixture_samples.json +2652 -0
- jsoncompat-0.4.3/pybindings/benchmark_generated_models.py +54 -0
- jsoncompat-0.4.3/pybindings/benchmark_schemas/representative.json +95 -0
- jsoncompat-0.4.3/pybindings/benchmark_schemas/scaling.json +95 -0
- jsoncompat-0.4.3/pybindings/build.rs +3 -0
- jsoncompat-0.4.3/pybindings/fixture_benchmark_support.py +9 -0
- jsoncompat-0.4.3/pybindings/src/lib.rs +1048 -0
- jsoncompat-0.4.3/pybindings/src/model_converter.rs +4784 -0
- jsoncompat-0.4.3/pybindings/tests/check_sdist.py +71 -0
- jsoncompat-0.4.3/pybindings/tests/test_installed.py +72 -0
- jsoncompat-0.4.3/pybindings/uv.lock +628 -0
- jsoncompat-0.4.3/pyproject.toml +25 -0
- jsoncompat-0.4.3/pyrightconfig.json +12 -0
- jsoncompat-0.4.3/readme.md +244 -0
- jsoncompat-0.4.3/rust-toolchain.toml +2 -0
- jsoncompat-0.4.3/schema/Cargo.toml +21 -0
- jsoncompat-0.4.3/schema/README.md +70 -0
- jsoncompat-0.4.3/schema/src/ast.rs +3374 -0
- jsoncompat-0.4.3/schema/src/canonicalize/integration_tests.rs +1616 -0
- jsoncompat-0.4.3/schema/src/canonicalize.rs +2335 -0
- jsoncompat-0.4.3/schema/src/constraints.rs +419 -0
- jsoncompat-0.4.3/schema/src/json_semantics.rs +69 -0
- jsoncompat-0.4.3/schema/src/lib.rs +84 -0
- jsoncompat-0.4.3/schema/src/roundtrip_tests.rs +147 -0
- jsoncompat-0.4.3/schema/src/schema_children.rs +92 -0
- jsoncompat-0.4.3/schema/src/schema_metadata.rs +49 -0
- jsoncompat-0.4.3/schema/tests/basic.rs +1428 -0
- jsoncompat-0.4.3/src/bin/jsoncompat/ci.rs +584 -0
- jsoncompat-0.4.3/src/bin/jsoncompat/codegen.rs +49 -0
- jsoncompat-0.4.3/src/bin/jsoncompat/compat.rs +910 -0
- jsoncompat-0.4.3/src/bin/jsoncompat/demo.rs +477 -0
- jsoncompat-0.4.3/src/bin/jsoncompat/generate.rs +125 -0
- jsoncompat-0.4.3/src/bin/jsoncompat/lower_openapi.rs +163 -0
- jsoncompat-0.4.3/src/bin/jsoncompat/stamp.rs +83 -0
- jsoncompat-0.4.3/src/bin/jsoncompat.rs +247 -0
- jsoncompat-0.4.3/src/json_pointer.rs +42 -0
- jsoncompat-0.4.3/src/lib.rs +908 -0
- jsoncompat-0.4.3/src/openapi_compat.rs +193 -0
- jsoncompat-0.4.3/src/stamp.rs +1019 -0
- jsoncompat-0.4.3/src/subset/analysis.rs +46 -0
- jsoncompat-0.4.3/src/subset/array.rs +859 -0
- jsoncompat-0.4.3/src/subset/boolean.rs +1792 -0
- jsoncompat-0.4.3/src/subset/conditional.rs +634 -0
- jsoncompat-0.4.3/src/subset/disjoint.rs +840 -0
- jsoncompat-0.4.3/src/subset/dispatcher.rs +708 -0
- jsoncompat-0.4.3/src/subset/emptiness.rs +419 -0
- jsoncompat-0.4.3/src/subset/enumeration.rs +37 -0
- jsoncompat-0.4.3/src/subset/explainers.rs +1096 -0
- jsoncompat-0.4.3/src/subset/explanation.rs +154 -0
- jsoncompat-0.4.3/src/subset/finite.rs +788 -0
- jsoncompat-0.4.3/src/subset/intervals.rs +1459 -0
- jsoncompat-0.4.3/src/subset/membership.rs +307 -0
- jsoncompat-0.4.3/src/subset/object.rs +834 -0
- jsoncompat-0.4.3/src/subset/partitions.rs +1525 -0
- jsoncompat-0.4.3/src/subset/predispatch.rs +399 -0
- jsoncompat-0.4.3/src/subset/properties.rs +1123 -0
- jsoncompat-0.4.3/src/subset/scalar.rs +208 -0
- jsoncompat-0.4.3/src/subset/tests.rs +6745 -0
- jsoncompat-0.4.3/src/subset/type_masks.rs +142 -0
- jsoncompat-0.4.3/src/subset.rs +134 -0
- jsoncompat-0.4.3/tests/backcompat.rs +161 -0
- jsoncompat-0.4.3/tests/compat_soundness.rs +2687 -0
- jsoncompat-0.4.3/tests/dataclasses_backcompat.rs +292 -0
- jsoncompat-0.4.3/tests/dataclasses_examples.rs +79 -0
- jsoncompat-0.4.3/tests/dataclasses_fixtures.rs +333 -0
- jsoncompat-0.4.3/tests/dataclasses_fuzz.rs +98 -0
- jsoncompat-0.4.3/tests/dataclasses_json_round_trip.rs +518 -0
- jsoncompat-0.4.3/tests/dataclasses_stamp_backcompat.rs +285 -0
- jsoncompat-0.4.3/tests/dataclasses_typing.rs +283 -0
- jsoncompat-0.4.3/tests/fixtures/backcompat/additionalprops_expanded/examples.json +5 -0
- jsoncompat-0.4.3/tests/fixtures/backcompat/additionalprops_expanded/expect.json +5 -0
- jsoncompat-0.4.3/tests/fixtures/backcompat/additionalprops_expanded/new.json +1 -0
- jsoncompat-0.4.3/tests/fixtures/backcompat/additionalprops_expanded/old.json +1 -0
- jsoncompat-0.4.3/tests/fixtures/backcompat/additionalprops_reduced/examples.json +5 -0
- jsoncompat-0.4.3/tests/fixtures/backcompat/additionalprops_reduced/expect.json +5 -0
- jsoncompat-0.4.3/tests/fixtures/backcompat/additionalprops_reduced/new.json +1 -0
- jsoncompat-0.4.3/tests/fixtures/backcompat/additionalprops_reduced/old.json +1 -0
- jsoncompat-0.4.3/tests/fixtures/backcompat/allof_relaxed/expect.json +6 -0
- jsoncompat-0.4.3/tests/fixtures/backcompat/allof_relaxed/new.json +1 -0
- jsoncompat-0.4.3/tests/fixtures/backcompat/allof_relaxed/old.json +1 -0
- jsoncompat-0.4.3/tests/fixtures/backcompat/allof_single_conjunct_subset/expect.json +5 -0
- jsoncompat-0.4.3/tests/fixtures/backcompat/allof_single_conjunct_subset/new.json +1 -0
- jsoncompat-0.4.3/tests/fixtures/backcompat/allof_single_conjunct_subset/old.json +1 -0
- jsoncompat-0.4.3/tests/fixtures/backcompat/allof_tighten/examples.json +5 -0
- jsoncompat-0.4.3/tests/fixtures/backcompat/allof_tighten/expect.json +5 -0
- jsoncompat-0.4.3/tests/fixtures/backcompat/allof_tighten/new.json +1 -0
- jsoncompat-0.4.3/tests/fixtures/backcompat/allof_tighten/old.json +1 -0
- jsoncompat-0.4.3/tests/fixtures/backcompat/anyof_broaden/examples.json +5 -0
- jsoncompat-0.4.3/tests/fixtures/backcompat/anyof_broaden/expect.json +5 -0
- jsoncompat-0.4.3/tests/fixtures/backcompat/anyof_broaden/new.json +1 -0
- jsoncompat-0.4.3/tests/fixtures/backcompat/anyof_broaden/old.json +1 -0
- jsoncompat-0.4.3/tests/fixtures/backcompat/closed_object_property_capacity/expect.json +4 -0
- jsoncompat-0.4.3/tests/fixtures/backcompat/closed_object_property_capacity/new.json +1 -0
- jsoncompat-0.4.3/tests/fixtures/backcompat/closed_object_property_capacity/old.json +1 -0
- jsoncompat-0.4.3/tests/fixtures/backcompat/complex_optional_prop_added/examples.json +19 -0
- jsoncompat-0.4.3/tests/fixtures/backcompat/complex_optional_prop_added/expect.json +5 -0
- jsoncompat-0.4.3/tests/fixtures/backcompat/complex_optional_prop_added/new.json +24 -0
- jsoncompat-0.4.3/tests/fixtures/backcompat/complex_optional_prop_added/old.json +23 -0
- jsoncompat-0.4.3/tests/fixtures/backcompat/complex_required_prop_added/examples.json +8 -0
- jsoncompat-0.4.3/tests/fixtures/backcompat/complex_required_prop_added/expect.json +6 -0
- jsoncompat-0.4.3/tests/fixtures/backcompat/complex_required_prop_added/new.json +19 -0
- jsoncompat-0.4.3/tests/fixtures/backcompat/complex_required_prop_added/old.json +18 -0
- jsoncompat-0.4.3/tests/fixtures/backcompat/const_changed/expect.json +6 -0
- jsoncompat-0.4.3/tests/fixtures/backcompat/const_changed/new.json +1 -0
- jsoncompat-0.4.3/tests/fixtures/backcompat/const_changed/old.json +1 -0
- jsoncompat-0.4.3/tests/fixtures/backcompat/const_keyword/examples.json +5 -0
- jsoncompat-0.4.3/tests/fixtures/backcompat/const_keyword/expect.json +5 -0
- jsoncompat-0.4.3/tests/fixtures/backcompat/const_keyword/new.json +1 -0
- jsoncompat-0.4.3/tests/fixtures/backcompat/const_keyword/old.json +1 -0
- jsoncompat-0.4.3/tests/fixtures/backcompat/constrained_enum_bounds_equivalent/expect.json +1 -0
- jsoncompat-0.4.3/tests/fixtures/backcompat/constrained_enum_bounds_equivalent/new.json +1 -0
- jsoncompat-0.4.3/tests/fixtures/backcompat/constrained_enum_bounds_equivalent/old.json +1 -0
- jsoncompat-0.4.3/tests/fixtures/backcompat/contains_guaranteed_prefix_match/expect.json +5 -0
- jsoncompat-0.4.3/tests/fixtures/backcompat/contains_guaranteed_prefix_match/new.json +9 -0
- jsoncompat-0.4.3/tests/fixtures/backcompat/contains_guaranteed_prefix_match/old.json +5 -0
- jsoncompat-0.4.3/tests/fixtures/backcompat/contains_maxcontains_relaxed/expect.json +5 -0
- jsoncompat-0.4.3/tests/fixtures/backcompat/contains_maxcontains_relaxed/new.json +7 -0
- jsoncompat-0.4.3/tests/fixtures/backcompat/contains_maxcontains_relaxed/old.json +7 -0
- jsoncompat-0.4.3/tests/fixtures/backcompat/contains_mincontains_narrow_items/examples.json +15 -0
- jsoncompat-0.4.3/tests/fixtures/backcompat/contains_mincontains_narrow_items/expect.json +6 -0
- jsoncompat-0.4.3/tests/fixtures/backcompat/contains_mincontains_narrow_items/new.json +7 -0
- jsoncompat-0.4.3/tests/fixtures/backcompat/contains_mincontains_narrow_items/old.json +7 -0
- jsoncompat-0.4.3/tests/fixtures/backcompat/deep_ref/examples.json +5 -0
- jsoncompat-0.4.3/tests/fixtures/backcompat/deep_ref/expect.json +6 -0
- jsoncompat-0.4.3/tests/fixtures/backcompat/deep_ref/new.json +1 -0
- jsoncompat-0.4.3/tests/fixtures/backcompat/deep_ref/old.json +1 -0
- jsoncompat-0.4.3/tests/fixtures/backcompat/dependent_required/examples.json +5 -0
- jsoncompat-0.4.3/tests/fixtures/backcompat/dependent_required/expect.json +5 -0
- jsoncompat-0.4.3/tests/fixtures/backcompat/dependent_required/new.json +1 -0
- jsoncompat-0.4.3/tests/fixtures/backcompat/dependent_required/old.json +1 -0
- jsoncompat-0.4.3/tests/fixtures/backcompat/dependent_required_pattern_properties/examples.json +5 -0
- jsoncompat-0.4.3/tests/fixtures/backcompat/dependent_required_pattern_properties/expect.json +5 -0
- jsoncompat-0.4.3/tests/fixtures/backcompat/dependent_required_pattern_properties/new.json +1 -0
- jsoncompat-0.4.3/tests/fixtures/backcompat/dependent_required_pattern_properties/old.json +1 -0
- jsoncompat-0.4.3/tests/fixtures/backcompat/dependent_required_recursive_property_names/examples.json +4 -0
- jsoncompat-0.4.3/tests/fixtures/backcompat/dependent_required_recursive_property_names/expect.json +5 -0
- jsoncompat-0.4.3/tests/fixtures/backcompat/dependent_required_recursive_property_names/new.json +13 -0
- jsoncompat-0.4.3/tests/fixtures/backcompat/dependent_required_recursive_property_names/old.json +16 -0
- jsoncompat-0.4.3/tests/fixtures/backcompat/dependent_required_unsupported_pattern_properties/expect.json +5 -0
- jsoncompat-0.4.3/tests/fixtures/backcompat/dependent_required_unsupported_pattern_properties/new.json +7 -0
- jsoncompat-0.4.3/tests/fixtures/backcompat/dependent_required_unsupported_pattern_properties/old.json +10 -0
- jsoncompat-0.4.3/tests/fixtures/backcompat/dependent_required_unsupported_property_names/expect.json +5 -0
- jsoncompat-0.4.3/tests/fixtures/backcompat/dependent_required_unsupported_property_names/new.json +6 -0
- jsoncompat-0.4.3/tests/fixtures/backcompat/dependent_required_unsupported_property_names/old.json +9 -0
- jsoncompat-0.4.3/tests/fixtures/backcompat/enum_expanded/examples.json +5 -0
- jsoncompat-0.4.3/tests/fixtures/backcompat/enum_expanded/expect.json +5 -0
- jsoncompat-0.4.3/tests/fixtures/backcompat/enum_expanded/new.json +1 -0
- jsoncompat-0.4.3/tests/fixtures/backcompat/enum_expanded/old.json +1 -0
- jsoncompat-0.4.3/tests/fixtures/backcompat/enum_inside_anyof/examples.json +5 -0
- jsoncompat-0.4.3/tests/fixtures/backcompat/enum_inside_anyof/expect.json +5 -0
- jsoncompat-0.4.3/tests/fixtures/backcompat/enum_inside_anyof/new.json +1 -0
- jsoncompat-0.4.3/tests/fixtures/backcompat/enum_inside_anyof/old.json +1 -0
- jsoncompat-0.4.3/tests/fixtures/backcompat/enum_narrowed/examples.json +4 -0
- jsoncompat-0.4.3/tests/fixtures/backcompat/enum_narrowed/expect.json +5 -0
- jsoncompat-0.4.3/tests/fixtures/backcompat/enum_narrowed/new.json +1 -0
- jsoncompat-0.4.3/tests/fixtures/backcompat/enum_narrowed/old.json +1 -0
- jsoncompat-0.4.3/tests/fixtures/backcompat/exclusive_bounds/examples.json +5 -0
- jsoncompat-0.4.3/tests/fixtures/backcompat/exclusive_bounds/expect.json +5 -0
- jsoncompat-0.4.3/tests/fixtures/backcompat/exclusive_bounds/new.json +1 -0
- jsoncompat-0.4.3/tests/fixtures/backcompat/exclusive_bounds/old.json +1 -0
- jsoncompat-0.4.3/tests/fixtures/backcompat/float_form_number_enum_precision/examples.json +5 -0
- jsoncompat-0.4.3/tests/fixtures/backcompat/float_form_number_enum_precision/expect.json +1 -0
- jsoncompat-0.4.3/tests/fixtures/backcompat/float_form_number_enum_precision/new.json +1 -0
- jsoncompat-0.4.3/tests/fixtures/backcompat/float_form_number_enum_precision/old.json +1 -0
- jsoncompat-0.4.3/tests/fixtures/backcompat/format_annotation_changed/examples.json +6 -0
- jsoncompat-0.4.3/tests/fixtures/backcompat/format_annotation_changed/expect.json +4 -0
- jsoncompat-0.4.3/tests/fixtures/backcompat/format_annotation_changed/new.json +1 -0
- jsoncompat-0.4.3/tests/fixtures/backcompat/format_annotation_changed/old.json +1 -0
- jsoncompat-0.4.3/tests/fixtures/backcompat/integer_fractional_multiple_of/examples.json +5 -0
- jsoncompat-0.4.3/tests/fixtures/backcompat/integer_fractional_multiple_of/expect.json +5 -0
- jsoncompat-0.4.3/tests/fixtures/backcompat/integer_fractional_multiple_of/new.json +1 -0
- jsoncompat-0.4.3/tests/fixtures/backcompat/integer_fractional_multiple_of/old.json +1 -0
- jsoncompat-0.4.3/tests/fixtures/backcompat/integer_to_number/examples.json +4 -0
- jsoncompat-0.4.3/tests/fixtures/backcompat/integer_to_number/expect.json +5 -0
- jsoncompat-0.4.3/tests/fixtures/backcompat/integer_to_number/new.json +1 -0
- jsoncompat-0.4.3/tests/fixtures/backcompat/integer_to_number/old.json +1 -0
- jsoncompat-0.4.3/tests/fixtures/backcompat/large_integer_enum_precision/examples.json +5 -0
- jsoncompat-0.4.3/tests/fixtures/backcompat/large_integer_enum_precision/expect.json +6 -0
- jsoncompat-0.4.3/tests/fixtures/backcompat/large_integer_enum_precision/new.json +1 -0
- jsoncompat-0.4.3/tests/fixtures/backcompat/large_integer_enum_precision/old.json +1 -0
- jsoncompat-0.4.3/tests/fixtures/backcompat/maxlength_relaxed/examples.json +4 -0
- jsoncompat-0.4.3/tests/fixtures/backcompat/maxlength_relaxed/expect.json +5 -0
- jsoncompat-0.4.3/tests/fixtures/backcompat/maxlength_relaxed/new.json +1 -0
- jsoncompat-0.4.3/tests/fixtures/backcompat/maxlength_relaxed/old.json +1 -0
- jsoncompat-0.4.3/tests/fixtures/backcompat/minlength_tighten/examples.json +5 -0
- jsoncompat-0.4.3/tests/fixtures/backcompat/minlength_tighten/expect.json +5 -0
- jsoncompat-0.4.3/tests/fixtures/backcompat/minlength_tighten/new.json +1 -0
- jsoncompat-0.4.3/tests/fixtures/backcompat/minlength_tighten/old.json +1 -0
- jsoncompat-0.4.3/tests/fixtures/backcompat/nested_port_tighten/examples.json +8 -0
- jsoncompat-0.4.3/tests/fixtures/backcompat/nested_port_tighten/expect.json +5 -0
- jsoncompat-0.4.3/tests/fixtures/backcompat/nested_port_tighten/new.json +20 -0
- jsoncompat-0.4.3/tests/fixtures/backcompat/nested_port_tighten/old.json +20 -0
- jsoncompat-0.4.3/tests/fixtures/backcompat/nested_unsupported_pattern_enum_not_empty/expect.json +6 -0
- jsoncompat-0.4.3/tests/fixtures/backcompat/nested_unsupported_pattern_enum_not_empty/new.json +14 -0
- jsoncompat-0.4.3/tests/fixtures/backcompat/nested_unsupported_pattern_enum_not_empty/old.json +8 -0
- jsoncompat-0.4.3/tests/fixtures/backcompat/not_keyword/examples.json +5 -0
- jsoncompat-0.4.3/tests/fixtures/backcompat/not_keyword/expect.json +5 -0
- jsoncompat-0.4.3/tests/fixtures/backcompat/not_keyword/new.json +1 -0
- jsoncompat-0.4.3/tests/fixtures/backcompat/not_keyword/old.json +1 -0
- jsoncompat-0.4.3/tests/fixtures/backcompat/nullability_added/examples.json +4 -0
- jsoncompat-0.4.3/tests/fixtures/backcompat/nullability_added/expect.json +5 -0
- jsoncompat-0.4.3/tests/fixtures/backcompat/nullability_added/new.json +1 -0
- jsoncompat-0.4.3/tests/fixtures/backcompat/nullability_added/old.json +1 -0
- jsoncompat-0.4.3/tests/fixtures/backcompat/number_enum_satisfies_integer_constraints/examples.json +5 -0
- jsoncompat-0.4.3/tests/fixtures/backcompat/number_enum_satisfies_integer_constraints/expect.json +5 -0
- jsoncompat-0.4.3/tests/fixtures/backcompat/number_enum_satisfies_integer_constraints/new.json +6 -0
- jsoncompat-0.4.3/tests/fixtures/backcompat/number_enum_satisfies_integer_constraints/old.json +6 -0
- jsoncompat-0.4.3/tests/fixtures/backcompat/number_singleton_is_integer/examples.json +5 -0
- jsoncompat-0.4.3/tests/fixtures/backcompat/number_singleton_is_integer/expect.json +4 -0
- jsoncompat-0.4.3/tests/fixtures/backcompat/number_singleton_is_integer/new.json +5 -0
- jsoncompat-0.4.3/tests/fixtures/backcompat/number_singleton_is_integer/old.json +5 -0
- jsoncompat-0.4.3/tests/fixtures/backcompat/oneof_array_partition_with_extra_union_type/examples.json +5 -0
- jsoncompat-0.4.3/tests/fixtures/backcompat/oneof_array_partition_with_extra_union_type/expect.json +5 -0
- jsoncompat-0.4.3/tests/fixtures/backcompat/oneof_array_partition_with_extra_union_type/new.json +18 -0
- jsoncompat-0.4.3/tests/fixtures/backcompat/oneof_array_partition_with_extra_union_type/old.json +4 -0
- jsoncompat-0.4.3/tests/fixtures/backcompat/oneof_expanded_to_anyof/examples.json +5 -0
- jsoncompat-0.4.3/tests/fixtures/backcompat/oneof_expanded_to_anyof/expect.json +5 -0
- jsoncompat-0.4.3/tests/fixtures/backcompat/oneof_expanded_to_anyof/new.json +1 -0
- jsoncompat-0.4.3/tests/fixtures/backcompat/oneof_expanded_to_anyof/old.json +1 -0
- jsoncompat-0.4.3/tests/fixtures/backcompat/oneof_narrowed_against_allof_anyof/examples.json +5 -0
- jsoncompat-0.4.3/tests/fixtures/backcompat/oneof_narrowed_against_allof_anyof/expect.json +5 -0
- jsoncompat-0.4.3/tests/fixtures/backcompat/oneof_narrowed_against_allof_anyof/new.json +1 -0
- jsoncompat-0.4.3/tests/fixtures/backcompat/oneof_narrowed_against_allof_anyof/old.json +6 -0
- jsoncompat-0.4.3/tests/fixtures/backcompat/oneof_narrowed_against_anyof/examples.json +5 -0
- jsoncompat-0.4.3/tests/fixtures/backcompat/oneof_narrowed_against_anyof/expect.json +5 -0
- jsoncompat-0.4.3/tests/fixtures/backcompat/oneof_narrowed_against_anyof/new.json +1 -0
- jsoncompat-0.4.3/tests/fixtures/backcompat/oneof_narrowed_against_anyof/old.json +1 -0
- jsoncompat-0.4.3/tests/fixtures/backcompat/oneof_object_partition_with_extra_union_type/examples.json +5 -0
- jsoncompat-0.4.3/tests/fixtures/backcompat/oneof_object_partition_with_extra_union_type/expect.json +5 -0
- jsoncompat-0.4.3/tests/fixtures/backcompat/oneof_object_partition_with_extra_union_type/new.json +18 -0
- jsoncompat-0.4.3/tests/fixtures/backcompat/oneof_object_partition_with_extra_union_type/old.json +4 -0
- jsoncompat-0.4.3/tests/fixtures/backcompat/oneof_object_presence_partition_with_extra_union_type/examples.json +8 -0
- jsoncompat-0.4.3/tests/fixtures/backcompat/oneof_object_presence_partition_with_extra_union_type/expect.json +5 -0
- jsoncompat-0.4.3/tests/fixtures/backcompat/oneof_object_presence_partition_with_extra_union_type/new.json +18 -0
- jsoncompat-0.4.3/tests/fixtures/backcompat/oneof_object_presence_partition_with_extra_union_type/old.json +6 -0
- jsoncompat-0.4.3/tests/fixtures/backcompat/oneof_overlap/examples.json +5 -0
- jsoncompat-0.4.3/tests/fixtures/backcompat/oneof_overlap/expect.json +6 -0
- jsoncompat-0.4.3/tests/fixtures/backcompat/oneof_overlap/new.json +1 -0
- jsoncompat-0.4.3/tests/fixtures/backcompat/oneof_overlap/old.json +1 -0
- jsoncompat-0.4.3/tests/fixtures/backcompat/oneof_string_partition_with_extra_union_type/examples.json +5 -0
- jsoncompat-0.4.3/tests/fixtures/backcompat/oneof_string_partition_with_extra_union_type/expect.json +5 -0
- jsoncompat-0.4.3/tests/fixtures/backcompat/oneof_string_partition_with_extra_union_type/new.json +18 -0
- jsoncompat-0.4.3/tests/fixtures/backcompat/oneof_string_partition_with_extra_union_type/old.json +4 -0
- jsoncompat-0.4.3/tests/fixtures/backcompat/oneof_type_expanded/examples.json +4 -0
- jsoncompat-0.4.3/tests/fixtures/backcompat/oneof_type_expanded/expect.json +5 -0
- jsoncompat-0.4.3/tests/fixtures/backcompat/oneof_type_expanded/new.json +8 -0
- jsoncompat-0.4.3/tests/fixtures/backcompat/oneof_type_expanded/old.json +7 -0
- jsoncompat-0.4.3/tests/fixtures/backcompat/optional_to_required/examples.json +5 -0
- jsoncompat-0.4.3/tests/fixtures/backcompat/optional_to_required/expect.json +5 -0
- jsoncompat-0.4.3/tests/fixtures/backcompat/optional_to_required/new.json +1 -0
- jsoncompat-0.4.3/tests/fixtures/backcompat/optional_to_required/old.json +1 -0
- jsoncompat-0.4.3/tests/fixtures/backcompat/overlapping_pattern_properties/expect.json +6 -0
- jsoncompat-0.4.3/tests/fixtures/backcompat/overlapping_pattern_properties/new.json +1 -0
- jsoncompat-0.4.3/tests/fixtures/backcompat/overlapping_pattern_properties/old.json +1 -0
- jsoncompat-0.4.3/tests/fixtures/backcompat/pattern_properties/examples.json +5 -0
- jsoncompat-0.4.3/tests/fixtures/backcompat/pattern_properties/expect.json +5 -0
- jsoncompat-0.4.3/tests/fixtures/backcompat/pattern_properties/new.json +1 -0
- jsoncompat-0.4.3/tests/fixtures/backcompat/pattern_properties/old.json +1 -0
- jsoncompat-0.4.3/tests/fixtures/backcompat/pattern_properties_fall_back_to_additional_properties/examples.json +15 -0
- jsoncompat-0.4.3/tests/fixtures/backcompat/pattern_properties_fall_back_to_additional_properties/expect.json +4 -0
- jsoncompat-0.4.3/tests/fixtures/backcompat/pattern_properties_fall_back_to_additional_properties/new.json +1 -0
- jsoncompat-0.4.3/tests/fixtures/backcompat/pattern_properties_fall_back_to_additional_properties/old.json +1 -0
- jsoncompat-0.4.3/tests/fixtures/backcompat/prefixitems_first_item_changed/examples.json +13 -0
- jsoncompat-0.4.3/tests/fixtures/backcompat/prefixitems_first_item_changed/expect.json +6 -0
- jsoncompat-0.4.3/tests/fixtures/backcompat/prefixitems_first_item_changed/new.json +9 -0
- jsoncompat-0.4.3/tests/fixtures/backcompat/prefixitems_first_item_changed/old.json +9 -0
- jsoncompat-0.4.3/tests/fixtures/backcompat/property_names_excludes_declared_constraint/examples.json +11 -0
- jsoncompat-0.4.3/tests/fixtures/backcompat/property_names_excludes_declared_constraint/expect.json +5 -0
- jsoncompat-0.4.3/tests/fixtures/backcompat/property_names_excludes_declared_constraint/new.json +6 -0
- jsoncompat-0.4.3/tests/fixtures/backcompat/property_names_excludes_declared_constraint/old.json +8 -0
- jsoncompat-0.4.3/tests/fixtures/backcompat/property_names_expanded/examples.json +9 -0
- jsoncompat-0.4.3/tests/fixtures/backcompat/property_names_expanded/expect.json +5 -0
- jsoncompat-0.4.3/tests/fixtures/backcompat/property_names_expanded/new.json +12 -0
- jsoncompat-0.4.3/tests/fixtures/backcompat/property_names_expanded/old.json +12 -0
- jsoncompat-0.4.3/tests/fixtures/backcompat/recursive_allof_enum_not_empty/examples.json +4 -0
- jsoncompat-0.4.3/tests/fixtures/backcompat/recursive_allof_enum_not_empty/expect.json +6 -0
- jsoncompat-0.4.3/tests/fixtures/backcompat/recursive_allof_enum_not_empty/new.json +18 -0
- jsoncompat-0.4.3/tests/fixtures/backcompat/recursive_allof_enum_not_empty/old.json +8 -0
- jsoncompat-0.4.3/tests/fixtures/backcompat/recursive_optional_added/examples.json +17 -0
- jsoncompat-0.4.3/tests/fixtures/backcompat/recursive_optional_added/expect.json +5 -0
- jsoncompat-0.4.3/tests/fixtures/backcompat/recursive_optional_added/new.json +14 -0
- jsoncompat-0.4.3/tests/fixtures/backcompat/recursive_optional_added/old.json +13 -0
- jsoncompat-0.4.3/tests/fixtures/backcompat/required_to_optional/examples.json +5 -0
- jsoncompat-0.4.3/tests/fixtures/backcompat/required_to_optional/expect.json +5 -0
- jsoncompat-0.4.3/tests/fixtures/backcompat/required_to_optional/new.json +1 -0
- jsoncompat-0.4.3/tests/fixtures/backcompat/required_to_optional/old.json +1 -0
- jsoncompat-0.4.3/tests/fixtures/backcompat/same_value_recursive_applicator_narrowed/examples.json +4 -0
- jsoncompat-0.4.3/tests/fixtures/backcompat/same_value_recursive_applicator_narrowed/expect.json +5 -0
- jsoncompat-0.4.3/tests/fixtures/backcompat/same_value_recursive_applicator_narrowed/new.json +16 -0
- jsoncompat-0.4.3/tests/fixtures/backcompat/same_value_recursive_applicator_narrowed/old.json +16 -0
- jsoncompat-0.4.3/tests/fixtures/backcompat/type_change_string_number/examples.json +5 -0
- jsoncompat-0.4.3/tests/fixtures/backcompat/type_change_string_number/expect.json +6 -0
- jsoncompat-0.4.3/tests/fixtures/backcompat/type_change_string_number/new.json +1 -0
- jsoncompat-0.4.3/tests/fixtures/backcompat/type_change_string_number/old.json +1 -0
- jsoncompat-0.4.3/tests/fixtures/backcompat/uniqueitems_added/examples.json +4 -0
- jsoncompat-0.4.3/tests/fixtures/backcompat/uniqueitems_added/expect.json +5 -0
- jsoncompat-0.4.3/tests/fixtures/backcompat/uniqueitems_added/new.json +5 -0
- jsoncompat-0.4.3/tests/fixtures/backcompat/uniqueitems_added/old.json +4 -0
- jsoncompat-0.4.3/tests/fixtures/backcompat/unsupported_pattern_enum_not_empty/expect.json +6 -0
- jsoncompat-0.4.3/tests/fixtures/backcompat/unsupported_pattern_enum_not_empty/new.json +1 -0
- jsoncompat-0.4.3/tests/fixtures/backcompat/unsupported_pattern_enum_not_empty/old.json +1 -0
- jsoncompat-0.4.3/tests/fixtures/backcompat/unsupported_subset_pattern_properties_additional_fallback/expect.json +6 -0
- jsoncompat-0.4.3/tests/fixtures/backcompat/unsupported_subset_pattern_properties_additional_fallback/new.json +9 -0
- jsoncompat-0.4.3/tests/fixtures/backcompat/unsupported_subset_pattern_properties_additional_fallback/old.json +9 -0
- jsoncompat-0.4.3/tests/fixtures/backcompat/unsupported_superset_pattern_enum_membership/examples.json +8 -0
- jsoncompat-0.4.3/tests/fixtures/backcompat/unsupported_superset_pattern_enum_membership/expect.json +6 -0
- jsoncompat-0.4.3/tests/fixtures/backcompat/unsupported_superset_pattern_enum_membership/new.json +6 -0
- jsoncompat-0.4.3/tests/fixtures/backcompat/unsupported_superset_pattern_enum_membership/old.json +7 -0
- jsoncompat-0.4.3/tests/fixtures/cli/ci-incompatible.json +14 -0
- jsoncompat-0.4.3/tests/fixtures/cli/ci-new.json +14 -0
- jsoncompat-0.4.3/tests/fixtures/cli/ci-old.json +14 -0
- jsoncompat-0.4.3/tests/fixtures/dataclasses/README.md +15 -0
- jsoncompat-0.4.3/tests/fixtures/dataclasses/backcompat/additionalprops_expanded/new.py +18 -0
- jsoncompat-0.4.3/tests/fixtures/dataclasses/backcompat/additionalprops_expanded/old.py +18 -0
- jsoncompat-0.4.3/tests/fixtures/dataclasses/backcompat/additionalprops_reduced/new.py +18 -0
- jsoncompat-0.4.3/tests/fixtures/dataclasses/backcompat/additionalprops_reduced/old.py +18 -0
- jsoncompat-0.4.3/tests/fixtures/dataclasses/backcompat/allof_relaxed/new.py +17 -0
- jsoncompat-0.4.3/tests/fixtures/dataclasses/backcompat/allof_relaxed/old.py +24 -0
- jsoncompat-0.4.3/tests/fixtures/dataclasses/backcompat/allof_single_conjunct_subset/new.py +27 -0
- jsoncompat-0.4.3/tests/fixtures/dataclasses/backcompat/allof_single_conjunct_subset/old.py +18 -0
- jsoncompat-0.4.3/tests/fixtures/dataclasses/backcompat/allof_tighten/new.py +19 -0
- jsoncompat-0.4.3/tests/fixtures/dataclasses/backcompat/allof_tighten/old.py +25 -0
- jsoncompat-0.4.3/tests/fixtures/dataclasses/backcompat/anyof_broaden/new.py +24 -0
- jsoncompat-0.4.3/tests/fixtures/dataclasses/backcompat/anyof_broaden/old.py +17 -0
- jsoncompat-0.4.3/tests/fixtures/dataclasses/backcompat/closed_object_property_capacity/new.py +28 -0
- jsoncompat-0.4.3/tests/fixtures/dataclasses/backcompat/closed_object_property_capacity/old.py +28 -0
- jsoncompat-0.4.3/tests/fixtures/dataclasses/backcompat/complex_optional_prop_added/new.py +83 -0
- jsoncompat-0.4.3/tests/fixtures/dataclasses/backcompat/complex_optional_prop_added/old.py +79 -0
- jsoncompat-0.4.3/tests/fixtures/dataclasses/backcompat/complex_required_prop_added/new.py +67 -0
- jsoncompat-0.4.3/tests/fixtures/dataclasses/backcompat/complex_required_prop_added/old.py +62 -0
- jsoncompat-0.4.3/tests/fixtures/dataclasses/backcompat/const_changed/new.py +20 -0
- jsoncompat-0.4.3/tests/fixtures/dataclasses/backcompat/const_changed/old.py +20 -0
- jsoncompat-0.4.3/tests/fixtures/dataclasses/backcompat/const_keyword/new.py +17 -0
- jsoncompat-0.4.3/tests/fixtures/dataclasses/backcompat/const_keyword/old.py +17 -0
- jsoncompat-0.4.3/tests/fixtures/dataclasses/backcompat/constrained_enum_bounds_equivalent/new.py +22 -0
- jsoncompat-0.4.3/tests/fixtures/dataclasses/backcompat/constrained_enum_bounds_equivalent/old.py +20 -0
- jsoncompat-0.4.3/tests/fixtures/dataclasses/backcompat/contains_guaranteed_prefix_match/new.py +28 -0
- jsoncompat-0.4.3/tests/fixtures/dataclasses/backcompat/contains_guaranteed_prefix_match/old.py +28 -0
- jsoncompat-0.4.3/tests/fixtures/dataclasses/backcompat/contains_maxcontains_relaxed/new.py +28 -0
- jsoncompat-0.4.3/tests/fixtures/dataclasses/backcompat/contains_maxcontains_relaxed/old.py +28 -0
- jsoncompat-0.4.3/tests/fixtures/dataclasses/backcompat/contains_mincontains_narrow_items/new.py +22 -0
- jsoncompat-0.4.3/tests/fixtures/dataclasses/backcompat/contains_mincontains_narrow_items/old.py +28 -0
- jsoncompat-0.4.3/tests/fixtures/dataclasses/backcompat/deep_ref/new.py +57 -0
- jsoncompat-0.4.3/tests/fixtures/dataclasses/backcompat/deep_ref/old.py +57 -0
- jsoncompat-0.4.3/tests/fixtures/dataclasses/backcompat/dependent_required/new.py +33 -0
- jsoncompat-0.4.3/tests/fixtures/dataclasses/backcompat/dependent_required/old.py +24 -0
- jsoncompat-0.4.3/tests/fixtures/dataclasses/backcompat/dependent_required_pattern_properties/new.py +22 -0
- jsoncompat-0.4.3/tests/fixtures/dataclasses/backcompat/dependent_required_pattern_properties/old.py +27 -0
- jsoncompat-0.4.3/tests/fixtures/dataclasses/backcompat/dependent_required_recursive_property_names/new.py +61 -0
- jsoncompat-0.4.3/tests/fixtures/dataclasses/backcompat/dependent_required_recursive_property_names/old.py +66 -0
- jsoncompat-0.4.3/tests/fixtures/dataclasses/backcompat/dependent_required_unsupported_pattern_properties/new.py +22 -0
- jsoncompat-0.4.3/tests/fixtures/dataclasses/backcompat/dependent_required_unsupported_pattern_properties/old.py +27 -0
- jsoncompat-0.4.3/tests/fixtures/dataclasses/backcompat/dependent_required_unsupported_property_names/new.py +21 -0
- jsoncompat-0.4.3/tests/fixtures/dataclasses/backcompat/dependent_required_unsupported_property_names/old.py +26 -0
- jsoncompat-0.4.3/tests/fixtures/dataclasses/backcompat/enum_expanded/new.py +21 -0
- jsoncompat-0.4.3/tests/fixtures/dataclasses/backcompat/enum_expanded/old.py +20 -0
- jsoncompat-0.4.3/tests/fixtures/dataclasses/backcompat/enum_inside_anyof/new.py +27 -0
- jsoncompat-0.4.3/tests/fixtures/dataclasses/backcompat/enum_inside_anyof/old.py +20 -0
- jsoncompat-0.4.3/tests/fixtures/dataclasses/backcompat/enum_narrowed/new.py +21 -0
- jsoncompat-0.4.3/tests/fixtures/dataclasses/backcompat/enum_narrowed/old.py +22 -0
- jsoncompat-0.4.3/tests/fixtures/dataclasses/backcompat/exclusive_bounds/new.py +19 -0
- jsoncompat-0.4.3/tests/fixtures/dataclasses/backcompat/exclusive_bounds/old.py +19 -0
- jsoncompat-0.4.3/tests/fixtures/dataclasses/backcompat/float_form_number_enum_precision/new.py +17 -0
- jsoncompat-0.4.3/tests/fixtures/dataclasses/backcompat/float_form_number_enum_precision/old.py +21 -0
- jsoncompat-0.4.3/tests/fixtures/dataclasses/backcompat/format_annotation_changed/new.py +18 -0
- jsoncompat-0.4.3/tests/fixtures/dataclasses/backcompat/format_annotation_changed/old.py +18 -0
- jsoncompat-0.4.3/tests/fixtures/dataclasses/backcompat/integer_fractional_multiple_of/new.py +17 -0
- jsoncompat-0.4.3/tests/fixtures/dataclasses/backcompat/integer_fractional_multiple_of/old.py +18 -0
- jsoncompat-0.4.3/tests/fixtures/dataclasses/backcompat/integer_to_number/new.py +17 -0
- jsoncompat-0.4.3/tests/fixtures/dataclasses/backcompat/integer_to_number/old.py +17 -0
- jsoncompat-0.4.3/tests/fixtures/dataclasses/backcompat/large_integer_enum_precision/new.py +17 -0
- jsoncompat-0.4.3/tests/fixtures/dataclasses/backcompat/large_integer_enum_precision/old.py +22 -0
- jsoncompat-0.4.3/tests/fixtures/dataclasses/backcompat/maxlength_relaxed/new.py +18 -0
- jsoncompat-0.4.3/tests/fixtures/dataclasses/backcompat/maxlength_relaxed/old.py +18 -0
- jsoncompat-0.4.3/tests/fixtures/dataclasses/backcompat/minlength_tighten/new.py +18 -0
- jsoncompat-0.4.3/tests/fixtures/dataclasses/backcompat/minlength_tighten/old.py +18 -0
- jsoncompat-0.4.3/tests/fixtures/dataclasses/backcompat/nested_port_tighten/new.py +70 -0
- jsoncompat-0.4.3/tests/fixtures/dataclasses/backcompat/nested_port_tighten/old.py +70 -0
- jsoncompat-0.4.3/tests/fixtures/dataclasses/backcompat/nested_unsupported_pattern_enum_not_empty/new.py +32 -0
- jsoncompat-0.4.3/tests/fixtures/dataclasses/backcompat/nested_unsupported_pattern_enum_not_empty/old.py +26 -0
- jsoncompat-0.4.3/tests/fixtures/dataclasses/backcompat/not_keyword/new.py +19 -0
- jsoncompat-0.4.3/tests/fixtures/dataclasses/backcompat/not_keyword/old.py +17 -0
- jsoncompat-0.4.3/tests/fixtures/dataclasses/backcompat/nullability_added/new.py +20 -0
- jsoncompat-0.4.3/tests/fixtures/dataclasses/backcompat/nullability_added/old.py +17 -0
- jsoncompat-0.4.3/tests/fixtures/dataclasses/backcompat/number_enum_satisfies_integer_constraints/new.py +23 -0
- jsoncompat-0.4.3/tests/fixtures/dataclasses/backcompat/number_enum_satisfies_integer_constraints/old.py +20 -0
- jsoncompat-0.4.3/tests/fixtures/dataclasses/backcompat/number_singleton_is_integer/new.py +19 -0
- jsoncompat-0.4.3/tests/fixtures/dataclasses/backcompat/number_singleton_is_integer/old.py +19 -0
- jsoncompat-0.4.3/tests/fixtures/dataclasses/backcompat/oneof_array_partition_with_extra_union_type/new.py +45 -0
- jsoncompat-0.4.3/tests/fixtures/dataclasses/backcompat/oneof_array_partition_with_extra_union_type/old.py +25 -0
- jsoncompat-0.4.3/tests/fixtures/dataclasses/backcompat/oneof_expanded_to_anyof/new.py +27 -0
- jsoncompat-0.4.3/tests/fixtures/dataclasses/backcompat/oneof_expanded_to_anyof/old.py +24 -0
- jsoncompat-0.4.3/tests/fixtures/dataclasses/backcompat/oneof_narrowed_against_allof_anyof/new.py +24 -0
- jsoncompat-0.4.3/tests/fixtures/dataclasses/backcompat/oneof_narrowed_against_allof_anyof/old.py +32 -0
- jsoncompat-0.4.3/tests/fixtures/dataclasses/backcompat/oneof_narrowed_against_anyof/new.py +24 -0
- jsoncompat-0.4.3/tests/fixtures/dataclasses/backcompat/oneof_narrowed_against_anyof/old.py +27 -0
- jsoncompat-0.4.3/tests/fixtures/dataclasses/backcompat/oneof_object_partition_with_extra_union_type/new.py +50 -0
- jsoncompat-0.4.3/tests/fixtures/dataclasses/backcompat/oneof_object_partition_with_extra_union_type/old.py +19 -0
- jsoncompat-0.4.3/tests/fixtures/dataclasses/backcompat/oneof_object_presence_partition_with_extra_union_type/new.py +61 -0
- jsoncompat-0.4.3/tests/fixtures/dataclasses/backcompat/oneof_object_presence_partition_with_extra_union_type/old.py +28 -0
- jsoncompat-0.4.3/tests/fixtures/dataclasses/backcompat/oneof_overlap/new.py +24 -0
- jsoncompat-0.4.3/tests/fixtures/dataclasses/backcompat/oneof_overlap/old.py +24 -0
- jsoncompat-0.4.3/tests/fixtures/dataclasses/backcompat/oneof_string_partition_with_extra_union_type/new.py +32 -0
- jsoncompat-0.4.3/tests/fixtures/dataclasses/backcompat/oneof_string_partition_with_extra_union_type/old.py +18 -0
- jsoncompat-0.4.3/tests/fixtures/dataclasses/backcompat/oneof_type_expanded/new.py +28 -0
- jsoncompat-0.4.3/tests/fixtures/dataclasses/backcompat/oneof_type_expanded/old.py +25 -0
- jsoncompat-0.4.3/tests/fixtures/dataclasses/backcompat/optional_to_required/new.py +27 -0
- jsoncompat-0.4.3/tests/fixtures/dataclasses/backcompat/optional_to_required/old.py +24 -0
- jsoncompat-0.4.3/tests/fixtures/dataclasses/backcompat/overlapping_pattern_properties/new.py +24 -0
- jsoncompat-0.4.3/tests/fixtures/dataclasses/backcompat/overlapping_pattern_properties/old.py +27 -0
- jsoncompat-0.4.3/tests/fixtures/dataclasses/backcompat/pattern_properties/new.py +23 -0
- jsoncompat-0.4.3/tests/fixtures/dataclasses/backcompat/pattern_properties/old.py +18 -0
- jsoncompat-0.4.3/tests/fixtures/dataclasses/backcompat/pattern_properties_fall_back_to_additional_properties/new.py +23 -0
- jsoncompat-0.4.3/tests/fixtures/dataclasses/backcompat/pattern_properties_fall_back_to_additional_properties/old.py +19 -0
- jsoncompat-0.4.3/tests/fixtures/dataclasses/backcompat/prefixitems_first_item_changed/new.py +24 -0
- jsoncompat-0.4.3/tests/fixtures/dataclasses/backcompat/prefixitems_first_item_changed/old.py +24 -0
- jsoncompat-0.4.3/tests/fixtures/dataclasses/backcompat/property_names_excludes_declared_constraint/new.py +23 -0
- jsoncompat-0.4.3/tests/fixtures/dataclasses/backcompat/property_names_excludes_declared_constraint/old.py +24 -0
- jsoncompat-0.4.3/tests/fixtures/dataclasses/backcompat/property_names_expanded/new.py +54 -0
- jsoncompat-0.4.3/tests/fixtures/dataclasses/backcompat/property_names_expanded/old.py +52 -0
- jsoncompat-0.4.3/tests/fixtures/dataclasses/backcompat/recursive_allof_enum_not_empty/new.py +71 -0
- jsoncompat-0.4.3/tests/fixtures/dataclasses/backcompat/recursive_allof_enum_not_empty/old.py +26 -0
- jsoncompat-0.4.3/tests/fixtures/dataclasses/backcompat/recursive_optional_added/new.py +39 -0
- jsoncompat-0.4.3/tests/fixtures/dataclasses/backcompat/recursive_optional_added/old.py +35 -0
- jsoncompat-0.4.3/tests/fixtures/dataclasses/backcompat/required_to_optional/new.py +27 -0
- jsoncompat-0.4.3/tests/fixtures/dataclasses/backcompat/required_to_optional/old.py +25 -0
- jsoncompat-0.4.3/tests/fixtures/dataclasses/backcompat/same_value_recursive_applicator_narrowed/new.py +63 -0
- jsoncompat-0.4.3/tests/fixtures/dataclasses/backcompat/same_value_recursive_applicator_narrowed/old.py +63 -0
- jsoncompat-0.4.3/tests/fixtures/dataclasses/backcompat/type_change_string_number/new.py +17 -0
- jsoncompat-0.4.3/tests/fixtures/dataclasses/backcompat/type_change_string_number/old.py +17 -0
- jsoncompat-0.4.3/tests/fixtures/dataclasses/backcompat/uniqueitems_added/new.py +22 -0
- jsoncompat-0.4.3/tests/fixtures/dataclasses/backcompat/uniqueitems_added/old.py +21 -0
- jsoncompat-0.4.3/tests/fixtures/dataclasses/backcompat/unsupported_pattern_enum_not_empty/new.py +21 -0
- jsoncompat-0.4.3/tests/fixtures/dataclasses/backcompat/unsupported_pattern_enum_not_empty/old.py +17 -0
- jsoncompat-0.4.3/tests/fixtures/dataclasses/backcompat/unsupported_subset_pattern_properties_additional_fallback/new.py +24 -0
- jsoncompat-0.4.3/tests/fixtures/dataclasses/backcompat/unsupported_subset_pattern_properties_additional_fallback/old.py +25 -0
- jsoncompat-0.4.3/tests/fixtures/dataclasses/backcompat/unsupported_superset_pattern_enum_membership/new.py +23 -0
- jsoncompat-0.4.3/tests/fixtures/dataclasses/backcompat/unsupported_superset_pattern_enum_membership/old.py +24 -0
- jsoncompat-0.4.3/tests/fixtures/dataclasses/benchmarks/representative.py +287 -0
- jsoncompat-0.4.3/tests/fixtures/dataclasses/benchmarks/scaling.py +706 -0
- jsoncompat-0.4.3/tests/fixtures/dataclasses/examples/stamp/user-profile-reader.py +468 -0
- jsoncompat-0.4.3/tests/fixtures/dataclasses/examples/stamp/user-profile-writer.py +137 -0
- jsoncompat-0.4.3/tests/fixtures/dataclasses/fuzz/additionalProperties/000.py +64 -0
- jsoncompat-0.4.3/tests/fixtures/dataclasses/fuzz/additionalProperties/001.py +43 -0
- jsoncompat-0.4.3/tests/fixtures/dataclasses/fuzz/additionalProperties/002.py +65 -0
- jsoncompat-0.4.3/tests/fixtures/dataclasses/fuzz/additionalProperties/003.py +44 -0
- jsoncompat-0.4.3/tests/fixtures/dataclasses/fuzz/additionalProperties/004.py +56 -0
- jsoncompat-0.4.3/tests/fixtures/dataclasses/fuzz/additionalProperties/005.py +27 -0
- jsoncompat-0.4.3/tests/fixtures/dataclasses/fuzz/additionalProperties/006.py +43 -0
- jsoncompat-0.4.3/tests/fixtures/dataclasses/fuzz/additionalProperties/007.py +77 -0
- jsoncompat-0.4.3/tests/fixtures/dataclasses/fuzz/additionalProperties/008.py +93 -0
- jsoncompat-0.4.3/tests/fixtures/dataclasses/fuzz/allOf/000.py +39 -0
- jsoncompat-0.4.3/tests/fixtures/dataclasses/fuzz/allOf/001.py +47 -0
- jsoncompat-0.4.3/tests/fixtures/dataclasses/fuzz/allOf/002.py +25 -0
- jsoncompat-0.4.3/tests/fixtures/dataclasses/fuzz/allOf/003.py +21 -0
- jsoncompat-0.4.3/tests/fixtures/dataclasses/fuzz/allOf/004.py +21 -0
- jsoncompat-0.4.3/tests/fixtures/dataclasses/fuzz/allOf/005.py +21 -0
- jsoncompat-0.4.3/tests/fixtures/dataclasses/fuzz/allOf/006.py +20 -0
- jsoncompat-0.4.3/tests/fixtures/dataclasses/fuzz/allOf/007.py +21 -0
- jsoncompat-0.4.3/tests/fixtures/dataclasses/fuzz/allOf/008.py +23 -0
- jsoncompat-0.4.3/tests/fixtures/dataclasses/fuzz/allOf/009.py +23 -0
- jsoncompat-0.4.3/tests/fixtures/dataclasses/fuzz/allOf/010.py +26 -0
- jsoncompat-0.4.3/tests/fixtures/dataclasses/fuzz/allOf/011.py +85 -0
- jsoncompat-0.4.3/tests/fixtures/dataclasses/fuzz/anchor/000.error.txt +1 -0
- jsoncompat-0.4.3/tests/fixtures/dataclasses/fuzz/anchor/001.error.txt +1 -0
- jsoncompat-0.4.3/tests/fixtures/dataclasses/fuzz/anchor/002.error.txt +1 -0
- jsoncompat-0.4.3/tests/fixtures/dataclasses/fuzz/anchor/003.error.txt +1 -0
- jsoncompat-0.4.3/tests/fixtures/dataclasses/fuzz/anyOf/000.py +43 -0
- jsoncompat-0.4.3/tests/fixtures/dataclasses/fuzz/anyOf/001.py +26 -0
- jsoncompat-0.4.3/tests/fixtures/dataclasses/fuzz/anyOf/002.py +21 -0
- jsoncompat-0.4.3/tests/fixtures/dataclasses/fuzz/anyOf/003.py +21 -0
- jsoncompat-0.4.3/tests/fixtures/dataclasses/fuzz/anyOf/004.py +21 -0
- jsoncompat-0.4.3/tests/fixtures/dataclasses/fuzz/anyOf/005.py +92 -0
- jsoncompat-0.4.3/tests/fixtures/dataclasses/fuzz/anyOf/006.py +23 -0
- jsoncompat-0.4.3/tests/fixtures/dataclasses/fuzz/anyOf/007.py +26 -0
- jsoncompat-0.4.3/tests/fixtures/dataclasses/fuzz/boolean_schema/000.py +15 -0
- jsoncompat-0.4.3/tests/fixtures/dataclasses/fuzz/boolean_schema/001.py +15 -0
- jsoncompat-0.4.3/tests/fixtures/dataclasses/fuzz/const/000.py +18 -0
- jsoncompat-0.4.3/tests/fixtures/dataclasses/fuzz/const/001.py +22 -0
- jsoncompat-0.4.3/tests/fixtures/dataclasses/fuzz/const/002.py +22 -0
- jsoncompat-0.4.3/tests/fixtures/dataclasses/fuzz/const/003.py +18 -0
- jsoncompat-0.4.3/tests/fixtures/dataclasses/fuzz/const/004.py +18 -0
- jsoncompat-0.4.3/tests/fixtures/dataclasses/fuzz/const/005.py +18 -0
- jsoncompat-0.4.3/tests/fixtures/dataclasses/fuzz/const/006.py +20 -0
- jsoncompat-0.4.3/tests/fixtures/dataclasses/fuzz/const/007.py +20 -0
- jsoncompat-0.4.3/tests/fixtures/dataclasses/fuzz/const/008.py +21 -0
- jsoncompat-0.4.3/tests/fixtures/dataclasses/fuzz/const/009.py +21 -0
- jsoncompat-0.4.3/tests/fixtures/dataclasses/fuzz/const/010.py +18 -0
- jsoncompat-0.4.3/tests/fixtures/dataclasses/fuzz/const/011.py +18 -0
- jsoncompat-0.4.3/tests/fixtures/dataclasses/fuzz/const/012.py +18 -0
- jsoncompat-0.4.3/tests/fixtures/dataclasses/fuzz/const/013.py +18 -0
- jsoncompat-0.4.3/tests/fixtures/dataclasses/fuzz/const/014.py +18 -0
- jsoncompat-0.4.3/tests/fixtures/dataclasses/fuzz/contains/000.py +38 -0
- jsoncompat-0.4.3/tests/fixtures/dataclasses/fuzz/contains/001.py +38 -0
- jsoncompat-0.4.3/tests/fixtures/dataclasses/fuzz/contains/002.py +36 -0
- jsoncompat-0.4.3/tests/fixtures/dataclasses/fuzz/contains/003.py +36 -0
- jsoncompat-0.4.3/tests/fixtures/dataclasses/fuzz/contains/004.py +51 -0
- jsoncompat-0.4.3/tests/fixtures/dataclasses/fuzz/contains/005.py +39 -0
- jsoncompat-0.4.3/tests/fixtures/dataclasses/fuzz/contains/006.py +38 -0
- jsoncompat-0.4.3/tests/fixtures/dataclasses/fuzz/content/000.py +18 -0
- jsoncompat-0.4.3/tests/fixtures/dataclasses/fuzz/content/001.py +18 -0
- jsoncompat-0.4.3/tests/fixtures/dataclasses/fuzz/content/002.py +19 -0
- jsoncompat-0.4.3/tests/fixtures/dataclasses/fuzz/content/003.py +30 -0
- jsoncompat-0.4.3/tests/fixtures/dataclasses/fuzz/custom/boolean-applicators/000.py +23 -0
- jsoncompat-0.4.3/tests/fixtures/dataclasses/fuzz/custom/boolean-applicators/001.py +23 -0
- jsoncompat-0.4.3/tests/fixtures/dataclasses/fuzz/custom/boolean-applicators/002.py +23 -0
- jsoncompat-0.4.3/tests/fixtures/dataclasses/fuzz/custom/boolean-applicators/003.py +19 -0
- jsoncompat-0.4.3/tests/fixtures/dataclasses/fuzz/custom/canonical-order-dedupe-stability/000.py +24 -0
- jsoncompat-0.4.3/tests/fixtures/dataclasses/fuzz/custom/canonical-order-dedupe-stability/001.py +34 -0
- jsoncompat-0.4.3/tests/fixtures/dataclasses/fuzz/custom/canonicalization-refs/000.py +24 -0
- jsoncompat-0.4.3/tests/fixtures/dataclasses/fuzz/custom/canonicalization-refs/001.py +24 -0
- jsoncompat-0.4.3/tests/fixtures/dataclasses/fuzz/custom/canonicalization-refs/002.py +41 -0
- jsoncompat-0.4.3/tests/fixtures/dataclasses/fuzz/custom/canonicalization-refs/003.py +35 -0
- jsoncompat-0.4.3/tests/fixtures/dataclasses/fuzz/custom/canonicalization-refs/004.py +31 -0
- jsoncompat-0.4.3/tests/fixtures/dataclasses/fuzz/custom/canonicalization-refs/005.py +31 -0
- jsoncompat-0.4.3/tests/fixtures/dataclasses/fuzz/custom/canonicalization-refs/006.py +22 -0
- jsoncompat-0.4.3/tests/fixtures/dataclasses/fuzz/custom/canonicalization-refs/007.py +20 -0
- jsoncompat-0.4.3/tests/fixtures/dataclasses/fuzz/custom/canonicalization-refs/008.py +20 -0
- jsoncompat-0.4.3/tests/fixtures/dataclasses/fuzz/custom/conditional-edge-cases/000.py +25 -0
- jsoncompat-0.4.3/tests/fixtures/dataclasses/fuzz/custom/conditional-edge-cases/001.py +20 -0
- jsoncompat-0.4.3/tests/fixtures/dataclasses/fuzz/custom/conditional-edge-cases/002.py +24 -0
- jsoncompat-0.4.3/tests/fixtures/dataclasses/fuzz/custom/contains-cardinality/000.py +32 -0
- jsoncompat-0.4.3/tests/fixtures/dataclasses/fuzz/custom/contains-cardinality/001.py +30 -0
- jsoncompat-0.4.3/tests/fixtures/dataclasses/fuzz/custom/contains-cardinality/002.py +30 -0
- jsoncompat-0.4.3/tests/fixtures/dataclasses/fuzz/custom/enum-const-keyword-mismatch/000.py +25 -0
- jsoncompat-0.4.3/tests/fixtures/dataclasses/fuzz/custom/enum-const-keyword-mismatch/001.py +19 -0
- jsoncompat-0.4.3/tests/fixtures/dataclasses/fuzz/custom/enum-const-keyword-mismatch/002.py +21 -0
- jsoncompat-0.4.3/tests/fixtures/dataclasses/fuzz/custom/indexed-applicator-refs/000.py +64 -0
- jsoncompat-0.4.3/tests/fixtures/dataclasses/fuzz/custom/integer-boundaries/000.py +20 -0
- jsoncompat-0.4.3/tests/fixtures/dataclasses/fuzz/custom/integer-boundaries/001.py +20 -0
- jsoncompat-0.4.3/tests/fixtures/dataclasses/fuzz/custom/integer-boundaries/002.py +21 -0
- jsoncompat-0.4.3/tests/fixtures/dataclasses/fuzz/custom/local-ref-type-suppression/000.py +30 -0
- jsoncompat-0.4.3/tests/fixtures/dataclasses/fuzz/custom/local-ref-type-suppression/001.py +24 -0
- jsoncompat-0.4.3/tests/fixtures/dataclasses/fuzz/custom/metadata-collapse/000.py +39 -0
- jsoncompat-0.4.3/tests/fixtures/dataclasses/fuzz/custom/metadata-collapse/001.py +31 -0
- jsoncompat-0.4.3/tests/fixtures/dataclasses/fuzz/custom/mutual-recursive-defs/000.py +300 -0
- jsoncompat-0.4.3/tests/fixtures/dataclasses/fuzz/custom/object-required-dependencies/000.py +42 -0
- jsoncompat-0.4.3/tests/fixtures/dataclasses/fuzz/custom/oneof-rewrite-safety/000.py +95 -0
- jsoncompat-0.4.3/tests/fixtures/dataclasses/fuzz/custom/oneof-rewrite-safety/001.py +26 -0
- jsoncompat-0.4.3/tests/fixtures/dataclasses/fuzz/custom/property-names-additional-properties/000.py +34 -0
- jsoncompat-0.4.3/tests/fixtures/dataclasses/fuzz/custom/recursive-applicator-refs/000.py +144 -0
- jsoncompat-0.4.3/tests/fixtures/dataclasses/fuzz/custom/unknown-keyword-refs/000.py +27 -0
- jsoncompat-0.4.3/tests/fixtures/dataclasses/fuzz/custom/unknown-keyword-refs/001.py +32 -0
- jsoncompat-0.4.3/tests/fixtures/dataclasses/fuzz/default/000.py +47 -0
- jsoncompat-0.4.3/tests/fixtures/dataclasses/fuzz/default/001.py +48 -0
- jsoncompat-0.4.3/tests/fixtures/dataclasses/fuzz/default/002.py +27 -0
- jsoncompat-0.4.3/tests/fixtures/dataclasses/fuzz/defs/000.error.txt +1 -0
- jsoncompat-0.4.3/tests/fixtures/dataclasses/fuzz/dependentRequired/000.py +45 -0
- jsoncompat-0.4.3/tests/fixtures/dataclasses/fuzz/dependentRequired/001.py +41 -0
- jsoncompat-0.4.3/tests/fixtures/dataclasses/fuzz/dependentRequired/002.py +47 -0
- jsoncompat-0.4.3/tests/fixtures/dataclasses/fuzz/dependentRequired/003.py +51 -0
- jsoncompat-0.4.3/tests/fixtures/dataclasses/fuzz/dependentSchemas/000.py +90 -0
- jsoncompat-0.4.3/tests/fixtures/dataclasses/fuzz/dependentSchemas/001.py +43 -0
- jsoncompat-0.4.3/tests/fixtures/dataclasses/fuzz/dependentSchemas/002.py +116 -0
- jsoncompat-0.4.3/tests/fixtures/dataclasses/fuzz/dependentSchemas/003.py +92 -0
- jsoncompat-0.4.3/tests/fixtures/dataclasses/fuzz/dynamicRef/000.py +58 -0
- jsoncompat-0.4.3/tests/fixtures/dataclasses/fuzz/dynamicRef/001.py +58 -0
- jsoncompat-0.4.3/tests/fixtures/dataclasses/fuzz/dynamicRef/002.error.txt +1 -0
- jsoncompat-0.4.3/tests/fixtures/dataclasses/fuzz/dynamicRef/003.error.txt +1 -0
- jsoncompat-0.4.3/tests/fixtures/dataclasses/fuzz/dynamicRef/004.error.txt +1 -0
- jsoncompat-0.4.3/tests/fixtures/dataclasses/fuzz/dynamicRef/005.error.txt +1 -0
- jsoncompat-0.4.3/tests/fixtures/dataclasses/fuzz/dynamicRef/006.error.txt +1 -0
- jsoncompat-0.4.3/tests/fixtures/dataclasses/fuzz/dynamicRef/007.error.txt +1 -0
- jsoncompat-0.4.3/tests/fixtures/dataclasses/fuzz/dynamicRef/008.error.txt +1 -0
- jsoncompat-0.4.3/tests/fixtures/dataclasses/fuzz/dynamicRef/009.error.txt +1 -0
- jsoncompat-0.4.3/tests/fixtures/dataclasses/fuzz/dynamicRef/010.error.txt +1 -0
- jsoncompat-0.4.3/tests/fixtures/dataclasses/fuzz/dynamicRef/011.error.txt +1 -0
- jsoncompat-0.4.3/tests/fixtures/dataclasses/fuzz/dynamicRef/012.py +99 -0
- jsoncompat-0.4.3/tests/fixtures/dataclasses/fuzz/dynamicRef/013.error.txt +1 -0
- jsoncompat-0.4.3/tests/fixtures/dataclasses/fuzz/dynamicRef/014.error.txt +1 -0
- jsoncompat-0.4.3/tests/fixtures/dataclasses/fuzz/dynamicRef/015.py +37 -0
- jsoncompat-0.4.3/tests/fixtures/dataclasses/fuzz/dynamicRef/016.py +37 -0
- jsoncompat-0.4.3/tests/fixtures/dataclasses/fuzz/dynamicRef/017.error.txt +1 -0
- jsoncompat-0.4.3/tests/fixtures/dataclasses/fuzz/dynamicRef/018.py +41 -0
- jsoncompat-0.4.3/tests/fixtures/dataclasses/fuzz/dynamicRef/019.error.txt +1 -0
- jsoncompat-0.4.3/tests/fixtures/dataclasses/fuzz/enum/000.py +22 -0
- jsoncompat-0.4.3/tests/fixtures/dataclasses/fuzz/enum/001.py +26 -0
- jsoncompat-0.4.3/tests/fixtures/dataclasses/fuzz/enum/002.py +21 -0
- jsoncompat-0.4.3/tests/fixtures/dataclasses/fuzz/enum/003.py +36 -0
- jsoncompat-0.4.3/tests/fixtures/dataclasses/fuzz/enum/004.py +21 -0
- jsoncompat-0.4.3/tests/fixtures/dataclasses/fuzz/enum/005.py +20 -0
- jsoncompat-0.4.3/tests/fixtures/dataclasses/fuzz/enum/006.py +22 -0
- jsoncompat-0.4.3/tests/fixtures/dataclasses/fuzz/enum/007.py +20 -0
- jsoncompat-0.4.3/tests/fixtures/dataclasses/fuzz/enum/008.py +22 -0
- jsoncompat-0.4.3/tests/fixtures/dataclasses/fuzz/enum/009.py +20 -0
- jsoncompat-0.4.3/tests/fixtures/dataclasses/fuzz/enum/010.py +22 -0
- jsoncompat-0.4.3/tests/fixtures/dataclasses/fuzz/enum/011.py +20 -0
- jsoncompat-0.4.3/tests/fixtures/dataclasses/fuzz/enum/012.py +22 -0
- jsoncompat-0.4.3/tests/fixtures/dataclasses/fuzz/enum/013.py +20 -0
- jsoncompat-0.4.3/tests/fixtures/dataclasses/fuzz/exclusiveMaximum/000.py +36 -0
- jsoncompat-0.4.3/tests/fixtures/dataclasses/fuzz/exclusiveMinimum/000.py +36 -0
- jsoncompat-0.4.3/tests/fixtures/dataclasses/fuzz/format/000.py +36 -0
- jsoncompat-0.4.3/tests/fixtures/dataclasses/fuzz/format/001.py +36 -0
- jsoncompat-0.4.3/tests/fixtures/dataclasses/fuzz/format/002.py +36 -0
- jsoncompat-0.4.3/tests/fixtures/dataclasses/fuzz/format/003.py +36 -0
- jsoncompat-0.4.3/tests/fixtures/dataclasses/fuzz/format/004.py +36 -0
- jsoncompat-0.4.3/tests/fixtures/dataclasses/fuzz/format/005.py +36 -0
- jsoncompat-0.4.3/tests/fixtures/dataclasses/fuzz/format/006.py +36 -0
- jsoncompat-0.4.3/tests/fixtures/dataclasses/fuzz/format/007.py +36 -0
- jsoncompat-0.4.3/tests/fixtures/dataclasses/fuzz/format/008.py +36 -0
- jsoncompat-0.4.3/tests/fixtures/dataclasses/fuzz/format/009.py +36 -0
- jsoncompat-0.4.3/tests/fixtures/dataclasses/fuzz/format/010.py +36 -0
- jsoncompat-0.4.3/tests/fixtures/dataclasses/fuzz/format/011.py +36 -0
- jsoncompat-0.4.3/tests/fixtures/dataclasses/fuzz/format/012.py +36 -0
- jsoncompat-0.4.3/tests/fixtures/dataclasses/fuzz/format/013.py +36 -0
- jsoncompat-0.4.3/tests/fixtures/dataclasses/fuzz/format/014.py +36 -0
- jsoncompat-0.4.3/tests/fixtures/dataclasses/fuzz/format/015.py +36 -0
- jsoncompat-0.4.3/tests/fixtures/dataclasses/fuzz/format/016.py +36 -0
- jsoncompat-0.4.3/tests/fixtures/dataclasses/fuzz/format/017.py +36 -0
- jsoncompat-0.4.3/tests/fixtures/dataclasses/fuzz/format/018.py +36 -0
- jsoncompat-0.4.3/tests/fixtures/dataclasses/fuzz/if-then-else/000.py +20 -0
- jsoncompat-0.4.3/tests/fixtures/dataclasses/fuzz/if-then-else/001.py +20 -0
- jsoncompat-0.4.3/tests/fixtures/dataclasses/fuzz/if-then-else/002.py +20 -0
- jsoncompat-0.4.3/tests/fixtures/dataclasses/fuzz/if-then-else/003.py +23 -0
- jsoncompat-0.4.3/tests/fixtures/dataclasses/fuzz/if-then-else/004.py +23 -0
- jsoncompat-0.4.3/tests/fixtures/dataclasses/fuzz/if-then-else/005.py +26 -0
- jsoncompat-0.4.3/tests/fixtures/dataclasses/fuzz/if-then-else/006.py +34 -0
- jsoncompat-0.4.3/tests/fixtures/dataclasses/fuzz/if-then-else/007.py +24 -0
- jsoncompat-0.4.3/tests/fixtures/dataclasses/fuzz/if-then-else/008.py +24 -0
- jsoncompat-0.4.3/tests/fixtures/dataclasses/fuzz/if-then-else/009.py +26 -0
- jsoncompat-0.4.3/tests/fixtures/dataclasses/fuzz/infinite-loop-detection/000.py +49 -0
- jsoncompat-0.4.3/tests/fixtures/dataclasses/fuzz/items/000.py +32 -0
- jsoncompat-0.4.3/tests/fixtures/dataclasses/fuzz/items/001.py +18 -0
- jsoncompat-0.4.3/tests/fixtures/dataclasses/fuzz/items/002.py +36 -0
- jsoncompat-0.4.3/tests/fixtures/dataclasses/fuzz/items/003.py +126 -0
- jsoncompat-0.4.3/tests/fixtures/dataclasses/fuzz/items/004.py +31 -0
- jsoncompat-0.4.3/tests/fixtures/dataclasses/fuzz/items/005.py +35 -0
- jsoncompat-0.4.3/tests/fixtures/dataclasses/fuzz/items/006.py +29 -0
- jsoncompat-0.4.3/tests/fixtures/dataclasses/fuzz/items/007.py +37 -0
- jsoncompat-0.4.3/tests/fixtures/dataclasses/fuzz/items/008.py +33 -0
- jsoncompat-0.4.3/tests/fixtures/dataclasses/fuzz/items/009.py +32 -0
- jsoncompat-0.4.3/tests/fixtures/dataclasses/fuzz/maxContains/000.py +18 -0
- jsoncompat-0.4.3/tests/fixtures/dataclasses/fuzz/maxContains/001.py +39 -0
- jsoncompat-0.4.3/tests/fixtures/dataclasses/fuzz/maxContains/002.py +39 -0
- jsoncompat-0.4.3/tests/fixtures/dataclasses/fuzz/maxContains/003.py +40 -0
- jsoncompat-0.4.3/tests/fixtures/dataclasses/fuzz/maxItems/000.py +36 -0
- jsoncompat-0.4.3/tests/fixtures/dataclasses/fuzz/maxItems/001.py +36 -0
- jsoncompat-0.4.3/tests/fixtures/dataclasses/fuzz/maxLength/000.py +36 -0
- jsoncompat-0.4.3/tests/fixtures/dataclasses/fuzz/maxLength/001.py +36 -0
- jsoncompat-0.4.3/tests/fixtures/dataclasses/fuzz/maxProperties/000.py +37 -0
- jsoncompat-0.4.3/tests/fixtures/dataclasses/fuzz/maxProperties/001.py +37 -0
- jsoncompat-0.4.3/tests/fixtures/dataclasses/fuzz/maxProperties/002.py +37 -0
- jsoncompat-0.4.3/tests/fixtures/dataclasses/fuzz/maximum/000.py +36 -0
- jsoncompat-0.4.3/tests/fixtures/dataclasses/fuzz/maximum/001.py +36 -0
- jsoncompat-0.4.3/tests/fixtures/dataclasses/fuzz/minContains/000.py +18 -0
- jsoncompat-0.4.3/tests/fixtures/dataclasses/fuzz/minContains/001.py +39 -0
- jsoncompat-0.4.3/tests/fixtures/dataclasses/fuzz/minContains/002.py +39 -0
- jsoncompat-0.4.3/tests/fixtures/dataclasses/fuzz/minContains/003.py +39 -0
- jsoncompat-0.4.3/tests/fixtures/dataclasses/fuzz/minContains/004.py +40 -0
- jsoncompat-0.4.3/tests/fixtures/dataclasses/fuzz/minContains/005.py +43 -0
- jsoncompat-0.4.3/tests/fixtures/dataclasses/fuzz/minContains/006.py +39 -0
- jsoncompat-0.4.3/tests/fixtures/dataclasses/fuzz/minContains/007.py +40 -0
- jsoncompat-0.4.3/tests/fixtures/dataclasses/fuzz/minItems/000.py +36 -0
- jsoncompat-0.4.3/tests/fixtures/dataclasses/fuzz/minItems/001.py +36 -0
- jsoncompat-0.4.3/tests/fixtures/dataclasses/fuzz/minLength/000.py +36 -0
- jsoncompat-0.4.3/tests/fixtures/dataclasses/fuzz/minLength/001.py +36 -0
- jsoncompat-0.4.3/tests/fixtures/dataclasses/fuzz/minProperties/000.py +36 -0
- jsoncompat-0.4.3/tests/fixtures/dataclasses/fuzz/minProperties/001.py +36 -0
- jsoncompat-0.4.3/tests/fixtures/dataclasses/fuzz/minimum/000.py +36 -0
- jsoncompat-0.4.3/tests/fixtures/dataclasses/fuzz/minimum/001.py +36 -0
- jsoncompat-0.4.3/tests/fixtures/dataclasses/fuzz/multipleOf/000.py +36 -0
- jsoncompat-0.4.3/tests/fixtures/dataclasses/fuzz/multipleOf/001.py +36 -0
- jsoncompat-0.4.3/tests/fixtures/dataclasses/fuzz/multipleOf/002.py +36 -0
- jsoncompat-0.4.3/tests/fixtures/dataclasses/fuzz/multipleOf/003.py +19 -0
- jsoncompat-0.4.3/tests/fixtures/dataclasses/fuzz/multipleOf/004.py +19 -0
- jsoncompat-0.4.3/tests/fixtures/dataclasses/fuzz/not/000.py +20 -0
- jsoncompat-0.4.3/tests/fixtures/dataclasses/fuzz/not/001.py +23 -0
- jsoncompat-0.4.3/tests/fixtures/dataclasses/fuzz/not/002.py +25 -0
- jsoncompat-0.4.3/tests/fixtures/dataclasses/fuzz/not/003.py +53 -0
- jsoncompat-0.4.3/tests/fixtures/dataclasses/fuzz/not/004.py +18 -0
- jsoncompat-0.4.3/tests/fixtures/dataclasses/fuzz/not/005.py +18 -0
- jsoncompat-0.4.3/tests/fixtures/dataclasses/fuzz/not/006.py +18 -0
- jsoncompat-0.4.3/tests/fixtures/dataclasses/fuzz/not/007.py +20 -0
- jsoncompat-0.4.3/tests/fixtures/dataclasses/fuzz/not/008.py +29 -0
- jsoncompat-0.4.3/tests/fixtures/dataclasses/fuzz/oneOf/000.py +43 -0
- jsoncompat-0.4.3/tests/fixtures/dataclasses/fuzz/oneOf/001.py +26 -0
- jsoncompat-0.4.3/tests/fixtures/dataclasses/fuzz/oneOf/002.py +22 -0
- jsoncompat-0.4.3/tests/fixtures/dataclasses/fuzz/oneOf/003.py +22 -0
- jsoncompat-0.4.3/tests/fixtures/dataclasses/fuzz/oneOf/004.py +22 -0
- jsoncompat-0.4.3/tests/fixtures/dataclasses/fuzz/oneOf/005.py +22 -0
- jsoncompat-0.4.3/tests/fixtures/dataclasses/fuzz/oneOf/006.py +92 -0
- jsoncompat-0.4.3/tests/fixtures/dataclasses/fuzz/oneOf/007.py +29 -0
- jsoncompat-0.4.3/tests/fixtures/dataclasses/fuzz/oneOf/008.py +33 -0
- jsoncompat-0.4.3/tests/fixtures/dataclasses/fuzz/oneOf/009.py +103 -0
- jsoncompat-0.4.3/tests/fixtures/dataclasses/fuzz/oneOf/010.py +26 -0
- jsoncompat-0.4.3/tests/fixtures/dataclasses/fuzz/optional/anchor/000.error.txt +1 -0
- jsoncompat-0.4.3/tests/fixtures/dataclasses/fuzz/optional/bignum/000.py +18 -0
- jsoncompat-0.4.3/tests/fixtures/dataclasses/fuzz/optional/bignum/001.py +18 -0
- jsoncompat-0.4.3/tests/fixtures/dataclasses/fuzz/optional/bignum/002.py +18 -0
- jsoncompat-0.4.3/tests/fixtures/dataclasses/fuzz/optional/bignum/003.py +36 -0
- jsoncompat-0.4.3/tests/fixtures/dataclasses/fuzz/optional/bignum/004.py +36 -0
- jsoncompat-0.4.3/tests/fixtures/dataclasses/fuzz/optional/bignum/005.py +36 -0
- jsoncompat-0.4.3/tests/fixtures/dataclasses/fuzz/optional/bignum/006.py +36 -0
- jsoncompat-0.4.3/tests/fixtures/dataclasses/fuzz/optional/cross-draft/000.error.txt +1 -0
- jsoncompat-0.4.3/tests/fixtures/dataclasses/fuzz/optional/dependencies-compatibility/000.py +22 -0
- jsoncompat-0.4.3/tests/fixtures/dataclasses/fuzz/optional/dependencies-compatibility/001.py +20 -0
- jsoncompat-0.4.3/tests/fixtures/dataclasses/fuzz/optional/dependencies-compatibility/002.py +23 -0
- jsoncompat-0.4.3/tests/fixtures/dataclasses/fuzz/optional/dependencies-compatibility/003.py +25 -0
- jsoncompat-0.4.3/tests/fixtures/dataclasses/fuzz/optional/dependencies-compatibility/004.py +29 -0
- jsoncompat-0.4.3/tests/fixtures/dataclasses/fuzz/optional/dependencies-compatibility/005.py +21 -0
- jsoncompat-0.4.3/tests/fixtures/dataclasses/fuzz/optional/dependencies-compatibility/006.py +27 -0
- jsoncompat-0.4.3/tests/fixtures/dataclasses/fuzz/optional/dynamicRef/000.error.txt +1 -0
- jsoncompat-0.4.3/tests/fixtures/dataclasses/fuzz/optional/ecmascript-regex/000.py +19 -0
- jsoncompat-0.4.3/tests/fixtures/dataclasses/fuzz/optional/ecmascript-regex/001.py +19 -0
- jsoncompat-0.4.3/tests/fixtures/dataclasses/fuzz/optional/ecmascript-regex/002.py +19 -0
- jsoncompat-0.4.3/tests/fixtures/dataclasses/fuzz/optional/ecmascript-regex/003.py +19 -0
- jsoncompat-0.4.3/tests/fixtures/dataclasses/fuzz/optional/ecmascript-regex/004.py +19 -0
- jsoncompat-0.4.3/tests/fixtures/dataclasses/fuzz/optional/ecmascript-regex/005.py +19 -0
- jsoncompat-0.4.3/tests/fixtures/dataclasses/fuzz/optional/ecmascript-regex/006.py +19 -0
- jsoncompat-0.4.3/tests/fixtures/dataclasses/fuzz/optional/ecmascript-regex/007.py +19 -0
- jsoncompat-0.4.3/tests/fixtures/dataclasses/fuzz/optional/ecmascript-regex/008.py +19 -0
- jsoncompat-0.4.3/tests/fixtures/dataclasses/fuzz/optional/ecmascript-regex/009.py +19 -0
- jsoncompat-0.4.3/tests/fixtures/dataclasses/fuzz/optional/ecmascript-regex/010.py +36 -0
- jsoncompat-0.4.3/tests/fixtures/dataclasses/fuzz/optional/ecmascript-regex/011.py +36 -0
- jsoncompat-0.4.3/tests/fixtures/dataclasses/fuzz/optional/ecmascript-regex/012.py +36 -0
- jsoncompat-0.4.3/tests/fixtures/dataclasses/fuzz/optional/ecmascript-regex/013.py +36 -0
- jsoncompat-0.4.3/tests/fixtures/dataclasses/fuzz/optional/ecmascript-regex/014.py +36 -0
- jsoncompat-0.4.3/tests/fixtures/dataclasses/fuzz/optional/ecmascript-regex/015.py +23 -0
- jsoncompat-0.4.3/tests/fixtures/dataclasses/fuzz/optional/ecmascript-regex/016.py +23 -0
- jsoncompat-0.4.3/tests/fixtures/dataclasses/fuzz/optional/ecmascript-regex/017.py +23 -0
- jsoncompat-0.4.3/tests/fixtures/dataclasses/fuzz/optional/ecmascript-regex/018.py +23 -0
- jsoncompat-0.4.3/tests/fixtures/dataclasses/fuzz/optional/ecmascript-regex/019.py +23 -0
- jsoncompat-0.4.3/tests/fixtures/dataclasses/fuzz/optional/float-overflow/000.py +19 -0
- jsoncompat-0.4.3/tests/fixtures/dataclasses/fuzz/optional/format/date/000.py +36 -0
- jsoncompat-0.4.3/tests/fixtures/dataclasses/fuzz/optional/format/date-time/000.py +36 -0
- jsoncompat-0.4.3/tests/fixtures/dataclasses/fuzz/optional/format/duration/000.py +36 -0
- jsoncompat-0.4.3/tests/fixtures/dataclasses/fuzz/optional/format/ecmascript-regex/000.py +36 -0
- jsoncompat-0.4.3/tests/fixtures/dataclasses/fuzz/optional/format/email/000.py +36 -0
- jsoncompat-0.4.3/tests/fixtures/dataclasses/fuzz/optional/format/hostname/000.py +36 -0
- jsoncompat-0.4.3/tests/fixtures/dataclasses/fuzz/optional/format/idn-email/000.py +36 -0
- jsoncompat-0.4.3/tests/fixtures/dataclasses/fuzz/optional/format/idn-hostname/000.py +36 -0
- jsoncompat-0.4.3/tests/fixtures/dataclasses/fuzz/optional/format/idn-hostname/001.py +36 -0
- jsoncompat-0.4.3/tests/fixtures/dataclasses/fuzz/optional/format/ipv4/000.py +36 -0
- jsoncompat-0.4.3/tests/fixtures/dataclasses/fuzz/optional/format/ipv6/000.py +36 -0
- jsoncompat-0.4.3/tests/fixtures/dataclasses/fuzz/optional/format/iri/000.py +36 -0
- jsoncompat-0.4.3/tests/fixtures/dataclasses/fuzz/optional/format/iri-reference/000.py +36 -0
- jsoncompat-0.4.3/tests/fixtures/dataclasses/fuzz/optional/format/json-pointer/000.py +36 -0
- jsoncompat-0.4.3/tests/fixtures/dataclasses/fuzz/optional/format/regex/000.py +36 -0
- jsoncompat-0.4.3/tests/fixtures/dataclasses/fuzz/optional/format/relative-json-pointer/000.py +36 -0
- jsoncompat-0.4.3/tests/fixtures/dataclasses/fuzz/optional/format/time/000.py +36 -0
- jsoncompat-0.4.3/tests/fixtures/dataclasses/fuzz/optional/format/unknown/000.py +36 -0
- jsoncompat-0.4.3/tests/fixtures/dataclasses/fuzz/optional/format/uri/000.py +36 -0
- jsoncompat-0.4.3/tests/fixtures/dataclasses/fuzz/optional/format/uri-reference/000.py +36 -0
- jsoncompat-0.4.3/tests/fixtures/dataclasses/fuzz/optional/format/uri-template/000.py +36 -0
- jsoncompat-0.4.3/tests/fixtures/dataclasses/fuzz/optional/format/uuid/000.py +36 -0
- jsoncompat-0.4.3/tests/fixtures/dataclasses/fuzz/optional/format-assertion/000.error.txt +1 -0
- jsoncompat-0.4.3/tests/fixtures/dataclasses/fuzz/optional/format-assertion/001.error.txt +1 -0
- jsoncompat-0.4.3/tests/fixtures/dataclasses/fuzz/optional/id/000.error.txt +1 -0
- jsoncompat-0.4.3/tests/fixtures/dataclasses/fuzz/optional/no-schema/000.py +34 -0
- jsoncompat-0.4.3/tests/fixtures/dataclasses/fuzz/optional/non-bmp-regex/000.py +36 -0
- jsoncompat-0.4.3/tests/fixtures/dataclasses/fuzz/optional/non-bmp-regex/001.py +46 -0
- jsoncompat-0.4.3/tests/fixtures/dataclasses/fuzz/optional/refOfUnknownKeyword/000.py +25 -0
- jsoncompat-0.4.3/tests/fixtures/dataclasses/fuzz/optional/refOfUnknownKeyword/001.py +27 -0
- jsoncompat-0.4.3/tests/fixtures/dataclasses/fuzz/optional/unknownKeyword/000.error.txt +1 -0
- jsoncompat-0.4.3/tests/fixtures/dataclasses/fuzz/pattern/000.py +36 -0
- jsoncompat-0.4.3/tests/fixtures/dataclasses/fuzz/pattern/001.py +36 -0
- jsoncompat-0.4.3/tests/fixtures/dataclasses/fuzz/patternProperties/000.py +46 -0
- jsoncompat-0.4.3/tests/fixtures/dataclasses/fuzz/patternProperties/001.py +98 -0
- jsoncompat-0.4.3/tests/fixtures/dataclasses/fuzz/patternProperties/002.py +55 -0
- jsoncompat-0.4.3/tests/fixtures/dataclasses/fuzz/patternProperties/003.py +43 -0
- jsoncompat-0.4.3/tests/fixtures/dataclasses/fuzz/patternProperties/004.py +47 -0
- jsoncompat-0.4.3/tests/fixtures/dataclasses/fuzz/prefixItems/000.py +37 -0
- jsoncompat-0.4.3/tests/fixtures/dataclasses/fuzz/prefixItems/001.py +33 -0
- jsoncompat-0.4.3/tests/fixtures/dataclasses/fuzz/prefixItems/002.py +34 -0
- jsoncompat-0.4.3/tests/fixtures/dataclasses/fuzz/prefixItems/003.py +34 -0
- jsoncompat-0.4.3/tests/fixtures/dataclasses/fuzz/properties/000.py +54 -0
- jsoncompat-0.4.3/tests/fixtures/dataclasses/fuzz/properties/001.py +132 -0
- jsoncompat-0.4.3/tests/fixtures/dataclasses/fuzz/properties/002.py +56 -0
- jsoncompat-0.4.3/tests/fixtures/dataclasses/fuzz/properties/003.py +80 -0
- jsoncompat-0.4.3/tests/fixtures/dataclasses/fuzz/properties/004.py +47 -0
- jsoncompat-0.4.3/tests/fixtures/dataclasses/fuzz/properties/005.py +119 -0
- jsoncompat-0.4.3/tests/fixtures/dataclasses/fuzz/propertyNames/000.py +71 -0
- jsoncompat-0.4.3/tests/fixtures/dataclasses/fuzz/propertyNames/001.py +71 -0
- jsoncompat-0.4.3/tests/fixtures/dataclasses/fuzz/propertyNames/002.py +37 -0
- jsoncompat-0.4.3/tests/fixtures/dataclasses/fuzz/propertyNames/003.py +37 -0
- jsoncompat-0.4.3/tests/fixtures/dataclasses/fuzz/propertyNames/004.py +43 -0
- jsoncompat-0.4.3/tests/fixtures/dataclasses/fuzz/propertyNames/005.py +47 -0
- jsoncompat-0.4.3/tests/fixtures/dataclasses/fuzz/ref/000.py +23 -0
- jsoncompat-0.4.3/tests/fixtures/dataclasses/fuzz/ref/001.py +25 -0
- jsoncompat-0.4.3/tests/fixtures/dataclasses/fuzz/ref/002.py +25 -0
- jsoncompat-0.4.3/tests/fixtures/dataclasses/fuzz/ref/003.py +96 -0
- jsoncompat-0.4.3/tests/fixtures/dataclasses/fuzz/ref/004.py +86 -0
- jsoncompat-0.4.3/tests/fixtures/dataclasses/fuzz/ref/005.py +48 -0
- jsoncompat-0.4.3/tests/fixtures/dataclasses/fuzz/ref/006.error.txt +1 -0
- jsoncompat-0.4.3/tests/fixtures/dataclasses/fuzz/ref/007.py +46 -0
- jsoncompat-0.4.3/tests/fixtures/dataclasses/fuzz/ref/008.py +40 -0
- jsoncompat-0.4.3/tests/fixtures/dataclasses/fuzz/ref/009.py +27 -0
- jsoncompat-0.4.3/tests/fixtures/dataclasses/fuzz/ref/010.py +27 -0
- jsoncompat-0.4.3/tests/fixtures/dataclasses/fuzz/ref/011.error.txt +1 -0
- jsoncompat-0.4.3/tests/fixtures/dataclasses/fuzz/ref/012.py +40 -0
- jsoncompat-0.4.3/tests/fixtures/dataclasses/fuzz/ref/013.py +64 -0
- jsoncompat-0.4.3/tests/fixtures/dataclasses/fuzz/ref/014.py +41 -0
- jsoncompat-0.4.3/tests/fixtures/dataclasses/fuzz/ref/015.error.txt +1 -0
- jsoncompat-0.4.3/tests/fixtures/dataclasses/fuzz/ref/016.error.txt +1 -0
- jsoncompat-0.4.3/tests/fixtures/dataclasses/fuzz/ref/017.py +65 -0
- jsoncompat-0.4.3/tests/fixtures/dataclasses/fuzz/ref/018.error.txt +1 -0
- jsoncompat-0.4.3/tests/fixtures/dataclasses/fuzz/ref/019.error.txt +1 -0
- jsoncompat-0.4.3/tests/fixtures/dataclasses/fuzz/ref/020.error.txt +1 -0
- jsoncompat-0.4.3/tests/fixtures/dataclasses/fuzz/ref/021.py +42 -0
- jsoncompat-0.4.3/tests/fixtures/dataclasses/fuzz/ref/022.py +42 -0
- jsoncompat-0.4.3/tests/fixtures/dataclasses/fuzz/ref/023.py +42 -0
- jsoncompat-0.4.3/tests/fixtures/dataclasses/fuzz/ref/024.py +42 -0
- jsoncompat-0.4.3/tests/fixtures/dataclasses/fuzz/ref/025.error.txt +1 -0
- jsoncompat-0.4.3/tests/fixtures/dataclasses/fuzz/ref/026.error.txt +1 -0
- jsoncompat-0.4.3/tests/fixtures/dataclasses/fuzz/ref/027.error.txt +1 -0
- jsoncompat-0.4.3/tests/fixtures/dataclasses/fuzz/ref/028.error.txt +1 -0
- jsoncompat-0.4.3/tests/fixtures/dataclasses/fuzz/ref/029.error.txt +1 -0
- jsoncompat-0.4.3/tests/fixtures/dataclasses/fuzz/ref/030.error.txt +1 -0
- jsoncompat-0.4.3/tests/fixtures/dataclasses/fuzz/ref/031.error.txt +1 -0
- jsoncompat-0.4.3/tests/fixtures/dataclasses/fuzz/ref/032.py +37 -0
- jsoncompat-0.4.3/tests/fixtures/dataclasses/fuzz/ref/033.py +37 -0
- jsoncompat-0.4.3/tests/fixtures/dataclasses/fuzz/ref/034.py +64 -0
- jsoncompat-0.4.3/tests/fixtures/dataclasses/fuzz/refRemote/000.error.txt +1 -0
- jsoncompat-0.4.3/tests/fixtures/dataclasses/fuzz/refRemote/001.error.txt +1 -0
- jsoncompat-0.4.3/tests/fixtures/dataclasses/fuzz/refRemote/002.error.txt +1 -0
- jsoncompat-0.4.3/tests/fixtures/dataclasses/fuzz/refRemote/003.error.txt +1 -0
- jsoncompat-0.4.3/tests/fixtures/dataclasses/fuzz/refRemote/004.error.txt +1 -0
- jsoncompat-0.4.3/tests/fixtures/dataclasses/fuzz/refRemote/005.error.txt +1 -0
- jsoncompat-0.4.3/tests/fixtures/dataclasses/fuzz/refRemote/006.error.txt +1 -0
- jsoncompat-0.4.3/tests/fixtures/dataclasses/fuzz/refRemote/007.error.txt +1 -0
- jsoncompat-0.4.3/tests/fixtures/dataclasses/fuzz/refRemote/008.error.txt +1 -0
- jsoncompat-0.4.3/tests/fixtures/dataclasses/fuzz/refRemote/009.error.txt +1 -0
- jsoncompat-0.4.3/tests/fixtures/dataclasses/fuzz/refRemote/010.error.txt +1 -0
- jsoncompat-0.4.3/tests/fixtures/dataclasses/fuzz/refRemote/011.error.txt +1 -0
- jsoncompat-0.4.3/tests/fixtures/dataclasses/fuzz/refRemote/012.error.txt +1 -0
- jsoncompat-0.4.3/tests/fixtures/dataclasses/fuzz/refRemote/013.error.txt +1 -0
- jsoncompat-0.4.3/tests/fixtures/dataclasses/fuzz/refRemote/014.error.txt +1 -0
- jsoncompat-0.4.3/tests/fixtures/dataclasses/fuzz/required/000.py +62 -0
- jsoncompat-0.4.3/tests/fixtures/dataclasses/fuzz/required/001.py +47 -0
- jsoncompat-0.4.3/tests/fixtures/dataclasses/fuzz/required/002.py +49 -0
- jsoncompat-0.4.3/tests/fixtures/dataclasses/fuzz/required/003.py +100 -0
- jsoncompat-0.4.3/tests/fixtures/dataclasses/fuzz/required/004.py +70 -0
- jsoncompat-0.4.3/tests/fixtures/dataclasses/fuzz/type/000.py +18 -0
- jsoncompat-0.4.3/tests/fixtures/dataclasses/fuzz/type/001.py +18 -0
- jsoncompat-0.4.3/tests/fixtures/dataclasses/fuzz/type/002.py +18 -0
- jsoncompat-0.4.3/tests/fixtures/dataclasses/fuzz/type/003.py +19 -0
- jsoncompat-0.4.3/tests/fixtures/dataclasses/fuzz/type/004.py +25 -0
- jsoncompat-0.4.3/tests/fixtures/dataclasses/fuzz/type/005.py +18 -0
- jsoncompat-0.4.3/tests/fixtures/dataclasses/fuzz/type/006.py +18 -0
- jsoncompat-0.4.3/tests/fixtures/dataclasses/fuzz/type/007.py +21 -0
- jsoncompat-0.4.3/tests/fixtures/dataclasses/fuzz/type/008.py +20 -0
- jsoncompat-0.4.3/tests/fixtures/dataclasses/fuzz/type/009.py +39 -0
- jsoncompat-0.4.3/tests/fixtures/dataclasses/fuzz/type/010.py +40 -0
- jsoncompat-0.4.3/tests/fixtures/dataclasses/fuzz/unevaluatedItems/000.py +30 -0
- jsoncompat-0.4.3/tests/fixtures/dataclasses/fuzz/unevaluatedItems/001.py +30 -0
- jsoncompat-0.4.3/tests/fixtures/dataclasses/fuzz/unevaluatedItems/002.py +32 -0
- jsoncompat-0.4.3/tests/fixtures/dataclasses/fuzz/unevaluatedItems/003.py +33 -0
- jsoncompat-0.4.3/tests/fixtures/dataclasses/fuzz/unevaluatedItems/004.py +35 -0
- jsoncompat-0.4.3/tests/fixtures/dataclasses/fuzz/unevaluatedItems/005.py +36 -0
- jsoncompat-0.4.3/tests/fixtures/dataclasses/fuzz/unevaluatedItems/006.py +35 -0
- jsoncompat-0.4.3/tests/fixtures/dataclasses/fuzz/unevaluatedItems/007.py +33 -0
- jsoncompat-0.4.3/tests/fixtures/dataclasses/fuzz/unevaluatedItems/008.py +40 -0
- jsoncompat-0.4.3/tests/fixtures/dataclasses/fuzz/unevaluatedItems/009.py +28 -0
- jsoncompat-0.4.3/tests/fixtures/dataclasses/fuzz/unevaluatedItems/010.py +30 -0
- jsoncompat-0.4.3/tests/fixtures/dataclasses/fuzz/unevaluatedItems/011.py +81 -0
- jsoncompat-0.4.3/tests/fixtures/dataclasses/fuzz/unevaluatedItems/012.py +80 -0
- jsoncompat-0.4.3/tests/fixtures/dataclasses/fuzz/unevaluatedItems/013.py +33 -0
- jsoncompat-0.4.3/tests/fixtures/dataclasses/fuzz/unevaluatedItems/014.py +50 -0
- jsoncompat-0.4.3/tests/fixtures/dataclasses/fuzz/unevaluatedItems/015.py +33 -0
- jsoncompat-0.4.3/tests/fixtures/dataclasses/fuzz/unevaluatedItems/016.py +78 -0
- jsoncompat-0.4.3/tests/fixtures/dataclasses/fuzz/unevaluatedItems/017.py +78 -0
- jsoncompat-0.4.3/tests/fixtures/dataclasses/fuzz/unevaluatedItems/018.error.txt +1 -0
- jsoncompat-0.4.3/tests/fixtures/dataclasses/fuzz/unevaluatedItems/019.py +27 -0
- jsoncompat-0.4.3/tests/fixtures/dataclasses/fuzz/unevaluatedItems/020.py +110 -0
- jsoncompat-0.4.3/tests/fixtures/dataclasses/fuzz/unevaluatedItems/021.py +36 -0
- jsoncompat-0.4.3/tests/fixtures/dataclasses/fuzz/unevaluatedItems/022.py +32 -0
- jsoncompat-0.4.3/tests/fixtures/dataclasses/fuzz/unevaluatedItems/023.py +49 -0
- jsoncompat-0.4.3/tests/fixtures/dataclasses/fuzz/unevaluatedItems/024.py +30 -0
- jsoncompat-0.4.3/tests/fixtures/dataclasses/fuzz/unevaluatedItems/025.py +32 -0
- jsoncompat-0.4.3/tests/fixtures/dataclasses/fuzz/unevaluatedItems/026.py +37 -0
- jsoncompat-0.4.3/tests/fixtures/dataclasses/fuzz/unevaluatedProperties/000.py +20 -0
- jsoncompat-0.4.3/tests/fixtures/dataclasses/fuzz/unevaluatedProperties/001.py +23 -0
- jsoncompat-0.4.3/tests/fixtures/dataclasses/fuzz/unevaluatedProperties/002.py +20 -0
- jsoncompat-0.4.3/tests/fixtures/dataclasses/fuzz/unevaluatedProperties/003.py +26 -0
- jsoncompat-0.4.3/tests/fixtures/dataclasses/fuzz/unevaluatedProperties/004.py +25 -0
- jsoncompat-0.4.3/tests/fixtures/dataclasses/fuzz/unevaluatedProperties/005.py +27 -0
- jsoncompat-0.4.3/tests/fixtures/dataclasses/fuzz/unevaluatedProperties/006.py +35 -0
- jsoncompat-0.4.3/tests/fixtures/dataclasses/fuzz/unevaluatedProperties/007.py +35 -0
- jsoncompat-0.4.3/tests/fixtures/dataclasses/fuzz/unevaluatedProperties/008.py +31 -0
- jsoncompat-0.4.3/tests/fixtures/dataclasses/fuzz/unevaluatedProperties/009.py +34 -0
- jsoncompat-0.4.3/tests/fixtures/dataclasses/fuzz/unevaluatedProperties/010.py +58 -0
- jsoncompat-0.4.3/tests/fixtures/dataclasses/fuzz/unevaluatedProperties/011.py +48 -0
- jsoncompat-0.4.3/tests/fixtures/dataclasses/fuzz/unevaluatedProperties/012.py +38 -0
- jsoncompat-0.4.3/tests/fixtures/dataclasses/fuzz/unevaluatedProperties/013.py +50 -0
- jsoncompat-0.4.3/tests/fixtures/dataclasses/fuzz/unevaluatedProperties/014.py +40 -0
- jsoncompat-0.4.3/tests/fixtures/dataclasses/fuzz/unevaluatedProperties/015.py +40 -0
- jsoncompat-0.4.3/tests/fixtures/dataclasses/fuzz/unevaluatedProperties/016.py +38 -0
- jsoncompat-0.4.3/tests/fixtures/dataclasses/fuzz/unevaluatedProperties/017.py +29 -0
- jsoncompat-0.4.3/tests/fixtures/dataclasses/fuzz/unevaluatedProperties/018.py +88 -0
- jsoncompat-0.4.3/tests/fixtures/dataclasses/fuzz/unevaluatedProperties/019.py +88 -0
- jsoncompat-0.4.3/tests/fixtures/dataclasses/fuzz/unevaluatedProperties/020.error.txt +1 -0
- jsoncompat-0.4.3/tests/fixtures/dataclasses/fuzz/unevaluatedProperties/021.py +27 -0
- jsoncompat-0.4.3/tests/fixtures/dataclasses/fuzz/unevaluatedProperties/022.py +27 -0
- jsoncompat-0.4.3/tests/fixtures/dataclasses/fuzz/unevaluatedProperties/023.py +31 -0
- jsoncompat-0.4.3/tests/fixtures/dataclasses/fuzz/unevaluatedProperties/024.py +30 -0
- jsoncompat-0.4.3/tests/fixtures/dataclasses/fuzz/unevaluatedProperties/025.py +31 -0
- jsoncompat-0.4.3/tests/fixtures/dataclasses/fuzz/unevaluatedProperties/026.py +30 -0
- jsoncompat-0.4.3/tests/fixtures/dataclasses/fuzz/unevaluatedProperties/027.py +32 -0
- jsoncompat-0.4.3/tests/fixtures/dataclasses/fuzz/unevaluatedProperties/028.py +32 -0
- jsoncompat-0.4.3/tests/fixtures/dataclasses/fuzz/unevaluatedProperties/029.py +59 -0
- jsoncompat-0.4.3/tests/fixtures/dataclasses/fuzz/unevaluatedProperties/030.py +34 -0
- jsoncompat-0.4.3/tests/fixtures/dataclasses/fuzz/unevaluatedProperties/031.py +34 -0
- jsoncompat-0.4.3/tests/fixtures/dataclasses/fuzz/unevaluatedProperties/032.py +26 -0
- jsoncompat-0.4.3/tests/fixtures/dataclasses/fuzz/unevaluatedProperties/033.py +195 -0
- jsoncompat-0.4.3/tests/fixtures/dataclasses/fuzz/unevaluatedProperties/034.py +724 -0
- jsoncompat-0.4.3/tests/fixtures/dataclasses/fuzz/unevaluatedProperties/035.py +37 -0
- jsoncompat-0.4.3/tests/fixtures/dataclasses/fuzz/unevaluatedProperties/036.py +43 -0
- jsoncompat-0.4.3/tests/fixtures/dataclasses/fuzz/unevaluatedProperties/037.py +77 -0
- jsoncompat-0.4.3/tests/fixtures/dataclasses/fuzz/unevaluatedProperties/038.py +25 -0
- jsoncompat-0.4.3/tests/fixtures/dataclasses/fuzz/unevaluatedProperties/039.py +94 -0
- jsoncompat-0.4.3/tests/fixtures/dataclasses/fuzz/uniqueItems/000.py +36 -0
- jsoncompat-0.4.3/tests/fixtures/dataclasses/fuzz/uniqueItems/001.py +38 -0
- jsoncompat-0.4.3/tests/fixtures/dataclasses/fuzz/uniqueItems/002.py +39 -0
- jsoncompat-0.4.3/tests/fixtures/dataclasses/fuzz/uniqueItems/003.py +36 -0
- jsoncompat-0.4.3/tests/fixtures/dataclasses/fuzz/uniqueItems/004.py +38 -0
- jsoncompat-0.4.3/tests/fixtures/dataclasses/fuzz/uniqueItems/005.py +39 -0
- jsoncompat-0.4.3/tests/fixtures/dataclasses/fuzz/vocabulary/000.error.txt +1 -0
- jsoncompat-0.4.3/tests/fixtures/dataclasses/fuzz/vocabulary/001.error.txt +1 -0
- jsoncompat-0.4.3/tests/fixtures/dataclasses/runtime_unsupported.json +15 -0
- jsoncompat-0.4.3/tests/fixtures/dataclasses/unsatisfiable.json +46 -0
- jsoncompat-0.4.3/tests/fixtures/fuzz/README.md +6 -0
- jsoncompat-0.4.3/tests/fixtures/fuzz/additionalProperties.json +219 -0
- jsoncompat-0.4.3/tests/fixtures/fuzz/allOf.json +312 -0
- jsoncompat-0.4.3/tests/fixtures/fuzz/anchor.json +120 -0
- jsoncompat-0.4.3/tests/fixtures/fuzz/anyOf.json +203 -0
- jsoncompat-0.4.3/tests/fixtures/fuzz/boolean_schema.json +104 -0
- jsoncompat-0.4.3/tests/fixtures/fuzz/const.json +387 -0
- jsoncompat-0.4.3/tests/fixtures/fuzz/contains.json +176 -0
- jsoncompat-0.4.3/tests/fixtures/fuzz/content.json +131 -0
- jsoncompat-0.4.3/tests/fixtures/fuzz/custom/README.md +42 -0
- jsoncompat-0.4.3/tests/fixtures/fuzz/custom/boolean-applicators.json +94 -0
- jsoncompat-0.4.3/tests/fixtures/fuzz/custom/canonical-order-dedupe-stability.json +62 -0
- jsoncompat-0.4.3/tests/fixtures/fuzz/custom/canonicalization-refs.json +263 -0
- jsoncompat-0.4.3/tests/fixtures/fuzz/custom/conditional-edge-cases.json +74 -0
- jsoncompat-0.4.3/tests/fixtures/fuzz/custom/contains-cardinality.json +103 -0
- jsoncompat-0.4.3/tests/fixtures/fuzz/custom/enum-const-keyword-mismatch.json +75 -0
- jsoncompat-0.4.3/tests/fixtures/fuzz/custom/indexed-applicator-refs.json +38 -0
- jsoncompat-0.4.3/tests/fixtures/fuzz/custom/integer-boundaries.json +76 -0
- jsoncompat-0.4.3/tests/fixtures/fuzz/custom/local-ref-type-suppression.json +69 -0
- jsoncompat-0.4.3/tests/fixtures/fuzz/custom/metadata-collapse.json +76 -0
- jsoncompat-0.4.3/tests/fixtures/fuzz/custom/mutual-recursive-defs.json +74 -0
- jsoncompat-0.4.3/tests/fixtures/fuzz/custom/object-required-dependencies.json +65 -0
- jsoncompat-0.4.3/tests/fixtures/fuzz/custom/oneof-rewrite-safety.json +100 -0
- jsoncompat-0.4.3/tests/fixtures/fuzz/custom/property-names-additional-properties.json +49 -0
- jsoncompat-0.4.3/tests/fixtures/fuzz/custom/recursive-applicator-refs.json +59 -0
- jsoncompat-0.4.3/tests/fixtures/fuzz/custom/unknown-keyword-refs.json +63 -0
- jsoncompat-0.4.3/tests/fixtures/fuzz/default.json +82 -0
- jsoncompat-0.4.3/tests/fixtures/fuzz/defs.json +21 -0
- jsoncompat-0.4.3/tests/fixtures/fuzz/dependentRequired.json +152 -0
- jsoncompat-0.4.3/tests/fixtures/fuzz/dependentSchemas.json +171 -0
- jsoncompat-0.4.3/tests/fixtures/fuzz/dynamicRef.json +815 -0
- jsoncompat-0.4.3/tests/fixtures/fuzz/enum.json +358 -0
- jsoncompat-0.4.3/tests/fixtures/fuzz/exclusiveMaximum.json +31 -0
- jsoncompat-0.4.3/tests/fixtures/fuzz/exclusiveMinimum.json +31 -0
- jsoncompat-0.4.3/tests/fixtures/fuzz/format.json +838 -0
- jsoncompat-0.4.3/tests/fixtures/fuzz/if-then-else.json +268 -0
- jsoncompat-0.4.3/tests/fixtures/fuzz/infinite-loop-detection.json +37 -0
- jsoncompat-0.4.3/tests/fixtures/fuzz/items.json +304 -0
- jsoncompat-0.4.3/tests/fixtures/fuzz/maxContains.json +102 -0
- jsoncompat-0.4.3/tests/fixtures/fuzz/maxItems.json +50 -0
- jsoncompat-0.4.3/tests/fixtures/fuzz/maxLength.json +55 -0
- jsoncompat-0.4.3/tests/fixtures/fuzz/maxProperties.json +79 -0
- jsoncompat-0.4.3/tests/fixtures/fuzz/maximum.json +60 -0
- jsoncompat-0.4.3/tests/fixtures/fuzz/minContains.json +224 -0
- jsoncompat-0.4.3/tests/fixtures/fuzz/minItems.json +50 -0
- jsoncompat-0.4.3/tests/fixtures/fuzz/minLength.json +55 -0
- jsoncompat-0.4.3/tests/fixtures/fuzz/minProperties.json +60 -0
- jsoncompat-0.4.3/tests/fixtures/fuzz/minimum.json +75 -0
- jsoncompat-0.4.3/tests/fixtures/fuzz/multipleOf.json +97 -0
- jsoncompat-0.4.3/tests/fixtures/fuzz/not.json +301 -0
- jsoncompat-0.4.3/tests/fixtures/fuzz/oneOf.json +293 -0
- jsoncompat-0.4.3/tests/fixtures/fuzz/optional/anchor.json +60 -0
- jsoncompat-0.4.3/tests/fixtures/fuzz/optional/bignum.json +110 -0
- jsoncompat-0.4.3/tests/fixtures/fuzz/optional/cross-draft.json +18 -0
- jsoncompat-0.4.3/tests/fixtures/fuzz/optional/dependencies-compatibility.json +282 -0
- jsoncompat-0.4.3/tests/fixtures/fuzz/optional/dynamicRef.json +56 -0
- jsoncompat-0.4.3/tests/fixtures/fuzz/optional/ecmascript-regex.json +582 -0
- jsoncompat-0.4.3/tests/fixtures/fuzz/optional/float-overflow.json +17 -0
- jsoncompat-0.4.3/tests/fixtures/fuzz/optional/format/date-time.json +136 -0
- jsoncompat-0.4.3/tests/fixtures/fuzz/optional/format/date.json +246 -0
- jsoncompat-0.4.3/tests/fixtures/fuzz/optional/format/duration.json +141 -0
- jsoncompat-0.4.3/tests/fixtures/fuzz/optional/format/ecmascript-regex.json +16 -0
- jsoncompat-0.4.3/tests/fixtures/fuzz/optional/format/email.json +121 -0
- jsoncompat-0.4.3/tests/fixtures/fuzz/optional/format/hostname.json +136 -0
- jsoncompat-0.4.3/tests/fixtures/fuzz/optional/format/idn-email.json +61 -0
- jsoncompat-0.4.3/tests/fixtures/fuzz/optional/format/idn-hostname.json +389 -0
- jsoncompat-0.4.3/tests/fixtures/fuzz/optional/format/ipv4.json +92 -0
- jsoncompat-0.4.3/tests/fixtures/fuzz/optional/format/ipv6.json +211 -0
- jsoncompat-0.4.3/tests/fixtures/fuzz/optional/format/iri-reference.json +76 -0
- jsoncompat-0.4.3/tests/fixtures/fuzz/optional/format/iri.json +86 -0
- jsoncompat-0.4.3/tests/fixtures/fuzz/optional/format/json-pointer.json +201 -0
- jsoncompat-0.4.3/tests/fixtures/fuzz/optional/format/regex.json +51 -0
- jsoncompat-0.4.3/tests/fixtures/fuzz/optional/format/relative-json-pointer.json +101 -0
- jsoncompat-0.4.3/tests/fixtures/fuzz/optional/format/time.json +236 -0
- jsoncompat-0.4.3/tests/fixtures/fuzz/optional/format/unknown.json +46 -0
- jsoncompat-0.4.3/tests/fixtures/fuzz/optional/format/uri-reference.json +76 -0
- jsoncompat-0.4.3/tests/fixtures/fuzz/optional/format/uri-template.json +61 -0
- jsoncompat-0.4.3/tests/fixtures/fuzz/optional/format/uri.json +141 -0
- jsoncompat-0.4.3/tests/fixtures/fuzz/optional/format/uuid.json +116 -0
- jsoncompat-0.4.3/tests/fixtures/fuzz/optional/format-assertion.json +42 -0
- jsoncompat-0.4.3/tests/fixtures/fuzz/optional/id.json +53 -0
- jsoncompat-0.4.3/tests/fixtures/fuzz/optional/no-schema.json +26 -0
- jsoncompat-0.4.3/tests/fixtures/fuzz/optional/non-bmp-regex.json +86 -0
- jsoncompat-0.4.3/tests/fixtures/fuzz/optional/refOfUnknownKeyword.json +46 -0
- jsoncompat-0.4.3/tests/fixtures/fuzz/optional/unknownKeyword.json +57 -0
- jsoncompat-0.4.3/tests/fixtures/fuzz/pattern.json +65 -0
- jsoncompat-0.4.3/tests/fixtures/fuzz/patternProperties.json +176 -0
- jsoncompat-0.4.3/tests/fixtures/fuzz/prefixItems.json +104 -0
- jsoncompat-0.4.3/tests/fixtures/fuzz/properties.json +242 -0
- jsoncompat-0.4.3/tests/fixtures/fuzz/propertyNames.json +168 -0
- jsoncompat-0.4.3/tests/fixtures/fuzz/ref.json +1052 -0
- jsoncompat-0.4.3/tests/fixtures/fuzz/refRemote.json +342 -0
- jsoncompat-0.4.3/tests/fixtures/fuzz/required.json +158 -0
- jsoncompat-0.4.3/tests/fixtures/fuzz/type.json +501 -0
- jsoncompat-0.4.3/tests/fixtures/fuzz/unevaluatedItems.json +798 -0
- jsoncompat-0.4.3/tests/fixtures/fuzz/unevaluatedProperties.json +1601 -0
- jsoncompat-0.4.3/tests/fixtures/fuzz/uniqueItems.json +419 -0
- jsoncompat-0.4.3/tests/fixtures/fuzz/vocabulary.json +57 -0
- jsoncompat-0.4.3/tests/fixtures/openapi_compat/operation_removed/expect.json +5 -0
- jsoncompat-0.4.3/tests/fixtures/openapi_compat/operation_removed/new.json +8 -0
- jsoncompat-0.4.3/tests/fixtures/openapi_compat/operation_removed/old.json +18 -0
- jsoncompat-0.4.3/tests/fixtures/openapi_compat/request_anyof_optional_field_added/expect.json +4 -0
- jsoncompat-0.4.3/tests/fixtures/openapi_compat/request_anyof_optional_field_added/new.json +42 -0
- jsoncompat-0.4.3/tests/fixtures/openapi_compat/request_anyof_optional_field_added/old.json +41 -0
- jsoncompat-0.4.3/tests/fixtures/openapi_compat/request_anyof_optional_field_removed/expect.json +5 -0
- jsoncompat-0.4.3/tests/fixtures/openapi_compat/request_anyof_optional_field_removed/new.json +41 -0
- jsoncompat-0.4.3/tests/fixtures/openapi_compat/request_anyof_optional_field_removed/old.json +42 -0
- jsoncompat-0.4.3/tests/fixtures/openapi_compat/request_anyof_optional_field_renamed/expect.json +5 -0
- jsoncompat-0.4.3/tests/fixtures/openapi_compat/request_anyof_optional_field_renamed/new.json +42 -0
- jsoncompat-0.4.3/tests/fixtures/openapi_compat/request_anyof_optional_field_renamed/old.json +42 -0
- jsoncompat-0.4.3/tests/fixtures/openapi_compat/request_anyof_required_field_added/expect.json +5 -0
- jsoncompat-0.4.3/tests/fixtures/openapi_compat/request_anyof_required_field_added/new.json +42 -0
- jsoncompat-0.4.3/tests/fixtures/openapi_compat/request_anyof_required_field_added/old.json +41 -0
- jsoncompat-0.4.3/tests/fixtures/openapi_compat/request_path_parameter_enum_narrowed/expect.json +7 -0
- jsoncompat-0.4.3/tests/fixtures/openapi_compat/request_path_parameter_enum_narrowed/new.json +38 -0
- jsoncompat-0.4.3/tests/fixtures/openapi_compat/request_path_parameter_enum_narrowed/old.json +35 -0
- jsoncompat-0.4.3/tests/fixtures/openapi_compat/request_required_query_parameter_added/expect.json +7 -0
- jsoncompat-0.4.3/tests/fixtures/openapi_compat/request_required_query_parameter_added/new.json +35 -0
- jsoncompat-0.4.3/tests/fixtures/openapi_compat/request_required_query_parameter_added/old.json +25 -0
- jsoncompat-0.4.3/tests/fixtures/openapi_compat/response_anyof_optional_field_added/expect.json +5 -0
- jsoncompat-0.4.3/tests/fixtures/openapi_compat/response_anyof_optional_field_added/new.json +41 -0
- jsoncompat-0.4.3/tests/fixtures/openapi_compat/response_anyof_optional_field_added/old.json +40 -0
- jsoncompat-0.4.3/tests/fixtures/openapi_compat/response_anyof_optional_field_removed/expect.json +4 -0
- jsoncompat-0.4.3/tests/fixtures/openapi_compat/response_anyof_optional_field_removed/new.json +40 -0
- jsoncompat-0.4.3/tests/fixtures/openapi_compat/response_anyof_optional_field_removed/old.json +41 -0
- jsoncompat-0.4.3/tests/fixtures/openapi_compat/response_anyof_optional_field_renamed/expect.json +5 -0
- jsoncompat-0.4.3/tests/fixtures/openapi_compat/response_anyof_optional_field_renamed/new.json +41 -0
- jsoncompat-0.4.3/tests/fixtures/openapi_compat/response_anyof_optional_field_renamed/old.json +41 -0
- jsoncompat-0.4.3/tests/fixtures/openapi_compat/response_anyof_required_field_added/expect.json +5 -0
- jsoncompat-0.4.3/tests/fixtures/openapi_compat/response_anyof_required_field_added/new.json +41 -0
- jsoncompat-0.4.3/tests/fixtures/openapi_compat/response_anyof_required_field_added/old.json +40 -0
- jsoncompat-0.4.3/tests/fixtures/openapi_compat/response_closed_object_property_capacity/expect.json +3 -0
- jsoncompat-0.4.3/tests/fixtures/openapi_compat/response_closed_object_property_capacity/new.json +30 -0
- jsoncompat-0.4.3/tests/fixtures/openapi_compat/response_closed_object_property_capacity/old.json +30 -0
- jsoncompat-0.4.3/tests/fixtures/openapi_compat/response_header_schema_broadened/expect.json +7 -0
- jsoncompat-0.4.3/tests/fixtures/openapi_compat/response_header_schema_broadened/new.json +28 -0
- jsoncompat-0.4.3/tests/fixtures/openapi_compat/response_header_schema_broadened/old.json +25 -0
- jsoncompat-0.4.3/tests/fixtures/openapi_compat/response_nested_unsupported_pattern_enum_not_empty/expect.json +7 -0
- jsoncompat-0.4.3/tests/fixtures/openapi_compat/response_nested_unsupported_pattern_enum_not_empty/new.json +36 -0
- jsoncompat-0.4.3/tests/fixtures/openapi_compat/response_nested_unsupported_pattern_enum_not_empty/old.json +30 -0
- jsoncompat-0.4.3/tests/fixtures/openapi_compat/response_overlapping_pattern_properties/expect.json +7 -0
- jsoncompat-0.4.3/tests/fixtures/openapi_compat/response_overlapping_pattern_properties/new.json +29 -0
- jsoncompat-0.4.3/tests/fixtures/openapi_compat/response_overlapping_pattern_properties/old.json +30 -0
- jsoncompat-0.4.3/tests/fixtures/openapi_compat/response_recursive_allof_enum_not_empty/expect.json +7 -0
- jsoncompat-0.4.3/tests/fixtures/openapi_compat/response_recursive_allof_enum_not_empty/new.json +43 -0
- jsoncompat-0.4.3/tests/fixtures/openapi_compat/response_recursive_allof_enum_not_empty/old.json +30 -0
- jsoncompat-0.4.3/tests/fixtures/openapi_compat/response_unsupported_superset_pattern_enum_membership/expect.json +7 -0
- jsoncompat-0.4.3/tests/fixtures/openapi_compat/response_unsupported_superset_pattern_enum_membership/new.json +28 -0
- jsoncompat-0.4.3/tests/fixtures/openapi_compat/response_unsupported_superset_pattern_enum_membership/old.json +29 -0
- jsoncompat-0.4.3/tests/fuzz.rs +426 -0
- jsoncompat-0.4.3/tests/openapi.rs +7788 -0
- jsoncompat-0.4.3/tests/openapi_fixtures.rs +60 -0
- jsoncompat-0.4.3/tests/openapi_soundness.rs +1911 -0
- jsoncompat-0.4.3/tests/python_dataclasses_runtime.rs +3503 -0
- jsoncompat-0.4.3/tests/stamp_cli.rs +523 -0
- jsoncompat-0.4.3/tests/stamp_examples.rs +93 -0
- jsoncompat-0.4.3/tests/support/dataclass_round_trip.rs +436 -0
- jsoncompat-0.4.3/tests/support/dataclasses_json_round_trip.py +249 -0
- jsoncompat-0.4.3/tests/support/generated_value_harness.rs +393 -0
- jsoncompat-0.4.3/tests/support/python_env.rs +73 -0
- jsoncompat-0.4.3/web/jsoncompatdotcom/.cta.json +13 -0
- jsoncompat-0.4.3/web/jsoncompatdotcom/.gitignore +6 -0
- jsoncompat-0.4.3/web/jsoncompatdotcom/.vscode/settings.json +38 -0
- jsoncompat-0.4.3/web/jsoncompatdotcom/README.md +26 -0
- jsoncompat-0.4.3/web/jsoncompatdotcom/biome.json +34 -0
- jsoncompat-0.4.3/web/jsoncompatdotcom/index.html +20 -0
- jsoncompat-0.4.3/web/jsoncompatdotcom/package.json +45 -0
- jsoncompat-0.4.3/web/jsoncompatdotcom/public/ci_results.png +0 -0
- jsoncompat-0.4.3/web/jsoncompatdotcom/public/compat.png +0 -0
- jsoncompat-0.4.3/web/jsoncompatdotcom/public/favicon.ico +0 -0
- jsoncompat-0.4.3/web/jsoncompatdotcom/public/generate.png +0 -0
- jsoncompat-0.4.3/web/jsoncompatdotcom/public/logo192.png +0 -0
- jsoncompat-0.4.3/web/jsoncompatdotcom/public/logo512.png +0 -0
- jsoncompat-0.4.3/web/jsoncompatdotcom/public/manifest.json +25 -0
- jsoncompat-0.4.3/web/jsoncompatdotcom/public/robots.txt +3 -0
- jsoncompat-0.4.3/web/jsoncompatdotcom/scripts/build-deck.mjs +34 -0
- jsoncompat-0.4.3/web/jsoncompatdotcom/src/components/Footer.tsx +18 -0
- jsoncompat-0.4.3/web/jsoncompatdotcom/src/components/NavBar.tsx +59 -0
- jsoncompat-0.4.3/web/jsoncompatdotcom/src/logo.svg +44 -0
- jsoncompat-0.4.3/web/jsoncompatdotcom/src/main.tsx +42 -0
- jsoncompat-0.4.3/web/jsoncompatdotcom/src/reportWebVitals.ts +13 -0
- jsoncompat-0.4.3/web/jsoncompatdotcom/src/routeTree.gen.ts +131 -0
- jsoncompat-0.4.3/web/jsoncompatdotcom/src/routes/__root.tsx +16 -0
- jsoncompat-0.4.3/web/jsoncompatdotcom/src/routes/checker.tsx +250 -0
- jsoncompat-0.4.3/web/jsoncompatdotcom/src/routes/fuzzer.tsx +178 -0
- jsoncompat-0.4.3/web/jsoncompatdotcom/src/routes/index.tsx +70 -0
- jsoncompat-0.4.3/web/jsoncompatdotcom/src/routes/install.tsx +184 -0
- jsoncompat-0.4.3/web/jsoncompatdotcom/src/routes/usage.tsx +164 -0
- jsoncompat-0.4.3/web/jsoncompatdotcom/src/styles.css +15 -0
- jsoncompat-0.4.3/web/jsoncompatdotcom/src/types.d.ts +4 -0
- jsoncompat-0.4.3/web/jsoncompatdotcom/tsconfig.json +28 -0
- jsoncompat-0.4.3/web/jsoncompatdotcom/vite.config.ts +27 -0
- jsoncompat-0.4.3/web/jsoncompatdotcom/wrangler.jsonc +7 -0
|
@@ -0,0 +1,461 @@
|
|
|
1
|
+
name: CI
|
|
2
|
+
|
|
3
|
+
on:
|
|
4
|
+
push:
|
|
5
|
+
branches: [main]
|
|
6
|
+
pull_request:
|
|
7
|
+
workflow_dispatch:
|
|
8
|
+
|
|
9
|
+
jobs:
|
|
10
|
+
actionlint:
|
|
11
|
+
name: actionlint
|
|
12
|
+
runs-on: ubuntu-latest
|
|
13
|
+
permissions:
|
|
14
|
+
contents: read
|
|
15
|
+
|
|
16
|
+
steps:
|
|
17
|
+
- name: Checkout sources
|
|
18
|
+
uses: actions/checkout@de0fac2e4500dabe0009e67214ff5f5447ce83dd # v6.0.2
|
|
19
|
+
|
|
20
|
+
- name: Check GitHub Actions workflows
|
|
21
|
+
uses: docker://rhysd/actionlint@sha256:b1934ee5f1c509618f2508e6eb47ee0d3520686341fec936f3b79331f9315667 # v1.7.12
|
|
22
|
+
with:
|
|
23
|
+
args: -color
|
|
24
|
+
|
|
25
|
+
rust:
|
|
26
|
+
name: ${{ matrix.os }} / ${{ matrix.toolchain }}
|
|
27
|
+
runs-on: ${{ matrix.os }}
|
|
28
|
+
|
|
29
|
+
strategy:
|
|
30
|
+
fail-fast: false
|
|
31
|
+
matrix:
|
|
32
|
+
os: [ubuntu-latest, macos-latest, windows-latest]
|
|
33
|
+
toolchain: [stable, beta, nightly]
|
|
34
|
+
|
|
35
|
+
env:
|
|
36
|
+
RUSTFLAGS: "-D warnings"
|
|
37
|
+
|
|
38
|
+
steps:
|
|
39
|
+
- name: Checkout sources
|
|
40
|
+
uses: actions/checkout@de0fac2e4500dabe0009e67214ff5f5447ce83dd # v6.0.2
|
|
41
|
+
|
|
42
|
+
- name: Install Rust (${{ matrix.toolchain }})
|
|
43
|
+
uses: dtolnay/rust-toolchain@f7ccc83f9ed1e5b9c81d8a67d7ad1a747e22a561 # stable
|
|
44
|
+
with:
|
|
45
|
+
toolchain: ${{ matrix.toolchain }}
|
|
46
|
+
components: rustfmt, clippy
|
|
47
|
+
|
|
48
|
+
- name: Install uv
|
|
49
|
+
run: cargo install uv --locked
|
|
50
|
+
|
|
51
|
+
- name: Cache cargo registry and build outputs
|
|
52
|
+
uses: actions/cache@668228422ae6a00e4ad889ee87cd7109ec5666a7 # v5.0.4
|
|
53
|
+
with:
|
|
54
|
+
path: |
|
|
55
|
+
~/.cargo/registry
|
|
56
|
+
~/.cargo/git
|
|
57
|
+
target
|
|
58
|
+
key: ${{ runner.os }}-${{ matrix.toolchain }}-${{ hashFiles('**/Cargo.lock') }}
|
|
59
|
+
restore-keys: |
|
|
60
|
+
${{ runner.os }}-${{ matrix.toolchain }}-
|
|
61
|
+
|
|
62
|
+
- name: rustfmt (check only)
|
|
63
|
+
run: cargo fmt --all -- --check
|
|
64
|
+
|
|
65
|
+
- name: Clippy (deny warnings)
|
|
66
|
+
run: cargo clippy --workspace --all-features --all-targets --locked -- -D warnings
|
|
67
|
+
|
|
68
|
+
- name: Build Python extension for Rust integration tests (Unix)
|
|
69
|
+
if: runner.os != 'Windows'
|
|
70
|
+
shell: bash
|
|
71
|
+
run: |
|
|
72
|
+
if [[ "$RUNNER_OS" == "macOS" ]]; then
|
|
73
|
+
cargo rustc -p jsoncompat_py --lib --locked -- -C link-arg=-undefined -C link-arg=dynamic_lookup
|
|
74
|
+
else
|
|
75
|
+
cargo build -p jsoncompat_py --locked
|
|
76
|
+
fi
|
|
77
|
+
|
|
78
|
+
- name: Build Python extension for Rust integration tests (Windows)
|
|
79
|
+
if: runner.os == 'Windows'
|
|
80
|
+
run: cargo build -p jsoncompat_py --locked
|
|
81
|
+
|
|
82
|
+
- name: cargo test
|
|
83
|
+
# The Python binding is a cdylib with no Rust tests. Excluding it keeps
|
|
84
|
+
# PyO3's extension-module linker mode out of ordinary Rust test binaries.
|
|
85
|
+
run: cargo test --workspace --exclude jsoncompat_py --all-features --locked
|
|
86
|
+
|
|
87
|
+
- name: Smoke-check benchmarks
|
|
88
|
+
if: matrix.os == 'ubuntu-latest' && matrix.toolchain == 'stable'
|
|
89
|
+
# The Python cdylib has no Rust benchmarks and enables PyO3's
|
|
90
|
+
# extension-module linker mode, so keep it out of ordinary binaries.
|
|
91
|
+
run: cargo bench --workspace --exclude jsoncompat_py --all-features --bench '*' --locked -- --test
|
|
92
|
+
|
|
93
|
+
python-linux:
|
|
94
|
+
runs-on: ${{ matrix.platform.runner }}
|
|
95
|
+
strategy:
|
|
96
|
+
matrix:
|
|
97
|
+
platform:
|
|
98
|
+
- runner: ubuntu-22.04
|
|
99
|
+
target: x86_64
|
|
100
|
+
- runner: ubuntu-22.04
|
|
101
|
+
target: aarch64
|
|
102
|
+
|
|
103
|
+
steps:
|
|
104
|
+
- uses: actions/checkout@de0fac2e4500dabe0009e67214ff5f5447ce83dd # v6.0.2
|
|
105
|
+
- name: Build wheels
|
|
106
|
+
uses: PyO3/maturin-action@04ac600d27cdf7a9a280dadf7147097c42b757ad # v1.50.1
|
|
107
|
+
with:
|
|
108
|
+
target: ${{ matrix.platform.target }}
|
|
109
|
+
args: --release --out dist -i '3.12 3.13 3.14 3.14t 3.15 3.15t'
|
|
110
|
+
sccache: ${{ !startsWith(github.ref, 'refs/tags/') }}
|
|
111
|
+
manylinux: auto
|
|
112
|
+
working-directory: pybindings
|
|
113
|
+
- name: Upload wheels
|
|
114
|
+
uses: actions/upload-artifact@bbbca2ddaa5d8feaa63e36b76fdaad77386f024f # v7.0.0
|
|
115
|
+
with:
|
|
116
|
+
name: wheels-linux-${{ matrix.platform.target }}
|
|
117
|
+
path: pybindings/dist
|
|
118
|
+
if-no-files-found: error
|
|
119
|
+
|
|
120
|
+
python-musllinux:
|
|
121
|
+
runs-on: ${{ matrix.platform.runner }}
|
|
122
|
+
strategy:
|
|
123
|
+
matrix:
|
|
124
|
+
platform:
|
|
125
|
+
- runner: ubuntu-22.04
|
|
126
|
+
target: x86_64
|
|
127
|
+
- runner: ubuntu-22.04
|
|
128
|
+
target: aarch64
|
|
129
|
+
steps:
|
|
130
|
+
- uses: actions/checkout@de0fac2e4500dabe0009e67214ff5f5447ce83dd # v6.0.2
|
|
131
|
+
- name: Build wheels
|
|
132
|
+
uses: PyO3/maturin-action@04ac600d27cdf7a9a280dadf7147097c42b757ad # v1.50.1
|
|
133
|
+
with:
|
|
134
|
+
target: ${{ matrix.platform.target }}
|
|
135
|
+
args: --release --out dist -i '3.12 3.13 3.14 3.14t 3.15 3.15t'
|
|
136
|
+
sccache: ${{ !startsWith(github.ref, 'refs/tags/') }}
|
|
137
|
+
manylinux: musllinux_1_2
|
|
138
|
+
working-directory: pybindings
|
|
139
|
+
- name: Upload wheels
|
|
140
|
+
uses: actions/upload-artifact@bbbca2ddaa5d8feaa63e36b76fdaad77386f024f # v7.0.0
|
|
141
|
+
with:
|
|
142
|
+
name: wheels-musllinux-${{ matrix.platform.target }}
|
|
143
|
+
path: pybindings/dist
|
|
144
|
+
if-no-files-found: error
|
|
145
|
+
|
|
146
|
+
python-windows:
|
|
147
|
+
runs-on: ${{ matrix.platform.runner }}
|
|
148
|
+
strategy:
|
|
149
|
+
matrix:
|
|
150
|
+
platform:
|
|
151
|
+
- runner: windows-latest
|
|
152
|
+
target: x64
|
|
153
|
+
- runner: windows-latest
|
|
154
|
+
target: x86
|
|
155
|
+
steps:
|
|
156
|
+
- uses: actions/checkout@de0fac2e4500dabe0009e67214ff5f5447ce83dd # v6.0.2
|
|
157
|
+
- name: Install Python 3.15 and its Windows import library
|
|
158
|
+
id: python315
|
|
159
|
+
uses: actions/setup-python@a309ff8b426b58ec0e2a45f0f869d46889d02405 # v6.2.0
|
|
160
|
+
with:
|
|
161
|
+
python-version: '3.15'
|
|
162
|
+
architecture: ${{ matrix.platform.target }}
|
|
163
|
+
allow-prereleases: true
|
|
164
|
+
- name: Build wheels
|
|
165
|
+
uses: PyO3/maturin-action@04ac600d27cdf7a9a280dadf7147097c42b757ad # v1.50.1
|
|
166
|
+
with:
|
|
167
|
+
target: ${{ matrix.platform.target }}
|
|
168
|
+
# The import-library generator supports only through 3.14. Use the
|
|
169
|
+
# installed 3.15 interpreter and defer Windows 3.15t wheels.
|
|
170
|
+
args: --release --out dist -i '3.12 3.13 3.14 3.14t' '${{ steps.python315.outputs.python-path }}'
|
|
171
|
+
sccache: ${{ !startsWith(github.ref, 'refs/tags/') }}
|
|
172
|
+
working-directory: pybindings
|
|
173
|
+
- name: Upload wheels
|
|
174
|
+
uses: actions/upload-artifact@bbbca2ddaa5d8feaa63e36b76fdaad77386f024f # v7.0.0
|
|
175
|
+
with:
|
|
176
|
+
name: wheels-windows-${{ matrix.platform.target }}
|
|
177
|
+
path: pybindings/dist
|
|
178
|
+
if-no-files-found: error
|
|
179
|
+
|
|
180
|
+
python-macos:
|
|
181
|
+
runs-on: ${{ matrix.platform.runner }}
|
|
182
|
+
strategy:
|
|
183
|
+
matrix:
|
|
184
|
+
platform:
|
|
185
|
+
- runner: macos-15-intel
|
|
186
|
+
target: x86_64
|
|
187
|
+
- runner: macos-latest
|
|
188
|
+
target: aarch64
|
|
189
|
+
steps:
|
|
190
|
+
- uses: actions/checkout@de0fac2e4500dabe0009e67214ff5f5447ce83dd # v6.0.2
|
|
191
|
+
- name: Build wheels
|
|
192
|
+
uses: PyO3/maturin-action@04ac600d27cdf7a9a280dadf7147097c42b757ad # v1.50.1
|
|
193
|
+
with:
|
|
194
|
+
target: ${{ matrix.platform.target }}
|
|
195
|
+
args: --release --out dist -i '3.12 3.13 3.14 3.14t 3.15 3.15t'
|
|
196
|
+
sccache: ${{ !startsWith(github.ref, 'refs/tags/') }}
|
|
197
|
+
working-directory: pybindings
|
|
198
|
+
- name: Upload wheels
|
|
199
|
+
uses: actions/upload-artifact@bbbca2ddaa5d8feaa63e36b76fdaad77386f024f # v7.0.0
|
|
200
|
+
with:
|
|
201
|
+
name: wheels-macos-${{ matrix.platform.target }}
|
|
202
|
+
path: pybindings/dist
|
|
203
|
+
if-no-files-found: error
|
|
204
|
+
|
|
205
|
+
python-sdist:
|
|
206
|
+
name: Build and test Python sdist
|
|
207
|
+
runs-on: ubuntu-latest
|
|
208
|
+
steps:
|
|
209
|
+
- uses: actions/checkout@de0fac2e4500dabe0009e67214ff5f5447ce83dd # v6.0.2
|
|
210
|
+
- name: Set up Python
|
|
211
|
+
uses: actions/setup-python@a309ff8b426b58ec0e2a45f0f869d46889d02405 # v6.2.0
|
|
212
|
+
with:
|
|
213
|
+
python-version: '3.12'
|
|
214
|
+
- name: Install Rust (stable)
|
|
215
|
+
uses: dtolnay/rust-toolchain@f7ccc83f9ed1e5b9c81d8a67d7ad1a747e22a561 # stable
|
|
216
|
+
with:
|
|
217
|
+
toolchain: stable
|
|
218
|
+
- name: Build source distribution
|
|
219
|
+
uses: PyO3/maturin-action@04ac600d27cdf7a9a280dadf7147097c42b757ad # v1.50.1
|
|
220
|
+
with:
|
|
221
|
+
command: sdist
|
|
222
|
+
args: --out dist
|
|
223
|
+
manylinux: off
|
|
224
|
+
working-directory: pybindings
|
|
225
|
+
- name: Install and test source distribution
|
|
226
|
+
run: python pybindings/tests/check_sdist.py pybindings/dist/*.tar.gz
|
|
227
|
+
- name: Upload source distribution
|
|
228
|
+
uses: actions/upload-artifact@bbbca2ddaa5d8feaa63e36b76fdaad77386f024f # v7.0.0
|
|
229
|
+
with:
|
|
230
|
+
name: sdist
|
|
231
|
+
path: pybindings/dist/*.tar.gz
|
|
232
|
+
if-no-files-found: error
|
|
233
|
+
|
|
234
|
+
python-release:
|
|
235
|
+
name: Release
|
|
236
|
+
runs-on: ubuntu-latest
|
|
237
|
+
if: ${{ startsWith(github.ref, 'refs/tags/') || github.event_name == 'workflow_dispatch' }}
|
|
238
|
+
needs: [python-linux, python-musllinux, python-windows, python-macos, python-sdist]
|
|
239
|
+
permissions:
|
|
240
|
+
# Use to sign the release artifacts
|
|
241
|
+
id-token: write
|
|
242
|
+
# Used to upload release artifacts
|
|
243
|
+
contents: write
|
|
244
|
+
# Used to generate artifact attestation
|
|
245
|
+
attestations: write
|
|
246
|
+
steps:
|
|
247
|
+
- uses: actions/download-artifact@3e5f45b2cfb9172054b4087a40e8e0b5a5461e7c # v8.0.1
|
|
248
|
+
- name: Generate artifact attestation
|
|
249
|
+
uses: actions/attest-build-provenance@a2bbfa25375fe432b6a289bc6b6cd05ecd0c4c32 # v4.1.0
|
|
250
|
+
with:
|
|
251
|
+
subject-path: |
|
|
252
|
+
wheels-*/*
|
|
253
|
+
sdist/*.tar.gz
|
|
254
|
+
- name: Publish to PyPI
|
|
255
|
+
if: ${{ startsWith(github.ref, 'refs/tags/') }}
|
|
256
|
+
uses: PyO3/maturin-action@04ac600d27cdf7a9a280dadf7147097c42b757ad # v1.50.1
|
|
257
|
+
with:
|
|
258
|
+
command: upload
|
|
259
|
+
args: --non-interactive --skip-existing wheels-*/* sdist/*.tar.gz
|
|
260
|
+
|
|
261
|
+
# ---------------------------------------------------------------------------
|
|
262
|
+
# Build WebAssembly / JavaScript packages -----------------------------------
|
|
263
|
+
# ---------------------------------------------------------------------------
|
|
264
|
+
|
|
265
|
+
wasm:
|
|
266
|
+
name: wasm-pack build
|
|
267
|
+
runs-on: ubuntu-latest
|
|
268
|
+
|
|
269
|
+
steps:
|
|
270
|
+
- name: Checkout sources
|
|
271
|
+
uses: actions/checkout@de0fac2e4500dabe0009e67214ff5f5447ce83dd # v6.0.2
|
|
272
|
+
|
|
273
|
+
- name: Install Rust (stable)
|
|
274
|
+
uses: dtolnay/rust-toolchain@f7ccc83f9ed1e5b9c81d8a67d7ad1a747e22a561 # stable
|
|
275
|
+
with:
|
|
276
|
+
toolchain: stable
|
|
277
|
+
|
|
278
|
+
- name: Install wasm-pack
|
|
279
|
+
run: cargo install wasm-pack --locked
|
|
280
|
+
|
|
281
|
+
- name: Cache cargo registry and build outputs
|
|
282
|
+
uses: actions/cache@668228422ae6a00e4ad889ee87cd7109ec5666a7 # v5.0.4
|
|
283
|
+
with:
|
|
284
|
+
path: |
|
|
285
|
+
~/.cargo/registry
|
|
286
|
+
~/.cargo/git
|
|
287
|
+
target
|
|
288
|
+
key: wasm-${{ runner.os }}-${{ hashFiles('**/Cargo.lock') }}
|
|
289
|
+
|
|
290
|
+
- name: Build WebAssembly packages
|
|
291
|
+
run: |
|
|
292
|
+
set -euo pipefail
|
|
293
|
+
for target in bundler nodejs web; do
|
|
294
|
+
echo "--- Building for $target target ---"
|
|
295
|
+
wasm-pack build wasm --release --target "$target" --out-dir "pkg-$target"
|
|
296
|
+
done
|
|
297
|
+
|
|
298
|
+
- name: Prepare distribution directory
|
|
299
|
+
run: |
|
|
300
|
+
mkdir -p dist/js
|
|
301
|
+
for target in bundler nodejs web; do
|
|
302
|
+
mkdir -p "dist/js/$target"
|
|
303
|
+
cp -r "wasm/pkg-$target"/* "dist/js/$target/"
|
|
304
|
+
cp wasm/README.md "dist/js/$target/README.md"
|
|
305
|
+
done
|
|
306
|
+
|
|
307
|
+
- name: Upload wasm artifacts
|
|
308
|
+
uses: actions/upload-artifact@bbbca2ddaa5d8feaa63e36b76fdaad77386f024f # v7.0.0
|
|
309
|
+
with:
|
|
310
|
+
name: js-packages
|
|
311
|
+
path: dist/js
|
|
312
|
+
|
|
313
|
+
# ---------------------------------------------------------------------------
|
|
314
|
+
# Release WebAssembly package to npm ----------------------------------------
|
|
315
|
+
# ---------------------------------------------------------------------------
|
|
316
|
+
|
|
317
|
+
wasm-release:
|
|
318
|
+
name: Release wasm package
|
|
319
|
+
runs-on: ubuntu-latest
|
|
320
|
+
if: ${{ startsWith(github.ref, 'refs/tags/') || github.event_name == 'workflow_dispatch' }}
|
|
321
|
+
needs: wasm
|
|
322
|
+
permissions:
|
|
323
|
+
# Used to upload release artifacts
|
|
324
|
+
contents: write
|
|
325
|
+
# Used to generate build provenance attestation
|
|
326
|
+
attestations: write
|
|
327
|
+
# Required for provenance signing & publishing to npm
|
|
328
|
+
id-token: write
|
|
329
|
+
|
|
330
|
+
steps:
|
|
331
|
+
- uses: actions/download-artifact@3e5f45b2cfb9172054b4087a40e8e0b5a5461e7c # v8.0.1
|
|
332
|
+
|
|
333
|
+
- name: Generate artifact attestation
|
|
334
|
+
uses: actions/attest-build-provenance@a2bbfa25375fe432b6a289bc6b6cd05ecd0c4c32 # v4.1.0
|
|
335
|
+
with:
|
|
336
|
+
subject-path: 'js-packages/**/*'
|
|
337
|
+
|
|
338
|
+
- name: Tree
|
|
339
|
+
run: |
|
|
340
|
+
tree js-packages
|
|
341
|
+
- uses: actions/setup-node@53b83947a5a98c8d113130e565377fae1a50d02f # v6.3.0
|
|
342
|
+
with:
|
|
343
|
+
node-version: '24'
|
|
344
|
+
registry-url: 'https://registry.npmjs.org'
|
|
345
|
+
|
|
346
|
+
- name: Publish to npm (tag builds only)
|
|
347
|
+
if: ${{ startsWith(github.ref, 'refs/tags/') }}
|
|
348
|
+
run: |
|
|
349
|
+
set -euo pipefail
|
|
350
|
+
echo "Publishing WebAssembly web package …"
|
|
351
|
+
# for now, only publish the web package
|
|
352
|
+
pushd js-packages/web
|
|
353
|
+
# rename the package to jsoncompat from jsoncompat_wasm
|
|
354
|
+
perl -0777 -pi -e 's/"name"\s*:\s*"jsoncompat_wasm"/"name": "jsoncompat"/' package.json
|
|
355
|
+
npm publish . --access public --provenance
|
|
356
|
+
popd
|
|
357
|
+
|
|
358
|
+
|
|
359
|
+
# ---------------------------------------------------------------------------
|
|
360
|
+
# Build Rust CLI binaries ----------------------------------------------------
|
|
361
|
+
# ---------------------------------------------------------------------------
|
|
362
|
+
|
|
363
|
+
cli:
|
|
364
|
+
name: Build CLI binary
|
|
365
|
+
strategy:
|
|
366
|
+
fail-fast: false
|
|
367
|
+
matrix:
|
|
368
|
+
include:
|
|
369
|
+
- os: ubuntu-latest
|
|
370
|
+
ext: ""
|
|
371
|
+
asset_name: jsoncompat-linux-x86_64
|
|
372
|
+
- os: macos-15-intel # x86_64 runner
|
|
373
|
+
ext: ""
|
|
374
|
+
asset_name: jsoncompat-macos-x86_64
|
|
375
|
+
- os: macos-latest # arm (Apple Silicon)
|
|
376
|
+
ext: ""
|
|
377
|
+
asset_name: jsoncompat-macos-aarch64
|
|
378
|
+
- os: windows-latest
|
|
379
|
+
ext: ".exe"
|
|
380
|
+
asset_name: jsoncompat-windows-x86_64.exe
|
|
381
|
+
runs-on: ${{ matrix.os }}
|
|
382
|
+
|
|
383
|
+
steps:
|
|
384
|
+
- uses: actions/checkout@de0fac2e4500dabe0009e67214ff5f5447ce83dd # v6.0.2
|
|
385
|
+
|
|
386
|
+
- name: Install Rust (stable)
|
|
387
|
+
uses: dtolnay/rust-toolchain@f7ccc83f9ed1e5b9c81d8a67d7ad1a747e22a561 # stable
|
|
388
|
+
with:
|
|
389
|
+
toolchain: stable
|
|
390
|
+
|
|
391
|
+
- name: Cache cargo registry and build outputs
|
|
392
|
+
uses: actions/cache@668228422ae6a00e4ad889ee87cd7109ec5666a7 # v5.0.4
|
|
393
|
+
with:
|
|
394
|
+
path: |
|
|
395
|
+
~/.cargo/registry
|
|
396
|
+
~/.cargo/git
|
|
397
|
+
target
|
|
398
|
+
key: cli-${{ runner.os }}-${{ hashFiles('**/Cargo.lock') }}
|
|
399
|
+
|
|
400
|
+
- name: Build CLI
|
|
401
|
+
run: cargo build --locked --release --bin jsoncompat
|
|
402
|
+
|
|
403
|
+
- name: Run CLI demo
|
|
404
|
+
if: ${{ matrix.os == 'ubuntu-latest' }}
|
|
405
|
+
run: ./target/release/jsoncompat demo --noninteractive
|
|
406
|
+
|
|
407
|
+
- name: Prepare artifact
|
|
408
|
+
shell: bash
|
|
409
|
+
run: |
|
|
410
|
+
mkdir -p dist
|
|
411
|
+
cp target/release/jsoncompat${{ matrix.ext }} dist/${{ matrix.asset_name }}
|
|
412
|
+
|
|
413
|
+
- name: Upload CLI artifact
|
|
414
|
+
uses: actions/upload-artifact@bbbca2ddaa5d8feaa63e36b76fdaad77386f024f # v7.0.0
|
|
415
|
+
with:
|
|
416
|
+
name: cli-${{ matrix.os }}
|
|
417
|
+
path: dist/${{ matrix.asset_name }}
|
|
418
|
+
|
|
419
|
+
# ---------------------------------------------------------------------------
|
|
420
|
+
# Release Rust CLI binaries to GitHub Releases ------------------------------
|
|
421
|
+
# ---------------------------------------------------------------------------
|
|
422
|
+
|
|
423
|
+
cli-release:
|
|
424
|
+
name: Release CLI binaries
|
|
425
|
+
if: ${{ startsWith(github.ref, 'refs/tags/') || github.event_name == 'workflow_dispatch' }}
|
|
426
|
+
runs-on: ubuntu-latest
|
|
427
|
+
needs: cli
|
|
428
|
+
permissions:
|
|
429
|
+
contents: write
|
|
430
|
+
attestations: write
|
|
431
|
+
id-token: write
|
|
432
|
+
|
|
433
|
+
steps:
|
|
434
|
+
- uses: actions/download-artifact@3e5f45b2cfb9172054b4087a40e8e0b5a5461e7c # v8.0.1
|
|
435
|
+
|
|
436
|
+
- name: Generate artifact attestation
|
|
437
|
+
uses: actions/attest-build-provenance@a2bbfa25375fe432b6a289bc6b6cd05ecd0c4c32 # v4.1.0
|
|
438
|
+
with:
|
|
439
|
+
subject-path: 'cli-*/**'
|
|
440
|
+
|
|
441
|
+
- name: Upload binaries to GitHub Release
|
|
442
|
+
if: ${{ startsWith(github.ref, 'refs/tags/') }}
|
|
443
|
+
env:
|
|
444
|
+
GH_TOKEN: ${{ github.token }}
|
|
445
|
+
run: |
|
|
446
|
+
set -euo pipefail
|
|
447
|
+
shopt -s nullglob
|
|
448
|
+
|
|
449
|
+
tag="${GITHUB_REF_NAME}"
|
|
450
|
+
assets=(cli-*/*)
|
|
451
|
+
if (( ${#assets[@]} == 0 )); then
|
|
452
|
+
echo "No release assets matched cli-*/*"
|
|
453
|
+
exit 1
|
|
454
|
+
fi
|
|
455
|
+
|
|
456
|
+
repo="${GITHUB_REPOSITORY}"
|
|
457
|
+
if gh release view "$tag" --repo "$repo" >/dev/null 2>&1; then
|
|
458
|
+
gh release upload "$tag" "${assets[@]}" --repo "$repo" --clobber
|
|
459
|
+
else
|
|
460
|
+
gh release create "$tag" "${assets[@]}" --repo "$repo" --verify-tag --title "$tag" --notes ""
|
|
461
|
+
fi
|
|
@@ -0,0 +1,64 @@
|
|
|
1
|
+
# Example compatibility checks
|
|
2
|
+
|
|
3
|
+
name: Compat
|
|
4
|
+
|
|
5
|
+
on:
|
|
6
|
+
pull_request:
|
|
7
|
+
branches:
|
|
8
|
+
- main
|
|
9
|
+
|
|
10
|
+
jobs:
|
|
11
|
+
compat:
|
|
12
|
+
name: Check compatibility
|
|
13
|
+
runs-on: ubuntu-latest
|
|
14
|
+
steps:
|
|
15
|
+
- name: Checkout current sources
|
|
16
|
+
uses: actions/checkout@de0fac2e4500dabe0009e67214ff5f5447ce83dd # v6.0.2
|
|
17
|
+
with:
|
|
18
|
+
fetch-depth: 0
|
|
19
|
+
|
|
20
|
+
- name: Test golden-file compatibility CLI
|
|
21
|
+
run: |
|
|
22
|
+
cargo run --locked --bin jsoncompat -- ci tests/fixtures/cli/ci-old.json tests/fixtures/cli/ci-new.json --display json
|
|
23
|
+
if cargo run --locked --bin jsoncompat -- ci tests/fixtures/cli/ci-old.json tests/fixtures/cli/ci-incompatible.json --display json; then
|
|
24
|
+
echo "Expected incompatible golden files to fail" >&2
|
|
25
|
+
exit 1
|
|
26
|
+
fi
|
|
27
|
+
|
|
28
|
+
- name: Test JSON Schema compatibility CLI
|
|
29
|
+
run: |
|
|
30
|
+
cargo run --locked --bin jsoncompat -- compat tests/fixtures/backcompat/format_annotation_changed/old.json tests/fixtures/backcompat/format_annotation_changed/new.json --role both
|
|
31
|
+
if cargo run --locked --bin jsoncompat -- compat tests/fixtures/backcompat/type_change_string_number/old.json tests/fixtures/backcompat/type_change_string_number/new.json --role both; then
|
|
32
|
+
echo "Expected incompatible JSON Schemas to fail" >&2
|
|
33
|
+
exit 1
|
|
34
|
+
fi
|
|
35
|
+
|
|
36
|
+
- name: Test OpenAPI compatibility CLI
|
|
37
|
+
run: |
|
|
38
|
+
cargo run --locked --bin jsoncompat -- compat tests/fixtures/openapi_compat/request_anyof_optional_field_added/old.json tests/fixtures/openapi_compat/request_anyof_optional_field_added/new.json --openapi
|
|
39
|
+
if cargo run --locked --bin jsoncompat -- compat tests/fixtures/openapi_compat/operation_removed/old.json tests/fixtures/openapi_compat/operation_removed/new.json --openapi; then
|
|
40
|
+
echo "Expected incompatible OpenAPI documents to fail" >&2
|
|
41
|
+
exit 1
|
|
42
|
+
fi
|
|
43
|
+
|
|
44
|
+
- name: Find merge base with main
|
|
45
|
+
id: merge_base
|
|
46
|
+
run: |
|
|
47
|
+
git fetch origin main
|
|
48
|
+
echo "MERGE_BASE=$(git merge-base HEAD origin/main)" >> "$GITHUB_OUTPUT"
|
|
49
|
+
|
|
50
|
+
- name: Checkout stamp example schema from MERGE_BASE
|
|
51
|
+
id: stamp_example
|
|
52
|
+
run: |
|
|
53
|
+
if git cat-file -e "${{ steps.merge_base.outputs.MERGE_BASE }}:examples/stamp/schema-v2.json"; then
|
|
54
|
+
cp examples/stamp/schema-v2.json examples/stamp/schema-v2.json.new
|
|
55
|
+
git checkout ${{ steps.merge_base.outputs.MERGE_BASE }} -- examples/stamp/schema-v2.json
|
|
56
|
+
echo "should_run=true" >> "$GITHUB_OUTPUT"
|
|
57
|
+
else
|
|
58
|
+
echo "should_run=false" >> "$GITHUB_OUTPUT"
|
|
59
|
+
fi
|
|
60
|
+
|
|
61
|
+
- name: Check stamp example schema compatibility
|
|
62
|
+
if: steps.stamp_example.outputs.should_run == 'true'
|
|
63
|
+
run: |
|
|
64
|
+
cargo run --locked --bin jsoncompat -- compat examples/stamp/schema-v2.json examples/stamp/schema-v2.json.new --role both
|
|
@@ -0,0 +1,34 @@
|
|
|
1
|
+
name: Python examples
|
|
2
|
+
|
|
3
|
+
on:
|
|
4
|
+
push:
|
|
5
|
+
branches: [main]
|
|
6
|
+
pull_request:
|
|
7
|
+
workflow_dispatch:
|
|
8
|
+
|
|
9
|
+
jobs:
|
|
10
|
+
basic:
|
|
11
|
+
name: Test basic
|
|
12
|
+
runs-on: ubuntu-latest
|
|
13
|
+
defaults:
|
|
14
|
+
run:
|
|
15
|
+
working-directory: examples/python/basic
|
|
16
|
+
|
|
17
|
+
steps:
|
|
18
|
+
|
|
19
|
+
- name: Checkout sources
|
|
20
|
+
uses: actions/checkout@de0fac2e4500dabe0009e67214ff5f5447ce83dd # v6.0.2
|
|
21
|
+
|
|
22
|
+
- name: Set up Python
|
|
23
|
+
uses: actions/setup-python@a309ff8b426b58ec0e2a45f0f869d46889d02405 # v6.2.0
|
|
24
|
+
with:
|
|
25
|
+
python-version: '3.12'
|
|
26
|
+
|
|
27
|
+
- name: Install uv
|
|
28
|
+
run: |
|
|
29
|
+
python -m pip install --upgrade pip
|
|
30
|
+
pip install uv
|
|
31
|
+
|
|
32
|
+
- name: Run the demo smoketest
|
|
33
|
+
run: |
|
|
34
|
+
uv run demo.py
|
|
@@ -0,0 +1,44 @@
|
|
|
1
|
+
name: Website checks
|
|
2
|
+
|
|
3
|
+
on:
|
|
4
|
+
push:
|
|
5
|
+
branches: [main]
|
|
6
|
+
paths:
|
|
7
|
+
- 'web/jsoncompatdotcom/**'
|
|
8
|
+
- 'presentation/deck/**'
|
|
9
|
+
- 'presentation/interactive/**'
|
|
10
|
+
pull_request:
|
|
11
|
+
paths:
|
|
12
|
+
- 'web/jsoncompatdotcom/**'
|
|
13
|
+
- 'presentation/deck/**'
|
|
14
|
+
- 'presentation/interactive/**'
|
|
15
|
+
workflow_dispatch:
|
|
16
|
+
|
|
17
|
+
jobs:
|
|
18
|
+
biome:
|
|
19
|
+
runs-on: ubuntu-latest
|
|
20
|
+
|
|
21
|
+
steps:
|
|
22
|
+
- name: Checkout sources
|
|
23
|
+
uses: actions/checkout@de0fac2e4500dabe0009e67214ff5f5447ce83dd # v6.0.2
|
|
24
|
+
|
|
25
|
+
- name: Setup pnpm
|
|
26
|
+
uses: pnpm/action-setup@fc06bc1257f339d1d5d8b3a19a8cae5388b55320 # v5.0.0
|
|
27
|
+
|
|
28
|
+
- name: Setup Node.js
|
|
29
|
+
uses: actions/setup-node@53b83947a5a98c8d113130e565377fae1a50d02f # v6.3.0
|
|
30
|
+
with:
|
|
31
|
+
node-version: '24'
|
|
32
|
+
cache: 'pnpm'
|
|
33
|
+
cache-dependency-path: pnpm-lock.yaml
|
|
34
|
+
|
|
35
|
+
- name: Install dependencies (frozen lockfile)
|
|
36
|
+
run: pnpm install --frozen-lockfile --prefer-offline
|
|
37
|
+
|
|
38
|
+
- name: Run Biome checks
|
|
39
|
+
working-directory: web/jsoncompatdotcom
|
|
40
|
+
run: pnpm run ci
|
|
41
|
+
|
|
42
|
+
- name: Build website
|
|
43
|
+
working-directory: web/jsoncompatdotcom
|
|
44
|
+
run: pnpm run build
|
|
@@ -0,0 +1,13 @@
|
|
|
1
|
+
## General guidelines
|
|
2
|
+
|
|
3
|
+
- Don't take any shortcuts; this is production-ready code
|
|
4
|
+
- Use the most constrained types possible
|
|
5
|
+
- See `readme.md` for the desired behavior of this library
|
|
6
|
+
- Ensure the code is as idiomatic as possible
|
|
7
|
+
|
|
8
|
+
## Tests
|
|
9
|
+
|
|
10
|
+
`bootstrap.sh` has already been run for you. Run `just check` to run a full test suite.
|
|
11
|
+
|
|
12
|
+
All of the typical cargo commands are available; see also .github/workflows/ci.yml for what we're checking
|
|
13
|
+
in CI. Ensure that any changes you make are covered by tests and documentation.
|