polyxml 0.20.1__tar.gz → 0.22.0__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 (62) hide show
  1. {polyxml-0.20.1 → polyxml-0.22.0}/Cargo.lock +132 -5
  2. {polyxml-0.20.1 → polyxml-0.22.0}/Cargo.toml +1 -1
  3. {polyxml-0.20.1 → polyxml-0.22.0}/PKG-INFO +1 -1
  4. {polyxml-0.20.1 → polyxml-0.22.0}/crates/polyxml-core/Cargo.toml +6 -0
  5. polyxml-0.22.0/crates/polyxml-core/benches/support/tag_dispatch_fixtures.rs +6766 -0
  6. polyxml-0.22.0/crates/polyxml-core/benches/tag_dispatch.rs +119 -0
  7. {polyxml-0.20.1 → polyxml-0.22.0}/crates/polyxml-core/src/codegen/cpp/mod.rs +65 -10
  8. {polyxml-0.20.1 → polyxml-0.22.0}/crates/polyxml-core/src/codegen/csharp/mod.rs +10 -4
  9. {polyxml-0.20.1 → polyxml-0.22.0}/crates/polyxml-core/src/codegen/go/mod.rs +50 -6
  10. {polyxml-0.20.1 → polyxml-0.22.0}/crates/polyxml-core/src/codegen/java/codec.rs +36 -5
  11. {polyxml-0.20.1 → polyxml-0.22.0}/crates/polyxml-core/src/codegen/java/mod.rs +10 -4
  12. {polyxml-0.20.1 → polyxml-0.22.0}/crates/polyxml-core/src/codegen/java/models.rs +6 -22
  13. {polyxml-0.20.1 → polyxml-0.22.0}/crates/polyxml-core/src/codegen/mod.rs +88 -2
  14. {polyxml-0.20.1 → polyxml-0.22.0}/crates/polyxml-core/src/codegen/python/mod.rs +10 -4
  15. {polyxml-0.20.1 → polyxml-0.22.0}/crates/polyxml-core/src/codegen/rust/mod.rs +377 -21
  16. {polyxml-0.20.1 → polyxml-0.22.0}/crates/polyxml-core/src/codegen/typescript/mod.rs +34 -6
  17. {polyxml-0.20.1 → polyxml-0.22.0}/crates/polyxml-core/src/ir/mod.rs +3 -0
  18. {polyxml-0.20.1 → polyxml-0.22.0}/crates/polyxml-core/src/json.rs +8 -0
  19. {polyxml-0.20.1 → polyxml-0.22.0}/crates/polyxml-core/src/parser.rs +167 -8
  20. {polyxml-0.20.1 → polyxml-0.22.0}/crates/polyxml-core/src/schema.rs +175 -21
  21. {polyxml-0.20.1 → polyxml-0.22.0}/crates/polyxml-core/src/schema_parser/mod.rs +43 -30
  22. {polyxml-0.20.1 → polyxml-0.22.0}/crates/polyxml-core/src/serializer.rs +61 -0
  23. {polyxml-0.20.1 → polyxml-0.22.0}/crates/polyxml-core/src/transcoder.rs +31 -3
  24. {polyxml-0.20.1 → polyxml-0.22.0}/crates/polyxml-core/tests/test_java_codegen.rs +160 -0
  25. polyxml-0.22.0/crates/polyxml-core/tests/test_pattern_codegen.rs +364 -0
  26. {polyxml-0.20.1 → polyxml-0.22.0}/crates/polyxml-core/tests/test_python_codegen.rs +48 -1
  27. {polyxml-0.20.1 → polyxml-0.22.0}/crates/polyxml-core/tests/test_rust_codegen.rs +553 -0
  28. polyxml-0.20.1/crates/polyxml-core/tests/test_issue51_audit.rs → polyxml-0.22.0/crates/polyxml-core/tests/test_schema_audit.rs +27 -31
  29. {polyxml-0.20.1 → polyxml-0.22.0}/crates/polyxml-core/tests/test_transcoder.rs +30 -0
  30. {polyxml-0.20.1 → polyxml-0.22.0}/crates/polyxml-core/tests/test_ts_codegen.rs +2 -2
  31. polyxml-0.22.0/crates/polyxml-core/tests/test_xsi_type.rs +352 -0
  32. {polyxml-0.20.1 → polyxml-0.22.0}/crates/polyxml-python/src/lib.rs +131 -5
  33. polyxml-0.22.0/crates/polyxml-python/tests/test_xsi_type.py +274 -0
  34. {polyxml-0.20.1 → polyxml-0.22.0}/pyproject.toml +1 -1
  35. {polyxml-0.20.1 → polyxml-0.22.0}/python/polyxml/__init__.py +14 -1
  36. {polyxml-0.20.1 → polyxml-0.22.0}/README.md +0 -0
  37. {polyxml-0.20.1 → polyxml-0.22.0}/crates/polyxml-core/README.md +0 -0
  38. {polyxml-0.20.1 → polyxml-0.22.0}/crates/polyxml-core/benches/core_benchmarks.rs +0 -0
  39. {polyxml-0.20.1 → polyxml-0.22.0}/crates/polyxml-core/src/converters.rs +0 -0
  40. {polyxml-0.20.1 → polyxml-0.22.0}/crates/polyxml-core/src/error.rs +0 -0
  41. {polyxml-0.20.1 → polyxml-0.22.0}/crates/polyxml-core/src/ir/tarjan.rs +0 -0
  42. {polyxml-0.20.1 → polyxml-0.22.0}/crates/polyxml-core/src/lib.rs +0 -0
  43. {polyxml-0.20.1 → polyxml-0.22.0}/crates/polyxml-core/src/value.rs +0 -0
  44. {polyxml-0.20.1 → polyxml-0.22.0}/crates/polyxml-core/tests/test_conformance.rs +0 -0
  45. {polyxml-0.20.1 → polyxml-0.22.0}/crates/polyxml-core/tests/test_core.rs +0 -0
  46. {polyxml-0.20.1 → polyxml-0.22.0}/crates/polyxml-core/tests/test_cpp_codegen.rs +0 -0
  47. {polyxml-0.20.1 → polyxml-0.22.0}/crates/polyxml-core/tests/test_csharp_codegen.rs +0 -0
  48. {polyxml-0.20.1 → polyxml-0.22.0}/crates/polyxml-core/tests/test_go_codegen.rs +0 -0
  49. {polyxml-0.20.1 → polyxml-0.22.0}/crates/polyxml-core/tests/test_json.rs +0 -0
  50. {polyxml-0.20.1 → polyxml-0.22.0}/crates/polyxml-core/tests/test_rust_codecs.rs +0 -0
  51. {polyxml-0.20.1 → polyxml-0.22.0}/crates/polyxml-core/tests/test_schema_ir.rs +0 -0
  52. {polyxml-0.20.1 → polyxml-0.22.0}/crates/polyxml-core/tests/test_security.rs +0 -0
  53. {polyxml-0.20.1 → polyxml-0.22.0}/crates/polyxml-python/Cargo.toml +0 -0
  54. {polyxml-0.20.1 → polyxml-0.22.0}/crates/polyxml-python/README.md +0 -0
  55. {polyxml-0.20.1 → polyxml-0.22.0}/crates/polyxml-python/tests/test_conformance.py +0 -0
  56. {polyxml-0.20.1 → polyxml-0.22.0}/crates/polyxml-python/tests/test_generated_models.py +0 -0
  57. {polyxml-0.20.1 → polyxml-0.22.0}/crates/polyxml-python/tests/test_json.py +0 -0
  58. {polyxml-0.20.1 → polyxml-0.22.0}/crates/polyxml-python/tests/test_polyxml.py +0 -0
  59. {polyxml-0.20.1 → polyxml-0.22.0}/python/polyxml/AGENT_GUIDE.md +0 -0
  60. {polyxml-0.20.1 → polyxml-0.22.0}/python/polyxml/compat/__init__.py +0 -0
  61. {polyxml-0.20.1 → polyxml-0.22.0}/python/polyxml/compat/xsdata.py +0 -0
  62. {polyxml-0.20.1 → polyxml-0.22.0}/python/polyxml/py.typed +0 -0
@@ -88,6 +88,12 @@ version = "2.13.2"
88
88
  source = "registry+https://github.com/rust-lang/crates.io-index"
89
89
  checksum = "3ded4057c258ba199e2d26386d3af3780957ecaee6c4ef4041c6b4b8b97c0b06"
90
90
 
91
+ [[package]]
92
+ name = "bumpalo"
93
+ version = "3.20.3"
94
+ source = "registry+https://github.com/rust-lang/crates.io-index"
95
+ checksum = "72f5acc6cb2ba439de613abc23857ec3d78374d8ed5ac84e9d11336e87da8649"
96
+
91
97
  [[package]]
92
98
  name = "cast"
93
99
  version = "0.3.0"
@@ -547,15 +553,70 @@ dependencies = [
547
553
  "winapi",
548
554
  ]
549
555
 
556
+ [[package]]
557
+ name = "phf"
558
+ version = "0.14.0"
559
+ source = "registry+https://github.com/rust-lang/crates.io-index"
560
+ checksum = "010378780309880b08997fae13be7834dba947d36393bd372f2b1556deb2a2f6"
561
+ dependencies = [
562
+ "phf_macros",
563
+ "phf_shared",
564
+ "serde",
565
+ ]
566
+
567
+ [[package]]
568
+ name = "phf_codegen"
569
+ version = "0.14.0"
570
+ source = "registry+https://github.com/rust-lang/crates.io-index"
571
+ checksum = "41b585a510fb76fdebead6897982ef2a03a21d8e6cbcca904999742a4afc6ffe"
572
+ dependencies = [
573
+ "phf_generator",
574
+ "phf_shared",
575
+ ]
576
+
577
+ [[package]]
578
+ name = "phf_generator"
579
+ version = "0.14.0"
580
+ source = "registry+https://github.com/rust-lang/crates.io-index"
581
+ checksum = "aeb62e0959d5a1bebc965f4d15d9e2b7cea002b6b0f5ba8cde6cc26738467100"
582
+ dependencies = [
583
+ "fastrand",
584
+ "phf_shared",
585
+ ]
586
+
587
+ [[package]]
588
+ name = "phf_macros"
589
+ version = "0.14.0"
590
+ source = "registry+https://github.com/rust-lang/crates.io-index"
591
+ checksum = "5fa8d0ca26d424d27630da600c6624696e7dec8bf7b3b492b383c5dc49e5e085"
592
+ dependencies = [
593
+ "phf_generator",
594
+ "phf_shared",
595
+ "proc-macro2",
596
+ "quote",
597
+ "syn 2.0.119",
598
+ ]
599
+
600
+ [[package]]
601
+ name = "phf_shared"
602
+ version = "0.14.0"
603
+ source = "registry+https://github.com/rust-lang/crates.io-index"
604
+ checksum = "c6fd9027e2d9319be6349febd1db4e8d02aa544921200c9b777720ac34a3aa89"
605
+ dependencies = [
606
+ "siphasher",
607
+ ]
608
+
550
609
  [[package]]
551
610
  name = "polyxml"
552
- version = "0.20.1"
611
+ version = "0.22.0"
553
612
  dependencies = [
554
613
  "criterion",
555
614
  "heck",
556
615
  "lexical-core",
557
616
  "memchr",
558
617
  "minijinja",
618
+ "phf",
619
+ "phf_codegen",
559
620
  "pretty_assertions",
560
621
  "quick-xml",
561
622
  "serde",
@@ -567,14 +628,14 @@ dependencies = [
567
628
 
568
629
  [[package]]
569
630
  name = "polyxml-c"
570
- version = "0.20.1"
631
+ version = "0.22.0"
571
632
  dependencies = [
572
633
  "polyxml",
573
634
  ]
574
635
 
575
636
  [[package]]
576
637
  name = "polyxml-cli"
577
- version = "0.20.1"
638
+ version = "0.22.0"
578
639
  dependencies = [
579
640
  "clap",
580
641
  "glob",
@@ -588,7 +649,7 @@ dependencies = [
588
649
 
589
650
  [[package]]
590
651
  name = "polyxml-js"
591
- version = "0.20.1"
652
+ version = "0.22.0"
592
653
  dependencies = [
593
654
  "napi",
594
655
  "napi-build",
@@ -598,7 +659,7 @@ dependencies = [
598
659
 
599
660
  [[package]]
600
661
  name = "polyxml-python"
601
- version = "0.20.1"
662
+ version = "0.22.0"
602
663
  dependencies = [
603
664
  "lexical-core",
604
665
  "polyxml",
@@ -606,6 +667,15 @@ dependencies = [
606
667
  "smallvec",
607
668
  ]
608
669
 
670
+ [[package]]
671
+ name = "polyxml-wasm"
672
+ version = "0.22.0"
673
+ dependencies = [
674
+ "polyxml",
675
+ "quick-xml",
676
+ "wasm-bindgen",
677
+ ]
678
+
609
679
  [[package]]
610
680
  name = "portable-atomic"
611
681
  version = "1.15.0"
@@ -755,6 +825,12 @@ dependencies = [
755
825
  "windows-sys",
756
826
  ]
757
827
 
828
+ [[package]]
829
+ name = "rustversion"
830
+ version = "1.0.23"
831
+ source = "registry+https://github.com/rust-lang/crates.io-index"
832
+ checksum = "cf54715a573b99ac80df0bc206da022bcd442c974952c7b9720069370852e21f"
833
+
758
834
  [[package]]
759
835
  name = "same-file"
760
836
  version = "1.0.6"
@@ -828,6 +904,12 @@ version = "2.0.1"
828
904
  source = "registry+https://github.com/rust-lang/crates.io-index"
829
905
  checksum = "f8fadd59c855ef2080decdef8ff161eb6661b86933c9d82e5ba29dc602a55aba"
830
906
 
907
+ [[package]]
908
+ name = "siphasher"
909
+ version = "1.0.3"
910
+ source = "registry+https://github.com/rust-lang/crates.io-index"
911
+ checksum = "8ee5873ec9cce0195efcb7a4e9507a04cd49aec9c83d0389df45b1ef7ba2e649"
912
+
831
913
  [[package]]
832
914
  name = "smallvec"
833
915
  version = "1.16.1"
@@ -980,6 +1062,51 @@ dependencies = [
980
1062
  "winapi-util",
981
1063
  ]
982
1064
 
1065
+ [[package]]
1066
+ name = "wasm-bindgen"
1067
+ version = "0.2.128"
1068
+ source = "registry+https://github.com/rust-lang/crates.io-index"
1069
+ checksum = "aecb87a33d3b0c5e3b7aa46336eaf486cffafbd281b195e4c8b80d50df2351bf"
1070
+ dependencies = [
1071
+ "cfg-if",
1072
+ "once_cell",
1073
+ "rustversion",
1074
+ "wasm-bindgen-macro",
1075
+ "wasm-bindgen-shared",
1076
+ ]
1077
+
1078
+ [[package]]
1079
+ name = "wasm-bindgen-macro"
1080
+ version = "0.2.128"
1081
+ source = "registry+https://github.com/rust-lang/crates.io-index"
1082
+ checksum = "a690d511e3c1a8b3a55e33511e3c2c00c78415cd23650f32b808627f5696b9ed"
1083
+ dependencies = [
1084
+ "quote",
1085
+ "wasm-bindgen-macro-support",
1086
+ ]
1087
+
1088
+ [[package]]
1089
+ name = "wasm-bindgen-macro-support"
1090
+ version = "0.2.128"
1091
+ source = "registry+https://github.com/rust-lang/crates.io-index"
1092
+ checksum = "411e4887f0071ef2d2164a9d5fdf2d20efbef78fccd3a78b0c10a1dc5295e48a"
1093
+ dependencies = [
1094
+ "bumpalo",
1095
+ "proc-macro2",
1096
+ "quote",
1097
+ "syn 3.0.5",
1098
+ "wasm-bindgen-shared",
1099
+ ]
1100
+
1101
+ [[package]]
1102
+ name = "wasm-bindgen-shared"
1103
+ version = "0.2.128"
1104
+ source = "registry+https://github.com/rust-lang/crates.io-index"
1105
+ checksum = "81941cd78d0c92026c33e5e01312845a4cb1e9af3407f9134b100dd03144103e"
1106
+ dependencies = [
1107
+ "unicode-ident",
1108
+ ]
1109
+
983
1110
  [[package]]
984
1111
  name = "winapi"
985
1112
  version = "0.3.9"
@@ -3,7 +3,7 @@ resolver = "2"
3
3
  members = ["crates/polyxml-core", "crates/polyxml-python"]
4
4
 
5
5
  [workspace.package]
6
- version = "0.20.1"
6
+ version = "0.22.0"
7
7
  edition = "2021"
8
8
  rust-version = "1.80"
9
9
  license = "MIT"
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: polyxml
3
- Version: 0.20.1
3
+ Version: 0.22.0
4
4
  Classifier: Development Status :: 4 - Beta
5
5
  Classifier: Intended Audience :: Developers
6
6
  Classifier: License :: OSI Approved :: MIT License
@@ -20,12 +20,18 @@ serde = { version = "1.0", features = ["derive"] }
20
20
  serde_json = "1.0"
21
21
  minijinja = { version = "2.8", features = ["builtins"] }
22
22
  heck = "0.5"
23
+ phf_codegen = "0.14.0"
23
24
 
24
25
  [dev-dependencies]
25
26
  criterion = { version = "0.8", default-features = false, features = ["cargo_bench_support"] }
27
+ phf = { version = "0.14.0", features = ["macros"] }
26
28
  pretty_assertions = "1.4"
27
29
  tempfile = "3"
28
30
 
29
31
  [[bench]]
30
32
  name = "core_benchmarks"
31
33
  harness = false
34
+
35
+ [[bench]]
36
+ name = "tag_dispatch"
37
+ harness = false