aas-core-codegen 0.0.23__tar.gz → 0.0.24__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.
- {aas_core_codegen-0.0.23/aas_core_codegen.egg-info → aas_core_codegen-0.0.24}/PKG-INFO +1 -1
- {aas_core_codegen-0.0.23 → aas_core_codegen-0.0.24}/aas_core_codegen/__init__.py +1 -1
- {aas_core_codegen-0.0.23 → aas_core_codegen-0.0.24}/aas_core_codegen/python/lib/_generate_jsonization.py +11 -3
- {aas_core_codegen-0.0.23 → aas_core_codegen-0.0.24}/aas_core_codegen/python/lib/_generate_xmlization.py +1 -1
- {aas_core_codegen-0.0.23 → aas_core_codegen-0.0.24}/aas_core_codegen/python/tests/_generate_common.py +1 -1
- {aas_core_codegen-0.0.23 → aas_core_codegen-0.0.24}/aas_core_codegen/python/tests/_generate_test_descend_and_pass_through_visitor.py +1 -0
- {aas_core_codegen-0.0.23 → aas_core_codegen-0.0.24}/aas_core_codegen/python/tests/_generate_test_for_over_x_or_empty.py +1 -0
- {aas_core_codegen-0.0.23 → aas_core_codegen-0.0.24}/aas_core_codegen/python/tests/_generate_test_for_x_or_default.py +1 -0
- {aas_core_codegen-0.0.23 → aas_core_codegen-0.0.24}/aas_core_codegen/python/tests/_generate_test_jsonization_of_classes_with_descendants.py +1 -0
- {aas_core_codegen-0.0.23 → aas_core_codegen-0.0.24}/aas_core_codegen/python/tests/_generate_test_jsonization_of_concrete_classes.py +1 -0
- {aas_core_codegen-0.0.23 → aas_core_codegen-0.0.24}/aas_core_codegen/python/tests/_generate_test_xmlization_of_classes_with_descendants.py +1 -0
- {aas_core_codegen-0.0.23 → aas_core_codegen-0.0.24}/aas_core_codegen/python/tests/_generate_test_xmlization_of_concrete_classes.py +1 -0
- {aas_core_codegen-0.0.23 → aas_core_codegen-0.0.24}/aas_core_codegen/typescript/lib/_generate_xmlization.py +185 -113
- {aas_core_codegen-0.0.23 → aas_core_codegen-0.0.24}/aas_core_codegen/typescript/main.py +18 -0
- {aas_core_codegen-0.0.23 → aas_core_codegen-0.0.24}/aas_core_codegen/typescript/tests/__init__.py +4 -0
- {aas_core_codegen-0.0.23 → aas_core_codegen-0.0.24}/aas_core_codegen/typescript/tests/_generate_common_xmlization.py +1 -0
- aas_core_codegen-0.0.24/aas_core_codegen/typescript/tests/_generate_xmlization_common_spec.py +76 -0
- aas_core_codegen-0.0.24/aas_core_codegen/typescript/tests/_generate_xmlization_negative_spec.py +325 -0
- {aas_core_codegen-0.0.23 → aas_core_codegen-0.0.24/aas_core_codegen.egg-info}/PKG-INFO +1 -1
- {aas_core_codegen-0.0.23 → aas_core_codegen-0.0.24}/aas_core_codegen.egg-info/SOURCES.txt +2 -0
- {aas_core_codegen-0.0.23 → aas_core_codegen-0.0.24}/pyproject.toml +1 -1
- {aas_core_codegen-0.0.23 → aas_core_codegen-0.0.24}/AUTHORS +0 -0
- {aas_core_codegen-0.0.23 → aas_core_codegen-0.0.24}/LICENSE +0 -0
- {aas_core_codegen-0.0.23 → aas_core_codegen-0.0.24}/README.rst +0 -0
- {aas_core_codegen-0.0.23 → aas_core_codegen-0.0.24}/aas_core_codegen/__main__.py +0 -0
- {aas_core_codegen-0.0.23 → aas_core_codegen-0.0.24}/aas_core_codegen/common.py +0 -0
- {aas_core_codegen-0.0.23 → aas_core_codegen-0.0.24}/aas_core_codegen/cpp/__init__.py +0 -0
- {aas_core_codegen-0.0.23 → aas_core_codegen-0.0.24}/aas_core_codegen/cpp/common.py +0 -0
- {aas_core_codegen-0.0.23 → aas_core_codegen-0.0.24}/aas_core_codegen/cpp/description.py +0 -0
- {aas_core_codegen-0.0.23 → aas_core_codegen-0.0.24}/aas_core_codegen/cpp/lib/__init__.py +0 -0
- {aas_core_codegen-0.0.23 → aas_core_codegen-0.0.24}/aas_core_codegen/cpp/lib/_generate_common.py +0 -0
- {aas_core_codegen-0.0.23 → aas_core_codegen-0.0.24}/aas_core_codegen/cpp/lib/_generate_constants.py +0 -0
- {aas_core_codegen-0.0.23 → aas_core_codegen-0.0.24}/aas_core_codegen/cpp/lib/_generate_enhancing.py +0 -0
- {aas_core_codegen-0.0.23 → aas_core_codegen-0.0.24}/aas_core_codegen/cpp/lib/_generate_iteration.py +0 -0
- {aas_core_codegen-0.0.23 → aas_core_codegen-0.0.24}/aas_core_codegen/cpp/lib/_generate_jsonization.py +0 -0
- {aas_core_codegen-0.0.23 → aas_core_codegen-0.0.24}/aas_core_codegen/cpp/lib/_generate_pattern.py +0 -0
- {aas_core_codegen-0.0.23 → aas_core_codegen-0.0.24}/aas_core_codegen/cpp/lib/_generate_revm.py +0 -0
- {aas_core_codegen-0.0.23 → aas_core_codegen-0.0.24}/aas_core_codegen/cpp/lib/_generate_stringification.py +0 -0
- {aas_core_codegen-0.0.23 → aas_core_codegen-0.0.24}/aas_core_codegen/cpp/lib/_generate_types.py +0 -0
- {aas_core_codegen-0.0.23 → aas_core_codegen-0.0.24}/aas_core_codegen/cpp/lib/_generate_verification.py +0 -0
- {aas_core_codegen-0.0.23 → aas_core_codegen-0.0.24}/aas_core_codegen/cpp/lib/_generate_visitation.py +0 -0
- {aas_core_codegen-0.0.23 → aas_core_codegen-0.0.24}/aas_core_codegen/cpp/lib/_generate_wstringification.py +0 -0
- {aas_core_codegen-0.0.23 → aas_core_codegen-0.0.24}/aas_core_codegen/cpp/lib/_generate_xmlization.py +0 -0
- {aas_core_codegen-0.0.23 → aas_core_codegen-0.0.24}/aas_core_codegen/cpp/main.py +0 -0
- {aas_core_codegen-0.0.23 → aas_core_codegen-0.0.24}/aas_core_codegen/cpp/naming.py +0 -0
- {aas_core_codegen-0.0.23 → aas_core_codegen-0.0.24}/aas_core_codegen/cpp/optionaling.py +0 -0
- {aas_core_codegen-0.0.23 → aas_core_codegen-0.0.24}/aas_core_codegen/cpp/tests/__init__.py +0 -0
- {aas_core_codegen-0.0.23 → aas_core_codegen-0.0.24}/aas_core_codegen/cpp/tests/_generate_common.py +0 -0
- {aas_core_codegen-0.0.23 → aas_core_codegen-0.0.24}/aas_core_codegen/cpp/tests/_generate_common_examples.py +0 -0
- {aas_core_codegen-0.0.23 → aas_core_codegen-0.0.24}/aas_core_codegen/cpp/tests/_generate_common_jsonization.py +0 -0
- {aas_core_codegen-0.0.23 → aas_core_codegen-0.0.24}/aas_core_codegen/cpp/tests/_generate_common_xmlization.py +0 -0
- {aas_core_codegen-0.0.23 → aas_core_codegen-0.0.24}/aas_core_codegen/cpp/tests/_generate_test_descent_and_descent_once.py +0 -0
- {aas_core_codegen-0.0.23 → aas_core_codegen-0.0.24}/aas_core_codegen/cpp/tests/_generate_test_jsonization_dispatch.py +0 -0
- {aas_core_codegen-0.0.23 → aas_core_codegen-0.0.24}/aas_core_codegen/cpp/tests/_generate_test_jsonization_of_concrete_classes.py +0 -0
- {aas_core_codegen-0.0.23 → aas_core_codegen-0.0.24}/aas_core_codegen/cpp/tests/_generate_test_revm.py +0 -0
- {aas_core_codegen-0.0.23 → aas_core_codegen-0.0.24}/aas_core_codegen/cpp/tests/_generate_test_stringification_base64.py +0 -0
- {aas_core_codegen-0.0.23 → aas_core_codegen-0.0.24}/aas_core_codegen/cpp/tests/_generate_test_stringification_of_enums.py +0 -0
- {aas_core_codegen-0.0.23 → aas_core_codegen-0.0.24}/aas_core_codegen/cpp/tests/_generate_test_verification.py +0 -0
- {aas_core_codegen-0.0.23 → aas_core_codegen-0.0.24}/aas_core_codegen/cpp/tests/_generate_test_wstringification_of_enums.py +0 -0
- {aas_core_codegen-0.0.23 → aas_core_codegen-0.0.24}/aas_core_codegen/cpp/tests/_generate_test_x_or_default.py +0 -0
- {aas_core_codegen-0.0.23 → aas_core_codegen-0.0.24}/aas_core_codegen/cpp/tests/_generate_test_xmlization_dispatch.py +0 -0
- {aas_core_codegen-0.0.23 → aas_core_codegen-0.0.24}/aas_core_codegen/cpp/tests/_generate_test_xmlization_of_concrete_classes.py +0 -0
- {aas_core_codegen-0.0.23 → aas_core_codegen-0.0.24}/aas_core_codegen/cpp/transpilation.py +0 -0
- {aas_core_codegen-0.0.23 → aas_core_codegen-0.0.24}/aas_core_codegen/cpp/unrolling.py +0 -0
- {aas_core_codegen-0.0.23 → aas_core_codegen-0.0.24}/aas_core_codegen/cpp/yielding.py +0 -0
- {aas_core_codegen-0.0.23 → aas_core_codegen-0.0.24}/aas_core_codegen/csharp/__init__.py +0 -0
- {aas_core_codegen-0.0.23 → aas_core_codegen-0.0.24}/aas_core_codegen/csharp/common.py +0 -0
- {aas_core_codegen-0.0.23 → aas_core_codegen-0.0.24}/aas_core_codegen/csharp/description.py +0 -0
- {aas_core_codegen-0.0.23 → aas_core_codegen-0.0.24}/aas_core_codegen/csharp/lib/__init__.py +0 -0
- {aas_core_codegen-0.0.23 → aas_core_codegen-0.0.24}/aas_core_codegen/csharp/lib/_generate_constants.py +0 -0
- {aas_core_codegen-0.0.23 → aas_core_codegen-0.0.24}/aas_core_codegen/csharp/lib/_generate_copying.py +0 -0
- {aas_core_codegen-0.0.23 → aas_core_codegen-0.0.24}/aas_core_codegen/csharp/lib/_generate_enhancing.py +0 -0
- {aas_core_codegen-0.0.23 → aas_core_codegen-0.0.24}/aas_core_codegen/csharp/lib/_generate_jsonization.py +0 -0
- {aas_core_codegen-0.0.23 → aas_core_codegen-0.0.24}/aas_core_codegen/csharp/lib/_generate_reporting.py +0 -0
- {aas_core_codegen-0.0.23 → aas_core_codegen-0.0.24}/aas_core_codegen/csharp/lib/_generate_stringification.py +0 -0
- {aas_core_codegen-0.0.23 → aas_core_codegen-0.0.24}/aas_core_codegen/csharp/lib/_generate_types.py +0 -0
- {aas_core_codegen-0.0.23 → aas_core_codegen-0.0.24}/aas_core_codegen/csharp/lib/_generate_verification.py +0 -0
- {aas_core_codegen-0.0.23 → aas_core_codegen-0.0.24}/aas_core_codegen/csharp/lib/_generate_visitation.py +0 -0
- {aas_core_codegen-0.0.23 → aas_core_codegen-0.0.24}/aas_core_codegen/csharp/lib/_generate_xmlization.py +0 -0
- {aas_core_codegen-0.0.23 → aas_core_codegen-0.0.24}/aas_core_codegen/csharp/main.py +0 -0
- {aas_core_codegen-0.0.23 → aas_core_codegen-0.0.24}/aas_core_codegen/csharp/naming.py +0 -0
- {aas_core_codegen-0.0.23 → aas_core_codegen-0.0.24}/aas_core_codegen/csharp/tests/__init__.py +0 -0
- {aas_core_codegen-0.0.23 → aas_core_codegen-0.0.24}/aas_core_codegen/csharp/tests/_generate_common.py +0 -0
- {aas_core_codegen-0.0.23 → aas_core_codegen-0.0.24}/aas_core_codegen/csharp/tests/_generate_common_json.py +0 -0
- {aas_core_codegen-0.0.23 → aas_core_codegen-0.0.24}/aas_core_codegen/csharp/tests/_generate_common_jsonization.py +0 -0
- {aas_core_codegen-0.0.23 → aas_core_codegen-0.0.24}/aas_core_codegen/csharp/tests/_generate_test_copying.py +0 -0
- {aas_core_codegen-0.0.23 → aas_core_codegen-0.0.24}/aas_core_codegen/csharp/tests/_generate_test_descend_and_visitor_through.py +0 -0
- {aas_core_codegen-0.0.23 → aas_core_codegen-0.0.24}/aas_core_codegen/csharp/tests/_generate_test_descend_once.py +0 -0
- {aas_core_codegen-0.0.23 → aas_core_codegen-0.0.24}/aas_core_codegen/csharp/tests/_generate_test_enhancing.py +0 -0
- {aas_core_codegen-0.0.23 → aas_core_codegen-0.0.24}/aas_core_codegen/csharp/tests/_generate_test_jsonization_of_concrete_classes.py +0 -0
- {aas_core_codegen-0.0.23 → aas_core_codegen-0.0.24}/aas_core_codegen/csharp/tests/_generate_test_jsonization_of_enums.py +0 -0
- {aas_core_codegen-0.0.23 → aas_core_codegen-0.0.24}/aas_core_codegen/csharp/tests/_generate_test_jsonization_of_interfaces.py +0 -0
- {aas_core_codegen-0.0.23 → aas_core_codegen-0.0.24}/aas_core_codegen/csharp/tests/_generate_test_over_x_or_empty.py +0 -0
- {aas_core_codegen-0.0.23 → aas_core_codegen-0.0.24}/aas_core_codegen/csharp/tests/_generate_test_verification_of_enums.py +0 -0
- {aas_core_codegen-0.0.23 → aas_core_codegen-0.0.24}/aas_core_codegen/csharp/tests/_generate_test_x_or_default.py +0 -0
- {aas_core_codegen-0.0.23 → aas_core_codegen-0.0.24}/aas_core_codegen/csharp/tests/_generate_test_xmlization_errors.py +0 -0
- {aas_core_codegen-0.0.23 → aas_core_codegen-0.0.24}/aas_core_codegen/csharp/tests/_generate_test_xmlization_of_concrete_classes.py +0 -0
- {aas_core_codegen-0.0.23 → aas_core_codegen-0.0.24}/aas_core_codegen/csharp/tests/_generate_test_xmlization_of_interfaces.py +0 -0
- {aas_core_codegen-0.0.23 → aas_core_codegen-0.0.24}/aas_core_codegen/csharp/transpilation.py +0 -0
- {aas_core_codegen-0.0.23 → aas_core_codegen-0.0.24}/aas_core_codegen/csharp/unrolling.py +0 -0
- {aas_core_codegen-0.0.23 → aas_core_codegen-0.0.24}/aas_core_codegen/golang/__init__.py +0 -0
- {aas_core_codegen-0.0.23 → aas_core_codegen-0.0.24}/aas_core_codegen/golang/common.py +0 -0
- {aas_core_codegen-0.0.23 → aas_core_codegen-0.0.24}/aas_core_codegen/golang/description.py +0 -0
- {aas_core_codegen-0.0.23 → aas_core_codegen-0.0.24}/aas_core_codegen/golang/lib/__init__.py +0 -0
- {aas_core_codegen-0.0.23 → aas_core_codegen-0.0.24}/aas_core_codegen/golang/lib/_generate_common.py +0 -0
- {aas_core_codegen-0.0.23 → aas_core_codegen-0.0.24}/aas_core_codegen/golang/lib/_generate_constants.py +0 -0
- {aas_core_codegen-0.0.23 → aas_core_codegen-0.0.24}/aas_core_codegen/golang/lib/_generate_enhancing.py +0 -0
- {aas_core_codegen-0.0.23 → aas_core_codegen-0.0.24}/aas_core_codegen/golang/lib/_generate_jsonization.py +0 -0
- {aas_core_codegen-0.0.23 → aas_core_codegen-0.0.24}/aas_core_codegen/golang/lib/_generate_reporting.py +0 -0
- {aas_core_codegen-0.0.23 → aas_core_codegen-0.0.24}/aas_core_codegen/golang/lib/_generate_stringification.py +0 -0
- {aas_core_codegen-0.0.23 → aas_core_codegen-0.0.24}/aas_core_codegen/golang/lib/_generate_types.py +0 -0
- {aas_core_codegen-0.0.23 → aas_core_codegen-0.0.24}/aas_core_codegen/golang/lib/_generate_verification.py +0 -0
- {aas_core_codegen-0.0.23 → aas_core_codegen-0.0.24}/aas_core_codegen/golang/lib/_generate_xmlization.py +0 -0
- {aas_core_codegen-0.0.23 → aas_core_codegen-0.0.24}/aas_core_codegen/golang/main.py +0 -0
- {aas_core_codegen-0.0.23 → aas_core_codegen-0.0.24}/aas_core_codegen/golang/naming.py +0 -0
- {aas_core_codegen-0.0.23 → aas_core_codegen-0.0.24}/aas_core_codegen/golang/pointering.py +0 -0
- {aas_core_codegen-0.0.23 → aas_core_codegen-0.0.24}/aas_core_codegen/golang/tests/__init__.py +0 -0
- {aas_core_codegen-0.0.23 → aas_core_codegen-0.0.24}/aas_core_codegen/golang/tests/_generate_aastesting_common_jsonization.py +0 -0
- {aas_core_codegen-0.0.23 → aas_core_codegen-0.0.24}/aas_core_codegen/golang/tests/_generate_aastesting_constants.py +0 -0
- {aas_core_codegen-0.0.23 → aas_core_codegen-0.0.24}/aas_core_codegen/golang/tests/_generate_aastesting_deep_equal.py +0 -0
- {aas_core_codegen-0.0.23 → aas_core_codegen-0.0.24}/aas_core_codegen/golang/tests/_generate_aastesting_doc.py +0 -0
- {aas_core_codegen-0.0.23 → aas_core_codegen-0.0.24}/aas_core_codegen/golang/tests/_generate_aastesting_filesystem.py +0 -0
- {aas_core_codegen-0.0.23 → aas_core_codegen-0.0.24}/aas_core_codegen/golang/tests/_generate_aastesting_tracing.py +0 -0
- {aas_core_codegen-0.0.23 → aas_core_codegen-0.0.24}/aas_core_codegen/golang/tests/_generate_descend_test_common.py +0 -0
- {aas_core_codegen-0.0.23 → aas_core_codegen-0.0.24}/aas_core_codegen/golang/tests/_generate_descend_test_descend_once_test.py +0 -0
- {aas_core_codegen-0.0.23 → aas_core_codegen-0.0.24}/aas_core_codegen/golang/tests/_generate_descend_test_descend_test.py +0 -0
- {aas_core_codegen-0.0.23 → aas_core_codegen-0.0.24}/aas_core_codegen/golang/tests/_generate_enhancing_test.py +0 -0
- {aas_core_codegen-0.0.23 → aas_core_codegen-0.0.24}/aas_core_codegen/golang/tests/_generate_is_xxx_test.py +0 -0
- {aas_core_codegen-0.0.23 → aas_core_codegen-0.0.24}/aas_core_codegen/golang/tests/_generate_jsonization_test_classes_with_descendants_test.py +0 -0
- {aas_core_codegen-0.0.23 → aas_core_codegen-0.0.24}/aas_core_codegen/golang/tests/_generate_jsonization_test_common_test.py +0 -0
- {aas_core_codegen-0.0.23 → aas_core_codegen-0.0.24}/aas_core_codegen/golang/tests/_generate_jsonization_test_concrete_classes_test.py +0 -0
- {aas_core_codegen-0.0.23 → aas_core_codegen-0.0.24}/aas_core_codegen/golang/tests/_generate_jsonization_test_enums_test.py +0 -0
- {aas_core_codegen-0.0.23 → aas_core_codegen-0.0.24}/aas_core_codegen/golang/tests/_generate_verification_test.py +0 -0
- {aas_core_codegen-0.0.23 → aas_core_codegen-0.0.24}/aas_core_codegen/golang/tests/_generate_xmlization_test_common_test.py +0 -0
- {aas_core_codegen-0.0.23 → aas_core_codegen-0.0.24}/aas_core_codegen/golang/tests/_generate_xmlization_test_concrete_classes_test.py +0 -0
- {aas_core_codegen-0.0.23 → aas_core_codegen-0.0.24}/aas_core_codegen/golang/tests/_generate_xxx_or_default_test.py +0 -0
- {aas_core_codegen-0.0.23 → aas_core_codegen-0.0.24}/aas_core_codegen/golang/transpilation.py +0 -0
- {aas_core_codegen-0.0.23 → aas_core_codegen-0.0.24}/aas_core_codegen/golang/unrolling.py +0 -0
- {aas_core_codegen-0.0.23 → aas_core_codegen-0.0.24}/aas_core_codegen/infer_for_schema/__init__.py +0 -0
- {aas_core_codegen-0.0.23 → aas_core_codegen-0.0.24}/aas_core_codegen/infer_for_schema/_inline.py +0 -0
- {aas_core_codegen-0.0.23 → aas_core_codegen-0.0.24}/aas_core_codegen/infer_for_schema/_len.py +0 -0
- {aas_core_codegen-0.0.23 → aas_core_codegen-0.0.24}/aas_core_codegen/infer_for_schema/_pattern.py +0 -0
- {aas_core_codegen-0.0.23 → aas_core_codegen-0.0.24}/aas_core_codegen/infer_for_schema/_set.py +0 -0
- {aas_core_codegen-0.0.23 → aas_core_codegen-0.0.24}/aas_core_codegen/infer_for_schema/_stringify.py +0 -0
- {aas_core_codegen-0.0.23 → aas_core_codegen-0.0.24}/aas_core_codegen/infer_for_schema/_types.py +0 -0
- {aas_core_codegen-0.0.23 → aas_core_codegen-0.0.24}/aas_core_codegen/infer_for_schema/match.py +0 -0
- {aas_core_codegen-0.0.23 → aas_core_codegen-0.0.24}/aas_core_codegen/intermediate/__init__.py +0 -0
- {aas_core_codegen-0.0.23 → aas_core_codegen-0.0.24}/aas_core_codegen/intermediate/_hierarchy.py +0 -0
- {aas_core_codegen-0.0.23 → aas_core_codegen-0.0.24}/aas_core_codegen/intermediate/_stringify.py +0 -0
- {aas_core_codegen-0.0.23 → aas_core_codegen-0.0.24}/aas_core_codegen/intermediate/_translate.py +0 -0
- {aas_core_codegen-0.0.23 → aas_core_codegen-0.0.24}/aas_core_codegen/intermediate/_types.py +0 -0
- {aas_core_codegen-0.0.23 → aas_core_codegen-0.0.24}/aas_core_codegen/intermediate/construction.py +0 -0
- {aas_core_codegen-0.0.23 → aas_core_codegen-0.0.24}/aas_core_codegen/intermediate/doc.py +0 -0
- {aas_core_codegen-0.0.23 → aas_core_codegen-0.0.24}/aas_core_codegen/intermediate/pattern_verification.py +0 -0
- {aas_core_codegen-0.0.23 → aas_core_codegen-0.0.24}/aas_core_codegen/intermediate/revm.py +0 -0
- {aas_core_codegen-0.0.23 → aas_core_codegen-0.0.24}/aas_core_codegen/intermediate/type_inference.py +0 -0
- {aas_core_codegen-0.0.23 → aas_core_codegen-0.0.24}/aas_core_codegen/java/__init__.py +0 -0
- {aas_core_codegen-0.0.23 → aas_core_codegen-0.0.24}/aas_core_codegen/java/common.py +0 -0
- {aas_core_codegen-0.0.23 → aas_core_codegen-0.0.24}/aas_core_codegen/java/description.py +0 -0
- {aas_core_codegen-0.0.23 → aas_core_codegen-0.0.24}/aas_core_codegen/java/lib/__init__.py +0 -0
- {aas_core_codegen-0.0.23 → aas_core_codegen-0.0.24}/aas_core_codegen/java/lib/_generate_constants.py +0 -0
- {aas_core_codegen-0.0.23 → aas_core_codegen-0.0.24}/aas_core_codegen/java/lib/_generate_copying.py +0 -0
- {aas_core_codegen-0.0.23 → aas_core_codegen-0.0.24}/aas_core_codegen/java/lib/_generate_enhancing.py +0 -0
- {aas_core_codegen-0.0.23 → aas_core_codegen-0.0.24}/aas_core_codegen/java/lib/_generate_generation.py +0 -0
- {aas_core_codegen-0.0.23 → aas_core_codegen-0.0.24}/aas_core_codegen/java/lib/_generate_jsonization.py +0 -0
- {aas_core_codegen-0.0.23 → aas_core_codegen-0.0.24}/aas_core_codegen/java/lib/_generate_reporting.py +0 -0
- {aas_core_codegen-0.0.23 → aas_core_codegen-0.0.24}/aas_core_codegen/java/lib/_generate_stringification.py +0 -0
- {aas_core_codegen-0.0.23 → aas_core_codegen-0.0.24}/aas_core_codegen/java/lib/_generate_types.py +0 -0
- {aas_core_codegen-0.0.23 → aas_core_codegen-0.0.24}/aas_core_codegen/java/lib/_generate_verification.py +0 -0
- {aas_core_codegen-0.0.23 → aas_core_codegen-0.0.24}/aas_core_codegen/java/lib/_generate_visitation.py +0 -0
- {aas_core_codegen-0.0.23 → aas_core_codegen-0.0.24}/aas_core_codegen/java/lib/_generate_xmlization.py +0 -0
- {aas_core_codegen-0.0.23 → aas_core_codegen-0.0.24}/aas_core_codegen/java/main.py +0 -0
- {aas_core_codegen-0.0.23 → aas_core_codegen-0.0.24}/aas_core_codegen/java/naming.py +0 -0
- {aas_core_codegen-0.0.23 → aas_core_codegen-0.0.24}/aas_core_codegen/java/optional.py +0 -0
- {aas_core_codegen-0.0.23 → aas_core_codegen-0.0.24}/aas_core_codegen/java/tests/__init__.py +0 -0
- {aas_core_codegen-0.0.23 → aas_core_codegen-0.0.24}/aas_core_codegen/java/tests/_generate_common.py +0 -0
- {aas_core_codegen-0.0.23 → aas_core_codegen-0.0.24}/aas_core_codegen/java/tests/_generate_common_json.py +0 -0
- {aas_core_codegen-0.0.23 → aas_core_codegen-0.0.24}/aas_core_codegen/java/tests/_generate_common_jsonization.py +0 -0
- {aas_core_codegen-0.0.23 → aas_core_codegen-0.0.24}/aas_core_codegen/java/tests/_generate_test_copying.py +0 -0
- {aas_core_codegen-0.0.23 → aas_core_codegen-0.0.24}/aas_core_codegen/java/tests/_generate_test_descend_and_visitor_through.py +0 -0
- {aas_core_codegen-0.0.23 → aas_core_codegen-0.0.24}/aas_core_codegen/java/tests/_generate_test_descend_once.py +0 -0
- {aas_core_codegen-0.0.23 → aas_core_codegen-0.0.24}/aas_core_codegen/java/tests/_generate_test_enhancing.py +0 -0
- {aas_core_codegen-0.0.23 → aas_core_codegen-0.0.24}/aas_core_codegen/java/tests/_generate_test_jsonization_of_concrete_classes.py +0 -0
- {aas_core_codegen-0.0.23 → aas_core_codegen-0.0.24}/aas_core_codegen/java/tests/_generate_test_jsonization_of_enums.py +0 -0
- {aas_core_codegen-0.0.23 → aas_core_codegen-0.0.24}/aas_core_codegen/java/tests/_generate_test_jsonization_of_interfaces.py +0 -0
- {aas_core_codegen-0.0.23 → aas_core_codegen-0.0.24}/aas_core_codegen/java/tests/_generate_test_over_x_or_empty.py +0 -0
- {aas_core_codegen-0.0.23 → aas_core_codegen-0.0.24}/aas_core_codegen/java/tests/_generate_test_verification_of_enums.py +0 -0
- {aas_core_codegen-0.0.23 → aas_core_codegen-0.0.24}/aas_core_codegen/java/tests/_generate_test_x_or_default.py +0 -0
- {aas_core_codegen-0.0.23 → aas_core_codegen-0.0.24}/aas_core_codegen/java/tests/_generate_test_xmlization_of_concrete_classes.py +0 -0
- {aas_core_codegen-0.0.23 → aas_core_codegen-0.0.24}/aas_core_codegen/java/tests/_generate_test_xmlization_of_interfaces.py +0 -0
- {aas_core_codegen-0.0.23 → aas_core_codegen-0.0.24}/aas_core_codegen/java/transpilation.py +0 -0
- {aas_core_codegen-0.0.23 → aas_core_codegen-0.0.24}/aas_core_codegen/jsonschema/__init__.py +0 -0
- {aas_core_codegen-0.0.23 → aas_core_codegen-0.0.24}/aas_core_codegen/jsonschema/main.py +0 -0
- {aas_core_codegen-0.0.23 → aas_core_codegen-0.0.24}/aas_core_codegen/main.py +0 -0
- {aas_core_codegen-0.0.23 → aas_core_codegen-0.0.24}/aas_core_codegen/naming.py +0 -0
- {aas_core_codegen-0.0.23 → aas_core_codegen-0.0.24}/aas_core_codegen/parse/__init__.py +0 -0
- {aas_core_codegen-0.0.23 → aas_core_codegen-0.0.24}/aas_core_codegen/parse/_rules.py +0 -0
- {aas_core_codegen-0.0.23 → aas_core_codegen-0.0.24}/aas_core_codegen/parse/_stringify.py +0 -0
- {aas_core_codegen-0.0.23 → aas_core_codegen-0.0.24}/aas_core_codegen/parse/_translate.py +0 -0
- {aas_core_codegen-0.0.23 → aas_core_codegen-0.0.24}/aas_core_codegen/parse/_types.py +0 -0
- {aas_core_codegen-0.0.23 → aas_core_codegen-0.0.24}/aas_core_codegen/parse/retree/__init__.py +0 -0
- {aas_core_codegen-0.0.23 → aas_core_codegen-0.0.24}/aas_core_codegen/parse/retree/_fix.py +0 -0
- {aas_core_codegen-0.0.23 → aas_core_codegen-0.0.24}/aas_core_codegen/parse/retree/_parse.py +0 -0
- {aas_core_codegen-0.0.23 → aas_core_codegen-0.0.24}/aas_core_codegen/parse/retree/_render.py +0 -0
- {aas_core_codegen-0.0.23 → aas_core_codegen-0.0.24}/aas_core_codegen/parse/retree/_stringify.py +0 -0
- {aas_core_codegen-0.0.23 → aas_core_codegen-0.0.24}/aas_core_codegen/parse/retree/_types.py +0 -0
- {aas_core_codegen-0.0.23 → aas_core_codegen-0.0.24}/aas_core_codegen/parse/retree/_visitor.py +0 -0
- {aas_core_codegen-0.0.23 → aas_core_codegen-0.0.24}/aas_core_codegen/parse/tree.py +0 -0
- {aas_core_codegen-0.0.23 → aas_core_codegen-0.0.24}/aas_core_codegen/py.typed +0 -0
- {aas_core_codegen-0.0.23 → aas_core_codegen-0.0.24}/aas_core_codegen/python/__init__.py +0 -0
- {aas_core_codegen-0.0.23 → aas_core_codegen-0.0.24}/aas_core_codegen/python/common.py +0 -0
- {aas_core_codegen-0.0.23 → aas_core_codegen-0.0.24}/aas_core_codegen/python/description.py +0 -0
- {aas_core_codegen-0.0.23 → aas_core_codegen-0.0.24}/aas_core_codegen/python/lib/__init__.py +0 -0
- {aas_core_codegen-0.0.23 → aas_core_codegen-0.0.24}/aas_core_codegen/python/lib/_generate_common.py +0 -0
- {aas_core_codegen-0.0.23 → aas_core_codegen-0.0.24}/aas_core_codegen/python/lib/_generate_constants.py +0 -0
- {aas_core_codegen-0.0.23 → aas_core_codegen-0.0.24}/aas_core_codegen/python/lib/_generate_stringification.py +0 -0
- {aas_core_codegen-0.0.23 → aas_core_codegen-0.0.24}/aas_core_codegen/python/lib/_generate_types.py +0 -0
- {aas_core_codegen-0.0.23 → aas_core_codegen-0.0.24}/aas_core_codegen/python/lib/_generate_verification.py +0 -0
- {aas_core_codegen-0.0.23 → aas_core_codegen-0.0.24}/aas_core_codegen/python/main.py +0 -0
- {aas_core_codegen-0.0.23 → aas_core_codegen-0.0.24}/aas_core_codegen/python/naming.py +0 -0
- {aas_core_codegen-0.0.23 → aas_core_codegen-0.0.24}/aas_core_codegen/python/tests/__init__.py +0 -0
- {aas_core_codegen-0.0.23 → aas_core_codegen-0.0.24}/aas_core_codegen/python/tests/_generate_common_jsonization.py +0 -0
- {aas_core_codegen-0.0.23 → aas_core_codegen-0.0.24}/aas_core_codegen/python/tests/_generate_common_xmlization.py +0 -0
- {aas_core_codegen-0.0.23 → aas_core_codegen-0.0.24}/aas_core_codegen/python/tests/_generate_test_descend_once.py +0 -0
- {aas_core_codegen-0.0.23 → aas_core_codegen-0.0.24}/aas_core_codegen/python/tests/_generate_test_jsonization_of_enums.py +0 -0
- {aas_core_codegen-0.0.23 → aas_core_codegen-0.0.24}/aas_core_codegen/python/transpilation.py +0 -0
- {aas_core_codegen-0.0.23 → aas_core_codegen-0.0.24}/aas_core_codegen/python/unrolling.py +0 -0
- {aas_core_codegen-0.0.23 → aas_core_codegen-0.0.24}/aas_core_codegen/run.py +0 -0
- {aas_core_codegen-0.0.23 → aas_core_codegen-0.0.24}/aas_core_codegen/smoke/__init__.py +0 -0
- {aas_core_codegen-0.0.23 → aas_core_codegen-0.0.24}/aas_core_codegen/smoke/main.py +0 -0
- {aas_core_codegen-0.0.23 → aas_core_codegen-0.0.24}/aas_core_codegen/specific_implementations.py +0 -0
- {aas_core_codegen-0.0.23 → aas_core_codegen-0.0.24}/aas_core_codegen/stringify.py +0 -0
- {aas_core_codegen-0.0.23 → aas_core_codegen-0.0.24}/aas_core_codegen/typescript/__init__.py +0 -0
- {aas_core_codegen-0.0.23 → aas_core_codegen-0.0.24}/aas_core_codegen/typescript/common.py +0 -0
- {aas_core_codegen-0.0.23 → aas_core_codegen-0.0.24}/aas_core_codegen/typescript/description.py +0 -0
- {aas_core_codegen-0.0.23 → aas_core_codegen-0.0.24}/aas_core_codegen/typescript/lib/__init__.py +0 -0
- {aas_core_codegen-0.0.23 → aas_core_codegen-0.0.24}/aas_core_codegen/typescript/lib/_generate_common.py +0 -0
- {aas_core_codegen-0.0.23 → aas_core_codegen-0.0.24}/aas_core_codegen/typescript/lib/_generate_constants.py +0 -0
- {aas_core_codegen-0.0.23 → aas_core_codegen-0.0.24}/aas_core_codegen/typescript/lib/_generate_index.py +0 -0
- {aas_core_codegen-0.0.23 → aas_core_codegen-0.0.24}/aas_core_codegen/typescript/lib/_generate_jsonization.py +0 -0
- {aas_core_codegen-0.0.23 → aas_core_codegen-0.0.24}/aas_core_codegen/typescript/lib/_generate_stringification.py +0 -0
- {aas_core_codegen-0.0.23 → aas_core_codegen-0.0.24}/aas_core_codegen/typescript/lib/_generate_types.py +0 -0
- {aas_core_codegen-0.0.23 → aas_core_codegen-0.0.24}/aas_core_codegen/typescript/lib/_generate_verification.py +0 -0
- {aas_core_codegen-0.0.23 → aas_core_codegen-0.0.24}/aas_core_codegen/typescript/naming.py +0 -0
- {aas_core_codegen-0.0.23 → aas_core_codegen-0.0.24}/aas_core_codegen/typescript/tests/_generate_common.py +0 -0
- {aas_core_codegen-0.0.23 → aas_core_codegen-0.0.24}/aas_core_codegen/typescript/tests/_generate_common_base64_spec.py +0 -0
- {aas_core_codegen-0.0.23 → aas_core_codegen-0.0.24}/aas_core_codegen/typescript/tests/_generate_common_base64url_spec.py +0 -0
- {aas_core_codegen-0.0.23 → aas_core_codegen-0.0.24}/aas_core_codegen/typescript/tests/_generate_common_jsonization.py +0 -0
- {aas_core_codegen-0.0.23 → aas_core_codegen-0.0.24}/aas_core_codegen/typescript/tests/_generate_jsonization_concrete_classes_spec.py +0 -0
- {aas_core_codegen-0.0.23 → aas_core_codegen-0.0.24}/aas_core_codegen/typescript/tests/_generate_jsonization_enums_spec.py +0 -0
- {aas_core_codegen-0.0.23 → aas_core_codegen-0.0.24}/aas_core_codegen/typescript/tests/_generate_jsonization_interfaces_spec.py +0 -0
- {aas_core_codegen-0.0.23 → aas_core_codegen-0.0.24}/aas_core_codegen/typescript/tests/_generate_types_casts_spec.py +0 -0
- {aas_core_codegen-0.0.23 → aas_core_codegen-0.0.24}/aas_core_codegen/typescript/tests/_generate_types_descend_and_pass_through_visitor_spec.py +0 -0
- {aas_core_codegen-0.0.23 → aas_core_codegen-0.0.24}/aas_core_codegen/typescript/tests/_generate_types_descend_once_spec.py +0 -0
- {aas_core_codegen-0.0.23 → aas_core_codegen-0.0.24}/aas_core_codegen/typescript/tests/_generate_types_model_type_spec.py +0 -0
- {aas_core_codegen-0.0.23 → aas_core_codegen-0.0.24}/aas_core_codegen/typescript/tests/_generate_types_over_enum_spec.py +0 -0
- {aas_core_codegen-0.0.23 → aas_core_codegen-0.0.24}/aas_core_codegen/typescript/tests/_generate_types_over_x_or_empty_spec.py +0 -0
- {aas_core_codegen-0.0.23 → aas_core_codegen-0.0.24}/aas_core_codegen/typescript/tests/_generate_types_type_matches_spec.py +0 -0
- {aas_core_codegen-0.0.23 → aas_core_codegen-0.0.24}/aas_core_codegen/typescript/tests/_generate_types_x_or_default_spec.py +0 -0
- {aas_core_codegen-0.0.23 → aas_core_codegen-0.0.24}/aas_core_codegen/typescript/tests/_generate_xmlization_concrete_classes_spec.py +0 -0
- {aas_core_codegen-0.0.23 → aas_core_codegen-0.0.24}/aas_core_codegen/typescript/tests/_generate_xmlization_enums_spec.py +0 -0
- {aas_core_codegen-0.0.23 → aas_core_codegen-0.0.24}/aas_core_codegen/typescript/tests/_generate_xmlization_interfaces_spec.py +0 -0
- {aas_core_codegen-0.0.23 → aas_core_codegen-0.0.24}/aas_core_codegen/typescript/transpilation.py +0 -0
- {aas_core_codegen-0.0.23 → aas_core_codegen-0.0.24}/aas_core_codegen/typescript/unrolling.py +0 -0
- {aas_core_codegen-0.0.23 → aas_core_codegen-0.0.24}/aas_core_codegen/xsd/__init__.py +0 -0
- {aas_core_codegen-0.0.23 → aas_core_codegen-0.0.24}/aas_core_codegen/xsd/main.py +0 -0
- {aas_core_codegen-0.0.23 → aas_core_codegen-0.0.24}/aas_core_codegen/xsd/naming.py +0 -0
- {aas_core_codegen-0.0.23 → aas_core_codegen-0.0.24}/aas_core_codegen/yielding/__init__.py +0 -0
- {aas_core_codegen-0.0.23 → aas_core_codegen-0.0.24}/aas_core_codegen/yielding/flow.py +0 -0
- {aas_core_codegen-0.0.23 → aas_core_codegen-0.0.24}/aas_core_codegen/yielding/linear.py +0 -0
- {aas_core_codegen-0.0.23 → aas_core_codegen-0.0.24}/aas_core_codegen.egg-info/dependency_links.txt +0 -0
- {aas_core_codegen-0.0.23 → aas_core_codegen-0.0.24}/aas_core_codegen.egg-info/entry_points.txt +0 -0
- {aas_core_codegen-0.0.23 → aas_core_codegen-0.0.24}/aas_core_codegen.egg-info/requires.txt +0 -0
- {aas_core_codegen-0.0.23 → aas_core_codegen-0.0.24}/aas_core_codegen.egg-info/top_level.txt +0 -0
- {aas_core_codegen-0.0.23 → aas_core_codegen-0.0.24}/setup.cfg +0 -0
|
@@ -1001,13 +1001,21 @@ jsonable[{key_literal}] = (
|
|
|
1001
1001
|
access_expression=Stripped("item"), type_anno=type_anno.items
|
|
1002
1002
|
)
|
|
1003
1003
|
|
|
1004
|
-
|
|
1005
|
-
|
|
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 =
|
|
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
|
'''\
|
|
@@ -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, ">")
|
|
1573
1670
|
{II}.replace(/\"/g, """)
|
|
1574
1671
|
{II}.replace(/'/g, "'");
|
|
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())
|
|
@@ -209,6 +209,15 @@ def execute(context: run.Context, stdout: TextIO, stderr: TextIO) -> int:
|
|
|
209
209
|
None,
|
|
210
210
|
),
|
|
211
211
|
),
|
|
212
|
+
(
|
|
213
|
+
test_rel_path / "xmlization.common.spec.ts",
|
|
214
|
+
lambda: (
|
|
215
|
+
typescript_tests.generate_xmlization_common_spec(
|
|
216
|
+
symbol_table=verified_ir_table,
|
|
217
|
+
),
|
|
218
|
+
None,
|
|
219
|
+
),
|
|
220
|
+
),
|
|
212
221
|
(
|
|
213
222
|
test_rel_path / "xmlization.enums.spec.ts",
|
|
214
223
|
lambda: (
|
|
@@ -227,6 +236,15 @@ def execute(context: run.Context, stdout: TextIO, stderr: TextIO) -> int:
|
|
|
227
236
|
None,
|
|
228
237
|
),
|
|
229
238
|
),
|
|
239
|
+
(
|
|
240
|
+
test_rel_path / "xmlization.negative.spec.ts",
|
|
241
|
+
lambda: (
|
|
242
|
+
typescript_tests.generate_xmlization_negative_spec(
|
|
243
|
+
symbol_table=verified_ir_table,
|
|
244
|
+
),
|
|
245
|
+
None,
|
|
246
|
+
),
|
|
247
|
+
),
|
|
230
248
|
(
|
|
231
249
|
test_rel_path / "types.casts.spec.ts",
|
|
232
250
|
lambda: (
|
{aas_core_codegen-0.0.23 → aas_core_codegen-0.0.24}/aas_core_codegen/typescript/tests/__init__.py
RENAMED
|
@@ -10,8 +10,10 @@ from aas_core_codegen.typescript.tests import (
|
|
|
10
10
|
_generate_jsonization_enums_spec,
|
|
11
11
|
_generate_jsonization_interfaces_spec,
|
|
12
12
|
_generate_xmlization_concrete_classes_spec,
|
|
13
|
+
_generate_xmlization_common_spec,
|
|
13
14
|
_generate_xmlization_enums_spec,
|
|
14
15
|
_generate_xmlization_interfaces_spec,
|
|
16
|
+
_generate_xmlization_negative_spec,
|
|
15
17
|
_generate_types_casts_spec,
|
|
16
18
|
_generate_types_descend_and_pass_through_visitor_spec,
|
|
17
19
|
_generate_types_descend_once_spec,
|
|
@@ -35,8 +37,10 @@ generate_jsonization_interfaces_spec = _generate_jsonization_interfaces_spec.gen
|
|
|
35
37
|
generate_xmlization_concrete_classes_spec = (
|
|
36
38
|
_generate_xmlization_concrete_classes_spec.generate
|
|
37
39
|
)
|
|
40
|
+
generate_xmlization_common_spec = _generate_xmlization_common_spec.generate
|
|
38
41
|
generate_xmlization_enums_spec = _generate_xmlization_enums_spec.generate
|
|
39
42
|
generate_xmlization_interfaces_spec = _generate_xmlization_interfaces_spec.generate
|
|
43
|
+
generate_xmlization_negative_spec = _generate_xmlization_negative_spec.generate
|
|
40
44
|
generate_types_casts_spec = _generate_types_casts_spec.generate
|
|
41
45
|
generate_types_descend_and_pass_through_visitor_spec = (
|
|
42
46
|
_generate_types_descend_and_pass_through_visitor_spec.generate
|
|
@@ -0,0 +1,76 @@
|
|
|
1
|
+
"""Generate code to execute all common XMLization 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 Stripped, Identifier
|
|
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 (
|
|
15
|
+
INDENT as I,
|
|
16
|
+
)
|
|
17
|
+
|
|
18
|
+
|
|
19
|
+
# fmt: off
|
|
20
|
+
@ensure(
|
|
21
|
+
lambda result: result.endswith('\n'),
|
|
22
|
+
"Trailing newline mandatory for valid end-of-files"
|
|
23
|
+
)
|
|
24
|
+
# fmt: on
|
|
25
|
+
def generate(symbol_table: intermediate.SymbolTable) -> str:
|
|
26
|
+
"""Generate code to execute all common XMLization loader functions once."""
|
|
27
|
+
blocks = [
|
|
28
|
+
Stripped(
|
|
29
|
+
"""\
|
|
30
|
+
/**
|
|
31
|
+
* Execute all common XMLization loader helpers once.
|
|
32
|
+
*/"""
|
|
33
|
+
),
|
|
34
|
+
typescript_common.WARNING,
|
|
35
|
+
Stripped(
|
|
36
|
+
"""\
|
|
37
|
+
import * as TestCommonXmlization from "./commonXmlization";"""
|
|
38
|
+
),
|
|
39
|
+
] # type: List[Stripped]
|
|
40
|
+
|
|
41
|
+
for concrete_cls in symbol_table.concrete_classes:
|
|
42
|
+
load_maximal_name = typescript_naming.function_name(
|
|
43
|
+
Identifier(f"load_maximal_{concrete_cls.name}")
|
|
44
|
+
)
|
|
45
|
+
load_minimal_name = typescript_naming.function_name(
|
|
46
|
+
Identifier(f"load_minimal_{concrete_cls.name}")
|
|
47
|
+
)
|
|
48
|
+
cls_name_typescript = typescript_naming.class_name(concrete_cls.name)
|
|
49
|
+
|
|
50
|
+
blocks.append(
|
|
51
|
+
Stripped(
|
|
52
|
+
f"""\
|
|
53
|
+
test("commonXmlization loaders for {cls_name_typescript}", () => {{
|
|
54
|
+
{I}expect(TestCommonXmlization.{load_minimal_name}()).not.toBeNull();
|
|
55
|
+
{I}expect(TestCommonXmlization.{load_maximal_name}()).not.toBeNull();
|
|
56
|
+
}});"""
|
|
57
|
+
)
|
|
58
|
+
)
|
|
59
|
+
|
|
60
|
+
blocks.append(typescript_common.WARNING)
|
|
61
|
+
|
|
62
|
+
writer = io.StringIO()
|
|
63
|
+
for i, block in enumerate(blocks):
|
|
64
|
+
if i > 0:
|
|
65
|
+
writer.write("\n\n")
|
|
66
|
+
|
|
67
|
+
writer.write(block)
|
|
68
|
+
|
|
69
|
+
writer.write("\n")
|
|
70
|
+
|
|
71
|
+
return writer.getvalue()
|
|
72
|
+
|
|
73
|
+
|
|
74
|
+
assert generate.__doc__ is not None
|
|
75
|
+
assert __doc__ is not None
|
|
76
|
+
assert generate.__doc__.strip().startswith(__doc__.strip())
|