aas-core-codegen 0.0.23__tar.gz → 0.0.25__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 (280) hide show
  1. {aas_core_codegen-0.0.23/aas_core_codegen.egg-info → aas_core_codegen-0.0.25}/PKG-INFO +1 -1
  2. {aas_core_codegen-0.0.23 → aas_core_codegen-0.0.25}/aas_core_codegen/__init__.py +1 -1
  3. {aas_core_codegen-0.0.23 → aas_core_codegen-0.0.25}/aas_core_codegen/python/lib/_generate_jsonization.py +11 -3
  4. {aas_core_codegen-0.0.23 → aas_core_codegen-0.0.25}/aas_core_codegen/python/lib/_generate_xmlization.py +1 -1
  5. {aas_core_codegen-0.0.23 → aas_core_codegen-0.0.25}/aas_core_codegen/python/tests/_generate_common.py +1 -1
  6. {aas_core_codegen-0.0.23 → aas_core_codegen-0.0.25}/aas_core_codegen/python/tests/_generate_test_descend_and_pass_through_visitor.py +1 -0
  7. {aas_core_codegen-0.0.23 → aas_core_codegen-0.0.25}/aas_core_codegen/python/tests/_generate_test_for_over_x_or_empty.py +1 -0
  8. {aas_core_codegen-0.0.23 → aas_core_codegen-0.0.25}/aas_core_codegen/python/tests/_generate_test_for_x_or_default.py +1 -0
  9. {aas_core_codegen-0.0.23 → aas_core_codegen-0.0.25}/aas_core_codegen/python/tests/_generate_test_jsonization_of_classes_with_descendants.py +1 -0
  10. {aas_core_codegen-0.0.23 → aas_core_codegen-0.0.25}/aas_core_codegen/python/tests/_generate_test_jsonization_of_concrete_classes.py +1 -0
  11. {aas_core_codegen-0.0.23 → aas_core_codegen-0.0.25}/aas_core_codegen/python/tests/_generate_test_xmlization_of_classes_with_descendants.py +1 -0
  12. {aas_core_codegen-0.0.23 → aas_core_codegen-0.0.25}/aas_core_codegen/python/tests/_generate_test_xmlization_of_concrete_classes.py +1 -0
  13. {aas_core_codegen-0.0.23 → aas_core_codegen-0.0.25}/aas_core_codegen/typescript/lib/_generate_xmlization.py +185 -113
  14. {aas_core_codegen-0.0.23 → aas_core_codegen-0.0.25}/aas_core_codegen/typescript/main.py +61 -0
  15. {aas_core_codegen-0.0.23 → aas_core_codegen-0.0.25}/aas_core_codegen/typescript/tests/__init__.py +14 -0
  16. {aas_core_codegen-0.0.23 → aas_core_codegen-0.0.25}/aas_core_codegen/typescript/tests/_generate_common_xmlization.py +1 -0
  17. aas_core_codegen-0.0.25/aas_core_codegen/typescript/tests/_generate_jsonization_common_spec.py +74 -0
  18. {aas_core_codegen-0.0.23 → aas_core_codegen-0.0.25}/aas_core_codegen/typescript/tests/_generate_jsonization_enums_spec.py +10 -10
  19. aas_core_codegen-0.0.25/aas_core_codegen/typescript/tests/_generate_jsonization_negative_spec.py +316 -0
  20. aas_core_codegen-0.0.25/aas_core_codegen/typescript/tests/_generate_stringification_enums_spec.py +121 -0
  21. aas_core_codegen-0.0.25/aas_core_codegen/typescript/tests/_generate_verification_spec.py +122 -0
  22. aas_core_codegen-0.0.25/aas_core_codegen/typescript/tests/_generate_xmlization_basic_spec.py +95 -0
  23. aas_core_codegen-0.0.25/aas_core_codegen/typescript/tests/_generate_xmlization_common_spec.py +76 -0
  24. {aas_core_codegen-0.0.23 → aas_core_codegen-0.0.25}/aas_core_codegen/typescript/tests/_generate_xmlization_enums_spec.py +34 -3
  25. aas_core_codegen-0.0.25/aas_core_codegen/typescript/tests/_generate_xmlization_negative_spec.py +325 -0
  26. {aas_core_codegen-0.0.23 → aas_core_codegen-0.0.25/aas_core_codegen.egg-info}/PKG-INFO +1 -1
  27. {aas_core_codegen-0.0.23 → aas_core_codegen-0.0.25}/aas_core_codegen.egg-info/SOURCES.txt +7 -0
  28. {aas_core_codegen-0.0.23 → aas_core_codegen-0.0.25}/pyproject.toml +1 -1
  29. {aas_core_codegen-0.0.23 → aas_core_codegen-0.0.25}/AUTHORS +0 -0
  30. {aas_core_codegen-0.0.23 → aas_core_codegen-0.0.25}/LICENSE +0 -0
  31. {aas_core_codegen-0.0.23 → aas_core_codegen-0.0.25}/README.rst +0 -0
  32. {aas_core_codegen-0.0.23 → aas_core_codegen-0.0.25}/aas_core_codegen/__main__.py +0 -0
  33. {aas_core_codegen-0.0.23 → aas_core_codegen-0.0.25}/aas_core_codegen/common.py +0 -0
  34. {aas_core_codegen-0.0.23 → aas_core_codegen-0.0.25}/aas_core_codegen/cpp/__init__.py +0 -0
  35. {aas_core_codegen-0.0.23 → aas_core_codegen-0.0.25}/aas_core_codegen/cpp/common.py +0 -0
  36. {aas_core_codegen-0.0.23 → aas_core_codegen-0.0.25}/aas_core_codegen/cpp/description.py +0 -0
  37. {aas_core_codegen-0.0.23 → aas_core_codegen-0.0.25}/aas_core_codegen/cpp/lib/__init__.py +0 -0
  38. {aas_core_codegen-0.0.23 → aas_core_codegen-0.0.25}/aas_core_codegen/cpp/lib/_generate_common.py +0 -0
  39. {aas_core_codegen-0.0.23 → aas_core_codegen-0.0.25}/aas_core_codegen/cpp/lib/_generate_constants.py +0 -0
  40. {aas_core_codegen-0.0.23 → aas_core_codegen-0.0.25}/aas_core_codegen/cpp/lib/_generate_enhancing.py +0 -0
  41. {aas_core_codegen-0.0.23 → aas_core_codegen-0.0.25}/aas_core_codegen/cpp/lib/_generate_iteration.py +0 -0
  42. {aas_core_codegen-0.0.23 → aas_core_codegen-0.0.25}/aas_core_codegen/cpp/lib/_generate_jsonization.py +0 -0
  43. {aas_core_codegen-0.0.23 → aas_core_codegen-0.0.25}/aas_core_codegen/cpp/lib/_generate_pattern.py +0 -0
  44. {aas_core_codegen-0.0.23 → aas_core_codegen-0.0.25}/aas_core_codegen/cpp/lib/_generate_revm.py +0 -0
  45. {aas_core_codegen-0.0.23 → aas_core_codegen-0.0.25}/aas_core_codegen/cpp/lib/_generate_stringification.py +0 -0
  46. {aas_core_codegen-0.0.23 → aas_core_codegen-0.0.25}/aas_core_codegen/cpp/lib/_generate_types.py +0 -0
  47. {aas_core_codegen-0.0.23 → aas_core_codegen-0.0.25}/aas_core_codegen/cpp/lib/_generate_verification.py +0 -0
  48. {aas_core_codegen-0.0.23 → aas_core_codegen-0.0.25}/aas_core_codegen/cpp/lib/_generate_visitation.py +0 -0
  49. {aas_core_codegen-0.0.23 → aas_core_codegen-0.0.25}/aas_core_codegen/cpp/lib/_generate_wstringification.py +0 -0
  50. {aas_core_codegen-0.0.23 → aas_core_codegen-0.0.25}/aas_core_codegen/cpp/lib/_generate_xmlization.py +0 -0
  51. {aas_core_codegen-0.0.23 → aas_core_codegen-0.0.25}/aas_core_codegen/cpp/main.py +0 -0
  52. {aas_core_codegen-0.0.23 → aas_core_codegen-0.0.25}/aas_core_codegen/cpp/naming.py +0 -0
  53. {aas_core_codegen-0.0.23 → aas_core_codegen-0.0.25}/aas_core_codegen/cpp/optionaling.py +0 -0
  54. {aas_core_codegen-0.0.23 → aas_core_codegen-0.0.25}/aas_core_codegen/cpp/tests/__init__.py +0 -0
  55. {aas_core_codegen-0.0.23 → aas_core_codegen-0.0.25}/aas_core_codegen/cpp/tests/_generate_common.py +0 -0
  56. {aas_core_codegen-0.0.23 → aas_core_codegen-0.0.25}/aas_core_codegen/cpp/tests/_generate_common_examples.py +0 -0
  57. {aas_core_codegen-0.0.23 → aas_core_codegen-0.0.25}/aas_core_codegen/cpp/tests/_generate_common_jsonization.py +0 -0
  58. {aas_core_codegen-0.0.23 → aas_core_codegen-0.0.25}/aas_core_codegen/cpp/tests/_generate_common_xmlization.py +0 -0
  59. {aas_core_codegen-0.0.23 → aas_core_codegen-0.0.25}/aas_core_codegen/cpp/tests/_generate_test_descent_and_descent_once.py +0 -0
  60. {aas_core_codegen-0.0.23 → aas_core_codegen-0.0.25}/aas_core_codegen/cpp/tests/_generate_test_jsonization_dispatch.py +0 -0
  61. {aas_core_codegen-0.0.23 → aas_core_codegen-0.0.25}/aas_core_codegen/cpp/tests/_generate_test_jsonization_of_concrete_classes.py +0 -0
  62. {aas_core_codegen-0.0.23 → aas_core_codegen-0.0.25}/aas_core_codegen/cpp/tests/_generate_test_revm.py +0 -0
  63. {aas_core_codegen-0.0.23 → aas_core_codegen-0.0.25}/aas_core_codegen/cpp/tests/_generate_test_stringification_base64.py +0 -0
  64. {aas_core_codegen-0.0.23 → aas_core_codegen-0.0.25}/aas_core_codegen/cpp/tests/_generate_test_stringification_of_enums.py +0 -0
  65. {aas_core_codegen-0.0.23 → aas_core_codegen-0.0.25}/aas_core_codegen/cpp/tests/_generate_test_verification.py +0 -0
  66. {aas_core_codegen-0.0.23 → aas_core_codegen-0.0.25}/aas_core_codegen/cpp/tests/_generate_test_wstringification_of_enums.py +0 -0
  67. {aas_core_codegen-0.0.23 → aas_core_codegen-0.0.25}/aas_core_codegen/cpp/tests/_generate_test_x_or_default.py +0 -0
  68. {aas_core_codegen-0.0.23 → aas_core_codegen-0.0.25}/aas_core_codegen/cpp/tests/_generate_test_xmlization_dispatch.py +0 -0
  69. {aas_core_codegen-0.0.23 → aas_core_codegen-0.0.25}/aas_core_codegen/cpp/tests/_generate_test_xmlization_of_concrete_classes.py +0 -0
  70. {aas_core_codegen-0.0.23 → aas_core_codegen-0.0.25}/aas_core_codegen/cpp/transpilation.py +0 -0
  71. {aas_core_codegen-0.0.23 → aas_core_codegen-0.0.25}/aas_core_codegen/cpp/unrolling.py +0 -0
  72. {aas_core_codegen-0.0.23 → aas_core_codegen-0.0.25}/aas_core_codegen/cpp/yielding.py +0 -0
  73. {aas_core_codegen-0.0.23 → aas_core_codegen-0.0.25}/aas_core_codegen/csharp/__init__.py +0 -0
  74. {aas_core_codegen-0.0.23 → aas_core_codegen-0.0.25}/aas_core_codegen/csharp/common.py +0 -0
  75. {aas_core_codegen-0.0.23 → aas_core_codegen-0.0.25}/aas_core_codegen/csharp/description.py +0 -0
  76. {aas_core_codegen-0.0.23 → aas_core_codegen-0.0.25}/aas_core_codegen/csharp/lib/__init__.py +0 -0
  77. {aas_core_codegen-0.0.23 → aas_core_codegen-0.0.25}/aas_core_codegen/csharp/lib/_generate_constants.py +0 -0
  78. {aas_core_codegen-0.0.23 → aas_core_codegen-0.0.25}/aas_core_codegen/csharp/lib/_generate_copying.py +0 -0
  79. {aas_core_codegen-0.0.23 → aas_core_codegen-0.0.25}/aas_core_codegen/csharp/lib/_generate_enhancing.py +0 -0
  80. {aas_core_codegen-0.0.23 → aas_core_codegen-0.0.25}/aas_core_codegen/csharp/lib/_generate_jsonization.py +0 -0
  81. {aas_core_codegen-0.0.23 → aas_core_codegen-0.0.25}/aas_core_codegen/csharp/lib/_generate_reporting.py +0 -0
  82. {aas_core_codegen-0.0.23 → aas_core_codegen-0.0.25}/aas_core_codegen/csharp/lib/_generate_stringification.py +0 -0
  83. {aas_core_codegen-0.0.23 → aas_core_codegen-0.0.25}/aas_core_codegen/csharp/lib/_generate_types.py +0 -0
  84. {aas_core_codegen-0.0.23 → aas_core_codegen-0.0.25}/aas_core_codegen/csharp/lib/_generate_verification.py +0 -0
  85. {aas_core_codegen-0.0.23 → aas_core_codegen-0.0.25}/aas_core_codegen/csharp/lib/_generate_visitation.py +0 -0
  86. {aas_core_codegen-0.0.23 → aas_core_codegen-0.0.25}/aas_core_codegen/csharp/lib/_generate_xmlization.py +0 -0
  87. {aas_core_codegen-0.0.23 → aas_core_codegen-0.0.25}/aas_core_codegen/csharp/main.py +0 -0
  88. {aas_core_codegen-0.0.23 → aas_core_codegen-0.0.25}/aas_core_codegen/csharp/naming.py +0 -0
  89. {aas_core_codegen-0.0.23 → aas_core_codegen-0.0.25}/aas_core_codegen/csharp/tests/__init__.py +0 -0
  90. {aas_core_codegen-0.0.23 → aas_core_codegen-0.0.25}/aas_core_codegen/csharp/tests/_generate_common.py +0 -0
  91. {aas_core_codegen-0.0.23 → aas_core_codegen-0.0.25}/aas_core_codegen/csharp/tests/_generate_common_json.py +0 -0
  92. {aas_core_codegen-0.0.23 → aas_core_codegen-0.0.25}/aas_core_codegen/csharp/tests/_generate_common_jsonization.py +0 -0
  93. {aas_core_codegen-0.0.23 → aas_core_codegen-0.0.25}/aas_core_codegen/csharp/tests/_generate_test_copying.py +0 -0
  94. {aas_core_codegen-0.0.23 → aas_core_codegen-0.0.25}/aas_core_codegen/csharp/tests/_generate_test_descend_and_visitor_through.py +0 -0
  95. {aas_core_codegen-0.0.23 → aas_core_codegen-0.0.25}/aas_core_codegen/csharp/tests/_generate_test_descend_once.py +0 -0
  96. {aas_core_codegen-0.0.23 → aas_core_codegen-0.0.25}/aas_core_codegen/csharp/tests/_generate_test_enhancing.py +0 -0
  97. {aas_core_codegen-0.0.23 → aas_core_codegen-0.0.25}/aas_core_codegen/csharp/tests/_generate_test_jsonization_of_concrete_classes.py +0 -0
  98. {aas_core_codegen-0.0.23 → aas_core_codegen-0.0.25}/aas_core_codegen/csharp/tests/_generate_test_jsonization_of_enums.py +0 -0
  99. {aas_core_codegen-0.0.23 → aas_core_codegen-0.0.25}/aas_core_codegen/csharp/tests/_generate_test_jsonization_of_interfaces.py +0 -0
  100. {aas_core_codegen-0.0.23 → aas_core_codegen-0.0.25}/aas_core_codegen/csharp/tests/_generate_test_over_x_or_empty.py +0 -0
  101. {aas_core_codegen-0.0.23 → aas_core_codegen-0.0.25}/aas_core_codegen/csharp/tests/_generate_test_verification_of_enums.py +0 -0
  102. {aas_core_codegen-0.0.23 → aas_core_codegen-0.0.25}/aas_core_codegen/csharp/tests/_generate_test_x_or_default.py +0 -0
  103. {aas_core_codegen-0.0.23 → aas_core_codegen-0.0.25}/aas_core_codegen/csharp/tests/_generate_test_xmlization_errors.py +0 -0
  104. {aas_core_codegen-0.0.23 → aas_core_codegen-0.0.25}/aas_core_codegen/csharp/tests/_generate_test_xmlization_of_concrete_classes.py +0 -0
  105. {aas_core_codegen-0.0.23 → aas_core_codegen-0.0.25}/aas_core_codegen/csharp/tests/_generate_test_xmlization_of_interfaces.py +0 -0
  106. {aas_core_codegen-0.0.23 → aas_core_codegen-0.0.25}/aas_core_codegen/csharp/transpilation.py +0 -0
  107. {aas_core_codegen-0.0.23 → aas_core_codegen-0.0.25}/aas_core_codegen/csharp/unrolling.py +0 -0
  108. {aas_core_codegen-0.0.23 → aas_core_codegen-0.0.25}/aas_core_codegen/golang/__init__.py +0 -0
  109. {aas_core_codegen-0.0.23 → aas_core_codegen-0.0.25}/aas_core_codegen/golang/common.py +0 -0
  110. {aas_core_codegen-0.0.23 → aas_core_codegen-0.0.25}/aas_core_codegen/golang/description.py +0 -0
  111. {aas_core_codegen-0.0.23 → aas_core_codegen-0.0.25}/aas_core_codegen/golang/lib/__init__.py +0 -0
  112. {aas_core_codegen-0.0.23 → aas_core_codegen-0.0.25}/aas_core_codegen/golang/lib/_generate_common.py +0 -0
  113. {aas_core_codegen-0.0.23 → aas_core_codegen-0.0.25}/aas_core_codegen/golang/lib/_generate_constants.py +0 -0
  114. {aas_core_codegen-0.0.23 → aas_core_codegen-0.0.25}/aas_core_codegen/golang/lib/_generate_enhancing.py +0 -0
  115. {aas_core_codegen-0.0.23 → aas_core_codegen-0.0.25}/aas_core_codegen/golang/lib/_generate_jsonization.py +0 -0
  116. {aas_core_codegen-0.0.23 → aas_core_codegen-0.0.25}/aas_core_codegen/golang/lib/_generate_reporting.py +0 -0
  117. {aas_core_codegen-0.0.23 → aas_core_codegen-0.0.25}/aas_core_codegen/golang/lib/_generate_stringification.py +0 -0
  118. {aas_core_codegen-0.0.23 → aas_core_codegen-0.0.25}/aas_core_codegen/golang/lib/_generate_types.py +0 -0
  119. {aas_core_codegen-0.0.23 → aas_core_codegen-0.0.25}/aas_core_codegen/golang/lib/_generate_verification.py +0 -0
  120. {aas_core_codegen-0.0.23 → aas_core_codegen-0.0.25}/aas_core_codegen/golang/lib/_generate_xmlization.py +0 -0
  121. {aas_core_codegen-0.0.23 → aas_core_codegen-0.0.25}/aas_core_codegen/golang/main.py +0 -0
  122. {aas_core_codegen-0.0.23 → aas_core_codegen-0.0.25}/aas_core_codegen/golang/naming.py +0 -0
  123. {aas_core_codegen-0.0.23 → aas_core_codegen-0.0.25}/aas_core_codegen/golang/pointering.py +0 -0
  124. {aas_core_codegen-0.0.23 → aas_core_codegen-0.0.25}/aas_core_codegen/golang/tests/__init__.py +0 -0
  125. {aas_core_codegen-0.0.23 → aas_core_codegen-0.0.25}/aas_core_codegen/golang/tests/_generate_aastesting_common_jsonization.py +0 -0
  126. {aas_core_codegen-0.0.23 → aas_core_codegen-0.0.25}/aas_core_codegen/golang/tests/_generate_aastesting_constants.py +0 -0
  127. {aas_core_codegen-0.0.23 → aas_core_codegen-0.0.25}/aas_core_codegen/golang/tests/_generate_aastesting_deep_equal.py +0 -0
  128. {aas_core_codegen-0.0.23 → aas_core_codegen-0.0.25}/aas_core_codegen/golang/tests/_generate_aastesting_doc.py +0 -0
  129. {aas_core_codegen-0.0.23 → aas_core_codegen-0.0.25}/aas_core_codegen/golang/tests/_generate_aastesting_filesystem.py +0 -0
  130. {aas_core_codegen-0.0.23 → aas_core_codegen-0.0.25}/aas_core_codegen/golang/tests/_generate_aastesting_tracing.py +0 -0
  131. {aas_core_codegen-0.0.23 → aas_core_codegen-0.0.25}/aas_core_codegen/golang/tests/_generate_descend_test_common.py +0 -0
  132. {aas_core_codegen-0.0.23 → aas_core_codegen-0.0.25}/aas_core_codegen/golang/tests/_generate_descend_test_descend_once_test.py +0 -0
  133. {aas_core_codegen-0.0.23 → aas_core_codegen-0.0.25}/aas_core_codegen/golang/tests/_generate_descend_test_descend_test.py +0 -0
  134. {aas_core_codegen-0.0.23 → aas_core_codegen-0.0.25}/aas_core_codegen/golang/tests/_generate_enhancing_test.py +0 -0
  135. {aas_core_codegen-0.0.23 → aas_core_codegen-0.0.25}/aas_core_codegen/golang/tests/_generate_is_xxx_test.py +0 -0
  136. {aas_core_codegen-0.0.23 → aas_core_codegen-0.0.25}/aas_core_codegen/golang/tests/_generate_jsonization_test_classes_with_descendants_test.py +0 -0
  137. {aas_core_codegen-0.0.23 → aas_core_codegen-0.0.25}/aas_core_codegen/golang/tests/_generate_jsonization_test_common_test.py +0 -0
  138. {aas_core_codegen-0.0.23 → aas_core_codegen-0.0.25}/aas_core_codegen/golang/tests/_generate_jsonization_test_concrete_classes_test.py +0 -0
  139. {aas_core_codegen-0.0.23 → aas_core_codegen-0.0.25}/aas_core_codegen/golang/tests/_generate_jsonization_test_enums_test.py +0 -0
  140. {aas_core_codegen-0.0.23 → aas_core_codegen-0.0.25}/aas_core_codegen/golang/tests/_generate_verification_test.py +0 -0
  141. {aas_core_codegen-0.0.23 → aas_core_codegen-0.0.25}/aas_core_codegen/golang/tests/_generate_xmlization_test_common_test.py +0 -0
  142. {aas_core_codegen-0.0.23 → aas_core_codegen-0.0.25}/aas_core_codegen/golang/tests/_generate_xmlization_test_concrete_classes_test.py +0 -0
  143. {aas_core_codegen-0.0.23 → aas_core_codegen-0.0.25}/aas_core_codegen/golang/tests/_generate_xxx_or_default_test.py +0 -0
  144. {aas_core_codegen-0.0.23 → aas_core_codegen-0.0.25}/aas_core_codegen/golang/transpilation.py +0 -0
  145. {aas_core_codegen-0.0.23 → aas_core_codegen-0.0.25}/aas_core_codegen/golang/unrolling.py +0 -0
  146. {aas_core_codegen-0.0.23 → aas_core_codegen-0.0.25}/aas_core_codegen/infer_for_schema/__init__.py +0 -0
  147. {aas_core_codegen-0.0.23 → aas_core_codegen-0.0.25}/aas_core_codegen/infer_for_schema/_inline.py +0 -0
  148. {aas_core_codegen-0.0.23 → aas_core_codegen-0.0.25}/aas_core_codegen/infer_for_schema/_len.py +0 -0
  149. {aas_core_codegen-0.0.23 → aas_core_codegen-0.0.25}/aas_core_codegen/infer_for_schema/_pattern.py +0 -0
  150. {aas_core_codegen-0.0.23 → aas_core_codegen-0.0.25}/aas_core_codegen/infer_for_schema/_set.py +0 -0
  151. {aas_core_codegen-0.0.23 → aas_core_codegen-0.0.25}/aas_core_codegen/infer_for_schema/_stringify.py +0 -0
  152. {aas_core_codegen-0.0.23 → aas_core_codegen-0.0.25}/aas_core_codegen/infer_for_schema/_types.py +0 -0
  153. {aas_core_codegen-0.0.23 → aas_core_codegen-0.0.25}/aas_core_codegen/infer_for_schema/match.py +0 -0
  154. {aas_core_codegen-0.0.23 → aas_core_codegen-0.0.25}/aas_core_codegen/intermediate/__init__.py +0 -0
  155. {aas_core_codegen-0.0.23 → aas_core_codegen-0.0.25}/aas_core_codegen/intermediate/_hierarchy.py +0 -0
  156. {aas_core_codegen-0.0.23 → aas_core_codegen-0.0.25}/aas_core_codegen/intermediate/_stringify.py +0 -0
  157. {aas_core_codegen-0.0.23 → aas_core_codegen-0.0.25}/aas_core_codegen/intermediate/_translate.py +0 -0
  158. {aas_core_codegen-0.0.23 → aas_core_codegen-0.0.25}/aas_core_codegen/intermediate/_types.py +0 -0
  159. {aas_core_codegen-0.0.23 → aas_core_codegen-0.0.25}/aas_core_codegen/intermediate/construction.py +0 -0
  160. {aas_core_codegen-0.0.23 → aas_core_codegen-0.0.25}/aas_core_codegen/intermediate/doc.py +0 -0
  161. {aas_core_codegen-0.0.23 → aas_core_codegen-0.0.25}/aas_core_codegen/intermediate/pattern_verification.py +0 -0
  162. {aas_core_codegen-0.0.23 → aas_core_codegen-0.0.25}/aas_core_codegen/intermediate/revm.py +0 -0
  163. {aas_core_codegen-0.0.23 → aas_core_codegen-0.0.25}/aas_core_codegen/intermediate/type_inference.py +0 -0
  164. {aas_core_codegen-0.0.23 → aas_core_codegen-0.0.25}/aas_core_codegen/java/__init__.py +0 -0
  165. {aas_core_codegen-0.0.23 → aas_core_codegen-0.0.25}/aas_core_codegen/java/common.py +0 -0
  166. {aas_core_codegen-0.0.23 → aas_core_codegen-0.0.25}/aas_core_codegen/java/description.py +0 -0
  167. {aas_core_codegen-0.0.23 → aas_core_codegen-0.0.25}/aas_core_codegen/java/lib/__init__.py +0 -0
  168. {aas_core_codegen-0.0.23 → aas_core_codegen-0.0.25}/aas_core_codegen/java/lib/_generate_constants.py +0 -0
  169. {aas_core_codegen-0.0.23 → aas_core_codegen-0.0.25}/aas_core_codegen/java/lib/_generate_copying.py +0 -0
  170. {aas_core_codegen-0.0.23 → aas_core_codegen-0.0.25}/aas_core_codegen/java/lib/_generate_enhancing.py +0 -0
  171. {aas_core_codegen-0.0.23 → aas_core_codegen-0.0.25}/aas_core_codegen/java/lib/_generate_generation.py +0 -0
  172. {aas_core_codegen-0.0.23 → aas_core_codegen-0.0.25}/aas_core_codegen/java/lib/_generate_jsonization.py +0 -0
  173. {aas_core_codegen-0.0.23 → aas_core_codegen-0.0.25}/aas_core_codegen/java/lib/_generate_reporting.py +0 -0
  174. {aas_core_codegen-0.0.23 → aas_core_codegen-0.0.25}/aas_core_codegen/java/lib/_generate_stringification.py +0 -0
  175. {aas_core_codegen-0.0.23 → aas_core_codegen-0.0.25}/aas_core_codegen/java/lib/_generate_types.py +0 -0
  176. {aas_core_codegen-0.0.23 → aas_core_codegen-0.0.25}/aas_core_codegen/java/lib/_generate_verification.py +0 -0
  177. {aas_core_codegen-0.0.23 → aas_core_codegen-0.0.25}/aas_core_codegen/java/lib/_generate_visitation.py +0 -0
  178. {aas_core_codegen-0.0.23 → aas_core_codegen-0.0.25}/aas_core_codegen/java/lib/_generate_xmlization.py +0 -0
  179. {aas_core_codegen-0.0.23 → aas_core_codegen-0.0.25}/aas_core_codegen/java/main.py +0 -0
  180. {aas_core_codegen-0.0.23 → aas_core_codegen-0.0.25}/aas_core_codegen/java/naming.py +0 -0
  181. {aas_core_codegen-0.0.23 → aas_core_codegen-0.0.25}/aas_core_codegen/java/optional.py +0 -0
  182. {aas_core_codegen-0.0.23 → aas_core_codegen-0.0.25}/aas_core_codegen/java/tests/__init__.py +0 -0
  183. {aas_core_codegen-0.0.23 → aas_core_codegen-0.0.25}/aas_core_codegen/java/tests/_generate_common.py +0 -0
  184. {aas_core_codegen-0.0.23 → aas_core_codegen-0.0.25}/aas_core_codegen/java/tests/_generate_common_json.py +0 -0
  185. {aas_core_codegen-0.0.23 → aas_core_codegen-0.0.25}/aas_core_codegen/java/tests/_generate_common_jsonization.py +0 -0
  186. {aas_core_codegen-0.0.23 → aas_core_codegen-0.0.25}/aas_core_codegen/java/tests/_generate_test_copying.py +0 -0
  187. {aas_core_codegen-0.0.23 → aas_core_codegen-0.0.25}/aas_core_codegen/java/tests/_generate_test_descend_and_visitor_through.py +0 -0
  188. {aas_core_codegen-0.0.23 → aas_core_codegen-0.0.25}/aas_core_codegen/java/tests/_generate_test_descend_once.py +0 -0
  189. {aas_core_codegen-0.0.23 → aas_core_codegen-0.0.25}/aas_core_codegen/java/tests/_generate_test_enhancing.py +0 -0
  190. {aas_core_codegen-0.0.23 → aas_core_codegen-0.0.25}/aas_core_codegen/java/tests/_generate_test_jsonization_of_concrete_classes.py +0 -0
  191. {aas_core_codegen-0.0.23 → aas_core_codegen-0.0.25}/aas_core_codegen/java/tests/_generate_test_jsonization_of_enums.py +0 -0
  192. {aas_core_codegen-0.0.23 → aas_core_codegen-0.0.25}/aas_core_codegen/java/tests/_generate_test_jsonization_of_interfaces.py +0 -0
  193. {aas_core_codegen-0.0.23 → aas_core_codegen-0.0.25}/aas_core_codegen/java/tests/_generate_test_over_x_or_empty.py +0 -0
  194. {aas_core_codegen-0.0.23 → aas_core_codegen-0.0.25}/aas_core_codegen/java/tests/_generate_test_verification_of_enums.py +0 -0
  195. {aas_core_codegen-0.0.23 → aas_core_codegen-0.0.25}/aas_core_codegen/java/tests/_generate_test_x_or_default.py +0 -0
  196. {aas_core_codegen-0.0.23 → aas_core_codegen-0.0.25}/aas_core_codegen/java/tests/_generate_test_xmlization_of_concrete_classes.py +0 -0
  197. {aas_core_codegen-0.0.23 → aas_core_codegen-0.0.25}/aas_core_codegen/java/tests/_generate_test_xmlization_of_interfaces.py +0 -0
  198. {aas_core_codegen-0.0.23 → aas_core_codegen-0.0.25}/aas_core_codegen/java/transpilation.py +0 -0
  199. {aas_core_codegen-0.0.23 → aas_core_codegen-0.0.25}/aas_core_codegen/jsonschema/__init__.py +0 -0
  200. {aas_core_codegen-0.0.23 → aas_core_codegen-0.0.25}/aas_core_codegen/jsonschema/main.py +0 -0
  201. {aas_core_codegen-0.0.23 → aas_core_codegen-0.0.25}/aas_core_codegen/main.py +0 -0
  202. {aas_core_codegen-0.0.23 → aas_core_codegen-0.0.25}/aas_core_codegen/naming.py +0 -0
  203. {aas_core_codegen-0.0.23 → aas_core_codegen-0.0.25}/aas_core_codegen/parse/__init__.py +0 -0
  204. {aas_core_codegen-0.0.23 → aas_core_codegen-0.0.25}/aas_core_codegen/parse/_rules.py +0 -0
  205. {aas_core_codegen-0.0.23 → aas_core_codegen-0.0.25}/aas_core_codegen/parse/_stringify.py +0 -0
  206. {aas_core_codegen-0.0.23 → aas_core_codegen-0.0.25}/aas_core_codegen/parse/_translate.py +0 -0
  207. {aas_core_codegen-0.0.23 → aas_core_codegen-0.0.25}/aas_core_codegen/parse/_types.py +0 -0
  208. {aas_core_codegen-0.0.23 → aas_core_codegen-0.0.25}/aas_core_codegen/parse/retree/__init__.py +0 -0
  209. {aas_core_codegen-0.0.23 → aas_core_codegen-0.0.25}/aas_core_codegen/parse/retree/_fix.py +0 -0
  210. {aas_core_codegen-0.0.23 → aas_core_codegen-0.0.25}/aas_core_codegen/parse/retree/_parse.py +0 -0
  211. {aas_core_codegen-0.0.23 → aas_core_codegen-0.0.25}/aas_core_codegen/parse/retree/_render.py +0 -0
  212. {aas_core_codegen-0.0.23 → aas_core_codegen-0.0.25}/aas_core_codegen/parse/retree/_stringify.py +0 -0
  213. {aas_core_codegen-0.0.23 → aas_core_codegen-0.0.25}/aas_core_codegen/parse/retree/_types.py +0 -0
  214. {aas_core_codegen-0.0.23 → aas_core_codegen-0.0.25}/aas_core_codegen/parse/retree/_visitor.py +0 -0
  215. {aas_core_codegen-0.0.23 → aas_core_codegen-0.0.25}/aas_core_codegen/parse/tree.py +0 -0
  216. {aas_core_codegen-0.0.23 → aas_core_codegen-0.0.25}/aas_core_codegen/py.typed +0 -0
  217. {aas_core_codegen-0.0.23 → aas_core_codegen-0.0.25}/aas_core_codegen/python/__init__.py +0 -0
  218. {aas_core_codegen-0.0.23 → aas_core_codegen-0.0.25}/aas_core_codegen/python/common.py +0 -0
  219. {aas_core_codegen-0.0.23 → aas_core_codegen-0.0.25}/aas_core_codegen/python/description.py +0 -0
  220. {aas_core_codegen-0.0.23 → aas_core_codegen-0.0.25}/aas_core_codegen/python/lib/__init__.py +0 -0
  221. {aas_core_codegen-0.0.23 → aas_core_codegen-0.0.25}/aas_core_codegen/python/lib/_generate_common.py +0 -0
  222. {aas_core_codegen-0.0.23 → aas_core_codegen-0.0.25}/aas_core_codegen/python/lib/_generate_constants.py +0 -0
  223. {aas_core_codegen-0.0.23 → aas_core_codegen-0.0.25}/aas_core_codegen/python/lib/_generate_stringification.py +0 -0
  224. {aas_core_codegen-0.0.23 → aas_core_codegen-0.0.25}/aas_core_codegen/python/lib/_generate_types.py +0 -0
  225. {aas_core_codegen-0.0.23 → aas_core_codegen-0.0.25}/aas_core_codegen/python/lib/_generate_verification.py +0 -0
  226. {aas_core_codegen-0.0.23 → aas_core_codegen-0.0.25}/aas_core_codegen/python/main.py +0 -0
  227. {aas_core_codegen-0.0.23 → aas_core_codegen-0.0.25}/aas_core_codegen/python/naming.py +0 -0
  228. {aas_core_codegen-0.0.23 → aas_core_codegen-0.0.25}/aas_core_codegen/python/tests/__init__.py +0 -0
  229. {aas_core_codegen-0.0.23 → aas_core_codegen-0.0.25}/aas_core_codegen/python/tests/_generate_common_jsonization.py +0 -0
  230. {aas_core_codegen-0.0.23 → aas_core_codegen-0.0.25}/aas_core_codegen/python/tests/_generate_common_xmlization.py +0 -0
  231. {aas_core_codegen-0.0.23 → aas_core_codegen-0.0.25}/aas_core_codegen/python/tests/_generate_test_descend_once.py +0 -0
  232. {aas_core_codegen-0.0.23 → aas_core_codegen-0.0.25}/aas_core_codegen/python/tests/_generate_test_jsonization_of_enums.py +0 -0
  233. {aas_core_codegen-0.0.23 → aas_core_codegen-0.0.25}/aas_core_codegen/python/transpilation.py +0 -0
  234. {aas_core_codegen-0.0.23 → aas_core_codegen-0.0.25}/aas_core_codegen/python/unrolling.py +0 -0
  235. {aas_core_codegen-0.0.23 → aas_core_codegen-0.0.25}/aas_core_codegen/run.py +0 -0
  236. {aas_core_codegen-0.0.23 → aas_core_codegen-0.0.25}/aas_core_codegen/smoke/__init__.py +0 -0
  237. {aas_core_codegen-0.0.23 → aas_core_codegen-0.0.25}/aas_core_codegen/smoke/main.py +0 -0
  238. {aas_core_codegen-0.0.23 → aas_core_codegen-0.0.25}/aas_core_codegen/specific_implementations.py +0 -0
  239. {aas_core_codegen-0.0.23 → aas_core_codegen-0.0.25}/aas_core_codegen/stringify.py +0 -0
  240. {aas_core_codegen-0.0.23 → aas_core_codegen-0.0.25}/aas_core_codegen/typescript/__init__.py +0 -0
  241. {aas_core_codegen-0.0.23 → aas_core_codegen-0.0.25}/aas_core_codegen/typescript/common.py +0 -0
  242. {aas_core_codegen-0.0.23 → aas_core_codegen-0.0.25}/aas_core_codegen/typescript/description.py +0 -0
  243. {aas_core_codegen-0.0.23 → aas_core_codegen-0.0.25}/aas_core_codegen/typescript/lib/__init__.py +0 -0
  244. {aas_core_codegen-0.0.23 → aas_core_codegen-0.0.25}/aas_core_codegen/typescript/lib/_generate_common.py +0 -0
  245. {aas_core_codegen-0.0.23 → aas_core_codegen-0.0.25}/aas_core_codegen/typescript/lib/_generate_constants.py +0 -0
  246. {aas_core_codegen-0.0.23 → aas_core_codegen-0.0.25}/aas_core_codegen/typescript/lib/_generate_index.py +0 -0
  247. {aas_core_codegen-0.0.23 → aas_core_codegen-0.0.25}/aas_core_codegen/typescript/lib/_generate_jsonization.py +0 -0
  248. {aas_core_codegen-0.0.23 → aas_core_codegen-0.0.25}/aas_core_codegen/typescript/lib/_generate_stringification.py +0 -0
  249. {aas_core_codegen-0.0.23 → aas_core_codegen-0.0.25}/aas_core_codegen/typescript/lib/_generate_types.py +0 -0
  250. {aas_core_codegen-0.0.23 → aas_core_codegen-0.0.25}/aas_core_codegen/typescript/lib/_generate_verification.py +0 -0
  251. {aas_core_codegen-0.0.23 → aas_core_codegen-0.0.25}/aas_core_codegen/typescript/naming.py +0 -0
  252. {aas_core_codegen-0.0.23 → aas_core_codegen-0.0.25}/aas_core_codegen/typescript/tests/_generate_common.py +0 -0
  253. {aas_core_codegen-0.0.23 → aas_core_codegen-0.0.25}/aas_core_codegen/typescript/tests/_generate_common_base64_spec.py +0 -0
  254. {aas_core_codegen-0.0.23 → aas_core_codegen-0.0.25}/aas_core_codegen/typescript/tests/_generate_common_base64url_spec.py +0 -0
  255. {aas_core_codegen-0.0.23 → aas_core_codegen-0.0.25}/aas_core_codegen/typescript/tests/_generate_common_jsonization.py +0 -0
  256. {aas_core_codegen-0.0.23 → aas_core_codegen-0.0.25}/aas_core_codegen/typescript/tests/_generate_jsonization_concrete_classes_spec.py +0 -0
  257. {aas_core_codegen-0.0.23 → aas_core_codegen-0.0.25}/aas_core_codegen/typescript/tests/_generate_jsonization_interfaces_spec.py +0 -0
  258. {aas_core_codegen-0.0.23 → aas_core_codegen-0.0.25}/aas_core_codegen/typescript/tests/_generate_types_casts_spec.py +0 -0
  259. {aas_core_codegen-0.0.23 → aas_core_codegen-0.0.25}/aas_core_codegen/typescript/tests/_generate_types_descend_and_pass_through_visitor_spec.py +0 -0
  260. {aas_core_codegen-0.0.23 → aas_core_codegen-0.0.25}/aas_core_codegen/typescript/tests/_generate_types_descend_once_spec.py +0 -0
  261. {aas_core_codegen-0.0.23 → aas_core_codegen-0.0.25}/aas_core_codegen/typescript/tests/_generate_types_model_type_spec.py +0 -0
  262. {aas_core_codegen-0.0.23 → aas_core_codegen-0.0.25}/aas_core_codegen/typescript/tests/_generate_types_over_enum_spec.py +0 -0
  263. {aas_core_codegen-0.0.23 → aas_core_codegen-0.0.25}/aas_core_codegen/typescript/tests/_generate_types_over_x_or_empty_spec.py +0 -0
  264. {aas_core_codegen-0.0.23 → aas_core_codegen-0.0.25}/aas_core_codegen/typescript/tests/_generate_types_type_matches_spec.py +0 -0
  265. {aas_core_codegen-0.0.23 → aas_core_codegen-0.0.25}/aas_core_codegen/typescript/tests/_generate_types_x_or_default_spec.py +0 -0
  266. {aas_core_codegen-0.0.23 → aas_core_codegen-0.0.25}/aas_core_codegen/typescript/tests/_generate_xmlization_concrete_classes_spec.py +0 -0
  267. {aas_core_codegen-0.0.23 → aas_core_codegen-0.0.25}/aas_core_codegen/typescript/tests/_generate_xmlization_interfaces_spec.py +0 -0
  268. {aas_core_codegen-0.0.23 → aas_core_codegen-0.0.25}/aas_core_codegen/typescript/transpilation.py +0 -0
  269. {aas_core_codegen-0.0.23 → aas_core_codegen-0.0.25}/aas_core_codegen/typescript/unrolling.py +0 -0
  270. {aas_core_codegen-0.0.23 → aas_core_codegen-0.0.25}/aas_core_codegen/xsd/__init__.py +0 -0
  271. {aas_core_codegen-0.0.23 → aas_core_codegen-0.0.25}/aas_core_codegen/xsd/main.py +0 -0
  272. {aas_core_codegen-0.0.23 → aas_core_codegen-0.0.25}/aas_core_codegen/xsd/naming.py +0 -0
  273. {aas_core_codegen-0.0.23 → aas_core_codegen-0.0.25}/aas_core_codegen/yielding/__init__.py +0 -0
  274. {aas_core_codegen-0.0.23 → aas_core_codegen-0.0.25}/aas_core_codegen/yielding/flow.py +0 -0
  275. {aas_core_codegen-0.0.23 → aas_core_codegen-0.0.25}/aas_core_codegen/yielding/linear.py +0 -0
  276. {aas_core_codegen-0.0.23 → aas_core_codegen-0.0.25}/aas_core_codegen.egg-info/dependency_links.txt +0 -0
  277. {aas_core_codegen-0.0.23 → aas_core_codegen-0.0.25}/aas_core_codegen.egg-info/entry_points.txt +0 -0
  278. {aas_core_codegen-0.0.23 → aas_core_codegen-0.0.25}/aas_core_codegen.egg-info/requires.txt +0 -0
  279. {aas_core_codegen-0.0.23 → aas_core_codegen-0.0.25}/aas_core_codegen.egg-info/top_level.txt +0 -0
  280. {aas_core_codegen-0.0.23 → aas_core_codegen-0.0.25}/setup.cfg +0 -0
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: aas-core-codegen
3
- Version: 0.0.23
3
+ Version: 0.0.25
4
4
  Summary: Generate implementations and schemas based on an AAS meta-model.
5
5
  Author-email: Marko Ristin <marko@ristin.ch>, Nico Braunisch <nico.braunisch@tu-dresden.de>
6
6
  License: MIT
@@ -1,6 +1,6 @@
1
1
  """Generate implementations and schemas based on an AAS meta-model."""
2
2
 
3
- __version__ = "0.0.23"
3
+ __version__ = "0.0.25"
4
4
  __author__ = "Marko Ristin, Nico Braunisch"
5
5
  __license__ = "License :: OSI Approved :: MIT License"
6
6
  __status__ = "Production/Stable"
@@ -1001,13 +1001,21 @@ jsonable[{key_literal}] = (
1001
1001
  access_expression=Stripped("item"), type_anno=type_anno.items
1002
1002
  )
1003
1003
 
1004
- block = Stripped(
1005
- f"""\
1004
+ # NOTE (mristin):
1005
+ # We optimize here to avoid unnecessary comprehension.
1006
+ if transformation_expression == "item":
1007
+ block = Stripped(
1008
+ f"""\
1009
+ jsonable[{key_literal}] = list(that.{prop_name})"""
1010
+ )
1011
+ else:
1012
+ block = Stripped(
1013
+ f"""\
1006
1014
  jsonable[{key_literal}] = [
1007
1015
  {I}{transformation_expression}
1008
1016
  {I}for item in that.{prop_name}
1009
1017
  ]"""
1010
- )
1018
+ )
1011
1019
 
1012
1020
  else:
1013
1021
  assert_never(type_anno)
@@ -964,7 +964,7 @@ self.{prop_name} = {read_prop_cls_as_sequence}(
964
964
  read_item_cls_as_element = Identifier(
965
965
  _READ_FUNCTION_BY_PRIMITIVE_TYPE[type_anno.items.a_type]
966
966
  )
967
- items_type = Stripped(str(type_anno.items.a_type))
967
+ items_type = python_common.PRIMITIVE_TYPE_MAP[type_anno.items.a_type]
968
968
  else:
969
969
  raise AssertionError(
970
970
  "(mristin, 2022-10-09) We handle only lists of classes and primitive types"
@@ -55,7 +55,7 @@ import {qualified_module_name}.types as aas_types"""
55
55
  ),
56
56
  Stripped(
57
57
  """\
58
- _REPO_ROOT = pathlib.Path(os.path.realpath(__file__)).parent.parent"""
58
+ _REPO_ROOT = pathlib.Path(os.path.realpath(__file__)).parent.parent.parent"""
59
59
  ),
60
60
  Stripped(
61
61
  '''\
@@ -51,6 +51,7 @@ import {qualified_module_name}.types as aas_types"""
51
51
  ),
52
52
  Stripped(
53
53
  """\
54
+ import tests.common
54
55
  import tests.common_xmlization"""
55
56
  ),
56
57
  Stripped(
@@ -133,6 +133,7 @@ import {qualified_module_name}.types as aas_types"""
133
133
  ),
134
134
  Stripped(
135
135
  """\
136
+ import tests.common
136
137
  import tests.common_xmlization"""
137
138
  ),
138
139
  ]
@@ -127,6 +127,7 @@ import {qualified_module_name}.types as aas_types"""
127
127
  ),
128
128
  Stripped(
129
129
  """\
130
+ import tests.common
130
131
  import tests.common_xmlization"""
131
132
  ),
132
133
  ]
@@ -124,6 +124,7 @@ import {qualified_module_name}.jsonization as aas_jsonization"""
124
124
  ),
125
125
  Stripped(
126
126
  """\
127
+ import tests.common
127
128
  import tests.common_jsonization"""
128
129
  ),
129
130
  _generate_test_case(symbol_table=symbol_table),
@@ -105,6 +105,7 @@ import {qualified_module_name}.jsonization as aas_jsonization"""
105
105
  ),
106
106
  Stripped(
107
107
  """\
108
+ import tests.common
108
109
  import tests.common_jsonization"""
109
110
  ),
110
111
  _generate_test_case(symbol_table=symbol_table),
@@ -149,6 +149,7 @@ import {qualified_module_name}.xmlization as aas_xmlization"""
149
149
  ),
150
150
  Stripped(
151
151
  """\
152
+ import tests.common
152
153
  import tests.common_xmlization"""
153
154
  ),
154
155
  _generate_test_case(symbol_table=symbol_table),
@@ -151,6 +151,7 @@ import {qualified_module_name}.xmlization as aas_xmlization"""
151
151
  ),
152
152
  Stripped(
153
153
  """\
154
+ import tests.common
154
155
  import tests.common_xmlization"""
155
156
  ),
156
157
  _generate_test_case(symbol_table=symbol_table),
@@ -38,6 +38,113 @@ _PARSE_FUNCTION_BY_PRIMITIVE_TYPE = {
38
38
  }
39
39
 
40
40
 
41
+ def _generate_parse_text_for_primitive_type(
42
+ primitive_type: intermediate.PrimitiveType,
43
+ ) -> Stripped:
44
+ """Generate parser for a primitive XML text representation."""
45
+ if primitive_type is intermediate.PrimitiveType.BOOL:
46
+ return Stripped(
47
+ f"""\
48
+ function parseBooleanText(
49
+ {I}text: string
50
+ ): AasCommon.Either<boolean, DeserializationError> {{
51
+ {I}if (text === "true" || text === "1") {{
52
+ {II}return new AasCommon.Either<boolean, DeserializationError>(true, null);
53
+ {I}}}
54
+ {I}if (text === "false" || text === "0") {{
55
+ {II}return new AasCommon.Either<boolean, DeserializationError>(false, null);
56
+ {I}}}
57
+
58
+ {I}return newDeserializationError<boolean>(
59
+ {II}`Expected xs:boolean text, but got: ${{text}}`
60
+ {I});
61
+ }}"""
62
+ )
63
+
64
+ elif primitive_type is intermediate.PrimitiveType.INT:
65
+ return Stripped(
66
+ f"""\
67
+ function parseIntegerText(
68
+ {I}text: string
69
+ ): AasCommon.Either<number, DeserializationError> {{
70
+ {I}if (!/^[+-]?\\d+$/.test(text)) {{
71
+ {II}return newDeserializationError<number>(
72
+ {III}`Expected integer text, but got: ${{text}}`
73
+ {II});
74
+ {I}}}
75
+
76
+ {I}const value = Number(text);
77
+ {I}if (!Number.isInteger(value)) {{
78
+ {II}return newDeserializationError<number>(
79
+ {III}`Expected integer text, but got: ${{text}}`
80
+ {II});
81
+ {I}}}
82
+
83
+ {I}return new AasCommon.Either<number, DeserializationError>(value, null);
84
+ }}"""
85
+ )
86
+
87
+ elif primitive_type is intermediate.PrimitiveType.FLOAT:
88
+ return Stripped(
89
+ f"""\
90
+ function parseFloatText(
91
+ {I}text: string
92
+ ): AasCommon.Either<number, DeserializationError> {{
93
+ {I}if (text === "INF") {{
94
+ {II}return new AasCommon.Either<number, DeserializationError>(Infinity, null);
95
+ {I}}}
96
+ {I}if (text === "-INF") {{
97
+ {II}return new AasCommon.Either<number, DeserializationError>(-Infinity, null);
98
+ {I}}}
99
+ {I}if (text === "NaN") {{
100
+ {II}return new AasCommon.Either<number, DeserializationError>(NaN, null);
101
+ {I}}}
102
+
103
+ {I}const value = Number(text);
104
+ {I}if (Number.isNaN(value)) {{
105
+ {II}return newDeserializationError<number>(
106
+ {III}`Expected xs:double text, but got: ${{text}}`
107
+ {II});
108
+ {I}}}
109
+
110
+ {I}return new AasCommon.Either<number, DeserializationError>(value, null);
111
+ }}"""
112
+ )
113
+
114
+ elif primitive_type is intermediate.PrimitiveType.STR:
115
+ return Stripped(
116
+ f"""\
117
+ function parseStringText(
118
+ {I}text: string
119
+ ): AasCommon.Either<string, DeserializationError> {{
120
+ {I}return new AasCommon.Either<string, DeserializationError>(text, null);
121
+ }}"""
122
+ )
123
+
124
+ elif primitive_type is intermediate.PrimitiveType.BYTEARRAY:
125
+ return Stripped(
126
+ f"""\
127
+ function parseBase64EncodedBytesText(
128
+ {I}text: string
129
+ ): AasCommon.Either<Uint8Array, DeserializationError> {{
130
+ {I}const decodedOrError = AasCommon.base64Decode(text);
131
+ {I}if (decodedOrError.error !== null) {{
132
+ {II}return newDeserializationError<Uint8Array>(
133
+ {III}decodedOrError.error
134
+ {II});
135
+ {I}}}
136
+
137
+ {I}return new AasCommon.Either<Uint8Array, DeserializationError>(
138
+ {II}decodedOrError.mustValue(),
139
+ {II}null
140
+ {I});
141
+ }}"""
142
+ )
143
+
144
+ else:
145
+ assert_never(primitive_type)
146
+
147
+
41
148
  def _parse_function_for_atomic_type(
42
149
  type_annotation: intermediate.AtomicTypeAnnotation,
43
150
  ) -> Identifier:
@@ -242,6 +349,7 @@ const parsedItems = new Array<{list_items_type}>();
242
349
  let itemIndex = 0;
243
350
 
244
351
  cursor.skipIgnorable();
352
+ // eslint-disable-next-line no-constant-condition
245
353
  while (true) {{
246
354
  {I}const itemOrClose = cursor.current();
247
355
  {I}if (itemOrClose === null) {{
@@ -332,6 +440,7 @@ const parsedItems = new Array<{list_items_type}>();
332
440
  let itemIndex = 0;
333
441
 
334
442
  cursor.skipIgnorable();
443
+ // eslint-disable-next-line no-constant-condition
335
444
  while (true) {{
336
445
  {I}const itemOrClose = cursor.current();
337
446
  {I}if (itemOrClose === null) {{
@@ -537,6 +646,7 @@ function {function_name}(
537
646
  {I}{indent_but_first_line(declarations, I)}
538
647
 
539
648
  {I}cursor.skipIgnorable();
649
+ {I}// eslint-disable-next-line no-constant-condition
540
650
  {I}while (true) {{
541
651
  {II}const token = cursor.current();
542
652
  {II}if (token === null) {{
@@ -674,6 +784,68 @@ function {serialize_function_name}(
674
784
  )
675
785
 
676
786
 
787
+ def _generate_serialize_text_for_primitive_type(
788
+ primitive_type: intermediate.PrimitiveType,
789
+ ) -> Stripped:
790
+ """Generate serializer for a primitive XML text representation."""
791
+ if primitive_type is intermediate.PrimitiveType.BOOL:
792
+ return Stripped(
793
+ f"""\
794
+ function serializeBooleanText(value: boolean): string {{
795
+ {I}return value ? "true" : "false";
796
+ }}"""
797
+ )
798
+
799
+ elif primitive_type is intermediate.PrimitiveType.INT:
800
+ return Stripped(
801
+ f"""\
802
+ function serializeIntegerText(value: number): string {{
803
+ {I}if (!Number.isInteger(value)) {{
804
+ {II}throw new Error(`Expected an integer, but got: ${{value}}`);
805
+ {I}}}
806
+
807
+ {I}return `${{value}}`;
808
+ }}"""
809
+ )
810
+
811
+ elif primitive_type is intermediate.PrimitiveType.FLOAT:
812
+ return Stripped(
813
+ f"""\
814
+ function serializeFloatText(value: number): string {{
815
+ {I}if (Number.isNaN(value)) {{
816
+ {II}return "NaN";
817
+ {I}}}
818
+ {I}if (value === Infinity) {{
819
+ {II}return "INF";
820
+ {I}}}
821
+ {I}if (value === -Infinity) {{
822
+ {II}return "-INF";
823
+ {I}}}
824
+
825
+ {I}return `${{value}}`;
826
+ }}"""
827
+ )
828
+
829
+ elif primitive_type is intermediate.PrimitiveType.STR:
830
+ return Stripped(
831
+ f"""\
832
+ function serializeStringText(value: string): string {{
833
+ {I}return escapeXmlText(value);
834
+ }}"""
835
+ )
836
+
837
+ elif primitive_type is intermediate.PrimitiveType.BYTEARRAY:
838
+ return Stripped(
839
+ f"""\
840
+ function serializeBase64EncodedBytesText(value: Uint8Array): string {{
841
+ {I}return escapeXmlText(AasCommon.base64Encode(value));
842
+ }}"""
843
+ )
844
+
845
+ else:
846
+ assert_never(primitive_type)
847
+
848
+
677
849
  def _generate_serialize_block_for_property(
678
850
  cls: intermediate.ConcreteClass,
679
851
  prop: intermediate.Property,
@@ -1183,6 +1355,7 @@ class XmlCursor {{
1183
1355
  {I}}}
1184
1356
 
1185
1357
  {I}skipIgnorable(): void {{
1358
+ {II}// eslint-disable-next-line no-constant-condition
1186
1359
  {II}while (true) {{
1187
1360
  {III}const token = this.current();
1188
1361
  {III}if (token === null) {{
@@ -1306,85 +1479,6 @@ function readTextContentAndConsumeEndTag(
1306
1479
  {I});
1307
1480
  }}
1308
1481
 
1309
- function parseBooleanText(
1310
- {I}text: string
1311
- ): AasCommon.Either<boolean, DeserializationError> {{
1312
- {I}if (text === "true" || text === "1") {{
1313
- {II}return new AasCommon.Either<boolean, DeserializationError>(true, null);
1314
- {I}}}
1315
- {I}if (text === "false" || text === "0") {{
1316
- {II}return new AasCommon.Either<boolean, DeserializationError>(false, null);
1317
- {I}}}
1318
-
1319
- {I}return newDeserializationError<boolean>(
1320
- {II}`Expected xs:boolean text, but got: ${{text}}`
1321
- {I});
1322
- }}
1323
-
1324
- function parseIntegerText(
1325
- {I}text: string
1326
- ): AasCommon.Either<number, DeserializationError> {{
1327
- {I}if (!/^[+-]?\\d+$/.test(text)) {{
1328
- {II}return newDeserializationError<number>(
1329
- {III}`Expected integer text, but got: ${{text}}`
1330
- {II});
1331
- {I}}}
1332
-
1333
- {I}const value = Number(text);
1334
- {I}if (!Number.isInteger(value)) {{
1335
- {II}return newDeserializationError<number>(
1336
- {III}`Expected integer text, but got: ${{text}}`
1337
- {II});
1338
- {I}}}
1339
-
1340
- {I}return new AasCommon.Either<number, DeserializationError>(value, null);
1341
- }}
1342
-
1343
- function parseFloatText(
1344
- {I}text: string
1345
- ): AasCommon.Either<number, DeserializationError> {{
1346
- {I}if (text === "INF") {{
1347
- {II}return new AasCommon.Either<number, DeserializationError>(Infinity, null);
1348
- {I}}}
1349
- {I}if (text === "-INF") {{
1350
- {II}return new AasCommon.Either<number, DeserializationError>(-Infinity, null);
1351
- {I}}}
1352
- {I}if (text === "NaN") {{
1353
- {II}return new AasCommon.Either<number, DeserializationError>(NaN, null);
1354
- {I}}}
1355
-
1356
- {I}const value = Number(text);
1357
- {I}if (Number.isNaN(value)) {{
1358
- {II}return newDeserializationError<number>(
1359
- {III}`Expected xs:double text, but got: ${{text}}`
1360
- {II});
1361
- {I}}}
1362
-
1363
- {I}return new AasCommon.Either<number, DeserializationError>(value, null);
1364
- }}
1365
-
1366
- function parseStringText(
1367
- {I}text: string
1368
- ): AasCommon.Either<string, DeserializationError> {{
1369
- {I}return new AasCommon.Either<string, DeserializationError>(text, null);
1370
- }}
1371
-
1372
- function parseBase64EncodedBytesText(
1373
- {I}text: string
1374
- ): AasCommon.Either<Uint8Array, DeserializationError> {{
1375
- {I}const decodedOrError = AasCommon.base64Decode(text);
1376
- {I}if (decodedOrError.error !== null) {{
1377
- {II}return newDeserializationError<Uint8Array>(
1378
- {III}decodedOrError.error
1379
- {II});
1380
- {I}}}
1381
-
1382
- {I}return new AasCommon.Either<Uint8Array, DeserializationError>(
1383
- {II}decodedOrError.mustValue(),
1384
- {II}null
1385
- {I});
1386
- }}
1387
-
1388
1482
  function parsePropertyAsClassInstance(
1389
1483
  {I}cursor: XmlCursor,
1390
1484
  {I}propertyStartTag: OpenTagToken
@@ -1449,6 +1543,9 @@ function parsePropertyAsClassInstance(
1449
1543
  ),
1450
1544
  ] # type: List[Stripped]
1451
1545
 
1546
+ for primitive_type in intermediate.PrimitiveType:
1547
+ blocks.append(_generate_parse_text_for_primitive_type(primitive_type))
1548
+
1452
1549
  for enumeration in symbol_table.enumerations:
1453
1550
  blocks.append(_generate_parse_text_as_enumeration(enumeration))
1454
1551
 
@@ -1572,42 +1669,16 @@ function escapeXmlText(text: string): string {{
1572
1669
  {II}.replace(/>/g, "&gt;")
1573
1670
  {II}.replace(/\"/g, "&quot;")
1574
1671
  {II}.replace(/'/g, "&apos;");
1575
- }}
1576
-
1577
- function serializeBooleanText(value: boolean): string {{
1578
- {I}return value ? "true" : "false";
1579
- }}
1580
-
1581
- function serializeIntegerText(value: number): string {{
1582
- {I}if (!Number.isInteger(value)) {{
1583
- {II}throw new Error(`Expected an integer, but got: ${{value}}`);
1584
- {I}}}
1585
-
1586
- {I}return `${{value}}`;
1587
- }}
1588
-
1589
- function serializeFloatText(value: number): string {{
1590
- {I}if (Number.isNaN(value)) {{
1591
- {II}return "NaN";
1592
- {I}}}
1593
- {I}if (value === Infinity) {{
1594
- {II}return "INF";
1595
- {I}}}
1596
- {I}if (value === -Infinity) {{
1597
- {II}return "-INF";
1598
- {I}}}
1599
-
1600
- {I}return `${{value}}`;
1601
- }}
1602
-
1603
- function serializeStringText(value: string): string {{
1604
- {I}return escapeXmlText(value);
1605
- }}
1606
-
1607
- function serializeBase64EncodedBytesText(value: Uint8Array): string {{
1608
- {I}return escapeXmlText(AasCommon.base64Encode(value));
1609
1672
  }}"""
1610
1673
  ),
1674
+ ]
1675
+ )
1676
+
1677
+ for primitive_type in intermediate.PrimitiveType:
1678
+ blocks.append(_generate_serialize_text_for_primitive_type(primitive_type))
1679
+
1680
+ blocks.extend(
1681
+ [
1611
1682
  _generate_serializer(symbol_table=symbol_table),
1612
1683
  Stripped("const SERIALIZER = new Serializer();"),
1613
1684
  Stripped(
@@ -1644,4 +1715,5 @@ export function toXmlString(that: AasTypes.Class): string {{
1644
1715
 
1645
1716
 
1646
1717
  assert generate.__doc__ is not None
1718
+ assert __doc__ is not None
1647
1719
  assert generate.__doc__.strip().startswith(__doc__.strip())
@@ -182,6 +182,15 @@ def execute(context: run.Context, stdout: TextIO, stderr: TextIO) -> int:
182
182
  None,
183
183
  ),
184
184
  ),
185
+ (
186
+ test_rel_path / "jsonization.common.spec.ts",
187
+ lambda: (
188
+ typescript_tests.generate_jsonization_common_spec(
189
+ symbol_table=verified_ir_table,
190
+ ),
191
+ None,
192
+ ),
193
+ ),
185
194
  (
186
195
  test_rel_path / "jsonization.enums.spec.ts",
187
196
  lambda: (
@@ -200,6 +209,33 @@ def execute(context: run.Context, stdout: TextIO, stderr: TextIO) -> int:
200
209
  None,
201
210
  ),
202
211
  ),
212
+ (
213
+ test_rel_path / "jsonization.negative.spec.ts",
214
+ lambda: (
215
+ typescript_tests.generate_jsonization_negative_spec(
216
+ symbol_table=verified_ir_table,
217
+ ),
218
+ None,
219
+ ),
220
+ ),
221
+ (
222
+ test_rel_path / "stringification.enums.spec.ts",
223
+ lambda: (
224
+ typescript_tests.generate_stringification_enums_spec(
225
+ symbol_table=verified_ir_table,
226
+ ),
227
+ None,
228
+ ),
229
+ ),
230
+ (
231
+ test_rel_path / "verification.spec.ts",
232
+ lambda: (
233
+ typescript_tests.generate_verification_spec(
234
+ symbol_table=verified_ir_table,
235
+ ),
236
+ None,
237
+ ),
238
+ ),
203
239
  (
204
240
  test_rel_path / "xmlization.concreteClasses.spec.ts",
205
241
  lambda: (
@@ -209,6 +245,22 @@ def execute(context: run.Context, stdout: TextIO, stderr: TextIO) -> int:
209
245
  None,
210
246
  ),
211
247
  ),
248
+ (
249
+ test_rel_path / "xmlization.basic.spec.ts",
250
+ lambda: (
251
+ typescript_tests.generate_xmlization_basic_spec(),
252
+ None,
253
+ ),
254
+ ),
255
+ (
256
+ test_rel_path / "xmlization.common.spec.ts",
257
+ lambda: (
258
+ typescript_tests.generate_xmlization_common_spec(
259
+ symbol_table=verified_ir_table,
260
+ ),
261
+ None,
262
+ ),
263
+ ),
212
264
  (
213
265
  test_rel_path / "xmlization.enums.spec.ts",
214
266
  lambda: (
@@ -227,6 +279,15 @@ def execute(context: run.Context, stdout: TextIO, stderr: TextIO) -> int:
227
279
  None,
228
280
  ),
229
281
  ),
282
+ (
283
+ test_rel_path / "xmlization.negative.spec.ts",
284
+ lambda: (
285
+ typescript_tests.generate_xmlization_negative_spec(
286
+ symbol_table=verified_ir_table,
287
+ ),
288
+ None,
289
+ ),
290
+ ),
230
291
  (
231
292
  test_rel_path / "types.casts.spec.ts",
232
293
  lambda: (
@@ -6,12 +6,18 @@ from aas_core_codegen.typescript.tests import (
6
6
  _generate_common_base64url_spec,
7
7
  _generate_common_jsonization,
8
8
  _generate_common_xmlization,
9
+ _generate_jsonization_common_spec,
9
10
  _generate_jsonization_concrete_classes_spec,
10
11
  _generate_jsonization_enums_spec,
11
12
  _generate_jsonization_interfaces_spec,
13
+ _generate_jsonization_negative_spec,
14
+ _generate_stringification_enums_spec,
12
15
  _generate_xmlization_concrete_classes_spec,
16
+ _generate_xmlization_basic_spec,
17
+ _generate_xmlization_common_spec,
13
18
  _generate_xmlization_enums_spec,
14
19
  _generate_xmlization_interfaces_spec,
20
+ _generate_xmlization_negative_spec,
15
21
  _generate_types_casts_spec,
16
22
  _generate_types_descend_and_pass_through_visitor_spec,
17
23
  _generate_types_descend_once_spec,
@@ -20,6 +26,7 @@ from aas_core_codegen.typescript.tests import (
20
26
  _generate_types_over_x_or_empty_spec,
21
27
  _generate_types_type_matches_spec,
22
28
  _generate_types_x_or_default_spec,
29
+ _generate_verification_spec,
23
30
  )
24
31
 
25
32
  generate_common = _generate_common.generate
@@ -27,16 +34,22 @@ generate_common_base64_spec = _generate_common_base64_spec.generate
27
34
  generate_common_base64url_spec = _generate_common_base64url_spec.generate
28
35
  generate_common_jsonization = _generate_common_jsonization.generate
29
36
  generate_common_xmlization = _generate_common_xmlization.generate
37
+ generate_jsonization_common_spec = _generate_jsonization_common_spec.generate
30
38
  generate_jsonization_concrete_classes_spec = (
31
39
  _generate_jsonization_concrete_classes_spec.generate
32
40
  )
33
41
  generate_jsonization_enums_spec = _generate_jsonization_enums_spec.generate
34
42
  generate_jsonization_interfaces_spec = _generate_jsonization_interfaces_spec.generate
43
+ generate_jsonization_negative_spec = _generate_jsonization_negative_spec.generate
44
+ generate_stringification_enums_spec = _generate_stringification_enums_spec.generate
35
45
  generate_xmlization_concrete_classes_spec = (
36
46
  _generate_xmlization_concrete_classes_spec.generate
37
47
  )
48
+ generate_xmlization_basic_spec = _generate_xmlization_basic_spec.generate
49
+ generate_xmlization_common_spec = _generate_xmlization_common_spec.generate
38
50
  generate_xmlization_enums_spec = _generate_xmlization_enums_spec.generate
39
51
  generate_xmlization_interfaces_spec = _generate_xmlization_interfaces_spec.generate
52
+ generate_xmlization_negative_spec = _generate_xmlization_negative_spec.generate
40
53
  generate_types_casts_spec = _generate_types_casts_spec.generate
41
54
  generate_types_descend_and_pass_through_visitor_spec = (
42
55
  _generate_types_descend_and_pass_through_visitor_spec.generate
@@ -47,3 +60,4 @@ generate_types_over_enum_spec = _generate_types_over_enum_spec.generate
47
60
  generate_types_over_x_or_empty_spec = _generate_types_over_x_or_empty_spec.generate
48
61
  generate_types_type_matches_spec = _generate_types_type_matches_spec.generate
49
62
  generate_types_x_or_default_spec = _generate_types_x_or_default_spec.generate
63
+ generate_verification_spec = _generate_verification_spec.generate
@@ -151,4 +151,5 @@ export function {load_minimal_name}(
151
151
 
152
152
 
153
153
  assert generate.__doc__ is not None
154
+ assert __doc__ is not None
154
155
  assert generate.__doc__.strip().startswith(__doc__.strip())