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.
Files changed (1227) hide show
  1. jsoncompat-0.4.3/.github/workflows/ci.yml +461 -0
  2. jsoncompat-0.4.3/.github/workflows/compat.yml +64 -0
  3. jsoncompat-0.4.3/.github/workflows/examples.yml +34 -0
  4. jsoncompat-0.4.3/.github/workflows/website.yaml +44 -0
  5. jsoncompat-0.4.3/.gitignore +6 -0
  6. jsoncompat-0.4.3/AGENTS.md +13 -0
  7. jsoncompat-0.4.3/Cargo.lock +2247 -0
  8. jsoncompat-0.4.3/Cargo.toml +73 -0
  9. jsoncompat-0.4.3/Justfile +134 -0
  10. jsoncompat-0.4.3/LICENSE +7 -0
  11. jsoncompat-0.4.3/PKG-INFO +176 -0
  12. jsoncompat-0.4.3/README.md +164 -0
  13. jsoncompat-0.4.3/benches/dataclasses_codegen.rs +121 -0
  14. jsoncompat-0.4.3/benches/fixtures/README.md +15 -0
  15. jsoncompat-0.4.3/benches/fixtures/deep-allof.json +103 -0
  16. jsoncompat-0.4.3/benches/fixtures/local-refs-conditional.json +57 -0
  17. jsoncompat-0.4.3/benches/fixtures/object-validation.json +70 -0
  18. jsoncompat-0.4.3/benches/fixtures/recursive-refs.json +35 -0
  19. jsoncompat-0.4.3/benches/fixtures/tuple-contains.json +62 -0
  20. jsoncompat-0.4.3/benches/fixtures/wide-anyof.json +108 -0
  21. jsoncompat-0.4.3/benches/schema_ops.rs +191 -0
  22. jsoncompat-0.4.3/benches/validator_cache.rs +99 -0
  23. jsoncompat-0.4.3/bootstrap.sh +12 -0
  24. jsoncompat-0.4.3/codegen/Cargo.toml +13 -0
  25. jsoncompat-0.4.3/codegen/src/dataclasses.rs +2897 -0
  26. jsoncompat-0.4.3/codegen/src/lib.rs +42 -0
  27. jsoncompat-0.4.3/developing.md +218 -0
  28. jsoncompat-0.4.3/examples/dataclasses/README.md +21 -0
  29. jsoncompat-0.4.3/examples/dataclasses/demo.py +100 -0
  30. jsoncompat-0.4.3/examples/dataclasses/models.py +250 -0
  31. jsoncompat-0.4.3/examples/dataclasses/schema.json +67 -0
  32. jsoncompat-0.4.3/examples/python/basic/demo.py +53 -0
  33. jsoncompat-0.4.3/examples/stamp/README.md +21 -0
  34. jsoncompat-0.4.3/examples/stamp/bundle.json +220 -0
  35. jsoncompat-0.4.3/examples/stamp/demo.py +126 -0
  36. jsoncompat-0.4.3/examples/stamp/manifest.json +56 -0
  37. jsoncompat-0.4.3/examples/stamp/reader.schema.json +111 -0
  38. jsoncompat-0.4.3/examples/stamp/reader_models.py +468 -0
  39. jsoncompat-0.4.3/examples/stamp/schema-v1.json +14 -0
  40. jsoncompat-0.4.3/examples/stamp/schema-v2.json +17 -0
  41. jsoncompat-0.4.3/examples/stamp/writer.schema.json +55 -0
  42. jsoncompat-0.4.3/examples/stamp/writer_models.py +137 -0
  43. jsoncompat-0.4.3/examples/wasm/demo.html +58 -0
  44. jsoncompat-0.4.3/fuzz/Cargo.toml +22 -0
  45. jsoncompat-0.4.3/fuzz/README.md +61 -0
  46. jsoncompat-0.4.3/fuzz/src/format_gen.rs +160 -0
  47. jsoncompat-0.4.3/fuzz/src/lib.rs +1545 -0
  48. jsoncompat-0.4.3/fuzz/src/regex_gen.rs +437 -0
  49. jsoncompat-0.4.3/jsoncompat/__init__.py +576 -0
  50. jsoncompat-0.4.3/jsoncompat/_native.pyi +10 -0
  51. jsoncompat-0.4.3/jsoncompat/codegen/__init__.py +4 -0
  52. jsoncompat-0.4.3/jsoncompat/codegen/dataclasses.py +857 -0
  53. jsoncompat-0.4.3/jsoncompat/codegen/serialization.py +242 -0
  54. jsoncompat-0.4.3/jsoncompat/py.typed +1 -0
  55. jsoncompat-0.4.3/openapi/Cargo.toml +17 -0
  56. jsoncompat-0.4.3/openapi/README.md +75 -0
  57. jsoncompat-0.4.3/openapi/src/json_pointer.rs +35 -0
  58. jsoncompat-0.4.3/openapi/src/lib.rs +6640 -0
  59. jsoncompat-0.4.3/package.json +10 -0
  60. jsoncompat-0.4.3/pnpm-lock.yaml +10668 -0
  61. jsoncompat-0.4.3/pnpm-workspace.yaml +4 -0
  62. jsoncompat-0.4.3/presentation/deck/.gitignore +4 -0
  63. jsoncompat-0.4.3/presentation/deck/README.md +41 -0
  64. jsoncompat-0.4.3/presentation/deck/components/AudienceRolloutQuestion.vue +168 -0
  65. jsoncompat-0.4.3/presentation/deck/components/CheckerEmbed.vue +80 -0
  66. jsoncompat-0.4.3/presentation/deck/components/IncidentSketch.vue +326 -0
  67. jsoncompat-0.4.3/presentation/deck/components/NetworkHero.vue +471 -0
  68. jsoncompat-0.4.3/presentation/deck/components/SimulatorBackdrop.vue +98 -0
  69. jsoncompat-0.4.3/presentation/deck/components/SimulatorDeck.vue +516 -0
  70. jsoncompat-0.4.3/presentation/deck/global-bottom.vue +1 -0
  71. jsoncompat-0.4.3/presentation/deck/package.json +28 -0
  72. jsoncompat-0.4.3/presentation/deck/public/favicon.ico +0 -0
  73. jsoncompat-0.4.3/presentation/deck/scripts/capture-simulator-assets.mjs +182 -0
  74. jsoncompat-0.4.3/presentation/deck/slides.md +700 -0
  75. jsoncompat-0.4.3/presentation/deck/style.css +1 -0
  76. jsoncompat-0.4.3/presentation/deck/styles/index.css +1175 -0
  77. jsoncompat-0.4.3/presentation/deck/vite.config.ts +22 -0
  78. jsoncompat-0.4.3/presentation/interactive/.gitignore +5 -0
  79. jsoncompat-0.4.3/presentation/interactive/README.md +43 -0
  80. jsoncompat-0.4.3/presentation/interactive/index.html +26 -0
  81. jsoncompat-0.4.3/presentation/interactive/package.json +23 -0
  82. jsoncompat-0.4.3/presentation/interactive/src/app.ts +757 -0
  83. jsoncompat-0.4.3/presentation/interactive/src/input/keys.ts +41 -0
  84. jsoncompat-0.4.3/presentation/interactive/src/main.ts +8 -0
  85. jsoncompat-0.4.3/presentation/interactive/src/model/story-loader.test.ts +132 -0
  86. jsoncompat-0.4.3/presentation/interactive/src/model/story-loader.ts +264 -0
  87. jsoncompat-0.4.3/presentation/interactive/src/model/story.ts +8 -0
  88. jsoncompat-0.4.3/presentation/interactive/src/model/types.ts +152 -0
  89. jsoncompat-0.4.3/presentation/interactive/src/render/decode-fx.ts +160 -0
  90. jsoncompat-0.4.3/presentation/interactive/src/render/layout.test.ts +16 -0
  91. jsoncompat-0.4.3/presentation/interactive/src/render/layout.ts +49 -0
  92. jsoncompat-0.4.3/presentation/interactive/src/render/packets.ts +303 -0
  93. jsoncompat-0.4.3/presentation/interactive/src/render/panels.ts +425 -0
  94. jsoncompat-0.4.3/presentation/interactive/src/render/type-colors.ts +38 -0
  95. jsoncompat-0.4.3/presentation/interactive/src/schema/flatten.test.ts +72 -0
  96. jsoncompat-0.4.3/presentation/interactive/src/schema/flatten.ts +187 -0
  97. jsoncompat-0.4.3/presentation/interactive/src/schema/generate.test.ts +86 -0
  98. jsoncompat-0.4.3/presentation/interactive/src/schema/generate.ts +252 -0
  99. jsoncompat-0.4.3/presentation/interactive/src/schema/validate.test.ts +132 -0
  100. jsoncompat-0.4.3/presentation/interactive/src/schema/validate.ts +152 -0
  101. jsoncompat-0.4.3/presentation/interactive/src/sim/engine.test.ts +156 -0
  102. jsoncompat-0.4.3/presentation/interactive/src/sim/engine.ts +264 -0
  103. jsoncompat-0.4.3/presentation/interactive/src/sim/packet.ts +80 -0
  104. jsoncompat-0.4.3/presentation/interactive/src/sim/transitions.ts +56 -0
  105. jsoncompat-0.4.3/presentation/interactive/story/README.md +26 -0
  106. jsoncompat-0.4.3/presentation/interactive/story/default-story.json +104 -0
  107. jsoncompat-0.4.3/presentation/interactive/tsconfig.json +20 -0
  108. jsoncompat-0.4.3/presentation/interactive/vite.config.ts +12 -0
  109. jsoncompat-0.4.3/pybindings/Cargo.toml +34 -0
  110. jsoncompat-0.4.3/pybindings/README.md +164 -0
  111. jsoncompat-0.4.3/pybindings/bench_dataclasses_runtime.py +361 -0
  112. jsoncompat-0.4.3/pybindings/bench_dataclasses_scaling.py +257 -0
  113. jsoncompat-0.4.3/pybindings/bench_dataclasses_startup.py +185 -0
  114. jsoncompat-0.4.3/pybindings/bench_fixture_models.py +1646 -0
  115. jsoncompat-0.4.3/pybindings/bench_fixture_samples.json +2652 -0
  116. jsoncompat-0.4.3/pybindings/benchmark_generated_models.py +54 -0
  117. jsoncompat-0.4.3/pybindings/benchmark_schemas/representative.json +95 -0
  118. jsoncompat-0.4.3/pybindings/benchmark_schemas/scaling.json +95 -0
  119. jsoncompat-0.4.3/pybindings/build.rs +3 -0
  120. jsoncompat-0.4.3/pybindings/fixture_benchmark_support.py +9 -0
  121. jsoncompat-0.4.3/pybindings/src/lib.rs +1048 -0
  122. jsoncompat-0.4.3/pybindings/src/model_converter.rs +4784 -0
  123. jsoncompat-0.4.3/pybindings/tests/check_sdist.py +71 -0
  124. jsoncompat-0.4.3/pybindings/tests/test_installed.py +72 -0
  125. jsoncompat-0.4.3/pybindings/uv.lock +628 -0
  126. jsoncompat-0.4.3/pyproject.toml +25 -0
  127. jsoncompat-0.4.3/pyrightconfig.json +12 -0
  128. jsoncompat-0.4.3/readme.md +244 -0
  129. jsoncompat-0.4.3/rust-toolchain.toml +2 -0
  130. jsoncompat-0.4.3/schema/Cargo.toml +21 -0
  131. jsoncompat-0.4.3/schema/README.md +70 -0
  132. jsoncompat-0.4.3/schema/src/ast.rs +3374 -0
  133. jsoncompat-0.4.3/schema/src/canonicalize/integration_tests.rs +1616 -0
  134. jsoncompat-0.4.3/schema/src/canonicalize.rs +2335 -0
  135. jsoncompat-0.4.3/schema/src/constraints.rs +419 -0
  136. jsoncompat-0.4.3/schema/src/json_semantics.rs +69 -0
  137. jsoncompat-0.4.3/schema/src/lib.rs +84 -0
  138. jsoncompat-0.4.3/schema/src/roundtrip_tests.rs +147 -0
  139. jsoncompat-0.4.3/schema/src/schema_children.rs +92 -0
  140. jsoncompat-0.4.3/schema/src/schema_metadata.rs +49 -0
  141. jsoncompat-0.4.3/schema/tests/basic.rs +1428 -0
  142. jsoncompat-0.4.3/src/bin/jsoncompat/ci.rs +584 -0
  143. jsoncompat-0.4.3/src/bin/jsoncompat/codegen.rs +49 -0
  144. jsoncompat-0.4.3/src/bin/jsoncompat/compat.rs +910 -0
  145. jsoncompat-0.4.3/src/bin/jsoncompat/demo.rs +477 -0
  146. jsoncompat-0.4.3/src/bin/jsoncompat/generate.rs +125 -0
  147. jsoncompat-0.4.3/src/bin/jsoncompat/lower_openapi.rs +163 -0
  148. jsoncompat-0.4.3/src/bin/jsoncompat/stamp.rs +83 -0
  149. jsoncompat-0.4.3/src/bin/jsoncompat.rs +247 -0
  150. jsoncompat-0.4.3/src/json_pointer.rs +42 -0
  151. jsoncompat-0.4.3/src/lib.rs +908 -0
  152. jsoncompat-0.4.3/src/openapi_compat.rs +193 -0
  153. jsoncompat-0.4.3/src/stamp.rs +1019 -0
  154. jsoncompat-0.4.3/src/subset/analysis.rs +46 -0
  155. jsoncompat-0.4.3/src/subset/array.rs +859 -0
  156. jsoncompat-0.4.3/src/subset/boolean.rs +1792 -0
  157. jsoncompat-0.4.3/src/subset/conditional.rs +634 -0
  158. jsoncompat-0.4.3/src/subset/disjoint.rs +840 -0
  159. jsoncompat-0.4.3/src/subset/dispatcher.rs +708 -0
  160. jsoncompat-0.4.3/src/subset/emptiness.rs +419 -0
  161. jsoncompat-0.4.3/src/subset/enumeration.rs +37 -0
  162. jsoncompat-0.4.3/src/subset/explainers.rs +1096 -0
  163. jsoncompat-0.4.3/src/subset/explanation.rs +154 -0
  164. jsoncompat-0.4.3/src/subset/finite.rs +788 -0
  165. jsoncompat-0.4.3/src/subset/intervals.rs +1459 -0
  166. jsoncompat-0.4.3/src/subset/membership.rs +307 -0
  167. jsoncompat-0.4.3/src/subset/object.rs +834 -0
  168. jsoncompat-0.4.3/src/subset/partitions.rs +1525 -0
  169. jsoncompat-0.4.3/src/subset/predispatch.rs +399 -0
  170. jsoncompat-0.4.3/src/subset/properties.rs +1123 -0
  171. jsoncompat-0.4.3/src/subset/scalar.rs +208 -0
  172. jsoncompat-0.4.3/src/subset/tests.rs +6745 -0
  173. jsoncompat-0.4.3/src/subset/type_masks.rs +142 -0
  174. jsoncompat-0.4.3/src/subset.rs +134 -0
  175. jsoncompat-0.4.3/tests/backcompat.rs +161 -0
  176. jsoncompat-0.4.3/tests/compat_soundness.rs +2687 -0
  177. jsoncompat-0.4.3/tests/dataclasses_backcompat.rs +292 -0
  178. jsoncompat-0.4.3/tests/dataclasses_examples.rs +79 -0
  179. jsoncompat-0.4.3/tests/dataclasses_fixtures.rs +333 -0
  180. jsoncompat-0.4.3/tests/dataclasses_fuzz.rs +98 -0
  181. jsoncompat-0.4.3/tests/dataclasses_json_round_trip.rs +518 -0
  182. jsoncompat-0.4.3/tests/dataclasses_stamp_backcompat.rs +285 -0
  183. jsoncompat-0.4.3/tests/dataclasses_typing.rs +283 -0
  184. jsoncompat-0.4.3/tests/fixtures/backcompat/additionalprops_expanded/examples.json +5 -0
  185. jsoncompat-0.4.3/tests/fixtures/backcompat/additionalprops_expanded/expect.json +5 -0
  186. jsoncompat-0.4.3/tests/fixtures/backcompat/additionalprops_expanded/new.json +1 -0
  187. jsoncompat-0.4.3/tests/fixtures/backcompat/additionalprops_expanded/old.json +1 -0
  188. jsoncompat-0.4.3/tests/fixtures/backcompat/additionalprops_reduced/examples.json +5 -0
  189. jsoncompat-0.4.3/tests/fixtures/backcompat/additionalprops_reduced/expect.json +5 -0
  190. jsoncompat-0.4.3/tests/fixtures/backcompat/additionalprops_reduced/new.json +1 -0
  191. jsoncompat-0.4.3/tests/fixtures/backcompat/additionalprops_reduced/old.json +1 -0
  192. jsoncompat-0.4.3/tests/fixtures/backcompat/allof_relaxed/expect.json +6 -0
  193. jsoncompat-0.4.3/tests/fixtures/backcompat/allof_relaxed/new.json +1 -0
  194. jsoncompat-0.4.3/tests/fixtures/backcompat/allof_relaxed/old.json +1 -0
  195. jsoncompat-0.4.3/tests/fixtures/backcompat/allof_single_conjunct_subset/expect.json +5 -0
  196. jsoncompat-0.4.3/tests/fixtures/backcompat/allof_single_conjunct_subset/new.json +1 -0
  197. jsoncompat-0.4.3/tests/fixtures/backcompat/allof_single_conjunct_subset/old.json +1 -0
  198. jsoncompat-0.4.3/tests/fixtures/backcompat/allof_tighten/examples.json +5 -0
  199. jsoncompat-0.4.3/tests/fixtures/backcompat/allof_tighten/expect.json +5 -0
  200. jsoncompat-0.4.3/tests/fixtures/backcompat/allof_tighten/new.json +1 -0
  201. jsoncompat-0.4.3/tests/fixtures/backcompat/allof_tighten/old.json +1 -0
  202. jsoncompat-0.4.3/tests/fixtures/backcompat/anyof_broaden/examples.json +5 -0
  203. jsoncompat-0.4.3/tests/fixtures/backcompat/anyof_broaden/expect.json +5 -0
  204. jsoncompat-0.4.3/tests/fixtures/backcompat/anyof_broaden/new.json +1 -0
  205. jsoncompat-0.4.3/tests/fixtures/backcompat/anyof_broaden/old.json +1 -0
  206. jsoncompat-0.4.3/tests/fixtures/backcompat/closed_object_property_capacity/expect.json +4 -0
  207. jsoncompat-0.4.3/tests/fixtures/backcompat/closed_object_property_capacity/new.json +1 -0
  208. jsoncompat-0.4.3/tests/fixtures/backcompat/closed_object_property_capacity/old.json +1 -0
  209. jsoncompat-0.4.3/tests/fixtures/backcompat/complex_optional_prop_added/examples.json +19 -0
  210. jsoncompat-0.4.3/tests/fixtures/backcompat/complex_optional_prop_added/expect.json +5 -0
  211. jsoncompat-0.4.3/tests/fixtures/backcompat/complex_optional_prop_added/new.json +24 -0
  212. jsoncompat-0.4.3/tests/fixtures/backcompat/complex_optional_prop_added/old.json +23 -0
  213. jsoncompat-0.4.3/tests/fixtures/backcompat/complex_required_prop_added/examples.json +8 -0
  214. jsoncompat-0.4.3/tests/fixtures/backcompat/complex_required_prop_added/expect.json +6 -0
  215. jsoncompat-0.4.3/tests/fixtures/backcompat/complex_required_prop_added/new.json +19 -0
  216. jsoncompat-0.4.3/tests/fixtures/backcompat/complex_required_prop_added/old.json +18 -0
  217. jsoncompat-0.4.3/tests/fixtures/backcompat/const_changed/expect.json +6 -0
  218. jsoncompat-0.4.3/tests/fixtures/backcompat/const_changed/new.json +1 -0
  219. jsoncompat-0.4.3/tests/fixtures/backcompat/const_changed/old.json +1 -0
  220. jsoncompat-0.4.3/tests/fixtures/backcompat/const_keyword/examples.json +5 -0
  221. jsoncompat-0.4.3/tests/fixtures/backcompat/const_keyword/expect.json +5 -0
  222. jsoncompat-0.4.3/tests/fixtures/backcompat/const_keyword/new.json +1 -0
  223. jsoncompat-0.4.3/tests/fixtures/backcompat/const_keyword/old.json +1 -0
  224. jsoncompat-0.4.3/tests/fixtures/backcompat/constrained_enum_bounds_equivalent/expect.json +1 -0
  225. jsoncompat-0.4.3/tests/fixtures/backcompat/constrained_enum_bounds_equivalent/new.json +1 -0
  226. jsoncompat-0.4.3/tests/fixtures/backcompat/constrained_enum_bounds_equivalent/old.json +1 -0
  227. jsoncompat-0.4.3/tests/fixtures/backcompat/contains_guaranteed_prefix_match/expect.json +5 -0
  228. jsoncompat-0.4.3/tests/fixtures/backcompat/contains_guaranteed_prefix_match/new.json +9 -0
  229. jsoncompat-0.4.3/tests/fixtures/backcompat/contains_guaranteed_prefix_match/old.json +5 -0
  230. jsoncompat-0.4.3/tests/fixtures/backcompat/contains_maxcontains_relaxed/expect.json +5 -0
  231. jsoncompat-0.4.3/tests/fixtures/backcompat/contains_maxcontains_relaxed/new.json +7 -0
  232. jsoncompat-0.4.3/tests/fixtures/backcompat/contains_maxcontains_relaxed/old.json +7 -0
  233. jsoncompat-0.4.3/tests/fixtures/backcompat/contains_mincontains_narrow_items/examples.json +15 -0
  234. jsoncompat-0.4.3/tests/fixtures/backcompat/contains_mincontains_narrow_items/expect.json +6 -0
  235. jsoncompat-0.4.3/tests/fixtures/backcompat/contains_mincontains_narrow_items/new.json +7 -0
  236. jsoncompat-0.4.3/tests/fixtures/backcompat/contains_mincontains_narrow_items/old.json +7 -0
  237. jsoncompat-0.4.3/tests/fixtures/backcompat/deep_ref/examples.json +5 -0
  238. jsoncompat-0.4.3/tests/fixtures/backcompat/deep_ref/expect.json +6 -0
  239. jsoncompat-0.4.3/tests/fixtures/backcompat/deep_ref/new.json +1 -0
  240. jsoncompat-0.4.3/tests/fixtures/backcompat/deep_ref/old.json +1 -0
  241. jsoncompat-0.4.3/tests/fixtures/backcompat/dependent_required/examples.json +5 -0
  242. jsoncompat-0.4.3/tests/fixtures/backcompat/dependent_required/expect.json +5 -0
  243. jsoncompat-0.4.3/tests/fixtures/backcompat/dependent_required/new.json +1 -0
  244. jsoncompat-0.4.3/tests/fixtures/backcompat/dependent_required/old.json +1 -0
  245. jsoncompat-0.4.3/tests/fixtures/backcompat/dependent_required_pattern_properties/examples.json +5 -0
  246. jsoncompat-0.4.3/tests/fixtures/backcompat/dependent_required_pattern_properties/expect.json +5 -0
  247. jsoncompat-0.4.3/tests/fixtures/backcompat/dependent_required_pattern_properties/new.json +1 -0
  248. jsoncompat-0.4.3/tests/fixtures/backcompat/dependent_required_pattern_properties/old.json +1 -0
  249. jsoncompat-0.4.3/tests/fixtures/backcompat/dependent_required_recursive_property_names/examples.json +4 -0
  250. jsoncompat-0.4.3/tests/fixtures/backcompat/dependent_required_recursive_property_names/expect.json +5 -0
  251. jsoncompat-0.4.3/tests/fixtures/backcompat/dependent_required_recursive_property_names/new.json +13 -0
  252. jsoncompat-0.4.3/tests/fixtures/backcompat/dependent_required_recursive_property_names/old.json +16 -0
  253. jsoncompat-0.4.3/tests/fixtures/backcompat/dependent_required_unsupported_pattern_properties/expect.json +5 -0
  254. jsoncompat-0.4.3/tests/fixtures/backcompat/dependent_required_unsupported_pattern_properties/new.json +7 -0
  255. jsoncompat-0.4.3/tests/fixtures/backcompat/dependent_required_unsupported_pattern_properties/old.json +10 -0
  256. jsoncompat-0.4.3/tests/fixtures/backcompat/dependent_required_unsupported_property_names/expect.json +5 -0
  257. jsoncompat-0.4.3/tests/fixtures/backcompat/dependent_required_unsupported_property_names/new.json +6 -0
  258. jsoncompat-0.4.3/tests/fixtures/backcompat/dependent_required_unsupported_property_names/old.json +9 -0
  259. jsoncompat-0.4.3/tests/fixtures/backcompat/enum_expanded/examples.json +5 -0
  260. jsoncompat-0.4.3/tests/fixtures/backcompat/enum_expanded/expect.json +5 -0
  261. jsoncompat-0.4.3/tests/fixtures/backcompat/enum_expanded/new.json +1 -0
  262. jsoncompat-0.4.3/tests/fixtures/backcompat/enum_expanded/old.json +1 -0
  263. jsoncompat-0.4.3/tests/fixtures/backcompat/enum_inside_anyof/examples.json +5 -0
  264. jsoncompat-0.4.3/tests/fixtures/backcompat/enum_inside_anyof/expect.json +5 -0
  265. jsoncompat-0.4.3/tests/fixtures/backcompat/enum_inside_anyof/new.json +1 -0
  266. jsoncompat-0.4.3/tests/fixtures/backcompat/enum_inside_anyof/old.json +1 -0
  267. jsoncompat-0.4.3/tests/fixtures/backcompat/enum_narrowed/examples.json +4 -0
  268. jsoncompat-0.4.3/tests/fixtures/backcompat/enum_narrowed/expect.json +5 -0
  269. jsoncompat-0.4.3/tests/fixtures/backcompat/enum_narrowed/new.json +1 -0
  270. jsoncompat-0.4.3/tests/fixtures/backcompat/enum_narrowed/old.json +1 -0
  271. jsoncompat-0.4.3/tests/fixtures/backcompat/exclusive_bounds/examples.json +5 -0
  272. jsoncompat-0.4.3/tests/fixtures/backcompat/exclusive_bounds/expect.json +5 -0
  273. jsoncompat-0.4.3/tests/fixtures/backcompat/exclusive_bounds/new.json +1 -0
  274. jsoncompat-0.4.3/tests/fixtures/backcompat/exclusive_bounds/old.json +1 -0
  275. jsoncompat-0.4.3/tests/fixtures/backcompat/float_form_number_enum_precision/examples.json +5 -0
  276. jsoncompat-0.4.3/tests/fixtures/backcompat/float_form_number_enum_precision/expect.json +1 -0
  277. jsoncompat-0.4.3/tests/fixtures/backcompat/float_form_number_enum_precision/new.json +1 -0
  278. jsoncompat-0.4.3/tests/fixtures/backcompat/float_form_number_enum_precision/old.json +1 -0
  279. jsoncompat-0.4.3/tests/fixtures/backcompat/format_annotation_changed/examples.json +6 -0
  280. jsoncompat-0.4.3/tests/fixtures/backcompat/format_annotation_changed/expect.json +4 -0
  281. jsoncompat-0.4.3/tests/fixtures/backcompat/format_annotation_changed/new.json +1 -0
  282. jsoncompat-0.4.3/tests/fixtures/backcompat/format_annotation_changed/old.json +1 -0
  283. jsoncompat-0.4.3/tests/fixtures/backcompat/integer_fractional_multiple_of/examples.json +5 -0
  284. jsoncompat-0.4.3/tests/fixtures/backcompat/integer_fractional_multiple_of/expect.json +5 -0
  285. jsoncompat-0.4.3/tests/fixtures/backcompat/integer_fractional_multiple_of/new.json +1 -0
  286. jsoncompat-0.4.3/tests/fixtures/backcompat/integer_fractional_multiple_of/old.json +1 -0
  287. jsoncompat-0.4.3/tests/fixtures/backcompat/integer_to_number/examples.json +4 -0
  288. jsoncompat-0.4.3/tests/fixtures/backcompat/integer_to_number/expect.json +5 -0
  289. jsoncompat-0.4.3/tests/fixtures/backcompat/integer_to_number/new.json +1 -0
  290. jsoncompat-0.4.3/tests/fixtures/backcompat/integer_to_number/old.json +1 -0
  291. jsoncompat-0.4.3/tests/fixtures/backcompat/large_integer_enum_precision/examples.json +5 -0
  292. jsoncompat-0.4.3/tests/fixtures/backcompat/large_integer_enum_precision/expect.json +6 -0
  293. jsoncompat-0.4.3/tests/fixtures/backcompat/large_integer_enum_precision/new.json +1 -0
  294. jsoncompat-0.4.3/tests/fixtures/backcompat/large_integer_enum_precision/old.json +1 -0
  295. jsoncompat-0.4.3/tests/fixtures/backcompat/maxlength_relaxed/examples.json +4 -0
  296. jsoncompat-0.4.3/tests/fixtures/backcompat/maxlength_relaxed/expect.json +5 -0
  297. jsoncompat-0.4.3/tests/fixtures/backcompat/maxlength_relaxed/new.json +1 -0
  298. jsoncompat-0.4.3/tests/fixtures/backcompat/maxlength_relaxed/old.json +1 -0
  299. jsoncompat-0.4.3/tests/fixtures/backcompat/minlength_tighten/examples.json +5 -0
  300. jsoncompat-0.4.3/tests/fixtures/backcompat/minlength_tighten/expect.json +5 -0
  301. jsoncompat-0.4.3/tests/fixtures/backcompat/minlength_tighten/new.json +1 -0
  302. jsoncompat-0.4.3/tests/fixtures/backcompat/minlength_tighten/old.json +1 -0
  303. jsoncompat-0.4.3/tests/fixtures/backcompat/nested_port_tighten/examples.json +8 -0
  304. jsoncompat-0.4.3/tests/fixtures/backcompat/nested_port_tighten/expect.json +5 -0
  305. jsoncompat-0.4.3/tests/fixtures/backcompat/nested_port_tighten/new.json +20 -0
  306. jsoncompat-0.4.3/tests/fixtures/backcompat/nested_port_tighten/old.json +20 -0
  307. jsoncompat-0.4.3/tests/fixtures/backcompat/nested_unsupported_pattern_enum_not_empty/expect.json +6 -0
  308. jsoncompat-0.4.3/tests/fixtures/backcompat/nested_unsupported_pattern_enum_not_empty/new.json +14 -0
  309. jsoncompat-0.4.3/tests/fixtures/backcompat/nested_unsupported_pattern_enum_not_empty/old.json +8 -0
  310. jsoncompat-0.4.3/tests/fixtures/backcompat/not_keyword/examples.json +5 -0
  311. jsoncompat-0.4.3/tests/fixtures/backcompat/not_keyword/expect.json +5 -0
  312. jsoncompat-0.4.3/tests/fixtures/backcompat/not_keyword/new.json +1 -0
  313. jsoncompat-0.4.3/tests/fixtures/backcompat/not_keyword/old.json +1 -0
  314. jsoncompat-0.4.3/tests/fixtures/backcompat/nullability_added/examples.json +4 -0
  315. jsoncompat-0.4.3/tests/fixtures/backcompat/nullability_added/expect.json +5 -0
  316. jsoncompat-0.4.3/tests/fixtures/backcompat/nullability_added/new.json +1 -0
  317. jsoncompat-0.4.3/tests/fixtures/backcompat/nullability_added/old.json +1 -0
  318. jsoncompat-0.4.3/tests/fixtures/backcompat/number_enum_satisfies_integer_constraints/examples.json +5 -0
  319. jsoncompat-0.4.3/tests/fixtures/backcompat/number_enum_satisfies_integer_constraints/expect.json +5 -0
  320. jsoncompat-0.4.3/tests/fixtures/backcompat/number_enum_satisfies_integer_constraints/new.json +6 -0
  321. jsoncompat-0.4.3/tests/fixtures/backcompat/number_enum_satisfies_integer_constraints/old.json +6 -0
  322. jsoncompat-0.4.3/tests/fixtures/backcompat/number_singleton_is_integer/examples.json +5 -0
  323. jsoncompat-0.4.3/tests/fixtures/backcompat/number_singleton_is_integer/expect.json +4 -0
  324. jsoncompat-0.4.3/tests/fixtures/backcompat/number_singleton_is_integer/new.json +5 -0
  325. jsoncompat-0.4.3/tests/fixtures/backcompat/number_singleton_is_integer/old.json +5 -0
  326. jsoncompat-0.4.3/tests/fixtures/backcompat/oneof_array_partition_with_extra_union_type/examples.json +5 -0
  327. jsoncompat-0.4.3/tests/fixtures/backcompat/oneof_array_partition_with_extra_union_type/expect.json +5 -0
  328. jsoncompat-0.4.3/tests/fixtures/backcompat/oneof_array_partition_with_extra_union_type/new.json +18 -0
  329. jsoncompat-0.4.3/tests/fixtures/backcompat/oneof_array_partition_with_extra_union_type/old.json +4 -0
  330. jsoncompat-0.4.3/tests/fixtures/backcompat/oneof_expanded_to_anyof/examples.json +5 -0
  331. jsoncompat-0.4.3/tests/fixtures/backcompat/oneof_expanded_to_anyof/expect.json +5 -0
  332. jsoncompat-0.4.3/tests/fixtures/backcompat/oneof_expanded_to_anyof/new.json +1 -0
  333. jsoncompat-0.4.3/tests/fixtures/backcompat/oneof_expanded_to_anyof/old.json +1 -0
  334. jsoncompat-0.4.3/tests/fixtures/backcompat/oneof_narrowed_against_allof_anyof/examples.json +5 -0
  335. jsoncompat-0.4.3/tests/fixtures/backcompat/oneof_narrowed_against_allof_anyof/expect.json +5 -0
  336. jsoncompat-0.4.3/tests/fixtures/backcompat/oneof_narrowed_against_allof_anyof/new.json +1 -0
  337. jsoncompat-0.4.3/tests/fixtures/backcompat/oneof_narrowed_against_allof_anyof/old.json +6 -0
  338. jsoncompat-0.4.3/tests/fixtures/backcompat/oneof_narrowed_against_anyof/examples.json +5 -0
  339. jsoncompat-0.4.3/tests/fixtures/backcompat/oneof_narrowed_against_anyof/expect.json +5 -0
  340. jsoncompat-0.4.3/tests/fixtures/backcompat/oneof_narrowed_against_anyof/new.json +1 -0
  341. jsoncompat-0.4.3/tests/fixtures/backcompat/oneof_narrowed_against_anyof/old.json +1 -0
  342. jsoncompat-0.4.3/tests/fixtures/backcompat/oneof_object_partition_with_extra_union_type/examples.json +5 -0
  343. jsoncompat-0.4.3/tests/fixtures/backcompat/oneof_object_partition_with_extra_union_type/expect.json +5 -0
  344. jsoncompat-0.4.3/tests/fixtures/backcompat/oneof_object_partition_with_extra_union_type/new.json +18 -0
  345. jsoncompat-0.4.3/tests/fixtures/backcompat/oneof_object_partition_with_extra_union_type/old.json +4 -0
  346. jsoncompat-0.4.3/tests/fixtures/backcompat/oneof_object_presence_partition_with_extra_union_type/examples.json +8 -0
  347. jsoncompat-0.4.3/tests/fixtures/backcompat/oneof_object_presence_partition_with_extra_union_type/expect.json +5 -0
  348. jsoncompat-0.4.3/tests/fixtures/backcompat/oneof_object_presence_partition_with_extra_union_type/new.json +18 -0
  349. jsoncompat-0.4.3/tests/fixtures/backcompat/oneof_object_presence_partition_with_extra_union_type/old.json +6 -0
  350. jsoncompat-0.4.3/tests/fixtures/backcompat/oneof_overlap/examples.json +5 -0
  351. jsoncompat-0.4.3/tests/fixtures/backcompat/oneof_overlap/expect.json +6 -0
  352. jsoncompat-0.4.3/tests/fixtures/backcompat/oneof_overlap/new.json +1 -0
  353. jsoncompat-0.4.3/tests/fixtures/backcompat/oneof_overlap/old.json +1 -0
  354. jsoncompat-0.4.3/tests/fixtures/backcompat/oneof_string_partition_with_extra_union_type/examples.json +5 -0
  355. jsoncompat-0.4.3/tests/fixtures/backcompat/oneof_string_partition_with_extra_union_type/expect.json +5 -0
  356. jsoncompat-0.4.3/tests/fixtures/backcompat/oneof_string_partition_with_extra_union_type/new.json +18 -0
  357. jsoncompat-0.4.3/tests/fixtures/backcompat/oneof_string_partition_with_extra_union_type/old.json +4 -0
  358. jsoncompat-0.4.3/tests/fixtures/backcompat/oneof_type_expanded/examples.json +4 -0
  359. jsoncompat-0.4.3/tests/fixtures/backcompat/oneof_type_expanded/expect.json +5 -0
  360. jsoncompat-0.4.3/tests/fixtures/backcompat/oneof_type_expanded/new.json +8 -0
  361. jsoncompat-0.4.3/tests/fixtures/backcompat/oneof_type_expanded/old.json +7 -0
  362. jsoncompat-0.4.3/tests/fixtures/backcompat/optional_to_required/examples.json +5 -0
  363. jsoncompat-0.4.3/tests/fixtures/backcompat/optional_to_required/expect.json +5 -0
  364. jsoncompat-0.4.3/tests/fixtures/backcompat/optional_to_required/new.json +1 -0
  365. jsoncompat-0.4.3/tests/fixtures/backcompat/optional_to_required/old.json +1 -0
  366. jsoncompat-0.4.3/tests/fixtures/backcompat/overlapping_pattern_properties/expect.json +6 -0
  367. jsoncompat-0.4.3/tests/fixtures/backcompat/overlapping_pattern_properties/new.json +1 -0
  368. jsoncompat-0.4.3/tests/fixtures/backcompat/overlapping_pattern_properties/old.json +1 -0
  369. jsoncompat-0.4.3/tests/fixtures/backcompat/pattern_properties/examples.json +5 -0
  370. jsoncompat-0.4.3/tests/fixtures/backcompat/pattern_properties/expect.json +5 -0
  371. jsoncompat-0.4.3/tests/fixtures/backcompat/pattern_properties/new.json +1 -0
  372. jsoncompat-0.4.3/tests/fixtures/backcompat/pattern_properties/old.json +1 -0
  373. jsoncompat-0.4.3/tests/fixtures/backcompat/pattern_properties_fall_back_to_additional_properties/examples.json +15 -0
  374. jsoncompat-0.4.3/tests/fixtures/backcompat/pattern_properties_fall_back_to_additional_properties/expect.json +4 -0
  375. jsoncompat-0.4.3/tests/fixtures/backcompat/pattern_properties_fall_back_to_additional_properties/new.json +1 -0
  376. jsoncompat-0.4.3/tests/fixtures/backcompat/pattern_properties_fall_back_to_additional_properties/old.json +1 -0
  377. jsoncompat-0.4.3/tests/fixtures/backcompat/prefixitems_first_item_changed/examples.json +13 -0
  378. jsoncompat-0.4.3/tests/fixtures/backcompat/prefixitems_first_item_changed/expect.json +6 -0
  379. jsoncompat-0.4.3/tests/fixtures/backcompat/prefixitems_first_item_changed/new.json +9 -0
  380. jsoncompat-0.4.3/tests/fixtures/backcompat/prefixitems_first_item_changed/old.json +9 -0
  381. jsoncompat-0.4.3/tests/fixtures/backcompat/property_names_excludes_declared_constraint/examples.json +11 -0
  382. jsoncompat-0.4.3/tests/fixtures/backcompat/property_names_excludes_declared_constraint/expect.json +5 -0
  383. jsoncompat-0.4.3/tests/fixtures/backcompat/property_names_excludes_declared_constraint/new.json +6 -0
  384. jsoncompat-0.4.3/tests/fixtures/backcompat/property_names_excludes_declared_constraint/old.json +8 -0
  385. jsoncompat-0.4.3/tests/fixtures/backcompat/property_names_expanded/examples.json +9 -0
  386. jsoncompat-0.4.3/tests/fixtures/backcompat/property_names_expanded/expect.json +5 -0
  387. jsoncompat-0.4.3/tests/fixtures/backcompat/property_names_expanded/new.json +12 -0
  388. jsoncompat-0.4.3/tests/fixtures/backcompat/property_names_expanded/old.json +12 -0
  389. jsoncompat-0.4.3/tests/fixtures/backcompat/recursive_allof_enum_not_empty/examples.json +4 -0
  390. jsoncompat-0.4.3/tests/fixtures/backcompat/recursive_allof_enum_not_empty/expect.json +6 -0
  391. jsoncompat-0.4.3/tests/fixtures/backcompat/recursive_allof_enum_not_empty/new.json +18 -0
  392. jsoncompat-0.4.3/tests/fixtures/backcompat/recursive_allof_enum_not_empty/old.json +8 -0
  393. jsoncompat-0.4.3/tests/fixtures/backcompat/recursive_optional_added/examples.json +17 -0
  394. jsoncompat-0.4.3/tests/fixtures/backcompat/recursive_optional_added/expect.json +5 -0
  395. jsoncompat-0.4.3/tests/fixtures/backcompat/recursive_optional_added/new.json +14 -0
  396. jsoncompat-0.4.3/tests/fixtures/backcompat/recursive_optional_added/old.json +13 -0
  397. jsoncompat-0.4.3/tests/fixtures/backcompat/required_to_optional/examples.json +5 -0
  398. jsoncompat-0.4.3/tests/fixtures/backcompat/required_to_optional/expect.json +5 -0
  399. jsoncompat-0.4.3/tests/fixtures/backcompat/required_to_optional/new.json +1 -0
  400. jsoncompat-0.4.3/tests/fixtures/backcompat/required_to_optional/old.json +1 -0
  401. jsoncompat-0.4.3/tests/fixtures/backcompat/same_value_recursive_applicator_narrowed/examples.json +4 -0
  402. jsoncompat-0.4.3/tests/fixtures/backcompat/same_value_recursive_applicator_narrowed/expect.json +5 -0
  403. jsoncompat-0.4.3/tests/fixtures/backcompat/same_value_recursive_applicator_narrowed/new.json +16 -0
  404. jsoncompat-0.4.3/tests/fixtures/backcompat/same_value_recursive_applicator_narrowed/old.json +16 -0
  405. jsoncompat-0.4.3/tests/fixtures/backcompat/type_change_string_number/examples.json +5 -0
  406. jsoncompat-0.4.3/tests/fixtures/backcompat/type_change_string_number/expect.json +6 -0
  407. jsoncompat-0.4.3/tests/fixtures/backcompat/type_change_string_number/new.json +1 -0
  408. jsoncompat-0.4.3/tests/fixtures/backcompat/type_change_string_number/old.json +1 -0
  409. jsoncompat-0.4.3/tests/fixtures/backcompat/uniqueitems_added/examples.json +4 -0
  410. jsoncompat-0.4.3/tests/fixtures/backcompat/uniqueitems_added/expect.json +5 -0
  411. jsoncompat-0.4.3/tests/fixtures/backcompat/uniqueitems_added/new.json +5 -0
  412. jsoncompat-0.4.3/tests/fixtures/backcompat/uniqueitems_added/old.json +4 -0
  413. jsoncompat-0.4.3/tests/fixtures/backcompat/unsupported_pattern_enum_not_empty/expect.json +6 -0
  414. jsoncompat-0.4.3/tests/fixtures/backcompat/unsupported_pattern_enum_not_empty/new.json +1 -0
  415. jsoncompat-0.4.3/tests/fixtures/backcompat/unsupported_pattern_enum_not_empty/old.json +1 -0
  416. jsoncompat-0.4.3/tests/fixtures/backcompat/unsupported_subset_pattern_properties_additional_fallback/expect.json +6 -0
  417. jsoncompat-0.4.3/tests/fixtures/backcompat/unsupported_subset_pattern_properties_additional_fallback/new.json +9 -0
  418. jsoncompat-0.4.3/tests/fixtures/backcompat/unsupported_subset_pattern_properties_additional_fallback/old.json +9 -0
  419. jsoncompat-0.4.3/tests/fixtures/backcompat/unsupported_superset_pattern_enum_membership/examples.json +8 -0
  420. jsoncompat-0.4.3/tests/fixtures/backcompat/unsupported_superset_pattern_enum_membership/expect.json +6 -0
  421. jsoncompat-0.4.3/tests/fixtures/backcompat/unsupported_superset_pattern_enum_membership/new.json +6 -0
  422. jsoncompat-0.4.3/tests/fixtures/backcompat/unsupported_superset_pattern_enum_membership/old.json +7 -0
  423. jsoncompat-0.4.3/tests/fixtures/cli/ci-incompatible.json +14 -0
  424. jsoncompat-0.4.3/tests/fixtures/cli/ci-new.json +14 -0
  425. jsoncompat-0.4.3/tests/fixtures/cli/ci-old.json +14 -0
  426. jsoncompat-0.4.3/tests/fixtures/dataclasses/README.md +15 -0
  427. jsoncompat-0.4.3/tests/fixtures/dataclasses/backcompat/additionalprops_expanded/new.py +18 -0
  428. jsoncompat-0.4.3/tests/fixtures/dataclasses/backcompat/additionalprops_expanded/old.py +18 -0
  429. jsoncompat-0.4.3/tests/fixtures/dataclasses/backcompat/additionalprops_reduced/new.py +18 -0
  430. jsoncompat-0.4.3/tests/fixtures/dataclasses/backcompat/additionalprops_reduced/old.py +18 -0
  431. jsoncompat-0.4.3/tests/fixtures/dataclasses/backcompat/allof_relaxed/new.py +17 -0
  432. jsoncompat-0.4.3/tests/fixtures/dataclasses/backcompat/allof_relaxed/old.py +24 -0
  433. jsoncompat-0.4.3/tests/fixtures/dataclasses/backcompat/allof_single_conjunct_subset/new.py +27 -0
  434. jsoncompat-0.4.3/tests/fixtures/dataclasses/backcompat/allof_single_conjunct_subset/old.py +18 -0
  435. jsoncompat-0.4.3/tests/fixtures/dataclasses/backcompat/allof_tighten/new.py +19 -0
  436. jsoncompat-0.4.3/tests/fixtures/dataclasses/backcompat/allof_tighten/old.py +25 -0
  437. jsoncompat-0.4.3/tests/fixtures/dataclasses/backcompat/anyof_broaden/new.py +24 -0
  438. jsoncompat-0.4.3/tests/fixtures/dataclasses/backcompat/anyof_broaden/old.py +17 -0
  439. jsoncompat-0.4.3/tests/fixtures/dataclasses/backcompat/closed_object_property_capacity/new.py +28 -0
  440. jsoncompat-0.4.3/tests/fixtures/dataclasses/backcompat/closed_object_property_capacity/old.py +28 -0
  441. jsoncompat-0.4.3/tests/fixtures/dataclasses/backcompat/complex_optional_prop_added/new.py +83 -0
  442. jsoncompat-0.4.3/tests/fixtures/dataclasses/backcompat/complex_optional_prop_added/old.py +79 -0
  443. jsoncompat-0.4.3/tests/fixtures/dataclasses/backcompat/complex_required_prop_added/new.py +67 -0
  444. jsoncompat-0.4.3/tests/fixtures/dataclasses/backcompat/complex_required_prop_added/old.py +62 -0
  445. jsoncompat-0.4.3/tests/fixtures/dataclasses/backcompat/const_changed/new.py +20 -0
  446. jsoncompat-0.4.3/tests/fixtures/dataclasses/backcompat/const_changed/old.py +20 -0
  447. jsoncompat-0.4.3/tests/fixtures/dataclasses/backcompat/const_keyword/new.py +17 -0
  448. jsoncompat-0.4.3/tests/fixtures/dataclasses/backcompat/const_keyword/old.py +17 -0
  449. jsoncompat-0.4.3/tests/fixtures/dataclasses/backcompat/constrained_enum_bounds_equivalent/new.py +22 -0
  450. jsoncompat-0.4.3/tests/fixtures/dataclasses/backcompat/constrained_enum_bounds_equivalent/old.py +20 -0
  451. jsoncompat-0.4.3/tests/fixtures/dataclasses/backcompat/contains_guaranteed_prefix_match/new.py +28 -0
  452. jsoncompat-0.4.3/tests/fixtures/dataclasses/backcompat/contains_guaranteed_prefix_match/old.py +28 -0
  453. jsoncompat-0.4.3/tests/fixtures/dataclasses/backcompat/contains_maxcontains_relaxed/new.py +28 -0
  454. jsoncompat-0.4.3/tests/fixtures/dataclasses/backcompat/contains_maxcontains_relaxed/old.py +28 -0
  455. jsoncompat-0.4.3/tests/fixtures/dataclasses/backcompat/contains_mincontains_narrow_items/new.py +22 -0
  456. jsoncompat-0.4.3/tests/fixtures/dataclasses/backcompat/contains_mincontains_narrow_items/old.py +28 -0
  457. jsoncompat-0.4.3/tests/fixtures/dataclasses/backcompat/deep_ref/new.py +57 -0
  458. jsoncompat-0.4.3/tests/fixtures/dataclasses/backcompat/deep_ref/old.py +57 -0
  459. jsoncompat-0.4.3/tests/fixtures/dataclasses/backcompat/dependent_required/new.py +33 -0
  460. jsoncompat-0.4.3/tests/fixtures/dataclasses/backcompat/dependent_required/old.py +24 -0
  461. jsoncompat-0.4.3/tests/fixtures/dataclasses/backcompat/dependent_required_pattern_properties/new.py +22 -0
  462. jsoncompat-0.4.3/tests/fixtures/dataclasses/backcompat/dependent_required_pattern_properties/old.py +27 -0
  463. jsoncompat-0.4.3/tests/fixtures/dataclasses/backcompat/dependent_required_recursive_property_names/new.py +61 -0
  464. jsoncompat-0.4.3/tests/fixtures/dataclasses/backcompat/dependent_required_recursive_property_names/old.py +66 -0
  465. jsoncompat-0.4.3/tests/fixtures/dataclasses/backcompat/dependent_required_unsupported_pattern_properties/new.py +22 -0
  466. jsoncompat-0.4.3/tests/fixtures/dataclasses/backcompat/dependent_required_unsupported_pattern_properties/old.py +27 -0
  467. jsoncompat-0.4.3/tests/fixtures/dataclasses/backcompat/dependent_required_unsupported_property_names/new.py +21 -0
  468. jsoncompat-0.4.3/tests/fixtures/dataclasses/backcompat/dependent_required_unsupported_property_names/old.py +26 -0
  469. jsoncompat-0.4.3/tests/fixtures/dataclasses/backcompat/enum_expanded/new.py +21 -0
  470. jsoncompat-0.4.3/tests/fixtures/dataclasses/backcompat/enum_expanded/old.py +20 -0
  471. jsoncompat-0.4.3/tests/fixtures/dataclasses/backcompat/enum_inside_anyof/new.py +27 -0
  472. jsoncompat-0.4.3/tests/fixtures/dataclasses/backcompat/enum_inside_anyof/old.py +20 -0
  473. jsoncompat-0.4.3/tests/fixtures/dataclasses/backcompat/enum_narrowed/new.py +21 -0
  474. jsoncompat-0.4.3/tests/fixtures/dataclasses/backcompat/enum_narrowed/old.py +22 -0
  475. jsoncompat-0.4.3/tests/fixtures/dataclasses/backcompat/exclusive_bounds/new.py +19 -0
  476. jsoncompat-0.4.3/tests/fixtures/dataclasses/backcompat/exclusive_bounds/old.py +19 -0
  477. jsoncompat-0.4.3/tests/fixtures/dataclasses/backcompat/float_form_number_enum_precision/new.py +17 -0
  478. jsoncompat-0.4.3/tests/fixtures/dataclasses/backcompat/float_form_number_enum_precision/old.py +21 -0
  479. jsoncompat-0.4.3/tests/fixtures/dataclasses/backcompat/format_annotation_changed/new.py +18 -0
  480. jsoncompat-0.4.3/tests/fixtures/dataclasses/backcompat/format_annotation_changed/old.py +18 -0
  481. jsoncompat-0.4.3/tests/fixtures/dataclasses/backcompat/integer_fractional_multiple_of/new.py +17 -0
  482. jsoncompat-0.4.3/tests/fixtures/dataclasses/backcompat/integer_fractional_multiple_of/old.py +18 -0
  483. jsoncompat-0.4.3/tests/fixtures/dataclasses/backcompat/integer_to_number/new.py +17 -0
  484. jsoncompat-0.4.3/tests/fixtures/dataclasses/backcompat/integer_to_number/old.py +17 -0
  485. jsoncompat-0.4.3/tests/fixtures/dataclasses/backcompat/large_integer_enum_precision/new.py +17 -0
  486. jsoncompat-0.4.3/tests/fixtures/dataclasses/backcompat/large_integer_enum_precision/old.py +22 -0
  487. jsoncompat-0.4.3/tests/fixtures/dataclasses/backcompat/maxlength_relaxed/new.py +18 -0
  488. jsoncompat-0.4.3/tests/fixtures/dataclasses/backcompat/maxlength_relaxed/old.py +18 -0
  489. jsoncompat-0.4.3/tests/fixtures/dataclasses/backcompat/minlength_tighten/new.py +18 -0
  490. jsoncompat-0.4.3/tests/fixtures/dataclasses/backcompat/minlength_tighten/old.py +18 -0
  491. jsoncompat-0.4.3/tests/fixtures/dataclasses/backcompat/nested_port_tighten/new.py +70 -0
  492. jsoncompat-0.4.3/tests/fixtures/dataclasses/backcompat/nested_port_tighten/old.py +70 -0
  493. jsoncompat-0.4.3/tests/fixtures/dataclasses/backcompat/nested_unsupported_pattern_enum_not_empty/new.py +32 -0
  494. jsoncompat-0.4.3/tests/fixtures/dataclasses/backcompat/nested_unsupported_pattern_enum_not_empty/old.py +26 -0
  495. jsoncompat-0.4.3/tests/fixtures/dataclasses/backcompat/not_keyword/new.py +19 -0
  496. jsoncompat-0.4.3/tests/fixtures/dataclasses/backcompat/not_keyword/old.py +17 -0
  497. jsoncompat-0.4.3/tests/fixtures/dataclasses/backcompat/nullability_added/new.py +20 -0
  498. jsoncompat-0.4.3/tests/fixtures/dataclasses/backcompat/nullability_added/old.py +17 -0
  499. jsoncompat-0.4.3/tests/fixtures/dataclasses/backcompat/number_enum_satisfies_integer_constraints/new.py +23 -0
  500. jsoncompat-0.4.3/tests/fixtures/dataclasses/backcompat/number_enum_satisfies_integer_constraints/old.py +20 -0
  501. jsoncompat-0.4.3/tests/fixtures/dataclasses/backcompat/number_singleton_is_integer/new.py +19 -0
  502. jsoncompat-0.4.3/tests/fixtures/dataclasses/backcompat/number_singleton_is_integer/old.py +19 -0
  503. jsoncompat-0.4.3/tests/fixtures/dataclasses/backcompat/oneof_array_partition_with_extra_union_type/new.py +45 -0
  504. jsoncompat-0.4.3/tests/fixtures/dataclasses/backcompat/oneof_array_partition_with_extra_union_type/old.py +25 -0
  505. jsoncompat-0.4.3/tests/fixtures/dataclasses/backcompat/oneof_expanded_to_anyof/new.py +27 -0
  506. jsoncompat-0.4.3/tests/fixtures/dataclasses/backcompat/oneof_expanded_to_anyof/old.py +24 -0
  507. jsoncompat-0.4.3/tests/fixtures/dataclasses/backcompat/oneof_narrowed_against_allof_anyof/new.py +24 -0
  508. jsoncompat-0.4.3/tests/fixtures/dataclasses/backcompat/oneof_narrowed_against_allof_anyof/old.py +32 -0
  509. jsoncompat-0.4.3/tests/fixtures/dataclasses/backcompat/oneof_narrowed_against_anyof/new.py +24 -0
  510. jsoncompat-0.4.3/tests/fixtures/dataclasses/backcompat/oneof_narrowed_against_anyof/old.py +27 -0
  511. jsoncompat-0.4.3/tests/fixtures/dataclasses/backcompat/oneof_object_partition_with_extra_union_type/new.py +50 -0
  512. jsoncompat-0.4.3/tests/fixtures/dataclasses/backcompat/oneof_object_partition_with_extra_union_type/old.py +19 -0
  513. jsoncompat-0.4.3/tests/fixtures/dataclasses/backcompat/oneof_object_presence_partition_with_extra_union_type/new.py +61 -0
  514. jsoncompat-0.4.3/tests/fixtures/dataclasses/backcompat/oneof_object_presence_partition_with_extra_union_type/old.py +28 -0
  515. jsoncompat-0.4.3/tests/fixtures/dataclasses/backcompat/oneof_overlap/new.py +24 -0
  516. jsoncompat-0.4.3/tests/fixtures/dataclasses/backcompat/oneof_overlap/old.py +24 -0
  517. jsoncompat-0.4.3/tests/fixtures/dataclasses/backcompat/oneof_string_partition_with_extra_union_type/new.py +32 -0
  518. jsoncompat-0.4.3/tests/fixtures/dataclasses/backcompat/oneof_string_partition_with_extra_union_type/old.py +18 -0
  519. jsoncompat-0.4.3/tests/fixtures/dataclasses/backcompat/oneof_type_expanded/new.py +28 -0
  520. jsoncompat-0.4.3/tests/fixtures/dataclasses/backcompat/oneof_type_expanded/old.py +25 -0
  521. jsoncompat-0.4.3/tests/fixtures/dataclasses/backcompat/optional_to_required/new.py +27 -0
  522. jsoncompat-0.4.3/tests/fixtures/dataclasses/backcompat/optional_to_required/old.py +24 -0
  523. jsoncompat-0.4.3/tests/fixtures/dataclasses/backcompat/overlapping_pattern_properties/new.py +24 -0
  524. jsoncompat-0.4.3/tests/fixtures/dataclasses/backcompat/overlapping_pattern_properties/old.py +27 -0
  525. jsoncompat-0.4.3/tests/fixtures/dataclasses/backcompat/pattern_properties/new.py +23 -0
  526. jsoncompat-0.4.3/tests/fixtures/dataclasses/backcompat/pattern_properties/old.py +18 -0
  527. jsoncompat-0.4.3/tests/fixtures/dataclasses/backcompat/pattern_properties_fall_back_to_additional_properties/new.py +23 -0
  528. jsoncompat-0.4.3/tests/fixtures/dataclasses/backcompat/pattern_properties_fall_back_to_additional_properties/old.py +19 -0
  529. jsoncompat-0.4.3/tests/fixtures/dataclasses/backcompat/prefixitems_first_item_changed/new.py +24 -0
  530. jsoncompat-0.4.3/tests/fixtures/dataclasses/backcompat/prefixitems_first_item_changed/old.py +24 -0
  531. jsoncompat-0.4.3/tests/fixtures/dataclasses/backcompat/property_names_excludes_declared_constraint/new.py +23 -0
  532. jsoncompat-0.4.3/tests/fixtures/dataclasses/backcompat/property_names_excludes_declared_constraint/old.py +24 -0
  533. jsoncompat-0.4.3/tests/fixtures/dataclasses/backcompat/property_names_expanded/new.py +54 -0
  534. jsoncompat-0.4.3/tests/fixtures/dataclasses/backcompat/property_names_expanded/old.py +52 -0
  535. jsoncompat-0.4.3/tests/fixtures/dataclasses/backcompat/recursive_allof_enum_not_empty/new.py +71 -0
  536. jsoncompat-0.4.3/tests/fixtures/dataclasses/backcompat/recursive_allof_enum_not_empty/old.py +26 -0
  537. jsoncompat-0.4.3/tests/fixtures/dataclasses/backcompat/recursive_optional_added/new.py +39 -0
  538. jsoncompat-0.4.3/tests/fixtures/dataclasses/backcompat/recursive_optional_added/old.py +35 -0
  539. jsoncompat-0.4.3/tests/fixtures/dataclasses/backcompat/required_to_optional/new.py +27 -0
  540. jsoncompat-0.4.3/tests/fixtures/dataclasses/backcompat/required_to_optional/old.py +25 -0
  541. jsoncompat-0.4.3/tests/fixtures/dataclasses/backcompat/same_value_recursive_applicator_narrowed/new.py +63 -0
  542. jsoncompat-0.4.3/tests/fixtures/dataclasses/backcompat/same_value_recursive_applicator_narrowed/old.py +63 -0
  543. jsoncompat-0.4.3/tests/fixtures/dataclasses/backcompat/type_change_string_number/new.py +17 -0
  544. jsoncompat-0.4.3/tests/fixtures/dataclasses/backcompat/type_change_string_number/old.py +17 -0
  545. jsoncompat-0.4.3/tests/fixtures/dataclasses/backcompat/uniqueitems_added/new.py +22 -0
  546. jsoncompat-0.4.3/tests/fixtures/dataclasses/backcompat/uniqueitems_added/old.py +21 -0
  547. jsoncompat-0.4.3/tests/fixtures/dataclasses/backcompat/unsupported_pattern_enum_not_empty/new.py +21 -0
  548. jsoncompat-0.4.3/tests/fixtures/dataclasses/backcompat/unsupported_pattern_enum_not_empty/old.py +17 -0
  549. jsoncompat-0.4.3/tests/fixtures/dataclasses/backcompat/unsupported_subset_pattern_properties_additional_fallback/new.py +24 -0
  550. jsoncompat-0.4.3/tests/fixtures/dataclasses/backcompat/unsupported_subset_pattern_properties_additional_fallback/old.py +25 -0
  551. jsoncompat-0.4.3/tests/fixtures/dataclasses/backcompat/unsupported_superset_pattern_enum_membership/new.py +23 -0
  552. jsoncompat-0.4.3/tests/fixtures/dataclasses/backcompat/unsupported_superset_pattern_enum_membership/old.py +24 -0
  553. jsoncompat-0.4.3/tests/fixtures/dataclasses/benchmarks/representative.py +287 -0
  554. jsoncompat-0.4.3/tests/fixtures/dataclasses/benchmarks/scaling.py +706 -0
  555. jsoncompat-0.4.3/tests/fixtures/dataclasses/examples/stamp/user-profile-reader.py +468 -0
  556. jsoncompat-0.4.3/tests/fixtures/dataclasses/examples/stamp/user-profile-writer.py +137 -0
  557. jsoncompat-0.4.3/tests/fixtures/dataclasses/fuzz/additionalProperties/000.py +64 -0
  558. jsoncompat-0.4.3/tests/fixtures/dataclasses/fuzz/additionalProperties/001.py +43 -0
  559. jsoncompat-0.4.3/tests/fixtures/dataclasses/fuzz/additionalProperties/002.py +65 -0
  560. jsoncompat-0.4.3/tests/fixtures/dataclasses/fuzz/additionalProperties/003.py +44 -0
  561. jsoncompat-0.4.3/tests/fixtures/dataclasses/fuzz/additionalProperties/004.py +56 -0
  562. jsoncompat-0.4.3/tests/fixtures/dataclasses/fuzz/additionalProperties/005.py +27 -0
  563. jsoncompat-0.4.3/tests/fixtures/dataclasses/fuzz/additionalProperties/006.py +43 -0
  564. jsoncompat-0.4.3/tests/fixtures/dataclasses/fuzz/additionalProperties/007.py +77 -0
  565. jsoncompat-0.4.3/tests/fixtures/dataclasses/fuzz/additionalProperties/008.py +93 -0
  566. jsoncompat-0.4.3/tests/fixtures/dataclasses/fuzz/allOf/000.py +39 -0
  567. jsoncompat-0.4.3/tests/fixtures/dataclasses/fuzz/allOf/001.py +47 -0
  568. jsoncompat-0.4.3/tests/fixtures/dataclasses/fuzz/allOf/002.py +25 -0
  569. jsoncompat-0.4.3/tests/fixtures/dataclasses/fuzz/allOf/003.py +21 -0
  570. jsoncompat-0.4.3/tests/fixtures/dataclasses/fuzz/allOf/004.py +21 -0
  571. jsoncompat-0.4.3/tests/fixtures/dataclasses/fuzz/allOf/005.py +21 -0
  572. jsoncompat-0.4.3/tests/fixtures/dataclasses/fuzz/allOf/006.py +20 -0
  573. jsoncompat-0.4.3/tests/fixtures/dataclasses/fuzz/allOf/007.py +21 -0
  574. jsoncompat-0.4.3/tests/fixtures/dataclasses/fuzz/allOf/008.py +23 -0
  575. jsoncompat-0.4.3/tests/fixtures/dataclasses/fuzz/allOf/009.py +23 -0
  576. jsoncompat-0.4.3/tests/fixtures/dataclasses/fuzz/allOf/010.py +26 -0
  577. jsoncompat-0.4.3/tests/fixtures/dataclasses/fuzz/allOf/011.py +85 -0
  578. jsoncompat-0.4.3/tests/fixtures/dataclasses/fuzz/anchor/000.error.txt +1 -0
  579. jsoncompat-0.4.3/tests/fixtures/dataclasses/fuzz/anchor/001.error.txt +1 -0
  580. jsoncompat-0.4.3/tests/fixtures/dataclasses/fuzz/anchor/002.error.txt +1 -0
  581. jsoncompat-0.4.3/tests/fixtures/dataclasses/fuzz/anchor/003.error.txt +1 -0
  582. jsoncompat-0.4.3/tests/fixtures/dataclasses/fuzz/anyOf/000.py +43 -0
  583. jsoncompat-0.4.3/tests/fixtures/dataclasses/fuzz/anyOf/001.py +26 -0
  584. jsoncompat-0.4.3/tests/fixtures/dataclasses/fuzz/anyOf/002.py +21 -0
  585. jsoncompat-0.4.3/tests/fixtures/dataclasses/fuzz/anyOf/003.py +21 -0
  586. jsoncompat-0.4.3/tests/fixtures/dataclasses/fuzz/anyOf/004.py +21 -0
  587. jsoncompat-0.4.3/tests/fixtures/dataclasses/fuzz/anyOf/005.py +92 -0
  588. jsoncompat-0.4.3/tests/fixtures/dataclasses/fuzz/anyOf/006.py +23 -0
  589. jsoncompat-0.4.3/tests/fixtures/dataclasses/fuzz/anyOf/007.py +26 -0
  590. jsoncompat-0.4.3/tests/fixtures/dataclasses/fuzz/boolean_schema/000.py +15 -0
  591. jsoncompat-0.4.3/tests/fixtures/dataclasses/fuzz/boolean_schema/001.py +15 -0
  592. jsoncompat-0.4.3/tests/fixtures/dataclasses/fuzz/const/000.py +18 -0
  593. jsoncompat-0.4.3/tests/fixtures/dataclasses/fuzz/const/001.py +22 -0
  594. jsoncompat-0.4.3/tests/fixtures/dataclasses/fuzz/const/002.py +22 -0
  595. jsoncompat-0.4.3/tests/fixtures/dataclasses/fuzz/const/003.py +18 -0
  596. jsoncompat-0.4.3/tests/fixtures/dataclasses/fuzz/const/004.py +18 -0
  597. jsoncompat-0.4.3/tests/fixtures/dataclasses/fuzz/const/005.py +18 -0
  598. jsoncompat-0.4.3/tests/fixtures/dataclasses/fuzz/const/006.py +20 -0
  599. jsoncompat-0.4.3/tests/fixtures/dataclasses/fuzz/const/007.py +20 -0
  600. jsoncompat-0.4.3/tests/fixtures/dataclasses/fuzz/const/008.py +21 -0
  601. jsoncompat-0.4.3/tests/fixtures/dataclasses/fuzz/const/009.py +21 -0
  602. jsoncompat-0.4.3/tests/fixtures/dataclasses/fuzz/const/010.py +18 -0
  603. jsoncompat-0.4.3/tests/fixtures/dataclasses/fuzz/const/011.py +18 -0
  604. jsoncompat-0.4.3/tests/fixtures/dataclasses/fuzz/const/012.py +18 -0
  605. jsoncompat-0.4.3/tests/fixtures/dataclasses/fuzz/const/013.py +18 -0
  606. jsoncompat-0.4.3/tests/fixtures/dataclasses/fuzz/const/014.py +18 -0
  607. jsoncompat-0.4.3/tests/fixtures/dataclasses/fuzz/contains/000.py +38 -0
  608. jsoncompat-0.4.3/tests/fixtures/dataclasses/fuzz/contains/001.py +38 -0
  609. jsoncompat-0.4.3/tests/fixtures/dataclasses/fuzz/contains/002.py +36 -0
  610. jsoncompat-0.4.3/tests/fixtures/dataclasses/fuzz/contains/003.py +36 -0
  611. jsoncompat-0.4.3/tests/fixtures/dataclasses/fuzz/contains/004.py +51 -0
  612. jsoncompat-0.4.3/tests/fixtures/dataclasses/fuzz/contains/005.py +39 -0
  613. jsoncompat-0.4.3/tests/fixtures/dataclasses/fuzz/contains/006.py +38 -0
  614. jsoncompat-0.4.3/tests/fixtures/dataclasses/fuzz/content/000.py +18 -0
  615. jsoncompat-0.4.3/tests/fixtures/dataclasses/fuzz/content/001.py +18 -0
  616. jsoncompat-0.4.3/tests/fixtures/dataclasses/fuzz/content/002.py +19 -0
  617. jsoncompat-0.4.3/tests/fixtures/dataclasses/fuzz/content/003.py +30 -0
  618. jsoncompat-0.4.3/tests/fixtures/dataclasses/fuzz/custom/boolean-applicators/000.py +23 -0
  619. jsoncompat-0.4.3/tests/fixtures/dataclasses/fuzz/custom/boolean-applicators/001.py +23 -0
  620. jsoncompat-0.4.3/tests/fixtures/dataclasses/fuzz/custom/boolean-applicators/002.py +23 -0
  621. jsoncompat-0.4.3/tests/fixtures/dataclasses/fuzz/custom/boolean-applicators/003.py +19 -0
  622. jsoncompat-0.4.3/tests/fixtures/dataclasses/fuzz/custom/canonical-order-dedupe-stability/000.py +24 -0
  623. jsoncompat-0.4.3/tests/fixtures/dataclasses/fuzz/custom/canonical-order-dedupe-stability/001.py +34 -0
  624. jsoncompat-0.4.3/tests/fixtures/dataclasses/fuzz/custom/canonicalization-refs/000.py +24 -0
  625. jsoncompat-0.4.3/tests/fixtures/dataclasses/fuzz/custom/canonicalization-refs/001.py +24 -0
  626. jsoncompat-0.4.3/tests/fixtures/dataclasses/fuzz/custom/canonicalization-refs/002.py +41 -0
  627. jsoncompat-0.4.3/tests/fixtures/dataclasses/fuzz/custom/canonicalization-refs/003.py +35 -0
  628. jsoncompat-0.4.3/tests/fixtures/dataclasses/fuzz/custom/canonicalization-refs/004.py +31 -0
  629. jsoncompat-0.4.3/tests/fixtures/dataclasses/fuzz/custom/canonicalization-refs/005.py +31 -0
  630. jsoncompat-0.4.3/tests/fixtures/dataclasses/fuzz/custom/canonicalization-refs/006.py +22 -0
  631. jsoncompat-0.4.3/tests/fixtures/dataclasses/fuzz/custom/canonicalization-refs/007.py +20 -0
  632. jsoncompat-0.4.3/tests/fixtures/dataclasses/fuzz/custom/canonicalization-refs/008.py +20 -0
  633. jsoncompat-0.4.3/tests/fixtures/dataclasses/fuzz/custom/conditional-edge-cases/000.py +25 -0
  634. jsoncompat-0.4.3/tests/fixtures/dataclasses/fuzz/custom/conditional-edge-cases/001.py +20 -0
  635. jsoncompat-0.4.3/tests/fixtures/dataclasses/fuzz/custom/conditional-edge-cases/002.py +24 -0
  636. jsoncompat-0.4.3/tests/fixtures/dataclasses/fuzz/custom/contains-cardinality/000.py +32 -0
  637. jsoncompat-0.4.3/tests/fixtures/dataclasses/fuzz/custom/contains-cardinality/001.py +30 -0
  638. jsoncompat-0.4.3/tests/fixtures/dataclasses/fuzz/custom/contains-cardinality/002.py +30 -0
  639. jsoncompat-0.4.3/tests/fixtures/dataclasses/fuzz/custom/enum-const-keyword-mismatch/000.py +25 -0
  640. jsoncompat-0.4.3/tests/fixtures/dataclasses/fuzz/custom/enum-const-keyword-mismatch/001.py +19 -0
  641. jsoncompat-0.4.3/tests/fixtures/dataclasses/fuzz/custom/enum-const-keyword-mismatch/002.py +21 -0
  642. jsoncompat-0.4.3/tests/fixtures/dataclasses/fuzz/custom/indexed-applicator-refs/000.py +64 -0
  643. jsoncompat-0.4.3/tests/fixtures/dataclasses/fuzz/custom/integer-boundaries/000.py +20 -0
  644. jsoncompat-0.4.3/tests/fixtures/dataclasses/fuzz/custom/integer-boundaries/001.py +20 -0
  645. jsoncompat-0.4.3/tests/fixtures/dataclasses/fuzz/custom/integer-boundaries/002.py +21 -0
  646. jsoncompat-0.4.3/tests/fixtures/dataclasses/fuzz/custom/local-ref-type-suppression/000.py +30 -0
  647. jsoncompat-0.4.3/tests/fixtures/dataclasses/fuzz/custom/local-ref-type-suppression/001.py +24 -0
  648. jsoncompat-0.4.3/tests/fixtures/dataclasses/fuzz/custom/metadata-collapse/000.py +39 -0
  649. jsoncompat-0.4.3/tests/fixtures/dataclasses/fuzz/custom/metadata-collapse/001.py +31 -0
  650. jsoncompat-0.4.3/tests/fixtures/dataclasses/fuzz/custom/mutual-recursive-defs/000.py +300 -0
  651. jsoncompat-0.4.3/tests/fixtures/dataclasses/fuzz/custom/object-required-dependencies/000.py +42 -0
  652. jsoncompat-0.4.3/tests/fixtures/dataclasses/fuzz/custom/oneof-rewrite-safety/000.py +95 -0
  653. jsoncompat-0.4.3/tests/fixtures/dataclasses/fuzz/custom/oneof-rewrite-safety/001.py +26 -0
  654. jsoncompat-0.4.3/tests/fixtures/dataclasses/fuzz/custom/property-names-additional-properties/000.py +34 -0
  655. jsoncompat-0.4.3/tests/fixtures/dataclasses/fuzz/custom/recursive-applicator-refs/000.py +144 -0
  656. jsoncompat-0.4.3/tests/fixtures/dataclasses/fuzz/custom/unknown-keyword-refs/000.py +27 -0
  657. jsoncompat-0.4.3/tests/fixtures/dataclasses/fuzz/custom/unknown-keyword-refs/001.py +32 -0
  658. jsoncompat-0.4.3/tests/fixtures/dataclasses/fuzz/default/000.py +47 -0
  659. jsoncompat-0.4.3/tests/fixtures/dataclasses/fuzz/default/001.py +48 -0
  660. jsoncompat-0.4.3/tests/fixtures/dataclasses/fuzz/default/002.py +27 -0
  661. jsoncompat-0.4.3/tests/fixtures/dataclasses/fuzz/defs/000.error.txt +1 -0
  662. jsoncompat-0.4.3/tests/fixtures/dataclasses/fuzz/dependentRequired/000.py +45 -0
  663. jsoncompat-0.4.3/tests/fixtures/dataclasses/fuzz/dependentRequired/001.py +41 -0
  664. jsoncompat-0.4.3/tests/fixtures/dataclasses/fuzz/dependentRequired/002.py +47 -0
  665. jsoncompat-0.4.3/tests/fixtures/dataclasses/fuzz/dependentRequired/003.py +51 -0
  666. jsoncompat-0.4.3/tests/fixtures/dataclasses/fuzz/dependentSchemas/000.py +90 -0
  667. jsoncompat-0.4.3/tests/fixtures/dataclasses/fuzz/dependentSchemas/001.py +43 -0
  668. jsoncompat-0.4.3/tests/fixtures/dataclasses/fuzz/dependentSchemas/002.py +116 -0
  669. jsoncompat-0.4.3/tests/fixtures/dataclasses/fuzz/dependentSchemas/003.py +92 -0
  670. jsoncompat-0.4.3/tests/fixtures/dataclasses/fuzz/dynamicRef/000.py +58 -0
  671. jsoncompat-0.4.3/tests/fixtures/dataclasses/fuzz/dynamicRef/001.py +58 -0
  672. jsoncompat-0.4.3/tests/fixtures/dataclasses/fuzz/dynamicRef/002.error.txt +1 -0
  673. jsoncompat-0.4.3/tests/fixtures/dataclasses/fuzz/dynamicRef/003.error.txt +1 -0
  674. jsoncompat-0.4.3/tests/fixtures/dataclasses/fuzz/dynamicRef/004.error.txt +1 -0
  675. jsoncompat-0.4.3/tests/fixtures/dataclasses/fuzz/dynamicRef/005.error.txt +1 -0
  676. jsoncompat-0.4.3/tests/fixtures/dataclasses/fuzz/dynamicRef/006.error.txt +1 -0
  677. jsoncompat-0.4.3/tests/fixtures/dataclasses/fuzz/dynamicRef/007.error.txt +1 -0
  678. jsoncompat-0.4.3/tests/fixtures/dataclasses/fuzz/dynamicRef/008.error.txt +1 -0
  679. jsoncompat-0.4.3/tests/fixtures/dataclasses/fuzz/dynamicRef/009.error.txt +1 -0
  680. jsoncompat-0.4.3/tests/fixtures/dataclasses/fuzz/dynamicRef/010.error.txt +1 -0
  681. jsoncompat-0.4.3/tests/fixtures/dataclasses/fuzz/dynamicRef/011.error.txt +1 -0
  682. jsoncompat-0.4.3/tests/fixtures/dataclasses/fuzz/dynamicRef/012.py +99 -0
  683. jsoncompat-0.4.3/tests/fixtures/dataclasses/fuzz/dynamicRef/013.error.txt +1 -0
  684. jsoncompat-0.4.3/tests/fixtures/dataclasses/fuzz/dynamicRef/014.error.txt +1 -0
  685. jsoncompat-0.4.3/tests/fixtures/dataclasses/fuzz/dynamicRef/015.py +37 -0
  686. jsoncompat-0.4.3/tests/fixtures/dataclasses/fuzz/dynamicRef/016.py +37 -0
  687. jsoncompat-0.4.3/tests/fixtures/dataclasses/fuzz/dynamicRef/017.error.txt +1 -0
  688. jsoncompat-0.4.3/tests/fixtures/dataclasses/fuzz/dynamicRef/018.py +41 -0
  689. jsoncompat-0.4.3/tests/fixtures/dataclasses/fuzz/dynamicRef/019.error.txt +1 -0
  690. jsoncompat-0.4.3/tests/fixtures/dataclasses/fuzz/enum/000.py +22 -0
  691. jsoncompat-0.4.3/tests/fixtures/dataclasses/fuzz/enum/001.py +26 -0
  692. jsoncompat-0.4.3/tests/fixtures/dataclasses/fuzz/enum/002.py +21 -0
  693. jsoncompat-0.4.3/tests/fixtures/dataclasses/fuzz/enum/003.py +36 -0
  694. jsoncompat-0.4.3/tests/fixtures/dataclasses/fuzz/enum/004.py +21 -0
  695. jsoncompat-0.4.3/tests/fixtures/dataclasses/fuzz/enum/005.py +20 -0
  696. jsoncompat-0.4.3/tests/fixtures/dataclasses/fuzz/enum/006.py +22 -0
  697. jsoncompat-0.4.3/tests/fixtures/dataclasses/fuzz/enum/007.py +20 -0
  698. jsoncompat-0.4.3/tests/fixtures/dataclasses/fuzz/enum/008.py +22 -0
  699. jsoncompat-0.4.3/tests/fixtures/dataclasses/fuzz/enum/009.py +20 -0
  700. jsoncompat-0.4.3/tests/fixtures/dataclasses/fuzz/enum/010.py +22 -0
  701. jsoncompat-0.4.3/tests/fixtures/dataclasses/fuzz/enum/011.py +20 -0
  702. jsoncompat-0.4.3/tests/fixtures/dataclasses/fuzz/enum/012.py +22 -0
  703. jsoncompat-0.4.3/tests/fixtures/dataclasses/fuzz/enum/013.py +20 -0
  704. jsoncompat-0.4.3/tests/fixtures/dataclasses/fuzz/exclusiveMaximum/000.py +36 -0
  705. jsoncompat-0.4.3/tests/fixtures/dataclasses/fuzz/exclusiveMinimum/000.py +36 -0
  706. jsoncompat-0.4.3/tests/fixtures/dataclasses/fuzz/format/000.py +36 -0
  707. jsoncompat-0.4.3/tests/fixtures/dataclasses/fuzz/format/001.py +36 -0
  708. jsoncompat-0.4.3/tests/fixtures/dataclasses/fuzz/format/002.py +36 -0
  709. jsoncompat-0.4.3/tests/fixtures/dataclasses/fuzz/format/003.py +36 -0
  710. jsoncompat-0.4.3/tests/fixtures/dataclasses/fuzz/format/004.py +36 -0
  711. jsoncompat-0.4.3/tests/fixtures/dataclasses/fuzz/format/005.py +36 -0
  712. jsoncompat-0.4.3/tests/fixtures/dataclasses/fuzz/format/006.py +36 -0
  713. jsoncompat-0.4.3/tests/fixtures/dataclasses/fuzz/format/007.py +36 -0
  714. jsoncompat-0.4.3/tests/fixtures/dataclasses/fuzz/format/008.py +36 -0
  715. jsoncompat-0.4.3/tests/fixtures/dataclasses/fuzz/format/009.py +36 -0
  716. jsoncompat-0.4.3/tests/fixtures/dataclasses/fuzz/format/010.py +36 -0
  717. jsoncompat-0.4.3/tests/fixtures/dataclasses/fuzz/format/011.py +36 -0
  718. jsoncompat-0.4.3/tests/fixtures/dataclasses/fuzz/format/012.py +36 -0
  719. jsoncompat-0.4.3/tests/fixtures/dataclasses/fuzz/format/013.py +36 -0
  720. jsoncompat-0.4.3/tests/fixtures/dataclasses/fuzz/format/014.py +36 -0
  721. jsoncompat-0.4.3/tests/fixtures/dataclasses/fuzz/format/015.py +36 -0
  722. jsoncompat-0.4.3/tests/fixtures/dataclasses/fuzz/format/016.py +36 -0
  723. jsoncompat-0.4.3/tests/fixtures/dataclasses/fuzz/format/017.py +36 -0
  724. jsoncompat-0.4.3/tests/fixtures/dataclasses/fuzz/format/018.py +36 -0
  725. jsoncompat-0.4.3/tests/fixtures/dataclasses/fuzz/if-then-else/000.py +20 -0
  726. jsoncompat-0.4.3/tests/fixtures/dataclasses/fuzz/if-then-else/001.py +20 -0
  727. jsoncompat-0.4.3/tests/fixtures/dataclasses/fuzz/if-then-else/002.py +20 -0
  728. jsoncompat-0.4.3/tests/fixtures/dataclasses/fuzz/if-then-else/003.py +23 -0
  729. jsoncompat-0.4.3/tests/fixtures/dataclasses/fuzz/if-then-else/004.py +23 -0
  730. jsoncompat-0.4.3/tests/fixtures/dataclasses/fuzz/if-then-else/005.py +26 -0
  731. jsoncompat-0.4.3/tests/fixtures/dataclasses/fuzz/if-then-else/006.py +34 -0
  732. jsoncompat-0.4.3/tests/fixtures/dataclasses/fuzz/if-then-else/007.py +24 -0
  733. jsoncompat-0.4.3/tests/fixtures/dataclasses/fuzz/if-then-else/008.py +24 -0
  734. jsoncompat-0.4.3/tests/fixtures/dataclasses/fuzz/if-then-else/009.py +26 -0
  735. jsoncompat-0.4.3/tests/fixtures/dataclasses/fuzz/infinite-loop-detection/000.py +49 -0
  736. jsoncompat-0.4.3/tests/fixtures/dataclasses/fuzz/items/000.py +32 -0
  737. jsoncompat-0.4.3/tests/fixtures/dataclasses/fuzz/items/001.py +18 -0
  738. jsoncompat-0.4.3/tests/fixtures/dataclasses/fuzz/items/002.py +36 -0
  739. jsoncompat-0.4.3/tests/fixtures/dataclasses/fuzz/items/003.py +126 -0
  740. jsoncompat-0.4.3/tests/fixtures/dataclasses/fuzz/items/004.py +31 -0
  741. jsoncompat-0.4.3/tests/fixtures/dataclasses/fuzz/items/005.py +35 -0
  742. jsoncompat-0.4.3/tests/fixtures/dataclasses/fuzz/items/006.py +29 -0
  743. jsoncompat-0.4.3/tests/fixtures/dataclasses/fuzz/items/007.py +37 -0
  744. jsoncompat-0.4.3/tests/fixtures/dataclasses/fuzz/items/008.py +33 -0
  745. jsoncompat-0.4.3/tests/fixtures/dataclasses/fuzz/items/009.py +32 -0
  746. jsoncompat-0.4.3/tests/fixtures/dataclasses/fuzz/maxContains/000.py +18 -0
  747. jsoncompat-0.4.3/tests/fixtures/dataclasses/fuzz/maxContains/001.py +39 -0
  748. jsoncompat-0.4.3/tests/fixtures/dataclasses/fuzz/maxContains/002.py +39 -0
  749. jsoncompat-0.4.3/tests/fixtures/dataclasses/fuzz/maxContains/003.py +40 -0
  750. jsoncompat-0.4.3/tests/fixtures/dataclasses/fuzz/maxItems/000.py +36 -0
  751. jsoncompat-0.4.3/tests/fixtures/dataclasses/fuzz/maxItems/001.py +36 -0
  752. jsoncompat-0.4.3/tests/fixtures/dataclasses/fuzz/maxLength/000.py +36 -0
  753. jsoncompat-0.4.3/tests/fixtures/dataclasses/fuzz/maxLength/001.py +36 -0
  754. jsoncompat-0.4.3/tests/fixtures/dataclasses/fuzz/maxProperties/000.py +37 -0
  755. jsoncompat-0.4.3/tests/fixtures/dataclasses/fuzz/maxProperties/001.py +37 -0
  756. jsoncompat-0.4.3/tests/fixtures/dataclasses/fuzz/maxProperties/002.py +37 -0
  757. jsoncompat-0.4.3/tests/fixtures/dataclasses/fuzz/maximum/000.py +36 -0
  758. jsoncompat-0.4.3/tests/fixtures/dataclasses/fuzz/maximum/001.py +36 -0
  759. jsoncompat-0.4.3/tests/fixtures/dataclasses/fuzz/minContains/000.py +18 -0
  760. jsoncompat-0.4.3/tests/fixtures/dataclasses/fuzz/minContains/001.py +39 -0
  761. jsoncompat-0.4.3/tests/fixtures/dataclasses/fuzz/minContains/002.py +39 -0
  762. jsoncompat-0.4.3/tests/fixtures/dataclasses/fuzz/minContains/003.py +39 -0
  763. jsoncompat-0.4.3/tests/fixtures/dataclasses/fuzz/minContains/004.py +40 -0
  764. jsoncompat-0.4.3/tests/fixtures/dataclasses/fuzz/minContains/005.py +43 -0
  765. jsoncompat-0.4.3/tests/fixtures/dataclasses/fuzz/minContains/006.py +39 -0
  766. jsoncompat-0.4.3/tests/fixtures/dataclasses/fuzz/minContains/007.py +40 -0
  767. jsoncompat-0.4.3/tests/fixtures/dataclasses/fuzz/minItems/000.py +36 -0
  768. jsoncompat-0.4.3/tests/fixtures/dataclasses/fuzz/minItems/001.py +36 -0
  769. jsoncompat-0.4.3/tests/fixtures/dataclasses/fuzz/minLength/000.py +36 -0
  770. jsoncompat-0.4.3/tests/fixtures/dataclasses/fuzz/minLength/001.py +36 -0
  771. jsoncompat-0.4.3/tests/fixtures/dataclasses/fuzz/minProperties/000.py +36 -0
  772. jsoncompat-0.4.3/tests/fixtures/dataclasses/fuzz/minProperties/001.py +36 -0
  773. jsoncompat-0.4.3/tests/fixtures/dataclasses/fuzz/minimum/000.py +36 -0
  774. jsoncompat-0.4.3/tests/fixtures/dataclasses/fuzz/minimum/001.py +36 -0
  775. jsoncompat-0.4.3/tests/fixtures/dataclasses/fuzz/multipleOf/000.py +36 -0
  776. jsoncompat-0.4.3/tests/fixtures/dataclasses/fuzz/multipleOf/001.py +36 -0
  777. jsoncompat-0.4.3/tests/fixtures/dataclasses/fuzz/multipleOf/002.py +36 -0
  778. jsoncompat-0.4.3/tests/fixtures/dataclasses/fuzz/multipleOf/003.py +19 -0
  779. jsoncompat-0.4.3/tests/fixtures/dataclasses/fuzz/multipleOf/004.py +19 -0
  780. jsoncompat-0.4.3/tests/fixtures/dataclasses/fuzz/not/000.py +20 -0
  781. jsoncompat-0.4.3/tests/fixtures/dataclasses/fuzz/not/001.py +23 -0
  782. jsoncompat-0.4.3/tests/fixtures/dataclasses/fuzz/not/002.py +25 -0
  783. jsoncompat-0.4.3/tests/fixtures/dataclasses/fuzz/not/003.py +53 -0
  784. jsoncompat-0.4.3/tests/fixtures/dataclasses/fuzz/not/004.py +18 -0
  785. jsoncompat-0.4.3/tests/fixtures/dataclasses/fuzz/not/005.py +18 -0
  786. jsoncompat-0.4.3/tests/fixtures/dataclasses/fuzz/not/006.py +18 -0
  787. jsoncompat-0.4.3/tests/fixtures/dataclasses/fuzz/not/007.py +20 -0
  788. jsoncompat-0.4.3/tests/fixtures/dataclasses/fuzz/not/008.py +29 -0
  789. jsoncompat-0.4.3/tests/fixtures/dataclasses/fuzz/oneOf/000.py +43 -0
  790. jsoncompat-0.4.3/tests/fixtures/dataclasses/fuzz/oneOf/001.py +26 -0
  791. jsoncompat-0.4.3/tests/fixtures/dataclasses/fuzz/oneOf/002.py +22 -0
  792. jsoncompat-0.4.3/tests/fixtures/dataclasses/fuzz/oneOf/003.py +22 -0
  793. jsoncompat-0.4.3/tests/fixtures/dataclasses/fuzz/oneOf/004.py +22 -0
  794. jsoncompat-0.4.3/tests/fixtures/dataclasses/fuzz/oneOf/005.py +22 -0
  795. jsoncompat-0.4.3/tests/fixtures/dataclasses/fuzz/oneOf/006.py +92 -0
  796. jsoncompat-0.4.3/tests/fixtures/dataclasses/fuzz/oneOf/007.py +29 -0
  797. jsoncompat-0.4.3/tests/fixtures/dataclasses/fuzz/oneOf/008.py +33 -0
  798. jsoncompat-0.4.3/tests/fixtures/dataclasses/fuzz/oneOf/009.py +103 -0
  799. jsoncompat-0.4.3/tests/fixtures/dataclasses/fuzz/oneOf/010.py +26 -0
  800. jsoncompat-0.4.3/tests/fixtures/dataclasses/fuzz/optional/anchor/000.error.txt +1 -0
  801. jsoncompat-0.4.3/tests/fixtures/dataclasses/fuzz/optional/bignum/000.py +18 -0
  802. jsoncompat-0.4.3/tests/fixtures/dataclasses/fuzz/optional/bignum/001.py +18 -0
  803. jsoncompat-0.4.3/tests/fixtures/dataclasses/fuzz/optional/bignum/002.py +18 -0
  804. jsoncompat-0.4.3/tests/fixtures/dataclasses/fuzz/optional/bignum/003.py +36 -0
  805. jsoncompat-0.4.3/tests/fixtures/dataclasses/fuzz/optional/bignum/004.py +36 -0
  806. jsoncompat-0.4.3/tests/fixtures/dataclasses/fuzz/optional/bignum/005.py +36 -0
  807. jsoncompat-0.4.3/tests/fixtures/dataclasses/fuzz/optional/bignum/006.py +36 -0
  808. jsoncompat-0.4.3/tests/fixtures/dataclasses/fuzz/optional/cross-draft/000.error.txt +1 -0
  809. jsoncompat-0.4.3/tests/fixtures/dataclasses/fuzz/optional/dependencies-compatibility/000.py +22 -0
  810. jsoncompat-0.4.3/tests/fixtures/dataclasses/fuzz/optional/dependencies-compatibility/001.py +20 -0
  811. jsoncompat-0.4.3/tests/fixtures/dataclasses/fuzz/optional/dependencies-compatibility/002.py +23 -0
  812. jsoncompat-0.4.3/tests/fixtures/dataclasses/fuzz/optional/dependencies-compatibility/003.py +25 -0
  813. jsoncompat-0.4.3/tests/fixtures/dataclasses/fuzz/optional/dependencies-compatibility/004.py +29 -0
  814. jsoncompat-0.4.3/tests/fixtures/dataclasses/fuzz/optional/dependencies-compatibility/005.py +21 -0
  815. jsoncompat-0.4.3/tests/fixtures/dataclasses/fuzz/optional/dependencies-compatibility/006.py +27 -0
  816. jsoncompat-0.4.3/tests/fixtures/dataclasses/fuzz/optional/dynamicRef/000.error.txt +1 -0
  817. jsoncompat-0.4.3/tests/fixtures/dataclasses/fuzz/optional/ecmascript-regex/000.py +19 -0
  818. jsoncompat-0.4.3/tests/fixtures/dataclasses/fuzz/optional/ecmascript-regex/001.py +19 -0
  819. jsoncompat-0.4.3/tests/fixtures/dataclasses/fuzz/optional/ecmascript-regex/002.py +19 -0
  820. jsoncompat-0.4.3/tests/fixtures/dataclasses/fuzz/optional/ecmascript-regex/003.py +19 -0
  821. jsoncompat-0.4.3/tests/fixtures/dataclasses/fuzz/optional/ecmascript-regex/004.py +19 -0
  822. jsoncompat-0.4.3/tests/fixtures/dataclasses/fuzz/optional/ecmascript-regex/005.py +19 -0
  823. jsoncompat-0.4.3/tests/fixtures/dataclasses/fuzz/optional/ecmascript-regex/006.py +19 -0
  824. jsoncompat-0.4.3/tests/fixtures/dataclasses/fuzz/optional/ecmascript-regex/007.py +19 -0
  825. jsoncompat-0.4.3/tests/fixtures/dataclasses/fuzz/optional/ecmascript-regex/008.py +19 -0
  826. jsoncompat-0.4.3/tests/fixtures/dataclasses/fuzz/optional/ecmascript-regex/009.py +19 -0
  827. jsoncompat-0.4.3/tests/fixtures/dataclasses/fuzz/optional/ecmascript-regex/010.py +36 -0
  828. jsoncompat-0.4.3/tests/fixtures/dataclasses/fuzz/optional/ecmascript-regex/011.py +36 -0
  829. jsoncompat-0.4.3/tests/fixtures/dataclasses/fuzz/optional/ecmascript-regex/012.py +36 -0
  830. jsoncompat-0.4.3/tests/fixtures/dataclasses/fuzz/optional/ecmascript-regex/013.py +36 -0
  831. jsoncompat-0.4.3/tests/fixtures/dataclasses/fuzz/optional/ecmascript-regex/014.py +36 -0
  832. jsoncompat-0.4.3/tests/fixtures/dataclasses/fuzz/optional/ecmascript-regex/015.py +23 -0
  833. jsoncompat-0.4.3/tests/fixtures/dataclasses/fuzz/optional/ecmascript-regex/016.py +23 -0
  834. jsoncompat-0.4.3/tests/fixtures/dataclasses/fuzz/optional/ecmascript-regex/017.py +23 -0
  835. jsoncompat-0.4.3/tests/fixtures/dataclasses/fuzz/optional/ecmascript-regex/018.py +23 -0
  836. jsoncompat-0.4.3/tests/fixtures/dataclasses/fuzz/optional/ecmascript-regex/019.py +23 -0
  837. jsoncompat-0.4.3/tests/fixtures/dataclasses/fuzz/optional/float-overflow/000.py +19 -0
  838. jsoncompat-0.4.3/tests/fixtures/dataclasses/fuzz/optional/format/date/000.py +36 -0
  839. jsoncompat-0.4.3/tests/fixtures/dataclasses/fuzz/optional/format/date-time/000.py +36 -0
  840. jsoncompat-0.4.3/tests/fixtures/dataclasses/fuzz/optional/format/duration/000.py +36 -0
  841. jsoncompat-0.4.3/tests/fixtures/dataclasses/fuzz/optional/format/ecmascript-regex/000.py +36 -0
  842. jsoncompat-0.4.3/tests/fixtures/dataclasses/fuzz/optional/format/email/000.py +36 -0
  843. jsoncompat-0.4.3/tests/fixtures/dataclasses/fuzz/optional/format/hostname/000.py +36 -0
  844. jsoncompat-0.4.3/tests/fixtures/dataclasses/fuzz/optional/format/idn-email/000.py +36 -0
  845. jsoncompat-0.4.3/tests/fixtures/dataclasses/fuzz/optional/format/idn-hostname/000.py +36 -0
  846. jsoncompat-0.4.3/tests/fixtures/dataclasses/fuzz/optional/format/idn-hostname/001.py +36 -0
  847. jsoncompat-0.4.3/tests/fixtures/dataclasses/fuzz/optional/format/ipv4/000.py +36 -0
  848. jsoncompat-0.4.3/tests/fixtures/dataclasses/fuzz/optional/format/ipv6/000.py +36 -0
  849. jsoncompat-0.4.3/tests/fixtures/dataclasses/fuzz/optional/format/iri/000.py +36 -0
  850. jsoncompat-0.4.3/tests/fixtures/dataclasses/fuzz/optional/format/iri-reference/000.py +36 -0
  851. jsoncompat-0.4.3/tests/fixtures/dataclasses/fuzz/optional/format/json-pointer/000.py +36 -0
  852. jsoncompat-0.4.3/tests/fixtures/dataclasses/fuzz/optional/format/regex/000.py +36 -0
  853. jsoncompat-0.4.3/tests/fixtures/dataclasses/fuzz/optional/format/relative-json-pointer/000.py +36 -0
  854. jsoncompat-0.4.3/tests/fixtures/dataclasses/fuzz/optional/format/time/000.py +36 -0
  855. jsoncompat-0.4.3/tests/fixtures/dataclasses/fuzz/optional/format/unknown/000.py +36 -0
  856. jsoncompat-0.4.3/tests/fixtures/dataclasses/fuzz/optional/format/uri/000.py +36 -0
  857. jsoncompat-0.4.3/tests/fixtures/dataclasses/fuzz/optional/format/uri-reference/000.py +36 -0
  858. jsoncompat-0.4.3/tests/fixtures/dataclasses/fuzz/optional/format/uri-template/000.py +36 -0
  859. jsoncompat-0.4.3/tests/fixtures/dataclasses/fuzz/optional/format/uuid/000.py +36 -0
  860. jsoncompat-0.4.3/tests/fixtures/dataclasses/fuzz/optional/format-assertion/000.error.txt +1 -0
  861. jsoncompat-0.4.3/tests/fixtures/dataclasses/fuzz/optional/format-assertion/001.error.txt +1 -0
  862. jsoncompat-0.4.3/tests/fixtures/dataclasses/fuzz/optional/id/000.error.txt +1 -0
  863. jsoncompat-0.4.3/tests/fixtures/dataclasses/fuzz/optional/no-schema/000.py +34 -0
  864. jsoncompat-0.4.3/tests/fixtures/dataclasses/fuzz/optional/non-bmp-regex/000.py +36 -0
  865. jsoncompat-0.4.3/tests/fixtures/dataclasses/fuzz/optional/non-bmp-regex/001.py +46 -0
  866. jsoncompat-0.4.3/tests/fixtures/dataclasses/fuzz/optional/refOfUnknownKeyword/000.py +25 -0
  867. jsoncompat-0.4.3/tests/fixtures/dataclasses/fuzz/optional/refOfUnknownKeyword/001.py +27 -0
  868. jsoncompat-0.4.3/tests/fixtures/dataclasses/fuzz/optional/unknownKeyword/000.error.txt +1 -0
  869. jsoncompat-0.4.3/tests/fixtures/dataclasses/fuzz/pattern/000.py +36 -0
  870. jsoncompat-0.4.3/tests/fixtures/dataclasses/fuzz/pattern/001.py +36 -0
  871. jsoncompat-0.4.3/tests/fixtures/dataclasses/fuzz/patternProperties/000.py +46 -0
  872. jsoncompat-0.4.3/tests/fixtures/dataclasses/fuzz/patternProperties/001.py +98 -0
  873. jsoncompat-0.4.3/tests/fixtures/dataclasses/fuzz/patternProperties/002.py +55 -0
  874. jsoncompat-0.4.3/tests/fixtures/dataclasses/fuzz/patternProperties/003.py +43 -0
  875. jsoncompat-0.4.3/tests/fixtures/dataclasses/fuzz/patternProperties/004.py +47 -0
  876. jsoncompat-0.4.3/tests/fixtures/dataclasses/fuzz/prefixItems/000.py +37 -0
  877. jsoncompat-0.4.3/tests/fixtures/dataclasses/fuzz/prefixItems/001.py +33 -0
  878. jsoncompat-0.4.3/tests/fixtures/dataclasses/fuzz/prefixItems/002.py +34 -0
  879. jsoncompat-0.4.3/tests/fixtures/dataclasses/fuzz/prefixItems/003.py +34 -0
  880. jsoncompat-0.4.3/tests/fixtures/dataclasses/fuzz/properties/000.py +54 -0
  881. jsoncompat-0.4.3/tests/fixtures/dataclasses/fuzz/properties/001.py +132 -0
  882. jsoncompat-0.4.3/tests/fixtures/dataclasses/fuzz/properties/002.py +56 -0
  883. jsoncompat-0.4.3/tests/fixtures/dataclasses/fuzz/properties/003.py +80 -0
  884. jsoncompat-0.4.3/tests/fixtures/dataclasses/fuzz/properties/004.py +47 -0
  885. jsoncompat-0.4.3/tests/fixtures/dataclasses/fuzz/properties/005.py +119 -0
  886. jsoncompat-0.4.3/tests/fixtures/dataclasses/fuzz/propertyNames/000.py +71 -0
  887. jsoncompat-0.4.3/tests/fixtures/dataclasses/fuzz/propertyNames/001.py +71 -0
  888. jsoncompat-0.4.3/tests/fixtures/dataclasses/fuzz/propertyNames/002.py +37 -0
  889. jsoncompat-0.4.3/tests/fixtures/dataclasses/fuzz/propertyNames/003.py +37 -0
  890. jsoncompat-0.4.3/tests/fixtures/dataclasses/fuzz/propertyNames/004.py +43 -0
  891. jsoncompat-0.4.3/tests/fixtures/dataclasses/fuzz/propertyNames/005.py +47 -0
  892. jsoncompat-0.4.3/tests/fixtures/dataclasses/fuzz/ref/000.py +23 -0
  893. jsoncompat-0.4.3/tests/fixtures/dataclasses/fuzz/ref/001.py +25 -0
  894. jsoncompat-0.4.3/tests/fixtures/dataclasses/fuzz/ref/002.py +25 -0
  895. jsoncompat-0.4.3/tests/fixtures/dataclasses/fuzz/ref/003.py +96 -0
  896. jsoncompat-0.4.3/tests/fixtures/dataclasses/fuzz/ref/004.py +86 -0
  897. jsoncompat-0.4.3/tests/fixtures/dataclasses/fuzz/ref/005.py +48 -0
  898. jsoncompat-0.4.3/tests/fixtures/dataclasses/fuzz/ref/006.error.txt +1 -0
  899. jsoncompat-0.4.3/tests/fixtures/dataclasses/fuzz/ref/007.py +46 -0
  900. jsoncompat-0.4.3/tests/fixtures/dataclasses/fuzz/ref/008.py +40 -0
  901. jsoncompat-0.4.3/tests/fixtures/dataclasses/fuzz/ref/009.py +27 -0
  902. jsoncompat-0.4.3/tests/fixtures/dataclasses/fuzz/ref/010.py +27 -0
  903. jsoncompat-0.4.3/tests/fixtures/dataclasses/fuzz/ref/011.error.txt +1 -0
  904. jsoncompat-0.4.3/tests/fixtures/dataclasses/fuzz/ref/012.py +40 -0
  905. jsoncompat-0.4.3/tests/fixtures/dataclasses/fuzz/ref/013.py +64 -0
  906. jsoncompat-0.4.3/tests/fixtures/dataclasses/fuzz/ref/014.py +41 -0
  907. jsoncompat-0.4.3/tests/fixtures/dataclasses/fuzz/ref/015.error.txt +1 -0
  908. jsoncompat-0.4.3/tests/fixtures/dataclasses/fuzz/ref/016.error.txt +1 -0
  909. jsoncompat-0.4.3/tests/fixtures/dataclasses/fuzz/ref/017.py +65 -0
  910. jsoncompat-0.4.3/tests/fixtures/dataclasses/fuzz/ref/018.error.txt +1 -0
  911. jsoncompat-0.4.3/tests/fixtures/dataclasses/fuzz/ref/019.error.txt +1 -0
  912. jsoncompat-0.4.3/tests/fixtures/dataclasses/fuzz/ref/020.error.txt +1 -0
  913. jsoncompat-0.4.3/tests/fixtures/dataclasses/fuzz/ref/021.py +42 -0
  914. jsoncompat-0.4.3/tests/fixtures/dataclasses/fuzz/ref/022.py +42 -0
  915. jsoncompat-0.4.3/tests/fixtures/dataclasses/fuzz/ref/023.py +42 -0
  916. jsoncompat-0.4.3/tests/fixtures/dataclasses/fuzz/ref/024.py +42 -0
  917. jsoncompat-0.4.3/tests/fixtures/dataclasses/fuzz/ref/025.error.txt +1 -0
  918. jsoncompat-0.4.3/tests/fixtures/dataclasses/fuzz/ref/026.error.txt +1 -0
  919. jsoncompat-0.4.3/tests/fixtures/dataclasses/fuzz/ref/027.error.txt +1 -0
  920. jsoncompat-0.4.3/tests/fixtures/dataclasses/fuzz/ref/028.error.txt +1 -0
  921. jsoncompat-0.4.3/tests/fixtures/dataclasses/fuzz/ref/029.error.txt +1 -0
  922. jsoncompat-0.4.3/tests/fixtures/dataclasses/fuzz/ref/030.error.txt +1 -0
  923. jsoncompat-0.4.3/tests/fixtures/dataclasses/fuzz/ref/031.error.txt +1 -0
  924. jsoncompat-0.4.3/tests/fixtures/dataclasses/fuzz/ref/032.py +37 -0
  925. jsoncompat-0.4.3/tests/fixtures/dataclasses/fuzz/ref/033.py +37 -0
  926. jsoncompat-0.4.3/tests/fixtures/dataclasses/fuzz/ref/034.py +64 -0
  927. jsoncompat-0.4.3/tests/fixtures/dataclasses/fuzz/refRemote/000.error.txt +1 -0
  928. jsoncompat-0.4.3/tests/fixtures/dataclasses/fuzz/refRemote/001.error.txt +1 -0
  929. jsoncompat-0.4.3/tests/fixtures/dataclasses/fuzz/refRemote/002.error.txt +1 -0
  930. jsoncompat-0.4.3/tests/fixtures/dataclasses/fuzz/refRemote/003.error.txt +1 -0
  931. jsoncompat-0.4.3/tests/fixtures/dataclasses/fuzz/refRemote/004.error.txt +1 -0
  932. jsoncompat-0.4.3/tests/fixtures/dataclasses/fuzz/refRemote/005.error.txt +1 -0
  933. jsoncompat-0.4.3/tests/fixtures/dataclasses/fuzz/refRemote/006.error.txt +1 -0
  934. jsoncompat-0.4.3/tests/fixtures/dataclasses/fuzz/refRemote/007.error.txt +1 -0
  935. jsoncompat-0.4.3/tests/fixtures/dataclasses/fuzz/refRemote/008.error.txt +1 -0
  936. jsoncompat-0.4.3/tests/fixtures/dataclasses/fuzz/refRemote/009.error.txt +1 -0
  937. jsoncompat-0.4.3/tests/fixtures/dataclasses/fuzz/refRemote/010.error.txt +1 -0
  938. jsoncompat-0.4.3/tests/fixtures/dataclasses/fuzz/refRemote/011.error.txt +1 -0
  939. jsoncompat-0.4.3/tests/fixtures/dataclasses/fuzz/refRemote/012.error.txt +1 -0
  940. jsoncompat-0.4.3/tests/fixtures/dataclasses/fuzz/refRemote/013.error.txt +1 -0
  941. jsoncompat-0.4.3/tests/fixtures/dataclasses/fuzz/refRemote/014.error.txt +1 -0
  942. jsoncompat-0.4.3/tests/fixtures/dataclasses/fuzz/required/000.py +62 -0
  943. jsoncompat-0.4.3/tests/fixtures/dataclasses/fuzz/required/001.py +47 -0
  944. jsoncompat-0.4.3/tests/fixtures/dataclasses/fuzz/required/002.py +49 -0
  945. jsoncompat-0.4.3/tests/fixtures/dataclasses/fuzz/required/003.py +100 -0
  946. jsoncompat-0.4.3/tests/fixtures/dataclasses/fuzz/required/004.py +70 -0
  947. jsoncompat-0.4.3/tests/fixtures/dataclasses/fuzz/type/000.py +18 -0
  948. jsoncompat-0.4.3/tests/fixtures/dataclasses/fuzz/type/001.py +18 -0
  949. jsoncompat-0.4.3/tests/fixtures/dataclasses/fuzz/type/002.py +18 -0
  950. jsoncompat-0.4.3/tests/fixtures/dataclasses/fuzz/type/003.py +19 -0
  951. jsoncompat-0.4.3/tests/fixtures/dataclasses/fuzz/type/004.py +25 -0
  952. jsoncompat-0.4.3/tests/fixtures/dataclasses/fuzz/type/005.py +18 -0
  953. jsoncompat-0.4.3/tests/fixtures/dataclasses/fuzz/type/006.py +18 -0
  954. jsoncompat-0.4.3/tests/fixtures/dataclasses/fuzz/type/007.py +21 -0
  955. jsoncompat-0.4.3/tests/fixtures/dataclasses/fuzz/type/008.py +20 -0
  956. jsoncompat-0.4.3/tests/fixtures/dataclasses/fuzz/type/009.py +39 -0
  957. jsoncompat-0.4.3/tests/fixtures/dataclasses/fuzz/type/010.py +40 -0
  958. jsoncompat-0.4.3/tests/fixtures/dataclasses/fuzz/unevaluatedItems/000.py +30 -0
  959. jsoncompat-0.4.3/tests/fixtures/dataclasses/fuzz/unevaluatedItems/001.py +30 -0
  960. jsoncompat-0.4.3/tests/fixtures/dataclasses/fuzz/unevaluatedItems/002.py +32 -0
  961. jsoncompat-0.4.3/tests/fixtures/dataclasses/fuzz/unevaluatedItems/003.py +33 -0
  962. jsoncompat-0.4.3/tests/fixtures/dataclasses/fuzz/unevaluatedItems/004.py +35 -0
  963. jsoncompat-0.4.3/tests/fixtures/dataclasses/fuzz/unevaluatedItems/005.py +36 -0
  964. jsoncompat-0.4.3/tests/fixtures/dataclasses/fuzz/unevaluatedItems/006.py +35 -0
  965. jsoncompat-0.4.3/tests/fixtures/dataclasses/fuzz/unevaluatedItems/007.py +33 -0
  966. jsoncompat-0.4.3/tests/fixtures/dataclasses/fuzz/unevaluatedItems/008.py +40 -0
  967. jsoncompat-0.4.3/tests/fixtures/dataclasses/fuzz/unevaluatedItems/009.py +28 -0
  968. jsoncompat-0.4.3/tests/fixtures/dataclasses/fuzz/unevaluatedItems/010.py +30 -0
  969. jsoncompat-0.4.3/tests/fixtures/dataclasses/fuzz/unevaluatedItems/011.py +81 -0
  970. jsoncompat-0.4.3/tests/fixtures/dataclasses/fuzz/unevaluatedItems/012.py +80 -0
  971. jsoncompat-0.4.3/tests/fixtures/dataclasses/fuzz/unevaluatedItems/013.py +33 -0
  972. jsoncompat-0.4.3/tests/fixtures/dataclasses/fuzz/unevaluatedItems/014.py +50 -0
  973. jsoncompat-0.4.3/tests/fixtures/dataclasses/fuzz/unevaluatedItems/015.py +33 -0
  974. jsoncompat-0.4.3/tests/fixtures/dataclasses/fuzz/unevaluatedItems/016.py +78 -0
  975. jsoncompat-0.4.3/tests/fixtures/dataclasses/fuzz/unevaluatedItems/017.py +78 -0
  976. jsoncompat-0.4.3/tests/fixtures/dataclasses/fuzz/unevaluatedItems/018.error.txt +1 -0
  977. jsoncompat-0.4.3/tests/fixtures/dataclasses/fuzz/unevaluatedItems/019.py +27 -0
  978. jsoncompat-0.4.3/tests/fixtures/dataclasses/fuzz/unevaluatedItems/020.py +110 -0
  979. jsoncompat-0.4.3/tests/fixtures/dataclasses/fuzz/unevaluatedItems/021.py +36 -0
  980. jsoncompat-0.4.3/tests/fixtures/dataclasses/fuzz/unevaluatedItems/022.py +32 -0
  981. jsoncompat-0.4.3/tests/fixtures/dataclasses/fuzz/unevaluatedItems/023.py +49 -0
  982. jsoncompat-0.4.3/tests/fixtures/dataclasses/fuzz/unevaluatedItems/024.py +30 -0
  983. jsoncompat-0.4.3/tests/fixtures/dataclasses/fuzz/unevaluatedItems/025.py +32 -0
  984. jsoncompat-0.4.3/tests/fixtures/dataclasses/fuzz/unevaluatedItems/026.py +37 -0
  985. jsoncompat-0.4.3/tests/fixtures/dataclasses/fuzz/unevaluatedProperties/000.py +20 -0
  986. jsoncompat-0.4.3/tests/fixtures/dataclasses/fuzz/unevaluatedProperties/001.py +23 -0
  987. jsoncompat-0.4.3/tests/fixtures/dataclasses/fuzz/unevaluatedProperties/002.py +20 -0
  988. jsoncompat-0.4.3/tests/fixtures/dataclasses/fuzz/unevaluatedProperties/003.py +26 -0
  989. jsoncompat-0.4.3/tests/fixtures/dataclasses/fuzz/unevaluatedProperties/004.py +25 -0
  990. jsoncompat-0.4.3/tests/fixtures/dataclasses/fuzz/unevaluatedProperties/005.py +27 -0
  991. jsoncompat-0.4.3/tests/fixtures/dataclasses/fuzz/unevaluatedProperties/006.py +35 -0
  992. jsoncompat-0.4.3/tests/fixtures/dataclasses/fuzz/unevaluatedProperties/007.py +35 -0
  993. jsoncompat-0.4.3/tests/fixtures/dataclasses/fuzz/unevaluatedProperties/008.py +31 -0
  994. jsoncompat-0.4.3/tests/fixtures/dataclasses/fuzz/unevaluatedProperties/009.py +34 -0
  995. jsoncompat-0.4.3/tests/fixtures/dataclasses/fuzz/unevaluatedProperties/010.py +58 -0
  996. jsoncompat-0.4.3/tests/fixtures/dataclasses/fuzz/unevaluatedProperties/011.py +48 -0
  997. jsoncompat-0.4.3/tests/fixtures/dataclasses/fuzz/unevaluatedProperties/012.py +38 -0
  998. jsoncompat-0.4.3/tests/fixtures/dataclasses/fuzz/unevaluatedProperties/013.py +50 -0
  999. jsoncompat-0.4.3/tests/fixtures/dataclasses/fuzz/unevaluatedProperties/014.py +40 -0
  1000. jsoncompat-0.4.3/tests/fixtures/dataclasses/fuzz/unevaluatedProperties/015.py +40 -0
  1001. jsoncompat-0.4.3/tests/fixtures/dataclasses/fuzz/unevaluatedProperties/016.py +38 -0
  1002. jsoncompat-0.4.3/tests/fixtures/dataclasses/fuzz/unevaluatedProperties/017.py +29 -0
  1003. jsoncompat-0.4.3/tests/fixtures/dataclasses/fuzz/unevaluatedProperties/018.py +88 -0
  1004. jsoncompat-0.4.3/tests/fixtures/dataclasses/fuzz/unevaluatedProperties/019.py +88 -0
  1005. jsoncompat-0.4.3/tests/fixtures/dataclasses/fuzz/unevaluatedProperties/020.error.txt +1 -0
  1006. jsoncompat-0.4.3/tests/fixtures/dataclasses/fuzz/unevaluatedProperties/021.py +27 -0
  1007. jsoncompat-0.4.3/tests/fixtures/dataclasses/fuzz/unevaluatedProperties/022.py +27 -0
  1008. jsoncompat-0.4.3/tests/fixtures/dataclasses/fuzz/unevaluatedProperties/023.py +31 -0
  1009. jsoncompat-0.4.3/tests/fixtures/dataclasses/fuzz/unevaluatedProperties/024.py +30 -0
  1010. jsoncompat-0.4.3/tests/fixtures/dataclasses/fuzz/unevaluatedProperties/025.py +31 -0
  1011. jsoncompat-0.4.3/tests/fixtures/dataclasses/fuzz/unevaluatedProperties/026.py +30 -0
  1012. jsoncompat-0.4.3/tests/fixtures/dataclasses/fuzz/unevaluatedProperties/027.py +32 -0
  1013. jsoncompat-0.4.3/tests/fixtures/dataclasses/fuzz/unevaluatedProperties/028.py +32 -0
  1014. jsoncompat-0.4.3/tests/fixtures/dataclasses/fuzz/unevaluatedProperties/029.py +59 -0
  1015. jsoncompat-0.4.3/tests/fixtures/dataclasses/fuzz/unevaluatedProperties/030.py +34 -0
  1016. jsoncompat-0.4.3/tests/fixtures/dataclasses/fuzz/unevaluatedProperties/031.py +34 -0
  1017. jsoncompat-0.4.3/tests/fixtures/dataclasses/fuzz/unevaluatedProperties/032.py +26 -0
  1018. jsoncompat-0.4.3/tests/fixtures/dataclasses/fuzz/unevaluatedProperties/033.py +195 -0
  1019. jsoncompat-0.4.3/tests/fixtures/dataclasses/fuzz/unevaluatedProperties/034.py +724 -0
  1020. jsoncompat-0.4.3/tests/fixtures/dataclasses/fuzz/unevaluatedProperties/035.py +37 -0
  1021. jsoncompat-0.4.3/tests/fixtures/dataclasses/fuzz/unevaluatedProperties/036.py +43 -0
  1022. jsoncompat-0.4.3/tests/fixtures/dataclasses/fuzz/unevaluatedProperties/037.py +77 -0
  1023. jsoncompat-0.4.3/tests/fixtures/dataclasses/fuzz/unevaluatedProperties/038.py +25 -0
  1024. jsoncompat-0.4.3/tests/fixtures/dataclasses/fuzz/unevaluatedProperties/039.py +94 -0
  1025. jsoncompat-0.4.3/tests/fixtures/dataclasses/fuzz/uniqueItems/000.py +36 -0
  1026. jsoncompat-0.4.3/tests/fixtures/dataclasses/fuzz/uniqueItems/001.py +38 -0
  1027. jsoncompat-0.4.3/tests/fixtures/dataclasses/fuzz/uniqueItems/002.py +39 -0
  1028. jsoncompat-0.4.3/tests/fixtures/dataclasses/fuzz/uniqueItems/003.py +36 -0
  1029. jsoncompat-0.4.3/tests/fixtures/dataclasses/fuzz/uniqueItems/004.py +38 -0
  1030. jsoncompat-0.4.3/tests/fixtures/dataclasses/fuzz/uniqueItems/005.py +39 -0
  1031. jsoncompat-0.4.3/tests/fixtures/dataclasses/fuzz/vocabulary/000.error.txt +1 -0
  1032. jsoncompat-0.4.3/tests/fixtures/dataclasses/fuzz/vocabulary/001.error.txt +1 -0
  1033. jsoncompat-0.4.3/tests/fixtures/dataclasses/runtime_unsupported.json +15 -0
  1034. jsoncompat-0.4.3/tests/fixtures/dataclasses/unsatisfiable.json +46 -0
  1035. jsoncompat-0.4.3/tests/fixtures/fuzz/README.md +6 -0
  1036. jsoncompat-0.4.3/tests/fixtures/fuzz/additionalProperties.json +219 -0
  1037. jsoncompat-0.4.3/tests/fixtures/fuzz/allOf.json +312 -0
  1038. jsoncompat-0.4.3/tests/fixtures/fuzz/anchor.json +120 -0
  1039. jsoncompat-0.4.3/tests/fixtures/fuzz/anyOf.json +203 -0
  1040. jsoncompat-0.4.3/tests/fixtures/fuzz/boolean_schema.json +104 -0
  1041. jsoncompat-0.4.3/tests/fixtures/fuzz/const.json +387 -0
  1042. jsoncompat-0.4.3/tests/fixtures/fuzz/contains.json +176 -0
  1043. jsoncompat-0.4.3/tests/fixtures/fuzz/content.json +131 -0
  1044. jsoncompat-0.4.3/tests/fixtures/fuzz/custom/README.md +42 -0
  1045. jsoncompat-0.4.3/tests/fixtures/fuzz/custom/boolean-applicators.json +94 -0
  1046. jsoncompat-0.4.3/tests/fixtures/fuzz/custom/canonical-order-dedupe-stability.json +62 -0
  1047. jsoncompat-0.4.3/tests/fixtures/fuzz/custom/canonicalization-refs.json +263 -0
  1048. jsoncompat-0.4.3/tests/fixtures/fuzz/custom/conditional-edge-cases.json +74 -0
  1049. jsoncompat-0.4.3/tests/fixtures/fuzz/custom/contains-cardinality.json +103 -0
  1050. jsoncompat-0.4.3/tests/fixtures/fuzz/custom/enum-const-keyword-mismatch.json +75 -0
  1051. jsoncompat-0.4.3/tests/fixtures/fuzz/custom/indexed-applicator-refs.json +38 -0
  1052. jsoncompat-0.4.3/tests/fixtures/fuzz/custom/integer-boundaries.json +76 -0
  1053. jsoncompat-0.4.3/tests/fixtures/fuzz/custom/local-ref-type-suppression.json +69 -0
  1054. jsoncompat-0.4.3/tests/fixtures/fuzz/custom/metadata-collapse.json +76 -0
  1055. jsoncompat-0.4.3/tests/fixtures/fuzz/custom/mutual-recursive-defs.json +74 -0
  1056. jsoncompat-0.4.3/tests/fixtures/fuzz/custom/object-required-dependencies.json +65 -0
  1057. jsoncompat-0.4.3/tests/fixtures/fuzz/custom/oneof-rewrite-safety.json +100 -0
  1058. jsoncompat-0.4.3/tests/fixtures/fuzz/custom/property-names-additional-properties.json +49 -0
  1059. jsoncompat-0.4.3/tests/fixtures/fuzz/custom/recursive-applicator-refs.json +59 -0
  1060. jsoncompat-0.4.3/tests/fixtures/fuzz/custom/unknown-keyword-refs.json +63 -0
  1061. jsoncompat-0.4.3/tests/fixtures/fuzz/default.json +82 -0
  1062. jsoncompat-0.4.3/tests/fixtures/fuzz/defs.json +21 -0
  1063. jsoncompat-0.4.3/tests/fixtures/fuzz/dependentRequired.json +152 -0
  1064. jsoncompat-0.4.3/tests/fixtures/fuzz/dependentSchemas.json +171 -0
  1065. jsoncompat-0.4.3/tests/fixtures/fuzz/dynamicRef.json +815 -0
  1066. jsoncompat-0.4.3/tests/fixtures/fuzz/enum.json +358 -0
  1067. jsoncompat-0.4.3/tests/fixtures/fuzz/exclusiveMaximum.json +31 -0
  1068. jsoncompat-0.4.3/tests/fixtures/fuzz/exclusiveMinimum.json +31 -0
  1069. jsoncompat-0.4.3/tests/fixtures/fuzz/format.json +838 -0
  1070. jsoncompat-0.4.3/tests/fixtures/fuzz/if-then-else.json +268 -0
  1071. jsoncompat-0.4.3/tests/fixtures/fuzz/infinite-loop-detection.json +37 -0
  1072. jsoncompat-0.4.3/tests/fixtures/fuzz/items.json +304 -0
  1073. jsoncompat-0.4.3/tests/fixtures/fuzz/maxContains.json +102 -0
  1074. jsoncompat-0.4.3/tests/fixtures/fuzz/maxItems.json +50 -0
  1075. jsoncompat-0.4.3/tests/fixtures/fuzz/maxLength.json +55 -0
  1076. jsoncompat-0.4.3/tests/fixtures/fuzz/maxProperties.json +79 -0
  1077. jsoncompat-0.4.3/tests/fixtures/fuzz/maximum.json +60 -0
  1078. jsoncompat-0.4.3/tests/fixtures/fuzz/minContains.json +224 -0
  1079. jsoncompat-0.4.3/tests/fixtures/fuzz/minItems.json +50 -0
  1080. jsoncompat-0.4.3/tests/fixtures/fuzz/minLength.json +55 -0
  1081. jsoncompat-0.4.3/tests/fixtures/fuzz/minProperties.json +60 -0
  1082. jsoncompat-0.4.3/tests/fixtures/fuzz/minimum.json +75 -0
  1083. jsoncompat-0.4.3/tests/fixtures/fuzz/multipleOf.json +97 -0
  1084. jsoncompat-0.4.3/tests/fixtures/fuzz/not.json +301 -0
  1085. jsoncompat-0.4.3/tests/fixtures/fuzz/oneOf.json +293 -0
  1086. jsoncompat-0.4.3/tests/fixtures/fuzz/optional/anchor.json +60 -0
  1087. jsoncompat-0.4.3/tests/fixtures/fuzz/optional/bignum.json +110 -0
  1088. jsoncompat-0.4.3/tests/fixtures/fuzz/optional/cross-draft.json +18 -0
  1089. jsoncompat-0.4.3/tests/fixtures/fuzz/optional/dependencies-compatibility.json +282 -0
  1090. jsoncompat-0.4.3/tests/fixtures/fuzz/optional/dynamicRef.json +56 -0
  1091. jsoncompat-0.4.3/tests/fixtures/fuzz/optional/ecmascript-regex.json +582 -0
  1092. jsoncompat-0.4.3/tests/fixtures/fuzz/optional/float-overflow.json +17 -0
  1093. jsoncompat-0.4.3/tests/fixtures/fuzz/optional/format/date-time.json +136 -0
  1094. jsoncompat-0.4.3/tests/fixtures/fuzz/optional/format/date.json +246 -0
  1095. jsoncompat-0.4.3/tests/fixtures/fuzz/optional/format/duration.json +141 -0
  1096. jsoncompat-0.4.3/tests/fixtures/fuzz/optional/format/ecmascript-regex.json +16 -0
  1097. jsoncompat-0.4.3/tests/fixtures/fuzz/optional/format/email.json +121 -0
  1098. jsoncompat-0.4.3/tests/fixtures/fuzz/optional/format/hostname.json +136 -0
  1099. jsoncompat-0.4.3/tests/fixtures/fuzz/optional/format/idn-email.json +61 -0
  1100. jsoncompat-0.4.3/tests/fixtures/fuzz/optional/format/idn-hostname.json +389 -0
  1101. jsoncompat-0.4.3/tests/fixtures/fuzz/optional/format/ipv4.json +92 -0
  1102. jsoncompat-0.4.3/tests/fixtures/fuzz/optional/format/ipv6.json +211 -0
  1103. jsoncompat-0.4.3/tests/fixtures/fuzz/optional/format/iri-reference.json +76 -0
  1104. jsoncompat-0.4.3/tests/fixtures/fuzz/optional/format/iri.json +86 -0
  1105. jsoncompat-0.4.3/tests/fixtures/fuzz/optional/format/json-pointer.json +201 -0
  1106. jsoncompat-0.4.3/tests/fixtures/fuzz/optional/format/regex.json +51 -0
  1107. jsoncompat-0.4.3/tests/fixtures/fuzz/optional/format/relative-json-pointer.json +101 -0
  1108. jsoncompat-0.4.3/tests/fixtures/fuzz/optional/format/time.json +236 -0
  1109. jsoncompat-0.4.3/tests/fixtures/fuzz/optional/format/unknown.json +46 -0
  1110. jsoncompat-0.4.3/tests/fixtures/fuzz/optional/format/uri-reference.json +76 -0
  1111. jsoncompat-0.4.3/tests/fixtures/fuzz/optional/format/uri-template.json +61 -0
  1112. jsoncompat-0.4.3/tests/fixtures/fuzz/optional/format/uri.json +141 -0
  1113. jsoncompat-0.4.3/tests/fixtures/fuzz/optional/format/uuid.json +116 -0
  1114. jsoncompat-0.4.3/tests/fixtures/fuzz/optional/format-assertion.json +42 -0
  1115. jsoncompat-0.4.3/tests/fixtures/fuzz/optional/id.json +53 -0
  1116. jsoncompat-0.4.3/tests/fixtures/fuzz/optional/no-schema.json +26 -0
  1117. jsoncompat-0.4.3/tests/fixtures/fuzz/optional/non-bmp-regex.json +86 -0
  1118. jsoncompat-0.4.3/tests/fixtures/fuzz/optional/refOfUnknownKeyword.json +46 -0
  1119. jsoncompat-0.4.3/tests/fixtures/fuzz/optional/unknownKeyword.json +57 -0
  1120. jsoncompat-0.4.3/tests/fixtures/fuzz/pattern.json +65 -0
  1121. jsoncompat-0.4.3/tests/fixtures/fuzz/patternProperties.json +176 -0
  1122. jsoncompat-0.4.3/tests/fixtures/fuzz/prefixItems.json +104 -0
  1123. jsoncompat-0.4.3/tests/fixtures/fuzz/properties.json +242 -0
  1124. jsoncompat-0.4.3/tests/fixtures/fuzz/propertyNames.json +168 -0
  1125. jsoncompat-0.4.3/tests/fixtures/fuzz/ref.json +1052 -0
  1126. jsoncompat-0.4.3/tests/fixtures/fuzz/refRemote.json +342 -0
  1127. jsoncompat-0.4.3/tests/fixtures/fuzz/required.json +158 -0
  1128. jsoncompat-0.4.3/tests/fixtures/fuzz/type.json +501 -0
  1129. jsoncompat-0.4.3/tests/fixtures/fuzz/unevaluatedItems.json +798 -0
  1130. jsoncompat-0.4.3/tests/fixtures/fuzz/unevaluatedProperties.json +1601 -0
  1131. jsoncompat-0.4.3/tests/fixtures/fuzz/uniqueItems.json +419 -0
  1132. jsoncompat-0.4.3/tests/fixtures/fuzz/vocabulary.json +57 -0
  1133. jsoncompat-0.4.3/tests/fixtures/openapi_compat/operation_removed/expect.json +5 -0
  1134. jsoncompat-0.4.3/tests/fixtures/openapi_compat/operation_removed/new.json +8 -0
  1135. jsoncompat-0.4.3/tests/fixtures/openapi_compat/operation_removed/old.json +18 -0
  1136. jsoncompat-0.4.3/tests/fixtures/openapi_compat/request_anyof_optional_field_added/expect.json +4 -0
  1137. jsoncompat-0.4.3/tests/fixtures/openapi_compat/request_anyof_optional_field_added/new.json +42 -0
  1138. jsoncompat-0.4.3/tests/fixtures/openapi_compat/request_anyof_optional_field_added/old.json +41 -0
  1139. jsoncompat-0.4.3/tests/fixtures/openapi_compat/request_anyof_optional_field_removed/expect.json +5 -0
  1140. jsoncompat-0.4.3/tests/fixtures/openapi_compat/request_anyof_optional_field_removed/new.json +41 -0
  1141. jsoncompat-0.4.3/tests/fixtures/openapi_compat/request_anyof_optional_field_removed/old.json +42 -0
  1142. jsoncompat-0.4.3/tests/fixtures/openapi_compat/request_anyof_optional_field_renamed/expect.json +5 -0
  1143. jsoncompat-0.4.3/tests/fixtures/openapi_compat/request_anyof_optional_field_renamed/new.json +42 -0
  1144. jsoncompat-0.4.3/tests/fixtures/openapi_compat/request_anyof_optional_field_renamed/old.json +42 -0
  1145. jsoncompat-0.4.3/tests/fixtures/openapi_compat/request_anyof_required_field_added/expect.json +5 -0
  1146. jsoncompat-0.4.3/tests/fixtures/openapi_compat/request_anyof_required_field_added/new.json +42 -0
  1147. jsoncompat-0.4.3/tests/fixtures/openapi_compat/request_anyof_required_field_added/old.json +41 -0
  1148. jsoncompat-0.4.3/tests/fixtures/openapi_compat/request_path_parameter_enum_narrowed/expect.json +7 -0
  1149. jsoncompat-0.4.3/tests/fixtures/openapi_compat/request_path_parameter_enum_narrowed/new.json +38 -0
  1150. jsoncompat-0.4.3/tests/fixtures/openapi_compat/request_path_parameter_enum_narrowed/old.json +35 -0
  1151. jsoncompat-0.4.3/tests/fixtures/openapi_compat/request_required_query_parameter_added/expect.json +7 -0
  1152. jsoncompat-0.4.3/tests/fixtures/openapi_compat/request_required_query_parameter_added/new.json +35 -0
  1153. jsoncompat-0.4.3/tests/fixtures/openapi_compat/request_required_query_parameter_added/old.json +25 -0
  1154. jsoncompat-0.4.3/tests/fixtures/openapi_compat/response_anyof_optional_field_added/expect.json +5 -0
  1155. jsoncompat-0.4.3/tests/fixtures/openapi_compat/response_anyof_optional_field_added/new.json +41 -0
  1156. jsoncompat-0.4.3/tests/fixtures/openapi_compat/response_anyof_optional_field_added/old.json +40 -0
  1157. jsoncompat-0.4.3/tests/fixtures/openapi_compat/response_anyof_optional_field_removed/expect.json +4 -0
  1158. jsoncompat-0.4.3/tests/fixtures/openapi_compat/response_anyof_optional_field_removed/new.json +40 -0
  1159. jsoncompat-0.4.3/tests/fixtures/openapi_compat/response_anyof_optional_field_removed/old.json +41 -0
  1160. jsoncompat-0.4.3/tests/fixtures/openapi_compat/response_anyof_optional_field_renamed/expect.json +5 -0
  1161. jsoncompat-0.4.3/tests/fixtures/openapi_compat/response_anyof_optional_field_renamed/new.json +41 -0
  1162. jsoncompat-0.4.3/tests/fixtures/openapi_compat/response_anyof_optional_field_renamed/old.json +41 -0
  1163. jsoncompat-0.4.3/tests/fixtures/openapi_compat/response_anyof_required_field_added/expect.json +5 -0
  1164. jsoncompat-0.4.3/tests/fixtures/openapi_compat/response_anyof_required_field_added/new.json +41 -0
  1165. jsoncompat-0.4.3/tests/fixtures/openapi_compat/response_anyof_required_field_added/old.json +40 -0
  1166. jsoncompat-0.4.3/tests/fixtures/openapi_compat/response_closed_object_property_capacity/expect.json +3 -0
  1167. jsoncompat-0.4.3/tests/fixtures/openapi_compat/response_closed_object_property_capacity/new.json +30 -0
  1168. jsoncompat-0.4.3/tests/fixtures/openapi_compat/response_closed_object_property_capacity/old.json +30 -0
  1169. jsoncompat-0.4.3/tests/fixtures/openapi_compat/response_header_schema_broadened/expect.json +7 -0
  1170. jsoncompat-0.4.3/tests/fixtures/openapi_compat/response_header_schema_broadened/new.json +28 -0
  1171. jsoncompat-0.4.3/tests/fixtures/openapi_compat/response_header_schema_broadened/old.json +25 -0
  1172. jsoncompat-0.4.3/tests/fixtures/openapi_compat/response_nested_unsupported_pattern_enum_not_empty/expect.json +7 -0
  1173. jsoncompat-0.4.3/tests/fixtures/openapi_compat/response_nested_unsupported_pattern_enum_not_empty/new.json +36 -0
  1174. jsoncompat-0.4.3/tests/fixtures/openapi_compat/response_nested_unsupported_pattern_enum_not_empty/old.json +30 -0
  1175. jsoncompat-0.4.3/tests/fixtures/openapi_compat/response_overlapping_pattern_properties/expect.json +7 -0
  1176. jsoncompat-0.4.3/tests/fixtures/openapi_compat/response_overlapping_pattern_properties/new.json +29 -0
  1177. jsoncompat-0.4.3/tests/fixtures/openapi_compat/response_overlapping_pattern_properties/old.json +30 -0
  1178. jsoncompat-0.4.3/tests/fixtures/openapi_compat/response_recursive_allof_enum_not_empty/expect.json +7 -0
  1179. jsoncompat-0.4.3/tests/fixtures/openapi_compat/response_recursive_allof_enum_not_empty/new.json +43 -0
  1180. jsoncompat-0.4.3/tests/fixtures/openapi_compat/response_recursive_allof_enum_not_empty/old.json +30 -0
  1181. jsoncompat-0.4.3/tests/fixtures/openapi_compat/response_unsupported_superset_pattern_enum_membership/expect.json +7 -0
  1182. jsoncompat-0.4.3/tests/fixtures/openapi_compat/response_unsupported_superset_pattern_enum_membership/new.json +28 -0
  1183. jsoncompat-0.4.3/tests/fixtures/openapi_compat/response_unsupported_superset_pattern_enum_membership/old.json +29 -0
  1184. jsoncompat-0.4.3/tests/fuzz.rs +426 -0
  1185. jsoncompat-0.4.3/tests/openapi.rs +7788 -0
  1186. jsoncompat-0.4.3/tests/openapi_fixtures.rs +60 -0
  1187. jsoncompat-0.4.3/tests/openapi_soundness.rs +1911 -0
  1188. jsoncompat-0.4.3/tests/python_dataclasses_runtime.rs +3503 -0
  1189. jsoncompat-0.4.3/tests/stamp_cli.rs +523 -0
  1190. jsoncompat-0.4.3/tests/stamp_examples.rs +93 -0
  1191. jsoncompat-0.4.3/tests/support/dataclass_round_trip.rs +436 -0
  1192. jsoncompat-0.4.3/tests/support/dataclasses_json_round_trip.py +249 -0
  1193. jsoncompat-0.4.3/tests/support/generated_value_harness.rs +393 -0
  1194. jsoncompat-0.4.3/tests/support/python_env.rs +73 -0
  1195. jsoncompat-0.4.3/web/jsoncompatdotcom/.cta.json +13 -0
  1196. jsoncompat-0.4.3/web/jsoncompatdotcom/.gitignore +6 -0
  1197. jsoncompat-0.4.3/web/jsoncompatdotcom/.vscode/settings.json +38 -0
  1198. jsoncompat-0.4.3/web/jsoncompatdotcom/README.md +26 -0
  1199. jsoncompat-0.4.3/web/jsoncompatdotcom/biome.json +34 -0
  1200. jsoncompat-0.4.3/web/jsoncompatdotcom/index.html +20 -0
  1201. jsoncompat-0.4.3/web/jsoncompatdotcom/package.json +45 -0
  1202. jsoncompat-0.4.3/web/jsoncompatdotcom/public/ci_results.png +0 -0
  1203. jsoncompat-0.4.3/web/jsoncompatdotcom/public/compat.png +0 -0
  1204. jsoncompat-0.4.3/web/jsoncompatdotcom/public/favicon.ico +0 -0
  1205. jsoncompat-0.4.3/web/jsoncompatdotcom/public/generate.png +0 -0
  1206. jsoncompat-0.4.3/web/jsoncompatdotcom/public/logo192.png +0 -0
  1207. jsoncompat-0.4.3/web/jsoncompatdotcom/public/logo512.png +0 -0
  1208. jsoncompat-0.4.3/web/jsoncompatdotcom/public/manifest.json +25 -0
  1209. jsoncompat-0.4.3/web/jsoncompatdotcom/public/robots.txt +3 -0
  1210. jsoncompat-0.4.3/web/jsoncompatdotcom/scripts/build-deck.mjs +34 -0
  1211. jsoncompat-0.4.3/web/jsoncompatdotcom/src/components/Footer.tsx +18 -0
  1212. jsoncompat-0.4.3/web/jsoncompatdotcom/src/components/NavBar.tsx +59 -0
  1213. jsoncompat-0.4.3/web/jsoncompatdotcom/src/logo.svg +44 -0
  1214. jsoncompat-0.4.3/web/jsoncompatdotcom/src/main.tsx +42 -0
  1215. jsoncompat-0.4.3/web/jsoncompatdotcom/src/reportWebVitals.ts +13 -0
  1216. jsoncompat-0.4.3/web/jsoncompatdotcom/src/routeTree.gen.ts +131 -0
  1217. jsoncompat-0.4.3/web/jsoncompatdotcom/src/routes/__root.tsx +16 -0
  1218. jsoncompat-0.4.3/web/jsoncompatdotcom/src/routes/checker.tsx +250 -0
  1219. jsoncompat-0.4.3/web/jsoncompatdotcom/src/routes/fuzzer.tsx +178 -0
  1220. jsoncompat-0.4.3/web/jsoncompatdotcom/src/routes/index.tsx +70 -0
  1221. jsoncompat-0.4.3/web/jsoncompatdotcom/src/routes/install.tsx +184 -0
  1222. jsoncompat-0.4.3/web/jsoncompatdotcom/src/routes/usage.tsx +164 -0
  1223. jsoncompat-0.4.3/web/jsoncompatdotcom/src/styles.css +15 -0
  1224. jsoncompat-0.4.3/web/jsoncompatdotcom/src/types.d.ts +4 -0
  1225. jsoncompat-0.4.3/web/jsoncompatdotcom/tsconfig.json +28 -0
  1226. jsoncompat-0.4.3/web/jsoncompatdotcom/vite.config.ts +27 -0
  1227. 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,6 @@
1
+ /node_modules
2
+ /target
3
+ .wrangler
4
+ .dev.vars*
5
+ .venv
6
+ __pycache__/
@@ -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.