aas-core-codegen 0.0.24__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.24/aas_core_codegen.egg-info → aas_core_codegen-0.0.25}/PKG-INFO +1 -1
  2. {aas_core_codegen-0.0.24 → aas_core_codegen-0.0.25}/aas_core_codegen/__init__.py +1 -1
  3. {aas_core_codegen-0.0.24 → aas_core_codegen-0.0.25}/aas_core_codegen/typescript/main.py +43 -0
  4. {aas_core_codegen-0.0.24 → aas_core_codegen-0.0.25}/aas_core_codegen/typescript/tests/__init__.py +10 -0
  5. aas_core_codegen-0.0.25/aas_core_codegen/typescript/tests/_generate_jsonization_common_spec.py +74 -0
  6. {aas_core_codegen-0.0.24 → aas_core_codegen-0.0.25}/aas_core_codegen/typescript/tests/_generate_jsonization_enums_spec.py +10 -10
  7. aas_core_codegen-0.0.25/aas_core_codegen/typescript/tests/_generate_jsonization_negative_spec.py +316 -0
  8. aas_core_codegen-0.0.25/aas_core_codegen/typescript/tests/_generate_stringification_enums_spec.py +121 -0
  9. aas_core_codegen-0.0.25/aas_core_codegen/typescript/tests/_generate_verification_spec.py +122 -0
  10. aas_core_codegen-0.0.25/aas_core_codegen/typescript/tests/_generate_xmlization_basic_spec.py +95 -0
  11. {aas_core_codegen-0.0.24 → aas_core_codegen-0.0.25}/aas_core_codegen/typescript/tests/_generate_xmlization_enums_spec.py +34 -3
  12. {aas_core_codegen-0.0.24 → aas_core_codegen-0.0.25}/aas_core_codegen/typescript/tests/_generate_xmlization_negative_spec.py +1 -1
  13. {aas_core_codegen-0.0.24 → aas_core_codegen-0.0.25/aas_core_codegen.egg-info}/PKG-INFO +1 -1
  14. {aas_core_codegen-0.0.24 → aas_core_codegen-0.0.25}/aas_core_codegen.egg-info/SOURCES.txt +5 -0
  15. {aas_core_codegen-0.0.24 → aas_core_codegen-0.0.25}/pyproject.toml +1 -1
  16. {aas_core_codegen-0.0.24 → aas_core_codegen-0.0.25}/AUTHORS +0 -0
  17. {aas_core_codegen-0.0.24 → aas_core_codegen-0.0.25}/LICENSE +0 -0
  18. {aas_core_codegen-0.0.24 → aas_core_codegen-0.0.25}/README.rst +0 -0
  19. {aas_core_codegen-0.0.24 → aas_core_codegen-0.0.25}/aas_core_codegen/__main__.py +0 -0
  20. {aas_core_codegen-0.0.24 → aas_core_codegen-0.0.25}/aas_core_codegen/common.py +0 -0
  21. {aas_core_codegen-0.0.24 → aas_core_codegen-0.0.25}/aas_core_codegen/cpp/__init__.py +0 -0
  22. {aas_core_codegen-0.0.24 → aas_core_codegen-0.0.25}/aas_core_codegen/cpp/common.py +0 -0
  23. {aas_core_codegen-0.0.24 → aas_core_codegen-0.0.25}/aas_core_codegen/cpp/description.py +0 -0
  24. {aas_core_codegen-0.0.24 → aas_core_codegen-0.0.25}/aas_core_codegen/cpp/lib/__init__.py +0 -0
  25. {aas_core_codegen-0.0.24 → aas_core_codegen-0.0.25}/aas_core_codegen/cpp/lib/_generate_common.py +0 -0
  26. {aas_core_codegen-0.0.24 → aas_core_codegen-0.0.25}/aas_core_codegen/cpp/lib/_generate_constants.py +0 -0
  27. {aas_core_codegen-0.0.24 → aas_core_codegen-0.0.25}/aas_core_codegen/cpp/lib/_generate_enhancing.py +0 -0
  28. {aas_core_codegen-0.0.24 → aas_core_codegen-0.0.25}/aas_core_codegen/cpp/lib/_generate_iteration.py +0 -0
  29. {aas_core_codegen-0.0.24 → aas_core_codegen-0.0.25}/aas_core_codegen/cpp/lib/_generate_jsonization.py +0 -0
  30. {aas_core_codegen-0.0.24 → aas_core_codegen-0.0.25}/aas_core_codegen/cpp/lib/_generate_pattern.py +0 -0
  31. {aas_core_codegen-0.0.24 → aas_core_codegen-0.0.25}/aas_core_codegen/cpp/lib/_generate_revm.py +0 -0
  32. {aas_core_codegen-0.0.24 → aas_core_codegen-0.0.25}/aas_core_codegen/cpp/lib/_generate_stringification.py +0 -0
  33. {aas_core_codegen-0.0.24 → aas_core_codegen-0.0.25}/aas_core_codegen/cpp/lib/_generate_types.py +0 -0
  34. {aas_core_codegen-0.0.24 → aas_core_codegen-0.0.25}/aas_core_codegen/cpp/lib/_generate_verification.py +0 -0
  35. {aas_core_codegen-0.0.24 → aas_core_codegen-0.0.25}/aas_core_codegen/cpp/lib/_generate_visitation.py +0 -0
  36. {aas_core_codegen-0.0.24 → aas_core_codegen-0.0.25}/aas_core_codegen/cpp/lib/_generate_wstringification.py +0 -0
  37. {aas_core_codegen-0.0.24 → aas_core_codegen-0.0.25}/aas_core_codegen/cpp/lib/_generate_xmlization.py +0 -0
  38. {aas_core_codegen-0.0.24 → aas_core_codegen-0.0.25}/aas_core_codegen/cpp/main.py +0 -0
  39. {aas_core_codegen-0.0.24 → aas_core_codegen-0.0.25}/aas_core_codegen/cpp/naming.py +0 -0
  40. {aas_core_codegen-0.0.24 → aas_core_codegen-0.0.25}/aas_core_codegen/cpp/optionaling.py +0 -0
  41. {aas_core_codegen-0.0.24 → aas_core_codegen-0.0.25}/aas_core_codegen/cpp/tests/__init__.py +0 -0
  42. {aas_core_codegen-0.0.24 → aas_core_codegen-0.0.25}/aas_core_codegen/cpp/tests/_generate_common.py +0 -0
  43. {aas_core_codegen-0.0.24 → aas_core_codegen-0.0.25}/aas_core_codegen/cpp/tests/_generate_common_examples.py +0 -0
  44. {aas_core_codegen-0.0.24 → aas_core_codegen-0.0.25}/aas_core_codegen/cpp/tests/_generate_common_jsonization.py +0 -0
  45. {aas_core_codegen-0.0.24 → aas_core_codegen-0.0.25}/aas_core_codegen/cpp/tests/_generate_common_xmlization.py +0 -0
  46. {aas_core_codegen-0.0.24 → aas_core_codegen-0.0.25}/aas_core_codegen/cpp/tests/_generate_test_descent_and_descent_once.py +0 -0
  47. {aas_core_codegen-0.0.24 → aas_core_codegen-0.0.25}/aas_core_codegen/cpp/tests/_generate_test_jsonization_dispatch.py +0 -0
  48. {aas_core_codegen-0.0.24 → aas_core_codegen-0.0.25}/aas_core_codegen/cpp/tests/_generate_test_jsonization_of_concrete_classes.py +0 -0
  49. {aas_core_codegen-0.0.24 → aas_core_codegen-0.0.25}/aas_core_codegen/cpp/tests/_generate_test_revm.py +0 -0
  50. {aas_core_codegen-0.0.24 → aas_core_codegen-0.0.25}/aas_core_codegen/cpp/tests/_generate_test_stringification_base64.py +0 -0
  51. {aas_core_codegen-0.0.24 → aas_core_codegen-0.0.25}/aas_core_codegen/cpp/tests/_generate_test_stringification_of_enums.py +0 -0
  52. {aas_core_codegen-0.0.24 → aas_core_codegen-0.0.25}/aas_core_codegen/cpp/tests/_generate_test_verification.py +0 -0
  53. {aas_core_codegen-0.0.24 → aas_core_codegen-0.0.25}/aas_core_codegen/cpp/tests/_generate_test_wstringification_of_enums.py +0 -0
  54. {aas_core_codegen-0.0.24 → aas_core_codegen-0.0.25}/aas_core_codegen/cpp/tests/_generate_test_x_or_default.py +0 -0
  55. {aas_core_codegen-0.0.24 → aas_core_codegen-0.0.25}/aas_core_codegen/cpp/tests/_generate_test_xmlization_dispatch.py +0 -0
  56. {aas_core_codegen-0.0.24 → aas_core_codegen-0.0.25}/aas_core_codegen/cpp/tests/_generate_test_xmlization_of_concrete_classes.py +0 -0
  57. {aas_core_codegen-0.0.24 → aas_core_codegen-0.0.25}/aas_core_codegen/cpp/transpilation.py +0 -0
  58. {aas_core_codegen-0.0.24 → aas_core_codegen-0.0.25}/aas_core_codegen/cpp/unrolling.py +0 -0
  59. {aas_core_codegen-0.0.24 → aas_core_codegen-0.0.25}/aas_core_codegen/cpp/yielding.py +0 -0
  60. {aas_core_codegen-0.0.24 → aas_core_codegen-0.0.25}/aas_core_codegen/csharp/__init__.py +0 -0
  61. {aas_core_codegen-0.0.24 → aas_core_codegen-0.0.25}/aas_core_codegen/csharp/common.py +0 -0
  62. {aas_core_codegen-0.0.24 → aas_core_codegen-0.0.25}/aas_core_codegen/csharp/description.py +0 -0
  63. {aas_core_codegen-0.0.24 → aas_core_codegen-0.0.25}/aas_core_codegen/csharp/lib/__init__.py +0 -0
  64. {aas_core_codegen-0.0.24 → aas_core_codegen-0.0.25}/aas_core_codegen/csharp/lib/_generate_constants.py +0 -0
  65. {aas_core_codegen-0.0.24 → aas_core_codegen-0.0.25}/aas_core_codegen/csharp/lib/_generate_copying.py +0 -0
  66. {aas_core_codegen-0.0.24 → aas_core_codegen-0.0.25}/aas_core_codegen/csharp/lib/_generate_enhancing.py +0 -0
  67. {aas_core_codegen-0.0.24 → aas_core_codegen-0.0.25}/aas_core_codegen/csharp/lib/_generate_jsonization.py +0 -0
  68. {aas_core_codegen-0.0.24 → aas_core_codegen-0.0.25}/aas_core_codegen/csharp/lib/_generate_reporting.py +0 -0
  69. {aas_core_codegen-0.0.24 → aas_core_codegen-0.0.25}/aas_core_codegen/csharp/lib/_generate_stringification.py +0 -0
  70. {aas_core_codegen-0.0.24 → aas_core_codegen-0.0.25}/aas_core_codegen/csharp/lib/_generate_types.py +0 -0
  71. {aas_core_codegen-0.0.24 → aas_core_codegen-0.0.25}/aas_core_codegen/csharp/lib/_generate_verification.py +0 -0
  72. {aas_core_codegen-0.0.24 → aas_core_codegen-0.0.25}/aas_core_codegen/csharp/lib/_generate_visitation.py +0 -0
  73. {aas_core_codegen-0.0.24 → aas_core_codegen-0.0.25}/aas_core_codegen/csharp/lib/_generate_xmlization.py +0 -0
  74. {aas_core_codegen-0.0.24 → aas_core_codegen-0.0.25}/aas_core_codegen/csharp/main.py +0 -0
  75. {aas_core_codegen-0.0.24 → aas_core_codegen-0.0.25}/aas_core_codegen/csharp/naming.py +0 -0
  76. {aas_core_codegen-0.0.24 → aas_core_codegen-0.0.25}/aas_core_codegen/csharp/tests/__init__.py +0 -0
  77. {aas_core_codegen-0.0.24 → aas_core_codegen-0.0.25}/aas_core_codegen/csharp/tests/_generate_common.py +0 -0
  78. {aas_core_codegen-0.0.24 → aas_core_codegen-0.0.25}/aas_core_codegen/csharp/tests/_generate_common_json.py +0 -0
  79. {aas_core_codegen-0.0.24 → aas_core_codegen-0.0.25}/aas_core_codegen/csharp/tests/_generate_common_jsonization.py +0 -0
  80. {aas_core_codegen-0.0.24 → aas_core_codegen-0.0.25}/aas_core_codegen/csharp/tests/_generate_test_copying.py +0 -0
  81. {aas_core_codegen-0.0.24 → aas_core_codegen-0.0.25}/aas_core_codegen/csharp/tests/_generate_test_descend_and_visitor_through.py +0 -0
  82. {aas_core_codegen-0.0.24 → aas_core_codegen-0.0.25}/aas_core_codegen/csharp/tests/_generate_test_descend_once.py +0 -0
  83. {aas_core_codegen-0.0.24 → aas_core_codegen-0.0.25}/aas_core_codegen/csharp/tests/_generate_test_enhancing.py +0 -0
  84. {aas_core_codegen-0.0.24 → aas_core_codegen-0.0.25}/aas_core_codegen/csharp/tests/_generate_test_jsonization_of_concrete_classes.py +0 -0
  85. {aas_core_codegen-0.0.24 → aas_core_codegen-0.0.25}/aas_core_codegen/csharp/tests/_generate_test_jsonization_of_enums.py +0 -0
  86. {aas_core_codegen-0.0.24 → aas_core_codegen-0.0.25}/aas_core_codegen/csharp/tests/_generate_test_jsonization_of_interfaces.py +0 -0
  87. {aas_core_codegen-0.0.24 → aas_core_codegen-0.0.25}/aas_core_codegen/csharp/tests/_generate_test_over_x_or_empty.py +0 -0
  88. {aas_core_codegen-0.0.24 → aas_core_codegen-0.0.25}/aas_core_codegen/csharp/tests/_generate_test_verification_of_enums.py +0 -0
  89. {aas_core_codegen-0.0.24 → aas_core_codegen-0.0.25}/aas_core_codegen/csharp/tests/_generate_test_x_or_default.py +0 -0
  90. {aas_core_codegen-0.0.24 → aas_core_codegen-0.0.25}/aas_core_codegen/csharp/tests/_generate_test_xmlization_errors.py +0 -0
  91. {aas_core_codegen-0.0.24 → aas_core_codegen-0.0.25}/aas_core_codegen/csharp/tests/_generate_test_xmlization_of_concrete_classes.py +0 -0
  92. {aas_core_codegen-0.0.24 → aas_core_codegen-0.0.25}/aas_core_codegen/csharp/tests/_generate_test_xmlization_of_interfaces.py +0 -0
  93. {aas_core_codegen-0.0.24 → aas_core_codegen-0.0.25}/aas_core_codegen/csharp/transpilation.py +0 -0
  94. {aas_core_codegen-0.0.24 → aas_core_codegen-0.0.25}/aas_core_codegen/csharp/unrolling.py +0 -0
  95. {aas_core_codegen-0.0.24 → aas_core_codegen-0.0.25}/aas_core_codegen/golang/__init__.py +0 -0
  96. {aas_core_codegen-0.0.24 → aas_core_codegen-0.0.25}/aas_core_codegen/golang/common.py +0 -0
  97. {aas_core_codegen-0.0.24 → aas_core_codegen-0.0.25}/aas_core_codegen/golang/description.py +0 -0
  98. {aas_core_codegen-0.0.24 → aas_core_codegen-0.0.25}/aas_core_codegen/golang/lib/__init__.py +0 -0
  99. {aas_core_codegen-0.0.24 → aas_core_codegen-0.0.25}/aas_core_codegen/golang/lib/_generate_common.py +0 -0
  100. {aas_core_codegen-0.0.24 → aas_core_codegen-0.0.25}/aas_core_codegen/golang/lib/_generate_constants.py +0 -0
  101. {aas_core_codegen-0.0.24 → aas_core_codegen-0.0.25}/aas_core_codegen/golang/lib/_generate_enhancing.py +0 -0
  102. {aas_core_codegen-0.0.24 → aas_core_codegen-0.0.25}/aas_core_codegen/golang/lib/_generate_jsonization.py +0 -0
  103. {aas_core_codegen-0.0.24 → aas_core_codegen-0.0.25}/aas_core_codegen/golang/lib/_generate_reporting.py +0 -0
  104. {aas_core_codegen-0.0.24 → aas_core_codegen-0.0.25}/aas_core_codegen/golang/lib/_generate_stringification.py +0 -0
  105. {aas_core_codegen-0.0.24 → aas_core_codegen-0.0.25}/aas_core_codegen/golang/lib/_generate_types.py +0 -0
  106. {aas_core_codegen-0.0.24 → aas_core_codegen-0.0.25}/aas_core_codegen/golang/lib/_generate_verification.py +0 -0
  107. {aas_core_codegen-0.0.24 → aas_core_codegen-0.0.25}/aas_core_codegen/golang/lib/_generate_xmlization.py +0 -0
  108. {aas_core_codegen-0.0.24 → aas_core_codegen-0.0.25}/aas_core_codegen/golang/main.py +0 -0
  109. {aas_core_codegen-0.0.24 → aas_core_codegen-0.0.25}/aas_core_codegen/golang/naming.py +0 -0
  110. {aas_core_codegen-0.0.24 → aas_core_codegen-0.0.25}/aas_core_codegen/golang/pointering.py +0 -0
  111. {aas_core_codegen-0.0.24 → aas_core_codegen-0.0.25}/aas_core_codegen/golang/tests/__init__.py +0 -0
  112. {aas_core_codegen-0.0.24 → aas_core_codegen-0.0.25}/aas_core_codegen/golang/tests/_generate_aastesting_common_jsonization.py +0 -0
  113. {aas_core_codegen-0.0.24 → aas_core_codegen-0.0.25}/aas_core_codegen/golang/tests/_generate_aastesting_constants.py +0 -0
  114. {aas_core_codegen-0.0.24 → aas_core_codegen-0.0.25}/aas_core_codegen/golang/tests/_generate_aastesting_deep_equal.py +0 -0
  115. {aas_core_codegen-0.0.24 → aas_core_codegen-0.0.25}/aas_core_codegen/golang/tests/_generate_aastesting_doc.py +0 -0
  116. {aas_core_codegen-0.0.24 → aas_core_codegen-0.0.25}/aas_core_codegen/golang/tests/_generate_aastesting_filesystem.py +0 -0
  117. {aas_core_codegen-0.0.24 → aas_core_codegen-0.0.25}/aas_core_codegen/golang/tests/_generate_aastesting_tracing.py +0 -0
  118. {aas_core_codegen-0.0.24 → aas_core_codegen-0.0.25}/aas_core_codegen/golang/tests/_generate_descend_test_common.py +0 -0
  119. {aas_core_codegen-0.0.24 → aas_core_codegen-0.0.25}/aas_core_codegen/golang/tests/_generate_descend_test_descend_once_test.py +0 -0
  120. {aas_core_codegen-0.0.24 → aas_core_codegen-0.0.25}/aas_core_codegen/golang/tests/_generate_descend_test_descend_test.py +0 -0
  121. {aas_core_codegen-0.0.24 → aas_core_codegen-0.0.25}/aas_core_codegen/golang/tests/_generate_enhancing_test.py +0 -0
  122. {aas_core_codegen-0.0.24 → aas_core_codegen-0.0.25}/aas_core_codegen/golang/tests/_generate_is_xxx_test.py +0 -0
  123. {aas_core_codegen-0.0.24 → aas_core_codegen-0.0.25}/aas_core_codegen/golang/tests/_generate_jsonization_test_classes_with_descendants_test.py +0 -0
  124. {aas_core_codegen-0.0.24 → aas_core_codegen-0.0.25}/aas_core_codegen/golang/tests/_generate_jsonization_test_common_test.py +0 -0
  125. {aas_core_codegen-0.0.24 → aas_core_codegen-0.0.25}/aas_core_codegen/golang/tests/_generate_jsonization_test_concrete_classes_test.py +0 -0
  126. {aas_core_codegen-0.0.24 → aas_core_codegen-0.0.25}/aas_core_codegen/golang/tests/_generate_jsonization_test_enums_test.py +0 -0
  127. {aas_core_codegen-0.0.24 → aas_core_codegen-0.0.25}/aas_core_codegen/golang/tests/_generate_verification_test.py +0 -0
  128. {aas_core_codegen-0.0.24 → aas_core_codegen-0.0.25}/aas_core_codegen/golang/tests/_generate_xmlization_test_common_test.py +0 -0
  129. {aas_core_codegen-0.0.24 → aas_core_codegen-0.0.25}/aas_core_codegen/golang/tests/_generate_xmlization_test_concrete_classes_test.py +0 -0
  130. {aas_core_codegen-0.0.24 → aas_core_codegen-0.0.25}/aas_core_codegen/golang/tests/_generate_xxx_or_default_test.py +0 -0
  131. {aas_core_codegen-0.0.24 → aas_core_codegen-0.0.25}/aas_core_codegen/golang/transpilation.py +0 -0
  132. {aas_core_codegen-0.0.24 → aas_core_codegen-0.0.25}/aas_core_codegen/golang/unrolling.py +0 -0
  133. {aas_core_codegen-0.0.24 → aas_core_codegen-0.0.25}/aas_core_codegen/infer_for_schema/__init__.py +0 -0
  134. {aas_core_codegen-0.0.24 → aas_core_codegen-0.0.25}/aas_core_codegen/infer_for_schema/_inline.py +0 -0
  135. {aas_core_codegen-0.0.24 → aas_core_codegen-0.0.25}/aas_core_codegen/infer_for_schema/_len.py +0 -0
  136. {aas_core_codegen-0.0.24 → aas_core_codegen-0.0.25}/aas_core_codegen/infer_for_schema/_pattern.py +0 -0
  137. {aas_core_codegen-0.0.24 → aas_core_codegen-0.0.25}/aas_core_codegen/infer_for_schema/_set.py +0 -0
  138. {aas_core_codegen-0.0.24 → aas_core_codegen-0.0.25}/aas_core_codegen/infer_for_schema/_stringify.py +0 -0
  139. {aas_core_codegen-0.0.24 → aas_core_codegen-0.0.25}/aas_core_codegen/infer_for_schema/_types.py +0 -0
  140. {aas_core_codegen-0.0.24 → aas_core_codegen-0.0.25}/aas_core_codegen/infer_for_schema/match.py +0 -0
  141. {aas_core_codegen-0.0.24 → aas_core_codegen-0.0.25}/aas_core_codegen/intermediate/__init__.py +0 -0
  142. {aas_core_codegen-0.0.24 → aas_core_codegen-0.0.25}/aas_core_codegen/intermediate/_hierarchy.py +0 -0
  143. {aas_core_codegen-0.0.24 → aas_core_codegen-0.0.25}/aas_core_codegen/intermediate/_stringify.py +0 -0
  144. {aas_core_codegen-0.0.24 → aas_core_codegen-0.0.25}/aas_core_codegen/intermediate/_translate.py +0 -0
  145. {aas_core_codegen-0.0.24 → aas_core_codegen-0.0.25}/aas_core_codegen/intermediate/_types.py +0 -0
  146. {aas_core_codegen-0.0.24 → aas_core_codegen-0.0.25}/aas_core_codegen/intermediate/construction.py +0 -0
  147. {aas_core_codegen-0.0.24 → aas_core_codegen-0.0.25}/aas_core_codegen/intermediate/doc.py +0 -0
  148. {aas_core_codegen-0.0.24 → aas_core_codegen-0.0.25}/aas_core_codegen/intermediate/pattern_verification.py +0 -0
  149. {aas_core_codegen-0.0.24 → aas_core_codegen-0.0.25}/aas_core_codegen/intermediate/revm.py +0 -0
  150. {aas_core_codegen-0.0.24 → aas_core_codegen-0.0.25}/aas_core_codegen/intermediate/type_inference.py +0 -0
  151. {aas_core_codegen-0.0.24 → aas_core_codegen-0.0.25}/aas_core_codegen/java/__init__.py +0 -0
  152. {aas_core_codegen-0.0.24 → aas_core_codegen-0.0.25}/aas_core_codegen/java/common.py +0 -0
  153. {aas_core_codegen-0.0.24 → aas_core_codegen-0.0.25}/aas_core_codegen/java/description.py +0 -0
  154. {aas_core_codegen-0.0.24 → aas_core_codegen-0.0.25}/aas_core_codegen/java/lib/__init__.py +0 -0
  155. {aas_core_codegen-0.0.24 → aas_core_codegen-0.0.25}/aas_core_codegen/java/lib/_generate_constants.py +0 -0
  156. {aas_core_codegen-0.0.24 → aas_core_codegen-0.0.25}/aas_core_codegen/java/lib/_generate_copying.py +0 -0
  157. {aas_core_codegen-0.0.24 → aas_core_codegen-0.0.25}/aas_core_codegen/java/lib/_generate_enhancing.py +0 -0
  158. {aas_core_codegen-0.0.24 → aas_core_codegen-0.0.25}/aas_core_codegen/java/lib/_generate_generation.py +0 -0
  159. {aas_core_codegen-0.0.24 → aas_core_codegen-0.0.25}/aas_core_codegen/java/lib/_generate_jsonization.py +0 -0
  160. {aas_core_codegen-0.0.24 → aas_core_codegen-0.0.25}/aas_core_codegen/java/lib/_generate_reporting.py +0 -0
  161. {aas_core_codegen-0.0.24 → aas_core_codegen-0.0.25}/aas_core_codegen/java/lib/_generate_stringification.py +0 -0
  162. {aas_core_codegen-0.0.24 → aas_core_codegen-0.0.25}/aas_core_codegen/java/lib/_generate_types.py +0 -0
  163. {aas_core_codegen-0.0.24 → aas_core_codegen-0.0.25}/aas_core_codegen/java/lib/_generate_verification.py +0 -0
  164. {aas_core_codegen-0.0.24 → aas_core_codegen-0.0.25}/aas_core_codegen/java/lib/_generate_visitation.py +0 -0
  165. {aas_core_codegen-0.0.24 → aas_core_codegen-0.0.25}/aas_core_codegen/java/lib/_generate_xmlization.py +0 -0
  166. {aas_core_codegen-0.0.24 → aas_core_codegen-0.0.25}/aas_core_codegen/java/main.py +0 -0
  167. {aas_core_codegen-0.0.24 → aas_core_codegen-0.0.25}/aas_core_codegen/java/naming.py +0 -0
  168. {aas_core_codegen-0.0.24 → aas_core_codegen-0.0.25}/aas_core_codegen/java/optional.py +0 -0
  169. {aas_core_codegen-0.0.24 → aas_core_codegen-0.0.25}/aas_core_codegen/java/tests/__init__.py +0 -0
  170. {aas_core_codegen-0.0.24 → aas_core_codegen-0.0.25}/aas_core_codegen/java/tests/_generate_common.py +0 -0
  171. {aas_core_codegen-0.0.24 → aas_core_codegen-0.0.25}/aas_core_codegen/java/tests/_generate_common_json.py +0 -0
  172. {aas_core_codegen-0.0.24 → aas_core_codegen-0.0.25}/aas_core_codegen/java/tests/_generate_common_jsonization.py +0 -0
  173. {aas_core_codegen-0.0.24 → aas_core_codegen-0.0.25}/aas_core_codegen/java/tests/_generate_test_copying.py +0 -0
  174. {aas_core_codegen-0.0.24 → aas_core_codegen-0.0.25}/aas_core_codegen/java/tests/_generate_test_descend_and_visitor_through.py +0 -0
  175. {aas_core_codegen-0.0.24 → aas_core_codegen-0.0.25}/aas_core_codegen/java/tests/_generate_test_descend_once.py +0 -0
  176. {aas_core_codegen-0.0.24 → aas_core_codegen-0.0.25}/aas_core_codegen/java/tests/_generate_test_enhancing.py +0 -0
  177. {aas_core_codegen-0.0.24 → aas_core_codegen-0.0.25}/aas_core_codegen/java/tests/_generate_test_jsonization_of_concrete_classes.py +0 -0
  178. {aas_core_codegen-0.0.24 → aas_core_codegen-0.0.25}/aas_core_codegen/java/tests/_generate_test_jsonization_of_enums.py +0 -0
  179. {aas_core_codegen-0.0.24 → aas_core_codegen-0.0.25}/aas_core_codegen/java/tests/_generate_test_jsonization_of_interfaces.py +0 -0
  180. {aas_core_codegen-0.0.24 → aas_core_codegen-0.0.25}/aas_core_codegen/java/tests/_generate_test_over_x_or_empty.py +0 -0
  181. {aas_core_codegen-0.0.24 → aas_core_codegen-0.0.25}/aas_core_codegen/java/tests/_generate_test_verification_of_enums.py +0 -0
  182. {aas_core_codegen-0.0.24 → aas_core_codegen-0.0.25}/aas_core_codegen/java/tests/_generate_test_x_or_default.py +0 -0
  183. {aas_core_codegen-0.0.24 → aas_core_codegen-0.0.25}/aas_core_codegen/java/tests/_generate_test_xmlization_of_concrete_classes.py +0 -0
  184. {aas_core_codegen-0.0.24 → aas_core_codegen-0.0.25}/aas_core_codegen/java/tests/_generate_test_xmlization_of_interfaces.py +0 -0
  185. {aas_core_codegen-0.0.24 → aas_core_codegen-0.0.25}/aas_core_codegen/java/transpilation.py +0 -0
  186. {aas_core_codegen-0.0.24 → aas_core_codegen-0.0.25}/aas_core_codegen/jsonschema/__init__.py +0 -0
  187. {aas_core_codegen-0.0.24 → aas_core_codegen-0.0.25}/aas_core_codegen/jsonschema/main.py +0 -0
  188. {aas_core_codegen-0.0.24 → aas_core_codegen-0.0.25}/aas_core_codegen/main.py +0 -0
  189. {aas_core_codegen-0.0.24 → aas_core_codegen-0.0.25}/aas_core_codegen/naming.py +0 -0
  190. {aas_core_codegen-0.0.24 → aas_core_codegen-0.0.25}/aas_core_codegen/parse/__init__.py +0 -0
  191. {aas_core_codegen-0.0.24 → aas_core_codegen-0.0.25}/aas_core_codegen/parse/_rules.py +0 -0
  192. {aas_core_codegen-0.0.24 → aas_core_codegen-0.0.25}/aas_core_codegen/parse/_stringify.py +0 -0
  193. {aas_core_codegen-0.0.24 → aas_core_codegen-0.0.25}/aas_core_codegen/parse/_translate.py +0 -0
  194. {aas_core_codegen-0.0.24 → aas_core_codegen-0.0.25}/aas_core_codegen/parse/_types.py +0 -0
  195. {aas_core_codegen-0.0.24 → aas_core_codegen-0.0.25}/aas_core_codegen/parse/retree/__init__.py +0 -0
  196. {aas_core_codegen-0.0.24 → aas_core_codegen-0.0.25}/aas_core_codegen/parse/retree/_fix.py +0 -0
  197. {aas_core_codegen-0.0.24 → aas_core_codegen-0.0.25}/aas_core_codegen/parse/retree/_parse.py +0 -0
  198. {aas_core_codegen-0.0.24 → aas_core_codegen-0.0.25}/aas_core_codegen/parse/retree/_render.py +0 -0
  199. {aas_core_codegen-0.0.24 → aas_core_codegen-0.0.25}/aas_core_codegen/parse/retree/_stringify.py +0 -0
  200. {aas_core_codegen-0.0.24 → aas_core_codegen-0.0.25}/aas_core_codegen/parse/retree/_types.py +0 -0
  201. {aas_core_codegen-0.0.24 → aas_core_codegen-0.0.25}/aas_core_codegen/parse/retree/_visitor.py +0 -0
  202. {aas_core_codegen-0.0.24 → aas_core_codegen-0.0.25}/aas_core_codegen/parse/tree.py +0 -0
  203. {aas_core_codegen-0.0.24 → aas_core_codegen-0.0.25}/aas_core_codegen/py.typed +0 -0
  204. {aas_core_codegen-0.0.24 → aas_core_codegen-0.0.25}/aas_core_codegen/python/__init__.py +0 -0
  205. {aas_core_codegen-0.0.24 → aas_core_codegen-0.0.25}/aas_core_codegen/python/common.py +0 -0
  206. {aas_core_codegen-0.0.24 → aas_core_codegen-0.0.25}/aas_core_codegen/python/description.py +0 -0
  207. {aas_core_codegen-0.0.24 → aas_core_codegen-0.0.25}/aas_core_codegen/python/lib/__init__.py +0 -0
  208. {aas_core_codegen-0.0.24 → aas_core_codegen-0.0.25}/aas_core_codegen/python/lib/_generate_common.py +0 -0
  209. {aas_core_codegen-0.0.24 → aas_core_codegen-0.0.25}/aas_core_codegen/python/lib/_generate_constants.py +0 -0
  210. {aas_core_codegen-0.0.24 → aas_core_codegen-0.0.25}/aas_core_codegen/python/lib/_generate_jsonization.py +0 -0
  211. {aas_core_codegen-0.0.24 → aas_core_codegen-0.0.25}/aas_core_codegen/python/lib/_generate_stringification.py +0 -0
  212. {aas_core_codegen-0.0.24 → aas_core_codegen-0.0.25}/aas_core_codegen/python/lib/_generate_types.py +0 -0
  213. {aas_core_codegen-0.0.24 → aas_core_codegen-0.0.25}/aas_core_codegen/python/lib/_generate_verification.py +0 -0
  214. {aas_core_codegen-0.0.24 → aas_core_codegen-0.0.25}/aas_core_codegen/python/lib/_generate_xmlization.py +0 -0
  215. {aas_core_codegen-0.0.24 → aas_core_codegen-0.0.25}/aas_core_codegen/python/main.py +0 -0
  216. {aas_core_codegen-0.0.24 → aas_core_codegen-0.0.25}/aas_core_codegen/python/naming.py +0 -0
  217. {aas_core_codegen-0.0.24 → aas_core_codegen-0.0.25}/aas_core_codegen/python/tests/__init__.py +0 -0
  218. {aas_core_codegen-0.0.24 → aas_core_codegen-0.0.25}/aas_core_codegen/python/tests/_generate_common.py +0 -0
  219. {aas_core_codegen-0.0.24 → aas_core_codegen-0.0.25}/aas_core_codegen/python/tests/_generate_common_jsonization.py +0 -0
  220. {aas_core_codegen-0.0.24 → aas_core_codegen-0.0.25}/aas_core_codegen/python/tests/_generate_common_xmlization.py +0 -0
  221. {aas_core_codegen-0.0.24 → aas_core_codegen-0.0.25}/aas_core_codegen/python/tests/_generate_test_descend_and_pass_through_visitor.py +0 -0
  222. {aas_core_codegen-0.0.24 → aas_core_codegen-0.0.25}/aas_core_codegen/python/tests/_generate_test_descend_once.py +0 -0
  223. {aas_core_codegen-0.0.24 → aas_core_codegen-0.0.25}/aas_core_codegen/python/tests/_generate_test_for_over_x_or_empty.py +0 -0
  224. {aas_core_codegen-0.0.24 → aas_core_codegen-0.0.25}/aas_core_codegen/python/tests/_generate_test_for_x_or_default.py +0 -0
  225. {aas_core_codegen-0.0.24 → aas_core_codegen-0.0.25}/aas_core_codegen/python/tests/_generate_test_jsonization_of_classes_with_descendants.py +0 -0
  226. {aas_core_codegen-0.0.24 → aas_core_codegen-0.0.25}/aas_core_codegen/python/tests/_generate_test_jsonization_of_concrete_classes.py +0 -0
  227. {aas_core_codegen-0.0.24 → aas_core_codegen-0.0.25}/aas_core_codegen/python/tests/_generate_test_jsonization_of_enums.py +0 -0
  228. {aas_core_codegen-0.0.24 → aas_core_codegen-0.0.25}/aas_core_codegen/python/tests/_generate_test_xmlization_of_classes_with_descendants.py +0 -0
  229. {aas_core_codegen-0.0.24 → aas_core_codegen-0.0.25}/aas_core_codegen/python/tests/_generate_test_xmlization_of_concrete_classes.py +0 -0
  230. {aas_core_codegen-0.0.24 → aas_core_codegen-0.0.25}/aas_core_codegen/python/transpilation.py +0 -0
  231. {aas_core_codegen-0.0.24 → aas_core_codegen-0.0.25}/aas_core_codegen/python/unrolling.py +0 -0
  232. {aas_core_codegen-0.0.24 → aas_core_codegen-0.0.25}/aas_core_codegen/run.py +0 -0
  233. {aas_core_codegen-0.0.24 → aas_core_codegen-0.0.25}/aas_core_codegen/smoke/__init__.py +0 -0
  234. {aas_core_codegen-0.0.24 → aas_core_codegen-0.0.25}/aas_core_codegen/smoke/main.py +0 -0
  235. {aas_core_codegen-0.0.24 → aas_core_codegen-0.0.25}/aas_core_codegen/specific_implementations.py +0 -0
  236. {aas_core_codegen-0.0.24 → aas_core_codegen-0.0.25}/aas_core_codegen/stringify.py +0 -0
  237. {aas_core_codegen-0.0.24 → aas_core_codegen-0.0.25}/aas_core_codegen/typescript/__init__.py +0 -0
  238. {aas_core_codegen-0.0.24 → aas_core_codegen-0.0.25}/aas_core_codegen/typescript/common.py +0 -0
  239. {aas_core_codegen-0.0.24 → aas_core_codegen-0.0.25}/aas_core_codegen/typescript/description.py +0 -0
  240. {aas_core_codegen-0.0.24 → aas_core_codegen-0.0.25}/aas_core_codegen/typescript/lib/__init__.py +0 -0
  241. {aas_core_codegen-0.0.24 → aas_core_codegen-0.0.25}/aas_core_codegen/typescript/lib/_generate_common.py +0 -0
  242. {aas_core_codegen-0.0.24 → aas_core_codegen-0.0.25}/aas_core_codegen/typescript/lib/_generate_constants.py +0 -0
  243. {aas_core_codegen-0.0.24 → aas_core_codegen-0.0.25}/aas_core_codegen/typescript/lib/_generate_index.py +0 -0
  244. {aas_core_codegen-0.0.24 → aas_core_codegen-0.0.25}/aas_core_codegen/typescript/lib/_generate_jsonization.py +0 -0
  245. {aas_core_codegen-0.0.24 → aas_core_codegen-0.0.25}/aas_core_codegen/typescript/lib/_generate_stringification.py +0 -0
  246. {aas_core_codegen-0.0.24 → aas_core_codegen-0.0.25}/aas_core_codegen/typescript/lib/_generate_types.py +0 -0
  247. {aas_core_codegen-0.0.24 → aas_core_codegen-0.0.25}/aas_core_codegen/typescript/lib/_generate_verification.py +0 -0
  248. {aas_core_codegen-0.0.24 → aas_core_codegen-0.0.25}/aas_core_codegen/typescript/lib/_generate_xmlization.py +0 -0
  249. {aas_core_codegen-0.0.24 → aas_core_codegen-0.0.25}/aas_core_codegen/typescript/naming.py +0 -0
  250. {aas_core_codegen-0.0.24 → aas_core_codegen-0.0.25}/aas_core_codegen/typescript/tests/_generate_common.py +0 -0
  251. {aas_core_codegen-0.0.24 → aas_core_codegen-0.0.25}/aas_core_codegen/typescript/tests/_generate_common_base64_spec.py +0 -0
  252. {aas_core_codegen-0.0.24 → aas_core_codegen-0.0.25}/aas_core_codegen/typescript/tests/_generate_common_base64url_spec.py +0 -0
  253. {aas_core_codegen-0.0.24 → aas_core_codegen-0.0.25}/aas_core_codegen/typescript/tests/_generate_common_jsonization.py +0 -0
  254. {aas_core_codegen-0.0.24 → aas_core_codegen-0.0.25}/aas_core_codegen/typescript/tests/_generate_common_xmlization.py +0 -0
  255. {aas_core_codegen-0.0.24 → aas_core_codegen-0.0.25}/aas_core_codegen/typescript/tests/_generate_jsonization_concrete_classes_spec.py +0 -0
  256. {aas_core_codegen-0.0.24 → aas_core_codegen-0.0.25}/aas_core_codegen/typescript/tests/_generate_jsonization_interfaces_spec.py +0 -0
  257. {aas_core_codegen-0.0.24 → aas_core_codegen-0.0.25}/aas_core_codegen/typescript/tests/_generate_types_casts_spec.py +0 -0
  258. {aas_core_codegen-0.0.24 → aas_core_codegen-0.0.25}/aas_core_codegen/typescript/tests/_generate_types_descend_and_pass_through_visitor_spec.py +0 -0
  259. {aas_core_codegen-0.0.24 → aas_core_codegen-0.0.25}/aas_core_codegen/typescript/tests/_generate_types_descend_once_spec.py +0 -0
  260. {aas_core_codegen-0.0.24 → aas_core_codegen-0.0.25}/aas_core_codegen/typescript/tests/_generate_types_model_type_spec.py +0 -0
  261. {aas_core_codegen-0.0.24 → aas_core_codegen-0.0.25}/aas_core_codegen/typescript/tests/_generate_types_over_enum_spec.py +0 -0
  262. {aas_core_codegen-0.0.24 → aas_core_codegen-0.0.25}/aas_core_codegen/typescript/tests/_generate_types_over_x_or_empty_spec.py +0 -0
  263. {aas_core_codegen-0.0.24 → aas_core_codegen-0.0.25}/aas_core_codegen/typescript/tests/_generate_types_type_matches_spec.py +0 -0
  264. {aas_core_codegen-0.0.24 → aas_core_codegen-0.0.25}/aas_core_codegen/typescript/tests/_generate_types_x_or_default_spec.py +0 -0
  265. {aas_core_codegen-0.0.24 → aas_core_codegen-0.0.25}/aas_core_codegen/typescript/tests/_generate_xmlization_common_spec.py +0 -0
  266. {aas_core_codegen-0.0.24 → 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.24 → aas_core_codegen-0.0.25}/aas_core_codegen/typescript/tests/_generate_xmlization_interfaces_spec.py +0 -0
  268. {aas_core_codegen-0.0.24 → aas_core_codegen-0.0.25}/aas_core_codegen/typescript/transpilation.py +0 -0
  269. {aas_core_codegen-0.0.24 → aas_core_codegen-0.0.25}/aas_core_codegen/typescript/unrolling.py +0 -0
  270. {aas_core_codegen-0.0.24 → aas_core_codegen-0.0.25}/aas_core_codegen/xsd/__init__.py +0 -0
  271. {aas_core_codegen-0.0.24 → aas_core_codegen-0.0.25}/aas_core_codegen/xsd/main.py +0 -0
  272. {aas_core_codegen-0.0.24 → aas_core_codegen-0.0.25}/aas_core_codegen/xsd/naming.py +0 -0
  273. {aas_core_codegen-0.0.24 → aas_core_codegen-0.0.25}/aas_core_codegen/yielding/__init__.py +0 -0
  274. {aas_core_codegen-0.0.24 → aas_core_codegen-0.0.25}/aas_core_codegen/yielding/flow.py +0 -0
  275. {aas_core_codegen-0.0.24 → aas_core_codegen-0.0.25}/aas_core_codegen/yielding/linear.py +0 -0
  276. {aas_core_codegen-0.0.24 → aas_core_codegen-0.0.25}/aas_core_codegen.egg-info/dependency_links.txt +0 -0
  277. {aas_core_codegen-0.0.24 → aas_core_codegen-0.0.25}/aas_core_codegen.egg-info/entry_points.txt +0 -0
  278. {aas_core_codegen-0.0.24 → aas_core_codegen-0.0.25}/aas_core_codegen.egg-info/requires.txt +0 -0
  279. {aas_core_codegen-0.0.24 → aas_core_codegen-0.0.25}/aas_core_codegen.egg-info/top_level.txt +0 -0
  280. {aas_core_codegen-0.0.24 → 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.24
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.24"
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"
@@ -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,13 @@ 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
+ ),
212
255
  (
213
256
  test_rel_path / "xmlization.common.spec.ts",
214
257
  lambda: (
@@ -6,10 +6,14 @@ 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,
13
17
  _generate_xmlization_common_spec,
14
18
  _generate_xmlization_enums_spec,
15
19
  _generate_xmlization_interfaces_spec,
@@ -22,6 +26,7 @@ from aas_core_codegen.typescript.tests import (
22
26
  _generate_types_over_x_or_empty_spec,
23
27
  _generate_types_type_matches_spec,
24
28
  _generate_types_x_or_default_spec,
29
+ _generate_verification_spec,
25
30
  )
26
31
 
27
32
  generate_common = _generate_common.generate
@@ -29,14 +34,18 @@ generate_common_base64_spec = _generate_common_base64_spec.generate
29
34
  generate_common_base64url_spec = _generate_common_base64url_spec.generate
30
35
  generate_common_jsonization = _generate_common_jsonization.generate
31
36
  generate_common_xmlization = _generate_common_xmlization.generate
37
+ generate_jsonization_common_spec = _generate_jsonization_common_spec.generate
32
38
  generate_jsonization_concrete_classes_spec = (
33
39
  _generate_jsonization_concrete_classes_spec.generate
34
40
  )
35
41
  generate_jsonization_enums_spec = _generate_jsonization_enums_spec.generate
36
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
37
45
  generate_xmlization_concrete_classes_spec = (
38
46
  _generate_xmlization_concrete_classes_spec.generate
39
47
  )
48
+ generate_xmlization_basic_spec = _generate_xmlization_basic_spec.generate
40
49
  generate_xmlization_common_spec = _generate_xmlization_common_spec.generate
41
50
  generate_xmlization_enums_spec = _generate_xmlization_enums_spec.generate
42
51
  generate_xmlization_interfaces_spec = _generate_xmlization_interfaces_spec.generate
@@ -51,3 +60,4 @@ generate_types_over_enum_spec = _generate_types_over_enum_spec.generate
51
60
  generate_types_over_x_or_empty_spec = _generate_types_over_x_or_empty_spec.generate
52
61
  generate_types_type_matches_spec = _generate_types_type_matches_spec.generate
53
62
  generate_types_x_or_default_spec = _generate_types_x_or_default_spec.generate
63
+ generate_verification_spec = _generate_verification_spec.generate
@@ -0,0 +1,74 @@
1
+ """Generate code to execute all common JSONization loader functions once."""
2
+
3
+ import io
4
+ from typing import List
5
+
6
+ from icontract import ensure
7
+
8
+ from aas_core_codegen import intermediate
9
+ from aas_core_codegen.common import Identifier, Stripped
10
+ from aas_core_codegen.typescript import (
11
+ common as typescript_common,
12
+ naming as typescript_naming,
13
+ )
14
+ from aas_core_codegen.typescript.common import INDENT as I
15
+
16
+
17
+ # fmt: off
18
+ @ensure(
19
+ lambda result: result.endswith('\n'),
20
+ "Trailing newline mandatory for valid end-of-files"
21
+ )
22
+ # fmt: on
23
+ def generate(symbol_table: intermediate.SymbolTable) -> str:
24
+ """Generate code to execute all common JSONization loader functions once."""
25
+ blocks = [
26
+ Stripped(
27
+ """\
28
+ /**
29
+ * Execute all common JSONization loader helpers once.
30
+ */"""
31
+ ),
32
+ typescript_common.WARNING,
33
+ Stripped(
34
+ """\
35
+ import * as TestCommonJsonization from "./commonJsonization";"""
36
+ ),
37
+ ] # type: List[Stripped]
38
+
39
+ for concrete_cls in symbol_table.concrete_classes:
40
+ load_maximal_name = typescript_naming.function_name(
41
+ Identifier(f"load_maximal_{concrete_cls.name}")
42
+ )
43
+ load_minimal_name = typescript_naming.function_name(
44
+ Identifier(f"load_minimal_{concrete_cls.name}")
45
+ )
46
+ cls_name_typescript = typescript_naming.class_name(concrete_cls.name)
47
+
48
+ blocks.append(
49
+ Stripped(
50
+ f"""\
51
+ test("commonJsonization loaders for {cls_name_typescript}", () => {{
52
+ {I}expect(TestCommonJsonization.{load_minimal_name}()).not.toBeNull();
53
+ {I}expect(TestCommonJsonization.{load_maximal_name}()).not.toBeNull();
54
+ }});"""
55
+ )
56
+ )
57
+
58
+ blocks.append(typescript_common.WARNING)
59
+
60
+ writer = io.StringIO()
61
+ for i, block in enumerate(blocks):
62
+ if i > 0:
63
+ writer.write("\n\n")
64
+
65
+ writer.write(block)
66
+
67
+ writer.write("\n")
68
+
69
+ return writer.getvalue()
70
+
71
+
72
+ assert generate.__doc__ is not None
73
+ assert __doc__ is not None
74
+ assert generate.__doc__.strip().startswith(__doc__.strip())
@@ -47,17 +47,17 @@ import * as AasTypes from "../src/types";"""
47
47
  len(enumeration.literals) > 0
48
48
  ), f"Unexpected enumeration without literals: {enumeration.name}"
49
49
 
50
- literal = enumeration.literals[0]
51
- literal_name_typescript = typescript_naming.enum_literal_name(literal.name)
52
-
53
50
  deserialization_function = typescript_naming.function_name(
54
51
  Identifier(f"{enumeration.name}_from_jsonable")
55
52
  )
56
53
 
57
- blocks.append(
58
- Stripped(
59
- f"""\
60
- test("{enum_name_typescript} round-trip OK", () => {{
54
+ for literal in enumeration.literals:
55
+ literal_name_typescript = typescript_naming.enum_literal_name(literal.name)
56
+
57
+ blocks.append(
58
+ Stripped(
59
+ f"""\
60
+ test("{enum_name_typescript} deserializes {literal_name_typescript} OK", () => {{
61
61
  {I}const jsonable = {typescript_common.string_literal(literal.value)};
62
62
 
63
63
  {I}const literalOrError = AasJsonization.{deserialization_function}(
@@ -65,14 +65,14 @@ test("{enum_name_typescript} round-trip OK", () => {{
65
65
  {I});
66
66
 
67
67
  {I}expect(literalOrError.error).toBeNull();
68
- {I}const literal = literalOrError.mustValue();
68
+ {I}const parsedLiteral = literalOrError.mustValue();
69
69
 
70
- {I}expect(literal).toStrictEqual(
70
+ {I}expect(parsedLiteral).toStrictEqual(
71
71
  {II}AasTypes.{enum_name_typescript}.{literal_name_typescript}
72
72
  {I});
73
73
  }});"""
74
+ )
74
75
  )
75
- )
76
76
 
77
77
  literal_value_set = set(literal.value for literal in enumeration.literals)
78
78
  invalid_literal_value = "invalid-literal"
@@ -0,0 +1,316 @@
1
+ """Generate code for targeted negative JSONization tests."""
2
+
3
+ import io
4
+ from typing import List, Optional, Tuple
5
+
6
+ from icontract import ensure
7
+
8
+ from aas_core_codegen import intermediate, naming
9
+ from aas_core_codegen.common import Identifier, Stripped
10
+ from aas_core_codegen.typescript import common as typescript_common
11
+ from aas_core_codegen.typescript import naming as typescript_naming
12
+ from aas_core_codegen.typescript.common import INDENT as I
13
+
14
+
15
+ def _first_concrete_class(
16
+ symbol_table: intermediate.SymbolTable,
17
+ ) -> Optional[intermediate.ConcreteClass]:
18
+ """Select the first concrete class, if any."""
19
+ for concrete_cls in symbol_table.concrete_classes:
20
+ return concrete_cls
21
+
22
+ return None
23
+
24
+
25
+ def _first_required_property_candidate(
26
+ symbol_table: intermediate.SymbolTable,
27
+ ) -> Optional[Tuple[intermediate.ConcreteClass, intermediate.Property]]:
28
+ """Find the first required property among all concrete classes."""
29
+ for concrete_cls in symbol_table.concrete_classes:
30
+ for prop in concrete_cls.properties:
31
+ if not isinstance(
32
+ prop.type_annotation, intermediate.OptionalTypeAnnotation
33
+ ):
34
+ return concrete_cls, prop
35
+
36
+ return None
37
+
38
+
39
+ def _first_property_for_type_mismatch_candidate(
40
+ symbol_table: intermediate.SymbolTable,
41
+ ) -> Optional[Tuple[intermediate.ConcreteClass, intermediate.Property, str]]:
42
+ """Find a property where replacing with an object should fail parsing."""
43
+ for concrete_cls in symbol_table.concrete_classes:
44
+ for prop in concrete_cls.properties:
45
+ type_anno = intermediate.beneath_optional(prop.type_annotation)
46
+
47
+ if isinstance(type_anno, intermediate.PrimitiveTypeAnnotation):
48
+ file_name = (
49
+ "minimal.json"
50
+ if not isinstance(
51
+ prop.type_annotation,
52
+ intermediate.OptionalTypeAnnotation,
53
+ )
54
+ else "maximal.json"
55
+ )
56
+ return concrete_cls, prop, file_name
57
+
58
+ if isinstance(type_anno, intermediate.ListTypeAnnotation):
59
+ file_name = (
60
+ "minimal.json"
61
+ if not isinstance(
62
+ prop.type_annotation,
63
+ intermediate.OptionalTypeAnnotation,
64
+ )
65
+ else "maximal.json"
66
+ )
67
+ return concrete_cls, prop, file_name
68
+
69
+ if isinstance(type_anno, intermediate.OurTypeAnnotation):
70
+ if isinstance(
71
+ type_anno.our_type,
72
+ (intermediate.AbstractClass, intermediate.ConcreteClass),
73
+ ):
74
+ continue
75
+
76
+ file_name = (
77
+ "minimal.json"
78
+ if not isinstance(
79
+ prop.type_annotation,
80
+ intermediate.OptionalTypeAnnotation,
81
+ )
82
+ else "maximal.json"
83
+ )
84
+ return concrete_cls, prop, file_name
85
+
86
+ return None
87
+
88
+
89
+ def _first_nested_class_dispatch_candidate(
90
+ symbol_table: intermediate.SymbolTable,
91
+ ) -> Optional[Tuple[intermediate.ConcreteClass, intermediate.Property]]:
92
+ """Find a property parsed through class dispatch based on ``modelType``."""
93
+ for concrete_cls in symbol_table.concrete_classes:
94
+ for prop in concrete_cls.properties:
95
+ type_anno = intermediate.beneath_optional(prop.type_annotation)
96
+ if not isinstance(type_anno, intermediate.OurTypeAnnotation):
97
+ continue
98
+
99
+ if not isinstance(
100
+ type_anno.our_type,
101
+ (intermediate.AbstractClass, intermediate.ConcreteClass),
102
+ ):
103
+ continue
104
+
105
+ if (
106
+ isinstance(type_anno.our_type, intermediate.ConcreteClass)
107
+ and len(type_anno.our_type.concrete_descendants) == 0
108
+ ):
109
+ continue
110
+
111
+ return concrete_cls, prop
112
+
113
+ return None
114
+
115
+
116
+ # fmt: off
117
+ @ensure(
118
+ lambda result: result.endswith('\n'),
119
+ "Trailing newline mandatory for valid end-of-files"
120
+ )
121
+ # fmt: on
122
+ def generate(symbol_table: intermediate.SymbolTable) -> str:
123
+ """Generate code for targeted negative JSONization tests."""
124
+ blocks = [
125
+ Stripped(
126
+ """\
127
+ /**
128
+ * Test failure modes in JSON parsing to exercise defensive branches.
129
+ */"""
130
+ ),
131
+ typescript_common.WARNING,
132
+ Stripped(
133
+ """\
134
+ import * as path from "path";
135
+
136
+ import * as AasJsonization from "../src/jsonization";
137
+
138
+ import * as TestCommon from "./common";
139
+
140
+ function readExpectedJson(
141
+ classJsonName: string,
142
+ fileName: "minimal.json" | "maximal.json"
143
+ ): AasJsonization.JsonValue {
144
+ const pth = path.join(TestCommon.TEST_DATA_DIR, "Json", "Expected", classJsonName, fileName);
145
+ return TestCommon.readJsonFromFileSync(pth);
146
+ }
147
+
148
+ function mustBeJsonObject(jsonable: AasJsonization.JsonValue): AasJsonization.JsonObject {
149
+ if (
150
+ typeof jsonable !== "object" ||
151
+ jsonable === null ||
152
+ typeof jsonable[Symbol.iterator] === "function"
153
+ ) {
154
+ throw new Error(`Expected a JSON object, but got: ${JSON.stringify(jsonable)}`);
155
+ }
156
+
157
+ return <AasJsonization.JsonObject>jsonable;
158
+ }"""
159
+ ),
160
+ ] # type: List[Stripped]
161
+
162
+ first_cls = _first_concrete_class(symbol_table)
163
+ if first_cls is not None:
164
+ deserialization_function = typescript_naming.function_name(
165
+ Identifier(f"{first_cls.name}_from_jsonable")
166
+ )
167
+
168
+ blocks.append(
169
+ Stripped(
170
+ f"""\
171
+ test("{typescript_naming.class_name(first_cls.name)} deserialization fails on non-object", () => {{
172
+ {I}const jsonable = "This is not a JSON object.";
173
+
174
+ {I}const instanceOrError = AasJsonization.{deserialization_function}(
175
+ {I}{I}jsonable
176
+ {I});
177
+
178
+ {I}expect(instanceOrError.error).not.toBeNull();
179
+ }});"""
180
+ )
181
+ )
182
+
183
+ required_property_candidate = _first_required_property_candidate(symbol_table)
184
+ if required_property_candidate is not None:
185
+ required_cls, required_prop = required_property_candidate
186
+ required_cls_name_json_literal = typescript_common.string_literal(
187
+ naming.json_model_type(required_cls.name)
188
+ )
189
+ required_deserialization_function = typescript_naming.function_name(
190
+ Identifier(f"{required_cls.name}_from_jsonable")
191
+ )
192
+ required_property_name_literal = typescript_common.string_literal(
193
+ naming.json_property(required_prop.name)
194
+ )
195
+
196
+ blocks.append(
197
+ Stripped(
198
+ f"""\
199
+ test("{typescript_naming.class_name(required_cls.name)} deserialization fails with missing required property", () => {{
200
+ {I}const jsonable = readExpectedJson(
201
+ {I}{I}{required_cls_name_json_literal},
202
+ {I}{I}"minimal.json"
203
+ {I});
204
+
205
+ {I}const jsonObject = {{ ...mustBeJsonObject(jsonable) }};
206
+ {I}delete jsonObject[{required_property_name_literal}];
207
+
208
+ {I}const instanceOrError = AasJsonization.{required_deserialization_function}(
209
+ {I}{I}jsonObject
210
+ {I});
211
+
212
+ {I}expect(instanceOrError.error).not.toBeNull();
213
+ }});"""
214
+ )
215
+ )
216
+
217
+ type_mismatch_candidate = _first_property_for_type_mismatch_candidate(symbol_table)
218
+ if type_mismatch_candidate is not None:
219
+ mismatch_cls, mismatch_prop, mismatch_file_name = type_mismatch_candidate
220
+ mismatch_cls_name_json_literal = typescript_common.string_literal(
221
+ naming.json_model_type(mismatch_cls.name)
222
+ )
223
+ mismatch_deserialization_function = typescript_naming.function_name(
224
+ Identifier(f"{mismatch_cls.name}_from_jsonable")
225
+ )
226
+ mismatch_property_name_literal = typescript_common.string_literal(
227
+ naming.json_property(mismatch_prop.name)
228
+ )
229
+
230
+ blocks.append(
231
+ Stripped(
232
+ f"""\
233
+ test("{typescript_naming.class_name(mismatch_cls.name)} deserialization fails with property type mismatch", () => {{
234
+ {I}const jsonable = readExpectedJson(
235
+ {I}{I}{mismatch_cls_name_json_literal},
236
+ {I}{I}{typescript_common.string_literal(mismatch_file_name)}
237
+ {I});
238
+
239
+ {I}const jsonObject = {{ ...mustBeJsonObject(jsonable) }};
240
+ {I}jsonObject[{mismatch_property_name_literal}] = {{ definitely: "unexpected-object" }};
241
+
242
+ {I}const instanceOrError = AasJsonization.{mismatch_deserialization_function}(
243
+ {I}{I}jsonObject
244
+ {I});
245
+
246
+ {I}expect(instanceOrError.error).not.toBeNull();
247
+ }});"""
248
+ )
249
+ )
250
+
251
+ nested_dispatch_candidate = _first_nested_class_dispatch_candidate(symbol_table)
252
+ if nested_dispatch_candidate is not None:
253
+ nested_cls, nested_prop = nested_dispatch_candidate
254
+ nested_cls_name_json_literal = typescript_common.string_literal(
255
+ naming.json_model_type(nested_cls.name)
256
+ )
257
+ nested_deserialization_function = typescript_naming.function_name(
258
+ Identifier(f"{nested_cls.name}_from_jsonable")
259
+ )
260
+ nested_property_name_literal = typescript_common.string_literal(
261
+ naming.json_property(nested_prop.name)
262
+ )
263
+ model_type_property_name_literal = typescript_common.string_literal(
264
+ naming.json_property(Identifier("model_type"))
265
+ )
266
+
267
+ blocks.append(
268
+ Stripped(
269
+ f"""\
270
+ test("{typescript_naming.class_name(nested_cls.name)} deserialization fails with invalid nested modelType", () => {{
271
+ {I}const jsonable = readExpectedJson(
272
+ {I}{I}{nested_cls_name_json_literal},
273
+ {I}{I}"maximal.json"
274
+ {I});
275
+
276
+ {I}const jsonObject = {{ ...mustBeJsonObject(jsonable) }};
277
+ {I}const nestedValue = jsonObject[{nested_property_name_literal}];
278
+
279
+ {I}if (
280
+ {I}{I}typeof nestedValue !== "object" ||
281
+ {I}{I}nestedValue === null ||
282
+ {I}{I}typeof nestedValue[Symbol.iterator] === "function"
283
+ {I}) {{
284
+ {I}{I}throw new Error("Expected nested class JSON object to be present in maximal example.");
285
+ {I}}}
286
+
287
+ {I}const nestedObject = {{ ...<AasJsonization.JsonObject>nestedValue }};
288
+ {I}nestedObject[{model_type_property_name_literal}] = "DefinitelyNotAModelType";
289
+ {I}jsonObject[{nested_property_name_literal}] = nestedObject;
290
+
291
+ {I}const instanceOrError = AasJsonization.{nested_deserialization_function}(
292
+ {I}{I}jsonObject
293
+ {I});
294
+
295
+ {I}expect(instanceOrError.error).not.toBeNull();
296
+ }});"""
297
+ )
298
+ )
299
+
300
+ blocks.append(typescript_common.WARNING)
301
+
302
+ writer = io.StringIO()
303
+ for i, block in enumerate(blocks):
304
+ if i > 0:
305
+ writer.write("\n\n")
306
+
307
+ writer.write(block)
308
+
309
+ writer.write("\n")
310
+
311
+ return writer.getvalue()
312
+
313
+
314
+ assert generate.__doc__ is not None
315
+ assert __doc__ is not None
316
+ assert generate.__doc__.strip().startswith(__doc__.strip())
@@ -0,0 +1,121 @@
1
+ """Generate code to test stringification of enumerations."""
2
+
3
+ import io
4
+ from typing import List
5
+
6
+ from icontract import ensure
7
+
8
+ from aas_core_codegen import intermediate
9
+ from aas_core_codegen.common import Identifier, Stripped
10
+ from aas_core_codegen.typescript import (
11
+ common as typescript_common,
12
+ naming as typescript_naming,
13
+ )
14
+ from aas_core_codegen.typescript.common import INDENT as I
15
+
16
+
17
+ # fmt: off
18
+ @ensure(
19
+ lambda result: result.endswith('\n'),
20
+ "Trailing newline mandatory for valid end-of-files"
21
+ )
22
+ # fmt: on
23
+ def generate(symbol_table: intermediate.SymbolTable) -> str:
24
+ """Generate code to test stringification of enumerations."""
25
+ blocks = [
26
+ Stripped(
27
+ """\
28
+ /**
29
+ * Test string de/serialization of enumeration literals.
30
+ */"""
31
+ ),
32
+ typescript_common.WARNING,
33
+ Stripped(
34
+ """\
35
+ import * as AasStringification from "../src/stringification";
36
+ import * as AasTypes from "../src/types";"""
37
+ ),
38
+ ] # type: List[Stripped]
39
+
40
+ for enumeration in symbol_table.enumerations:
41
+ enum_name_typescript = typescript_naming.enum_name(enumeration.name)
42
+
43
+ from_str_name = typescript_naming.function_name(
44
+ Identifier(f"{enumeration.name}_from_string")
45
+ )
46
+ to_str_name = typescript_naming.function_name(
47
+ Identifier(f"{enumeration.name}_to_string")
48
+ )
49
+ must_to_str_name = typescript_naming.function_name(
50
+ Identifier(f"must_{enumeration.name}_to_string")
51
+ )
52
+
53
+ for literal in enumeration.literals:
54
+ literal_name_typescript = typescript_naming.enum_literal_name(literal.name)
55
+ literal_value_literal = typescript_common.string_literal(literal.value)
56
+
57
+ blocks.append(
58
+ Stripped(
59
+ f"""\
60
+ test("{enum_name_typescript} stringification round-trip {literal_name_typescript}", () => {{
61
+ {I}const literal = AasTypes.{enum_name_typescript}.{literal_name_typescript};
62
+
63
+ {I}const text = AasStringification.{must_to_str_name}(literal);
64
+ {I}expect(text).toStrictEqual({literal_value_literal});
65
+
66
+ {I}const nullableText = AasStringification.{to_str_name}(literal);
67
+ {I}expect(nullableText).toStrictEqual({literal_value_literal});
68
+
69
+ {I}const parsed = AasStringification.{from_str_name}(text);
70
+ {I}expect(parsed).toStrictEqual(literal);
71
+ }});"""
72
+ )
73
+ )
74
+
75
+ literal_value_set = set(literal.value for literal in enumeration.literals)
76
+ invalid_literal_value = "invalid-literal"
77
+ while invalid_literal_value in literal_value_set:
78
+ invalid_literal_value = f"very-{invalid_literal_value}"
79
+
80
+ blocks.append(
81
+ Stripped(
82
+ f"""\
83
+ test("{enum_name_typescript} from invalid string", () => {{
84
+ {I}const parsed = AasStringification.{from_str_name}(
85
+ {I}{I}{typescript_common.string_literal(invalid_literal_value)}
86
+ {I});
87
+
88
+ {I}expect(parsed).toBeNull();
89
+ }});"""
90
+ )
91
+ )
92
+
93
+ blocks.append(
94
+ Stripped(
95
+ f"""\
96
+ test("{enum_name_typescript} invalid literal to string", () => {{
97
+ {I}// The number 9007199254740991 is the maximum safe integer.
98
+ {I}const invalidLiteral = <AasTypes.{enum_name_typescript}>9007199254740991;
99
+
100
+ {I}expect(AasStringification.{to_str_name}(invalidLiteral)).toBeNull();
101
+ {I}expect(() => AasStringification.{must_to_str_name}(invalidLiteral)).toThrow();
102
+ }});"""
103
+ )
104
+ )
105
+
106
+ blocks.append(typescript_common.WARNING)
107
+
108
+ writer = io.StringIO()
109
+ for i, block in enumerate(blocks):
110
+ if i > 0:
111
+ writer.write("\n\n")
112
+
113
+ writer.write(block)
114
+
115
+ writer.write("\n")
116
+
117
+ return writer.getvalue()
118
+
119
+
120
+ assert generate.__doc__ is not None
121
+ assert generate.__doc__.strip().startswith(__doc__.strip())