pareto 0.78.13 → 0.78.15
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.
- package/dist/bin/compile_temp_schemas.js +3 -3
- package/dist/bin/seal.js +3 -3
- package/dist/bin/serialize_schemas.js +3 -3
- package/dist/data/temporary_schemas/accounting_ruwe_data/module.astn.d.ts +2 -2
- package/dist/data/temporary_schemas/accounting_ruwe_data/module.astn.js +1 -1
- package/dist/data/temporary_schemas/accounting_ruwe_data/operations.astn.d.ts +2 -2
- package/dist/data/temporary_schemas/accounting_ruwe_data/operations.astn.js +1 -1
- package/dist/data/temporary_schemas/accounting_ruwe_data/schema_tree.astn.d.ts +2 -2
- package/dist/data/temporary_schemas/accounting_ruwe_data/schema_tree.astn.js +1 -1
- package/dist/data/temporary_schemas/accounting_ruwe_data/schemas/alan_light_oldstyle/$.globals.astn.d.ts +2 -2
- package/dist/data/temporary_schemas/accounting_ruwe_data/schemas/alan_light_oldstyle/$.globals.astn.js +1 -1
- package/dist/data/temporary_schemas/accounting_ruwe_data/schemas/alan_light_oldstyle/$.module.astn.d.ts +2 -2
- package/dist/data/temporary_schemas/accounting_ruwe_data/schemas/alan_light_oldstyle/$.module.astn.js +1 -1
- package/dist/data/temporary_schemas/accounting_ruwe_data/schemas/alan_light_oldstyle/$.types.astn.d.ts +2 -2
- package/dist/data/temporary_schemas/accounting_ruwe_data/schemas/alan_light_oldstyle/$.types.astn.js +1 -1
- package/dist/data/temporary_schemas/accounting_ruwe_data/schemas/builder_configuration/$.globals.astn.d.ts +2 -2
- package/dist/data/temporary_schemas/accounting_ruwe_data/schemas/builder_configuration/$.globals.astn.js +1 -1
- package/dist/data/temporary_schemas/accounting_ruwe_data/schemas/builder_configuration/$.module.astn.d.ts +2 -2
- package/dist/data/temporary_schemas/accounting_ruwe_data/schemas/builder_configuration/$.module.astn.js +1 -1
- package/dist/data/temporary_schemas/accounting_ruwe_data/schemas/builder_configuration/$.types.astn.d.ts +2 -2
- package/dist/data/temporary_schemas/accounting_ruwe_data/schemas/builder_configuration/$.types.astn.js +1 -1
- package/dist/data/temporary_schemas/accounting_ruwe_data/schemas/csv/$.globals.astn.d.ts +2 -2
- package/dist/data/temporary_schemas/accounting_ruwe_data/schemas/csv/$.globals.astn.js +1 -1
- package/dist/data/temporary_schemas/accounting_ruwe_data/schemas/csv/$.module.astn.d.ts +2 -2
- package/dist/data/temporary_schemas/accounting_ruwe_data/schemas/csv/$.module.astn.js +1 -1
- package/dist/data/temporary_schemas/accounting_ruwe_data/schemas/csv/$.types.astn.d.ts +2 -2
- package/dist/data/temporary_schemas/accounting_ruwe_data/schemas/csv/$.types.astn.js +1 -1
- package/dist/data/temporary_schemas/accounting_ruwe_data/schemas/html/$.globals.astn.d.ts +2 -2
- package/dist/data/temporary_schemas/accounting_ruwe_data/schemas/html/$.globals.astn.js +1 -1
- package/dist/data/temporary_schemas/accounting_ruwe_data/schemas/html/$.module.astn.d.ts +2 -2
- package/dist/data/temporary_schemas/accounting_ruwe_data/schemas/html/$.module.astn.js +1 -1
- package/dist/data/temporary_schemas/accounting_ruwe_data/schemas/html/$.types.astn.d.ts +2 -2
- package/dist/data/temporary_schemas/accounting_ruwe_data/schemas/html/$.types.astn.js +1 -1
- package/dist/data/temporary_schemas/accounting_ruwe_data/schemas/json_schema/$.globals.astn.d.ts +2 -2
- package/dist/data/temporary_schemas/accounting_ruwe_data/schemas/json_schema/$.globals.astn.js +1 -1
- package/dist/data/temporary_schemas/accounting_ruwe_data/schemas/json_schema/$.module.astn.d.ts +2 -2
- package/dist/data/temporary_schemas/accounting_ruwe_data/schemas/json_schema/$.module.astn.js +1 -1
- package/dist/data/temporary_schemas/accounting_ruwe_data/schemas/json_schema/$.types.astn.d.ts +2 -2
- package/dist/data/temporary_schemas/accounting_ruwe_data/schemas/json_schema/$.types.astn.js +1 -1
- package/dist/data/temporary_schemas/accounting_ruwe_data/schemas/legacy_schema/$.globals.astn.d.ts +2 -2
- package/dist/data/temporary_schemas/accounting_ruwe_data/schemas/legacy_schema/$.globals.astn.js +1 -1
- package/dist/data/temporary_schemas/accounting_ruwe_data/schemas/legacy_schema/$.module.astn.d.ts +2 -2
- package/dist/data/temporary_schemas/accounting_ruwe_data/schemas/legacy_schema/$.module.astn.js +1 -1
- package/dist/data/temporary_schemas/accounting_ruwe_data/schemas/legacy_schema/$.types.astn.d.ts +2 -2
- package/dist/data/temporary_schemas/accounting_ruwe_data/schemas/legacy_schema/$.types.astn.js +1 -1
- package/dist/data/temporary_schemas/accounting_ruwe_data/schemas/railroad_diagram/$.globals.astn.d.ts +2 -2
- package/dist/data/temporary_schemas/accounting_ruwe_data/schemas/railroad_diagram/$.globals.astn.js +1 -1
- package/dist/data/temporary_schemas/accounting_ruwe_data/schemas/railroad_diagram/$.module.astn.d.ts +2 -2
- package/dist/data/temporary_schemas/accounting_ruwe_data/schemas/railroad_diagram/$.module.astn.js +1 -1
- package/dist/data/temporary_schemas/accounting_ruwe_data/schemas/railroad_diagram/$.types.astn.d.ts +2 -2
- package/dist/data/temporary_schemas/accounting_ruwe_data/schemas/railroad_diagram/$.types.astn.js +1 -1
- package/dist/data/temporary_schemas/accounting_ruwe_data/schemas/regular_expression/$.globals.astn.d.ts +2 -2
- package/dist/data/temporary_schemas/accounting_ruwe_data/schemas/regular_expression/$.globals.astn.js +1 -1
- package/dist/data/temporary_schemas/accounting_ruwe_data/schemas/regular_expression/$.module.astn.d.ts +2 -2
- package/dist/data/temporary_schemas/accounting_ruwe_data/schemas/regular_expression/$.module.astn.js +1 -1
- package/dist/data/temporary_schemas/accounting_ruwe_data/schemas/regular_expression/$.types.astn.d.ts +2 -2
- package/dist/data/temporary_schemas/accounting_ruwe_data/schemas/regular_expression/$.types.astn.js +1 -1
- package/dist/data/temporary_schemas/accounting_ruwe_data/schemas/semantic_versioning/$.globals.astn.d.ts +2 -2
- package/dist/data/temporary_schemas/accounting_ruwe_data/schemas/semantic_versioning/$.globals.astn.js +1 -1
- package/dist/data/temporary_schemas/accounting_ruwe_data/schemas/semantic_versioning/$.module.astn.d.ts +2 -2
- package/dist/data/temporary_schemas/accounting_ruwe_data/schemas/semantic_versioning/$.module.astn.js +1 -1
- package/dist/data/temporary_schemas/accounting_ruwe_data/schemas/semantic_versioning/$.types.astn.d.ts +2 -2
- package/dist/data/temporary_schemas/accounting_ruwe_data/schemas/semantic_versioning/$.types.astn.js +1 -1
- package/dist/data/temporary_schemas/accounting_ruwe_data/schemas/xml/parse_result/$.globals.astn.d.ts +2 -2
- package/dist/data/temporary_schemas/accounting_ruwe_data/schemas/xml/parse_result/$.globals.astn.js +1 -1
- package/dist/data/temporary_schemas/accounting_ruwe_data/schemas/xml/parse_result/$.module.astn.d.ts +2 -2
- package/dist/data/temporary_schemas/accounting_ruwe_data/schemas/xml/parse_result/$.module.astn.js +1 -1
- package/dist/data/temporary_schemas/accounting_ruwe_data/schemas/xml/parse_result/$.types.astn.d.ts +2 -2
- package/dist/data/temporary_schemas/accounting_ruwe_data/schemas/xml/parse_result/$.types.astn.js +1 -1
- package/dist/data/temporary_schemas/accounting_ruwe_data/schemas/xml/simple/$.globals.astn.d.ts +2 -2
- package/dist/data/temporary_schemas/accounting_ruwe_data/schemas/xml/simple/$.globals.astn.js +1 -1
- package/dist/data/temporary_schemas/accounting_ruwe_data/schemas/xml/simple/$.module.astn.d.ts +2 -2
- package/dist/data/temporary_schemas/accounting_ruwe_data/schemas/xml/simple/$.module.astn.js +1 -1
- package/dist/data/temporary_schemas/accounting_ruwe_data/schemas/xml/simple/$.types.astn.d.ts +2 -2
- package/dist/data/temporary_schemas/accounting_ruwe_data/schemas/xml/simple/$.types.astn.js +1 -1
- package/dist/data/temporary_schemas/all.d.ts +4 -3
- package/dist/data/temporary_schemas/all.js +3 -3
- package/dist/data/temporary_schemas/antlr/module.astn.d.ts +2 -2
- package/dist/data/temporary_schemas/antlr/module.astn.js +1 -1
- package/dist/data/temporary_schemas/antlr/operations.astn.d.ts +2 -2
- package/dist/data/temporary_schemas/antlr/operations.astn.js +1 -1
- package/dist/data/temporary_schemas/antlr/schema_tree.astn.d.ts +2 -2
- package/dist/data/temporary_schemas/antlr/schema_tree.astn.js +1 -1
- package/dist/data/temporary_schemas/antlr/schemas/ast/$.globals.astn.d.ts +2 -2
- package/dist/data/temporary_schemas/antlr/schemas/ast/$.globals.astn.js +1 -1
- package/dist/data/temporary_schemas/antlr/schemas/ast/$.module.astn.d.ts +2 -2
- package/dist/data/temporary_schemas/antlr/schemas/ast/$.module.astn.js +1 -1
- package/dist/data/temporary_schemas/antlr/schemas/ast/$.types.astn.d.ts +2 -2
- package/dist/data/temporary_schemas/antlr/schemas/ast/$.types.astn.js +1 -1
- package/dist/data/temporary_schemas/antlr/schemas/atn/$.globals.astn.d.ts +2 -2
- package/dist/data/temporary_schemas/antlr/schemas/atn/$.globals.astn.js +1 -1
- package/dist/data/temporary_schemas/antlr/schemas/atn/$.module.astn.d.ts +2 -2
- package/dist/data/temporary_schemas/antlr/schemas/atn/$.module.astn.js +1 -1
- package/dist/data/temporary_schemas/antlr/schemas/atn/$.types.astn.d.ts +2 -2
- package/dist/data/temporary_schemas/antlr/schemas/atn/$.types.astn.js +1 -1
- package/dist/data/temporary_schemas/antlr/schemas/dfa/$.globals.astn.d.ts +2 -2
- package/dist/data/temporary_schemas/antlr/schemas/dfa/$.globals.astn.js +1 -1
- package/dist/data/temporary_schemas/antlr/schemas/dfa/$.module.astn.d.ts +2 -2
- package/dist/data/temporary_schemas/antlr/schemas/dfa/$.module.astn.js +1 -1
- package/dist/data/temporary_schemas/antlr/schemas/dfa/$.types.astn.d.ts +2 -2
- package/dist/data/temporary_schemas/antlr/schemas/dfa/$.types.astn.js +1 -1
- package/dist/data/temporary_schemas/antlr/schemas/lookahead/$.globals.astn.d.ts +2 -2
- package/dist/data/temporary_schemas/antlr/schemas/lookahead/$.globals.astn.js +1 -1
- package/dist/data/temporary_schemas/antlr/schemas/lookahead/$.module.astn.d.ts +2 -2
- package/dist/data/temporary_schemas/antlr/schemas/lookahead/$.module.astn.js +1 -1
- package/dist/data/temporary_schemas/antlr/schemas/lookahead/$.types.astn.d.ts +2 -2
- package/dist/data/temporary_schemas/antlr/schemas/lookahead/$.types.astn.js +1 -1
- package/dist/data/temporary_schemas/astn/module.astn.d.ts +2 -2
- package/dist/data/temporary_schemas/astn/module.astn.js +1 -1
- package/dist/data/temporary_schemas/astn/operations.astn.d.ts +2 -2
- package/dist/data/temporary_schemas/astn/operations.astn.js +1 -1
- package/dist/data/temporary_schemas/astn/schema_tree.astn.d.ts +2 -2
- package/dist/data/temporary_schemas/astn/schema_tree.astn.js +1 -1
- package/dist/data/temporary_schemas/astn/schemas/astn_schema/$.globals.astn.d.ts +2 -2
- package/dist/data/temporary_schemas/astn/schemas/astn_schema/$.globals.astn.js +1 -1
- package/dist/data/temporary_schemas/astn/schemas/astn_schema/$.module.astn.d.ts +2 -2
- package/dist/data/temporary_schemas/astn/schemas/astn_schema/$.module.astn.js +1 -1
- package/dist/data/temporary_schemas/astn/schemas/astn_schema/$.resolvers.astn.d.ts +2 -2
- package/dist/data/temporary_schemas/astn/schemas/astn_schema/$.resolvers.astn.js +1 -1
- package/dist/data/temporary_schemas/astn/schemas/astn_schema/$.signatures.astn.d.ts +2 -2
- package/dist/data/temporary_schemas/astn/schemas/astn_schema/$.signatures.astn.js +1 -1
- package/dist/data/temporary_schemas/astn/schemas/astn_schema/$.types.astn.d.ts +2 -2
- package/dist/data/temporary_schemas/astn/schemas/astn_schema/$.types.astn.js +1 -1
- package/dist/data/temporary_schemas/astn/schemas/authoring_parse_result/$.globals.astn.d.ts +2 -2
- package/dist/data/temporary_schemas/astn/schemas/authoring_parse_result/$.globals.astn.js +1 -1
- package/dist/data/temporary_schemas/astn/schemas/authoring_parse_result/$.module.astn.d.ts +2 -2
- package/dist/data/temporary_schemas/astn/schemas/authoring_parse_result/$.module.astn.js +1 -1
- package/dist/data/temporary_schemas/astn/schemas/authoring_parse_result/$.types.astn.d.ts +2 -2
- package/dist/data/temporary_schemas/astn/schemas/authoring_parse_result/$.types.astn.js +1 -1
- package/dist/data/temporary_schemas/astn/schemas/authoring_parse_tree/$.globals.astn.d.ts +2 -2
- package/dist/data/temporary_schemas/astn/schemas/authoring_parse_tree/$.globals.astn.js +1 -1
- package/dist/data/temporary_schemas/astn/schemas/authoring_parse_tree/$.module.astn.d.ts +2 -2
- package/dist/data/temporary_schemas/astn/schemas/authoring_parse_tree/$.module.astn.js +1 -1
- package/dist/data/temporary_schemas/astn/schemas/authoring_parse_tree/$.types.astn.d.ts +2 -2
- package/dist/data/temporary_schemas/astn/schemas/authoring_parse_tree/$.types.astn.js +1 -1
- package/dist/data/temporary_schemas/astn/schemas/authoring_target/$.globals.astn.d.ts +2 -2
- package/dist/data/temporary_schemas/astn/schemas/authoring_target/$.globals.astn.js +1 -1
- package/dist/data/temporary_schemas/astn/schemas/authoring_target/$.module.astn.d.ts +2 -2
- package/dist/data/temporary_schemas/astn/schemas/authoring_target/$.module.astn.js +1 -1
- package/dist/data/temporary_schemas/astn/schemas/authoring_target/$.types.astn.d.ts +2 -2
- package/dist/data/temporary_schemas/astn/schemas/authoring_target/$.types.astn.js +1 -1
- package/dist/data/temporary_schemas/astn/schemas/ide/$.globals.astn.d.ts +2 -2
- package/dist/data/temporary_schemas/astn/schemas/ide/$.globals.astn.js +1 -1
- package/dist/data/temporary_schemas/astn/schemas/ide/$.module.astn.d.ts +2 -2
- package/dist/data/temporary_schemas/astn/schemas/ide/$.module.astn.js +1 -1
- package/dist/data/temporary_schemas/astn/schemas/ide/$.types.astn.d.ts +2 -2
- package/dist/data/temporary_schemas/astn/schemas/ide/$.types.astn.js +1 -1
- package/dist/data/temporary_schemas/astn/schemas/sealed_target/$.globals.astn.d.ts +2 -2
- package/dist/data/temporary_schemas/astn/schemas/sealed_target/$.globals.astn.js +1 -1
- package/dist/data/temporary_schemas/astn/schemas/sealed_target/$.module.astn.d.ts +2 -2
- package/dist/data/temporary_schemas/astn/schemas/sealed_target/$.module.astn.js +1 -1
- package/dist/data/temporary_schemas/astn/schemas/sealed_target/$.types.astn.d.ts +2 -2
- package/dist/data/temporary_schemas/astn/schemas/sealed_target/$.types.astn.js +1 -1
- package/dist/data/temporary_schemas/astn/schemas/token/$.globals.astn.d.ts +2 -2
- package/dist/data/temporary_schemas/astn/schemas/token/$.globals.astn.js +1 -1
- package/dist/data/temporary_schemas/astn/schemas/token/$.module.astn.d.ts +2 -2
- package/dist/data/temporary_schemas/astn/schemas/token/$.module.astn.js +1 -1
- package/dist/data/temporary_schemas/astn/schemas/token/$.types.astn.d.ts +2 -2
- package/dist/data/temporary_schemas/astn/schemas/token/$.types.astn.js +1 -1
- package/dist/data/temporary_schemas/astn-to-xml/module.astn.d.ts +2 -2
- package/dist/data/temporary_schemas/astn-to-xml/module.astn.js +1 -1
- package/dist/data/temporary_schemas/astn-to-xml/operations.astn.d.ts +2 -2
- package/dist/data/temporary_schemas/astn-to-xml/operations.astn.js +1 -1
- package/dist/data/temporary_schemas/astn-to-xml/schema_tree.astn.d.ts +2 -2
- package/dist/data/temporary_schemas/astn-to-xml/schema_tree.astn.js +1 -1
- package/dist/data/temporary_schemas/astn-to-xml/schemas/xml/$.globals.astn.d.ts +2 -2
- package/dist/data/temporary_schemas/astn-to-xml/schemas/xml/$.globals.astn.js +1 -1
- package/dist/data/temporary_schemas/astn-to-xml/schemas/xml/$.module.astn.d.ts +2 -2
- package/dist/data/temporary_schemas/astn-to-xml/schemas/xml/$.module.astn.js +1 -1
- package/dist/data/temporary_schemas/astn-to-xml/schemas/xml/$.types.astn.d.ts +2 -2
- package/dist/data/temporary_schemas/astn-to-xml/schemas/xml/$.types.astn.js +1 -1
- package/dist/data/temporary_schemas/exupery/module.astn.d.ts +2 -2
- package/dist/data/temporary_schemas/exupery/module.astn.js +1 -1
- package/dist/data/temporary_schemas/exupery/operations.astn.d.ts +2 -2
- package/dist/data/temporary_schemas/exupery/operations.astn.js +1 -1
- package/dist/data/temporary_schemas/exupery/schema_tree.astn.d.ts +2 -2
- package/dist/data/temporary_schemas/exupery/schema_tree.astn.js +1 -1
- package/dist/data/temporary_schemas/exupery/schemas/implementation/$.globals.astn.d.ts +2 -2
- package/dist/data/temporary_schemas/exupery/schemas/implementation/$.globals.astn.js +1 -1
- package/dist/data/temporary_schemas/exupery/schemas/implementation/$.module.astn.d.ts +2 -2
- package/dist/data/temporary_schemas/exupery/schemas/implementation/$.module.astn.js +1 -1
- package/dist/data/temporary_schemas/exupery/schemas/implementation/$.resolvers.astn.d.ts +2 -2
- package/dist/data/temporary_schemas/exupery/schemas/implementation/$.resolvers.astn.js +1 -1
- package/dist/data/temporary_schemas/exupery/schemas/implementation/$.signatures.astn.d.ts +2 -2
- package/dist/data/temporary_schemas/exupery/schemas/implementation/$.signatures.astn.js +1 -1
- package/dist/data/temporary_schemas/exupery/schemas/implementation/$.types.astn.d.ts +2 -2
- package/dist/data/temporary_schemas/exupery/schemas/implementation/$.types.astn.js +1 -1
- package/dist/data/temporary_schemas/exupery/schemas/interface/$.globals.astn.d.ts +2 -2
- package/dist/data/temporary_schemas/exupery/schemas/interface/$.globals.astn.js +1 -1
- package/dist/data/temporary_schemas/exupery/schemas/interface/$.module.astn.d.ts +2 -2
- package/dist/data/temporary_schemas/exupery/schemas/interface/$.module.astn.js +1 -1
- package/dist/data/temporary_schemas/exupery/schemas/interface/$.resolvers.astn.d.ts +2 -2
- package/dist/data/temporary_schemas/exupery/schemas/interface/$.resolvers.astn.js +1 -1
- package/dist/data/temporary_schemas/exupery/schemas/interface/$.signatures.astn.d.ts +2 -2
- package/dist/data/temporary_schemas/exupery/schemas/interface/$.signatures.astn.js +1 -1
- package/dist/data/temporary_schemas/exupery/schemas/interface/$.types.astn.d.ts +2 -2
- package/dist/data/temporary_schemas/exupery/schemas/interface/$.types.astn.js +1 -1
- package/dist/data/temporary_schemas/exupery/schemas/typescript_light/$.globals.astn.d.ts +2 -2
- package/dist/data/temporary_schemas/exupery/schemas/typescript_light/$.globals.astn.js +1 -1
- package/dist/data/temporary_schemas/exupery/schemas/typescript_light/$.module.astn.d.ts +2 -2
- package/dist/data/temporary_schemas/exupery/schemas/typescript_light/$.module.astn.js +1 -1
- package/dist/data/temporary_schemas/exupery/schemas/typescript_light/$.types.astn.d.ts +2 -2
- package/dist/data/temporary_schemas/exupery/schemas/typescript_light/$.types.astn.js +1 -1
- package/dist/data/temporary_schemas/exupery-resources/module.astn.d.ts +2 -2
- package/dist/data/temporary_schemas/exupery-resources/module.astn.js +1 -1
- package/dist/data/temporary_schemas/exupery-resources/operations.astn.d.ts +2 -2
- package/dist/data/temporary_schemas/exupery-resources/operations.astn.js +1 -1
- package/dist/data/temporary_schemas/exupery-resources/schema_tree.astn.d.ts +2 -2
- package/dist/data/temporary_schemas/exupery-resources/schema_tree.astn.js +1 -1
- package/dist/data/temporary_schemas/exupery-resources/schemas/copy/$.globals.astn.d.ts +2 -2
- package/dist/data/temporary_schemas/exupery-resources/schemas/copy/$.globals.astn.js +1 -1
- package/dist/data/temporary_schemas/exupery-resources/schemas/copy/$.module.astn.d.ts +2 -2
- package/dist/data/temporary_schemas/exupery-resources/schemas/copy/$.module.astn.js +1 -1
- package/dist/data/temporary_schemas/exupery-resources/schemas/copy/$.types.astn.d.ts +2 -2
- package/dist/data/temporary_schemas/exupery-resources/schemas/copy/$.types.astn.js +1 -1
- package/dist/data/temporary_schemas/exupery-resources/schemas/execute_any_procedure_executable/$.globals.astn.d.ts +2 -2
- package/dist/data/temporary_schemas/exupery-resources/schemas/execute_any_procedure_executable/$.globals.astn.js +1 -1
- package/dist/data/temporary_schemas/exupery-resources/schemas/execute_any_procedure_executable/$.module.astn.d.ts +2 -2
- package/dist/data/temporary_schemas/exupery-resources/schemas/execute_any_procedure_executable/$.module.astn.js +1 -1
- package/dist/data/temporary_schemas/exupery-resources/schemas/execute_any_procedure_executable/$.types.astn.d.ts +2 -2
- package/dist/data/temporary_schemas/exupery-resources/schemas/execute_any_procedure_executable/$.types.astn.js +1 -1
- package/dist/data/temporary_schemas/exupery-resources/schemas/execute_any_query_executable/$.globals.astn.d.ts +2 -2
- package/dist/data/temporary_schemas/exupery-resources/schemas/execute_any_query_executable/$.globals.astn.js +1 -1
- package/dist/data/temporary_schemas/exupery-resources/schemas/execute_any_query_executable/$.module.astn.d.ts +2 -2
- package/dist/data/temporary_schemas/exupery-resources/schemas/execute_any_query_executable/$.module.astn.js +1 -1
- package/dist/data/temporary_schemas/exupery-resources/schemas/execute_any_query_executable/$.types.astn.d.ts +2 -2
- package/dist/data/temporary_schemas/exupery-resources/schemas/execute_any_query_executable/$.types.astn.js +1 -1
- package/dist/data/temporary_schemas/exupery-resources/schemas/execute_any_smelly_procedure_executable/$.globals.astn.d.ts +2 -2
- package/dist/data/temporary_schemas/exupery-resources/schemas/execute_any_smelly_procedure_executable/$.globals.astn.js +1 -1
- package/dist/data/temporary_schemas/exupery-resources/schemas/execute_any_smelly_procedure_executable/$.module.astn.d.ts +2 -2
- package/dist/data/temporary_schemas/exupery-resources/schemas/execute_any_smelly_procedure_executable/$.module.astn.js +1 -1
- package/dist/data/temporary_schemas/exupery-resources/schemas/execute_any_smelly_procedure_executable/$.types.astn.d.ts +2 -2
- package/dist/data/temporary_schemas/exupery-resources/schemas/execute_any_smelly_procedure_executable/$.types.astn.js +1 -1
- package/dist/data/temporary_schemas/exupery-resources/schemas/execute_procedure_executable/$.globals.astn.d.ts +2 -2
- package/dist/data/temporary_schemas/exupery-resources/schemas/execute_procedure_executable/$.globals.astn.js +1 -1
- package/dist/data/temporary_schemas/exupery-resources/schemas/execute_procedure_executable/$.module.astn.d.ts +2 -2
- package/dist/data/temporary_schemas/exupery-resources/schemas/execute_procedure_executable/$.module.astn.js +1 -1
- package/dist/data/temporary_schemas/exupery-resources/schemas/execute_procedure_executable/$.types.astn.d.ts +2 -2
- package/dist/data/temporary_schemas/exupery-resources/schemas/execute_procedure_executable/$.types.astn.js +1 -1
- package/dist/data/temporary_schemas/exupery-resources/schemas/execute_query_executable/$.globals.astn.d.ts +2 -2
- package/dist/data/temporary_schemas/exupery-resources/schemas/execute_query_executable/$.globals.astn.js +1 -1
- package/dist/data/temporary_schemas/exupery-resources/schemas/execute_query_executable/$.module.astn.d.ts +2 -2
- package/dist/data/temporary_schemas/exupery-resources/schemas/execute_query_executable/$.module.astn.js +1 -1
- package/dist/data/temporary_schemas/exupery-resources/schemas/execute_query_executable/$.types.astn.d.ts +2 -2
- package/dist/data/temporary_schemas/exupery-resources/schemas/execute_query_executable/$.types.astn.js +1 -1
- package/dist/data/temporary_schemas/exupery-resources/schemas/execute_query_executable_and_catch/$.globals.astn.d.ts +2 -2
- package/dist/data/temporary_schemas/exupery-resources/schemas/execute_query_executable_and_catch/$.globals.astn.js +1 -1
- package/dist/data/temporary_schemas/exupery-resources/schemas/execute_query_executable_and_catch/$.module.astn.d.ts +2 -2
- package/dist/data/temporary_schemas/exupery-resources/schemas/execute_query_executable_and_catch/$.module.astn.js +1 -1
- package/dist/data/temporary_schemas/exupery-resources/schemas/execute_query_executable_and_catch/$.types.astn.d.ts +2 -2
- package/dist/data/temporary_schemas/exupery-resources/schemas/execute_query_executable_and_catch/$.types.astn.js +1 -1
- package/dist/data/temporary_schemas/exupery-resources/schemas/execute_smelly_procedure_executable/$.globals.astn.d.ts +2 -2
- package/dist/data/temporary_schemas/exupery-resources/schemas/execute_smelly_procedure_executable/$.globals.astn.js +1 -1
- package/dist/data/temporary_schemas/exupery-resources/schemas/execute_smelly_procedure_executable/$.module.astn.d.ts +2 -2
- package/dist/data/temporary_schemas/exupery-resources/schemas/execute_smelly_procedure_executable/$.module.astn.js +1 -1
- package/dist/data/temporary_schemas/exupery-resources/schemas/execute_smelly_procedure_executable/$.types.astn.d.ts +2 -2
- package/dist/data/temporary_schemas/exupery-resources/schemas/execute_smelly_procedure_executable/$.types.astn.js +1 -1
- package/dist/data/temporary_schemas/exupery-resources/schemas/get_instream_data/$.globals.astn.d.ts +2 -2
- package/dist/data/temporary_schemas/exupery-resources/schemas/get_instream_data/$.globals.astn.js +1 -1
- package/dist/data/temporary_schemas/exupery-resources/schemas/get_instream_data/$.module.astn.d.ts +2 -2
- package/dist/data/temporary_schemas/exupery-resources/schemas/get_instream_data/$.module.astn.js +1 -1
- package/dist/data/temporary_schemas/exupery-resources/schemas/get_instream_data/$.types.astn.d.ts +2 -2
- package/dist/data/temporary_schemas/exupery-resources/schemas/get_instream_data/$.types.astn.js +1 -1
- package/dist/data/temporary_schemas/exupery-resources/schemas/log/$.globals.astn.d.ts +2 -2
- package/dist/data/temporary_schemas/exupery-resources/schemas/log/$.globals.astn.js +1 -1
- package/dist/data/temporary_schemas/exupery-resources/schemas/log/$.module.astn.d.ts +2 -2
- package/dist/data/temporary_schemas/exupery-resources/schemas/log/$.module.astn.js +1 -1
- package/dist/data/temporary_schemas/exupery-resources/schemas/log/$.types.astn.d.ts +2 -2
- package/dist/data/temporary_schemas/exupery-resources/schemas/log/$.types.astn.js +1 -1
- package/dist/data/temporary_schemas/exupery-resources/schemas/log_error/$.globals.astn.d.ts +2 -2
- package/dist/data/temporary_schemas/exupery-resources/schemas/log_error/$.globals.astn.js +1 -1
- package/dist/data/temporary_schemas/exupery-resources/schemas/log_error/$.module.astn.d.ts +2 -2
- package/dist/data/temporary_schemas/exupery-resources/schemas/log_error/$.module.astn.js +1 -1
- package/dist/data/temporary_schemas/exupery-resources/schemas/log_error/$.types.astn.d.ts +2 -2
- package/dist/data/temporary_schemas/exupery-resources/schemas/log_error/$.types.astn.js +1 -1
- package/dist/data/temporary_schemas/exupery-resources/schemas/make_directory/$.globals.astn.d.ts +2 -2
- package/dist/data/temporary_schemas/exupery-resources/schemas/make_directory/$.globals.astn.js +1 -1
- package/dist/data/temporary_schemas/exupery-resources/schemas/make_directory/$.module.astn.d.ts +2 -2
- package/dist/data/temporary_schemas/exupery-resources/schemas/make_directory/$.module.astn.js +1 -1
- package/dist/data/temporary_schemas/exupery-resources/schemas/make_directory/$.types.astn.d.ts +2 -2
- package/dist/data/temporary_schemas/exupery-resources/schemas/make_directory/$.types.astn.js +1 -1
- package/dist/data/temporary_schemas/exupery-resources/schemas/path/$.globals.astn.d.ts +2 -2
- package/dist/data/temporary_schemas/exupery-resources/schemas/path/$.globals.astn.js +1 -1
- package/dist/data/temporary_schemas/exupery-resources/schemas/path/$.module.astn.d.ts +2 -2
- package/dist/data/temporary_schemas/exupery-resources/schemas/path/$.module.astn.js +1 -1
- package/dist/data/temporary_schemas/exupery-resources/schemas/path/$.types.astn.d.ts +2 -2
- package/dist/data/temporary_schemas/exupery-resources/schemas/path/$.types.astn.js +1 -1
- package/dist/data/temporary_schemas/exupery-resources/schemas/read_directory/$.globals.astn.d.ts +2 -2
- package/dist/data/temporary_schemas/exupery-resources/schemas/read_directory/$.globals.astn.js +1 -1
- package/dist/data/temporary_schemas/exupery-resources/schemas/read_directory/$.module.astn.d.ts +2 -2
- package/dist/data/temporary_schemas/exupery-resources/schemas/read_directory/$.module.astn.js +1 -1
- package/dist/data/temporary_schemas/exupery-resources/schemas/read_directory/$.types.astn.d.ts +2 -2
- package/dist/data/temporary_schemas/exupery-resources/schemas/read_directory/$.types.astn.js +1 -1
- package/dist/data/temporary_schemas/exupery-resources/schemas/read_file/$.globals.astn.d.ts +2 -2
- package/dist/data/temporary_schemas/exupery-resources/schemas/read_file/$.globals.astn.js +1 -1
- package/dist/data/temporary_schemas/exupery-resources/schemas/read_file/$.module.astn.d.ts +2 -2
- package/dist/data/temporary_schemas/exupery-resources/schemas/read_file/$.module.astn.js +1 -1
- package/dist/data/temporary_schemas/exupery-resources/schemas/read_file/$.types.astn.d.ts +2 -2
- package/dist/data/temporary_schemas/exupery-resources/schemas/read_file/$.types.astn.js +1 -1
- package/dist/data/temporary_schemas/exupery-resources/schemas/remove/$.globals.astn.d.ts +2 -2
- package/dist/data/temporary_schemas/exupery-resources/schemas/remove/$.globals.astn.js +1 -1
- package/dist/data/temporary_schemas/exupery-resources/schemas/remove/$.module.astn.d.ts +2 -2
- package/dist/data/temporary_schemas/exupery-resources/schemas/remove/$.module.astn.js +1 -1
- package/dist/data/temporary_schemas/exupery-resources/schemas/remove/$.types.astn.d.ts +2 -2
- package/dist/data/temporary_schemas/exupery-resources/schemas/remove/$.types.astn.js +1 -1
- package/dist/data/temporary_schemas/exupery-resources/schemas/stat/$.globals.astn.d.ts +2 -2
- package/dist/data/temporary_schemas/exupery-resources/schemas/stat/$.globals.astn.js +1 -1
- package/dist/data/temporary_schemas/exupery-resources/schemas/stat/$.module.astn.d.ts +2 -2
- package/dist/data/temporary_schemas/exupery-resources/schemas/stat/$.module.astn.js +1 -1
- package/dist/data/temporary_schemas/exupery-resources/schemas/stat/$.types.astn.d.ts +2 -2
- package/dist/data/temporary_schemas/exupery-resources/schemas/stat/$.types.astn.js +1 -1
- package/dist/data/temporary_schemas/exupery-resources/schemas/write_file/$.globals.astn.d.ts +2 -2
- package/dist/data/temporary_schemas/exupery-resources/schemas/write_file/$.globals.astn.js +1 -1
- package/dist/data/temporary_schemas/exupery-resources/schemas/write_file/$.module.astn.d.ts +2 -2
- package/dist/data/temporary_schemas/exupery-resources/schemas/write_file/$.module.astn.js +1 -1
- package/dist/data/temporary_schemas/exupery-resources/schemas/write_file/$.types.astn.d.ts +2 -2
- package/dist/data/temporary_schemas/exupery-resources/schemas/write_file/$.types.astn.js +1 -1
- package/dist/data/temporary_schemas/exupery-resources/schemas/write_to_stderr/$.globals.astn.d.ts +2 -2
- package/dist/data/temporary_schemas/exupery-resources/schemas/write_to_stderr/$.globals.astn.js +1 -1
- package/dist/data/temporary_schemas/exupery-resources/schemas/write_to_stderr/$.module.astn.d.ts +2 -2
- package/dist/data/temporary_schemas/exupery-resources/schemas/write_to_stderr/$.module.astn.js +1 -1
- package/dist/data/temporary_schemas/exupery-resources/schemas/write_to_stderr/$.types.astn.d.ts +2 -2
- package/dist/data/temporary_schemas/exupery-resources/schemas/write_to_stderr/$.types.astn.js +1 -1
- package/dist/data/temporary_schemas/exupery-resources/schemas/write_to_stdout/$.globals.astn.d.ts +2 -2
- package/dist/data/temporary_schemas/exupery-resources/schemas/write_to_stdout/$.globals.astn.js +1 -1
- package/dist/data/temporary_schemas/exupery-resources/schemas/write_to_stdout/$.module.astn.d.ts +2 -2
- package/dist/data/temporary_schemas/exupery-resources/schemas/write_to_stdout/$.module.astn.js +1 -1
- package/dist/data/temporary_schemas/exupery-resources/schemas/write_to_stdout/$.types.astn.d.ts +2 -2
- package/dist/data/temporary_schemas/exupery-resources/schemas/write_to_stdout/$.types.astn.js +1 -1
- package/dist/data/temporary_schemas/git/module.astn.d.ts +2 -2
- package/dist/data/temporary_schemas/git/module.astn.js +1 -1
- package/dist/data/temporary_schemas/git/operations.astn.d.ts +2 -2
- package/dist/data/temporary_schemas/git/operations.astn.js +1 -1
- package/dist/data/temporary_schemas/git/schema_tree.astn.d.ts +2 -2
- package/dist/data/temporary_schemas/git/schema_tree.astn.js +1 -1
- package/dist/data/temporary_schemas/git/schemas/git/$.globals.astn.d.ts +2 -2
- package/dist/data/temporary_schemas/git/schemas/git/$.globals.astn.js +1 -1
- package/dist/data/temporary_schemas/git/schemas/git/$.module.astn.d.ts +2 -2
- package/dist/data/temporary_schemas/git/schemas/git/$.module.astn.js +1 -1
- package/dist/data/temporary_schemas/git/schemas/git/$.types.astn.d.ts +2 -2
- package/dist/data/temporary_schemas/git/schemas/git/$.types.astn.js +1 -1
- package/dist/data/temporary_schemas/json-to-astn/module.astn.d.ts +2 -2
- package/dist/data/temporary_schemas/json-to-astn/module.astn.js +1 -1
- package/dist/data/temporary_schemas/json-to-astn/operations.astn.d.ts +2 -2
- package/dist/data/temporary_schemas/json-to-astn/operations.astn.js +1 -1
- package/dist/data/temporary_schemas/json-to-astn/schema_tree.astn.d.ts +2 -2
- package/dist/data/temporary_schemas/json-to-astn/schema_tree.astn.js +1 -1
- package/dist/data/temporary_schemas/json-to-astn/schemas/legacy_json_schema/$.globals.astn.d.ts +2 -2
- package/dist/data/temporary_schemas/json-to-astn/schemas/legacy_json_schema/$.globals.astn.js +1 -1
- package/dist/data/temporary_schemas/json-to-astn/schemas/legacy_json_schema/$.module.astn.d.ts +2 -2
- package/dist/data/temporary_schemas/json-to-astn/schemas/legacy_json_schema/$.module.astn.js +1 -1
- package/dist/data/temporary_schemas/json-to-astn/schemas/legacy_json_schema/$.types.astn.d.ts +2 -2
- package/dist/data/temporary_schemas/json-to-astn/schemas/legacy_json_schema/$.types.astn.js +1 -1
- package/dist/data/temporary_schemas/pareto/module.astn.d.ts +2 -2
- package/dist/data/temporary_schemas/pareto/module.astn.js +1 -1
- package/dist/data/temporary_schemas/pareto/operations.astn.d.ts +2 -2
- package/dist/data/temporary_schemas/pareto/operations.astn.js +1 -1
- package/dist/data/temporary_schemas/pareto/schema_tree.astn.d.ts +2 -2
- package/dist/data/temporary_schemas/pareto/schema_tree.astn.js +1 -1
- package/dist/data/temporary_schemas/pareto/schemas/module/$.globals.astn.d.ts +2 -2
- package/dist/data/temporary_schemas/pareto/schemas/module/$.globals.astn.js +1 -1
- package/dist/data/temporary_schemas/pareto/schemas/module/$.module.astn.d.ts +2 -2
- package/dist/data/temporary_schemas/pareto/schemas/module/$.module.astn.js +1 -1
- package/dist/data/temporary_schemas/pareto/schemas/module/$.resolvers.astn.d.ts +2 -2
- package/dist/data/temporary_schemas/pareto/schemas/module/$.resolvers.astn.js +1 -1
- package/dist/data/temporary_schemas/pareto/schemas/module/$.signatures.astn.d.ts +2 -2
- package/dist/data/temporary_schemas/pareto/schemas/module/$.signatures.astn.js +1 -1
- package/dist/data/temporary_schemas/pareto/schemas/module/$.types.astn.d.ts +2 -2
- package/dist/data/temporary_schemas/pareto/schemas/module/$.types.astn.js +1 -1
- package/dist/data/temporary_schemas/pareto/schemas/schema/$.globals.astn.d.ts +2 -2
- package/dist/data/temporary_schemas/pareto/schemas/schema/$.globals.astn.js +1 -1
- package/dist/data/temporary_schemas/pareto/schemas/schema/$.module.astn.d.ts +2 -2
- package/dist/data/temporary_schemas/pareto/schemas/schema/$.module.astn.js +1 -1
- package/dist/data/temporary_schemas/pareto/schemas/schema/$.resolvers.astn.d.ts +2 -2
- package/dist/data/temporary_schemas/pareto/schemas/schema/$.resolvers.astn.js +1 -1
- package/dist/data/temporary_schemas/pareto/schemas/schema/$.signatures.astn.d.ts +2 -2
- package/dist/data/temporary_schemas/pareto/schemas/schema/$.signatures.astn.js +1 -1
- package/dist/data/temporary_schemas/pareto/schemas/schema/$.types.astn.d.ts +2 -2
- package/dist/data/temporary_schemas/pareto/schemas/schema/$.types.astn.js +1 -1
- package/dist/data/temporary_schemas/pareto/schemas/unmarshall_errors/$.globals.astn.d.ts +2 -2
- package/dist/data/temporary_schemas/pareto/schemas/unmarshall_errors/$.globals.astn.js +1 -1
- package/dist/data/temporary_schemas/pareto/schemas/unmarshall_errors/$.module.astn.d.ts +2 -2
- package/dist/data/temporary_schemas/pareto/schemas/unmarshall_errors/$.module.astn.js +1 -1
- package/dist/data/temporary_schemas/pareto/schemas/unmarshall_errors/$.types.astn.d.ts +2 -2
- package/dist/data/temporary_schemas/pareto/schemas/unmarshall_errors/$.types.astn.js +1 -1
- package/dist/data/temporary_schemas/pareto/schemas/unmarshall_result/$.globals.astn.d.ts +2 -2
- package/dist/data/temporary_schemas/pareto/schemas/unmarshall_result/$.globals.astn.js +1 -1
- package/dist/data/temporary_schemas/pareto/schemas/unmarshall_result/$.module.astn.d.ts +2 -2
- package/dist/data/temporary_schemas/pareto/schemas/unmarshall_result/$.module.astn.js +1 -1
- package/dist/data/temporary_schemas/pareto/schemas/unmarshall_result/$.types.astn.d.ts +2 -2
- package/dist/data/temporary_schemas/pareto/schemas/unmarshall_result/$.types.astn.js +1 -1
- package/dist/data/temporary_schemas/pareto-boekhouding/module.astn.d.ts +2 -2
- package/dist/data/temporary_schemas/pareto-boekhouding/module.astn.js +1 -1
- package/dist/data/temporary_schemas/pareto-boekhouding/operations.astn.d.ts +2 -2
- package/dist/data/temporary_schemas/pareto-boekhouding/operations.astn.js +1 -1
- package/dist/data/temporary_schemas/pareto-boekhouding/schema_tree.astn.d.ts +2 -2
- package/dist/data/temporary_schemas/pareto-boekhouding/schema_tree.astn.js +1 -1
- package/dist/data/temporary_schemas/pareto-boekhouding/schemas/boekhouding/$.globals.astn.d.ts +2 -2
- package/dist/data/temporary_schemas/pareto-boekhouding/schemas/boekhouding/$.globals.astn.js +1 -1
- package/dist/data/temporary_schemas/pareto-boekhouding/schemas/boekhouding/$.module.astn.d.ts +2 -2
- package/dist/data/temporary_schemas/pareto-boekhouding/schemas/boekhouding/$.module.astn.js +1 -1
- package/dist/data/temporary_schemas/pareto-boekhouding/schemas/boekhouding/$.resolvers.astn.d.ts +2 -2
- package/dist/data/temporary_schemas/pareto-boekhouding/schemas/boekhouding/$.resolvers.astn.js +1 -1
- package/dist/data/temporary_schemas/pareto-boekhouding/schemas/boekhouding/$.signatures.astn.d.ts +2 -2
- package/dist/data/temporary_schemas/pareto-boekhouding/schemas/boekhouding/$.signatures.astn.js +1 -1
- package/dist/data/temporary_schemas/pareto-boekhouding/schemas/boekhouding/$.types.astn.d.ts +2 -2
- package/dist/data/temporary_schemas/pareto-boekhouding/schemas/boekhouding/$.types.astn.js +1 -1
- package/dist/data/temporary_schemas/pareto-boekhouding/schemas/boekhouding_oude_model/$.globals.astn.d.ts +2 -2
- package/dist/data/temporary_schemas/pareto-boekhouding/schemas/boekhouding_oude_model/$.globals.astn.js +1 -1
- package/dist/data/temporary_schemas/pareto-boekhouding/schemas/boekhouding_oude_model/$.module.astn.d.ts +2 -2
- package/dist/data/temporary_schemas/pareto-boekhouding/schemas/boekhouding_oude_model/$.module.astn.js +1 -1
- package/dist/data/temporary_schemas/pareto-boekhouding/schemas/boekhouding_oude_model/$.types.astn.d.ts +2 -2
- package/dist/data/temporary_schemas/pareto-boekhouding/schemas/boekhouding_oude_model/$.types.astn.js +1 -1
- package/dist/data/temporary_schemas/pareto-development-tools/module.astn.d.ts +2 -2
- package/dist/data/temporary_schemas/pareto-development-tools/module.astn.js +1 -1
- package/dist/data/temporary_schemas/pareto-development-tools/operations.astn.d.ts +2 -2
- package/dist/data/temporary_schemas/pareto-development-tools/operations.astn.js +1 -1
- package/dist/data/temporary_schemas/pareto-development-tools/schema_tree.astn.d.ts +2 -2
- package/dist/data/temporary_schemas/pareto-development-tools/schema_tree.astn.js +1 -1
- package/dist/data/temporary_schemas/pareto-development-tools/schemas/structure/$.globals.astn.d.ts +2 -2
- package/dist/data/temporary_schemas/pareto-development-tools/schemas/structure/$.globals.astn.js +1 -1
- package/dist/data/temporary_schemas/pareto-development-tools/schemas/structure/$.module.astn.d.ts +2 -2
- package/dist/data/temporary_schemas/pareto-development-tools/schemas/structure/$.module.astn.js +1 -1
- package/dist/data/temporary_schemas/pareto-development-tools/schemas/structure/$.types.astn.d.ts +2 -2
- package/dist/data/temporary_schemas/pareto-development-tools/schemas/structure/$.types.astn.js +1 -1
- package/dist/data/temporary_schemas/pareto-fountain-pen/module.astn.d.ts +2 -2
- package/dist/data/temporary_schemas/pareto-fountain-pen/module.astn.js +1 -1
- package/dist/data/temporary_schemas/pareto-fountain-pen/operations.astn.d.ts +2 -2
- package/dist/data/temporary_schemas/pareto-fountain-pen/operations.astn.js +1 -1
- package/dist/data/temporary_schemas/pareto-fountain-pen/schema_tree.astn.d.ts +2 -2
- package/dist/data/temporary_schemas/pareto-fountain-pen/schema_tree.astn.js +1 -1
- package/dist/data/temporary_schemas/pareto-fountain-pen/schemas/block/$.globals.astn.d.ts +2 -2
- package/dist/data/temporary_schemas/pareto-fountain-pen/schemas/block/$.globals.astn.js +1 -1
- package/dist/data/temporary_schemas/pareto-fountain-pen/schemas/block/$.module.astn.d.ts +2 -2
- package/dist/data/temporary_schemas/pareto-fountain-pen/schemas/block/$.module.astn.js +1 -1
- package/dist/data/temporary_schemas/pareto-fountain-pen/schemas/block/$.types.astn.d.ts +2 -2
- package/dist/data/temporary_schemas/pareto-fountain-pen/schemas/block/$.types.astn.js +1 -1
- package/dist/data/temporary_schemas/pareto-fountain-pen/schemas/lines/$.globals.astn.d.ts +2 -2
- package/dist/data/temporary_schemas/pareto-fountain-pen/schemas/lines/$.globals.astn.js +1 -1
- package/dist/data/temporary_schemas/pareto-fountain-pen/schemas/lines/$.module.astn.d.ts +2 -2
- package/dist/data/temporary_schemas/pareto-fountain-pen/schemas/lines/$.module.astn.js +1 -1
- package/dist/data/temporary_schemas/pareto-fountain-pen/schemas/lines/$.types.astn.d.ts +2 -2
- package/dist/data/temporary_schemas/pareto-fountain-pen/schemas/lines/$.types.astn.js +1 -1
- package/dist/data/temporary_schemas/pareto-fountain-pen/schemas/semi_lines/$.globals.astn.d.ts +2 -2
- package/dist/data/temporary_schemas/pareto-fountain-pen/schemas/semi_lines/$.globals.astn.js +1 -1
- package/dist/data/temporary_schemas/pareto-fountain-pen/schemas/semi_lines/$.module.astn.d.ts +2 -2
- package/dist/data/temporary_schemas/pareto-fountain-pen/schemas/semi_lines/$.module.astn.js +1 -1
- package/dist/data/temporary_schemas/pareto-fountain-pen/schemas/semi_lines/$.types.astn.d.ts +2 -2
- package/dist/data/temporary_schemas/pareto-fountain-pen/schemas/semi_lines/$.types.astn.js +1 -1
- package/dist/data/temporary_schemas/pareto-fountain-pen/schemas/text/$.globals.astn.d.ts +2 -2
- package/dist/data/temporary_schemas/pareto-fountain-pen/schemas/text/$.globals.astn.js +1 -1
- package/dist/data/temporary_schemas/pareto-fountain-pen/schemas/text/$.module.astn.d.ts +2 -2
- package/dist/data/temporary_schemas/pareto-fountain-pen/schemas/text/$.module.astn.js +1 -1
- package/dist/data/temporary_schemas/pareto-fountain-pen/schemas/text/$.types.astn.d.ts +2 -2
- package/dist/data/temporary_schemas/pareto-fountain-pen/schemas/text/$.types.astn.js +1 -1
- package/dist/data/temporary_schemas/pareto-graphviz/module.astn.d.ts +2 -2
- package/dist/data/temporary_schemas/pareto-graphviz/module.astn.js +1 -1
- package/dist/data/temporary_schemas/pareto-graphviz/operations.astn.d.ts +2 -2
- package/dist/data/temporary_schemas/pareto-graphviz/operations.astn.js +1 -1
- package/dist/data/temporary_schemas/pareto-graphviz/schema_tree.astn.d.ts +2 -2
- package/dist/data/temporary_schemas/pareto-graphviz/schema_tree.astn.js +1 -1
- package/dist/data/temporary_schemas/pareto-graphviz/schemas/graphviz/$.globals.astn.d.ts +2 -2
- package/dist/data/temporary_schemas/pareto-graphviz/schemas/graphviz/$.globals.astn.js +1 -1
- package/dist/data/temporary_schemas/pareto-graphviz/schemas/graphviz/$.module.astn.d.ts +2 -2
- package/dist/data/temporary_schemas/pareto-graphviz/schemas/graphviz/$.module.astn.js +1 -1
- package/dist/data/temporary_schemas/pareto-graphviz/schemas/graphviz/$.types.astn.d.ts +2 -2
- package/dist/data/temporary_schemas/pareto-graphviz/schemas/graphviz/$.types.astn.js +1 -1
- package/dist/data/temporary_schemas/pareto-json/module.astn.d.ts +2 -2
- package/dist/data/temporary_schemas/pareto-json/module.astn.js +1 -1
- package/dist/data/temporary_schemas/pareto-json/operations.astn.d.ts +2 -2
- package/dist/data/temporary_schemas/pareto-json/operations.astn.js +1 -1
- package/dist/data/temporary_schemas/pareto-json/schema_tree.astn.d.ts +2 -2
- package/dist/data/temporary_schemas/pareto-json/schema_tree.astn.js +1 -1
- package/dist/data/temporary_schemas/pareto-json/schemas/json/$.globals.astn.d.ts +2 -2
- package/dist/data/temporary_schemas/pareto-json/schemas/json/$.globals.astn.js +1 -1
- package/dist/data/temporary_schemas/pareto-json/schemas/json/$.module.astn.d.ts +2 -2
- package/dist/data/temporary_schemas/pareto-json/schemas/json/$.module.astn.js +1 -1
- package/dist/data/temporary_schemas/pareto-json/schemas/json/$.types.astn.d.ts +2 -2
- package/dist/data/temporary_schemas/pareto-json/schemas/json/$.types.astn.js +1 -1
- package/dist/data/temporary_schemas/pareto-lionweb/module.astn.d.ts +2 -2
- package/dist/data/temporary_schemas/pareto-lionweb/module.astn.js +1 -1
- package/dist/data/temporary_schemas/pareto-lionweb/operations.astn.d.ts +2 -2
- package/dist/data/temporary_schemas/pareto-lionweb/operations.astn.js +1 -1
- package/dist/data/temporary_schemas/pareto-lionweb/schema_tree.astn.d.ts +2 -2
- package/dist/data/temporary_schemas/pareto-lionweb/schema_tree.astn.js +1 -1
- package/dist/data/temporary_schemas/pareto-lionweb/schemas/lioncore/$.globals.astn.d.ts +2 -2
- package/dist/data/temporary_schemas/pareto-lionweb/schemas/lioncore/$.globals.astn.js +1 -1
- package/dist/data/temporary_schemas/pareto-lionweb/schemas/lioncore/$.module.astn.d.ts +2 -2
- package/dist/data/temporary_schemas/pareto-lionweb/schemas/lioncore/$.module.astn.js +1 -1
- package/dist/data/temporary_schemas/pareto-lionweb/schemas/lioncore/$.types.astn.d.ts +2 -2
- package/dist/data/temporary_schemas/pareto-lionweb/schemas/lioncore/$.types.astn.js +1 -1
- package/dist/data/temporary_schemas/pareto-lionweb/schemas/serialization_chunk/$.globals.astn.d.ts +2 -2
- package/dist/data/temporary_schemas/pareto-lionweb/schemas/serialization_chunk/$.globals.astn.js +1 -1
- package/dist/data/temporary_schemas/pareto-lionweb/schemas/serialization_chunk/$.module.astn.d.ts +2 -2
- package/dist/data/temporary_schemas/pareto-lionweb/schemas/serialization_chunk/$.module.astn.js +1 -1
- package/dist/data/temporary_schemas/pareto-lionweb/schemas/serialization_chunk/$.types.astn.d.ts +2 -2
- package/dist/data/temporary_schemas/pareto-lionweb/schemas/serialization_chunk/$.types.astn.js +1 -1
- package/dist/data/temporary_schemas/pareto-lionweb/schemas/serialization_tree/$.globals.astn.d.ts +2 -2
- package/dist/data/temporary_schemas/pareto-lionweb/schemas/serialization_tree/$.globals.astn.js +1 -1
- package/dist/data/temporary_schemas/pareto-lionweb/schemas/serialization_tree/$.module.astn.d.ts +2 -2
- package/dist/data/temporary_schemas/pareto-lionweb/schemas/serialization_tree/$.module.astn.js +1 -1
- package/dist/data/temporary_schemas/pareto-lionweb/schemas/serialization_tree/$.types.astn.d.ts +2 -2
- package/dist/data/temporary_schemas/pareto-lionweb/schemas/serialization_tree/$.types.astn.js +1 -1
- package/dist/data/temporary_schemas/pareto-static-html/module.astn.d.ts +2 -2
- package/dist/data/temporary_schemas/pareto-static-html/module.astn.js +1 -1
- package/dist/data/temporary_schemas/pareto-static-html/operations.astn.d.ts +2 -2
- package/dist/data/temporary_schemas/pareto-static-html/operations.astn.js +1 -1
- package/dist/data/temporary_schemas/pareto-static-html/schema_tree.astn.d.ts +2 -2
- package/dist/data/temporary_schemas/pareto-static-html/schema_tree.astn.js +1 -1
- package/dist/data/temporary_schemas/pareto-static-html/schemas/static-html/$.globals.astn.d.ts +2 -2
- package/dist/data/temporary_schemas/pareto-static-html/schemas/static-html/$.globals.astn.js +1 -1
- package/dist/data/temporary_schemas/pareto-static-html/schemas/static-html/$.module.astn.d.ts +2 -2
- package/dist/data/temporary_schemas/pareto-static-html/schemas/static-html/$.module.astn.js +1 -1
- package/dist/data/temporary_schemas/pareto-static-html/schemas/static-html/$.types.astn.d.ts +2 -2
- package/dist/data/temporary_schemas/pareto-static-html/schemas/static-html/$.types.astn.js +1 -1
- package/dist/data/temporary_schemas/pareto-targets/module.astn.d.ts +2 -2
- package/dist/data/temporary_schemas/pareto-targets/module.astn.js +1 -1
- package/dist/data/temporary_schemas/pareto-targets/operations.astn.d.ts +2 -2
- package/dist/data/temporary_schemas/pareto-targets/operations.astn.js +1 -1
- package/dist/data/temporary_schemas/pareto-targets/schema_tree.astn.d.ts +2 -2
- package/dist/data/temporary_schemas/pareto-targets/schema_tree.astn.js +1 -1
- package/dist/data/temporary_schemas/pareto-targets/schemas/alan_light/$.globals.astn.d.ts +2 -2
- package/dist/data/temporary_schemas/pareto-targets/schemas/alan_light/$.globals.astn.js +1 -1
- package/dist/data/temporary_schemas/pareto-targets/schemas/alan_light/$.module.astn.d.ts +2 -2
- package/dist/data/temporary_schemas/pareto-targets/schemas/alan_light/$.module.astn.js +1 -1
- package/dist/data/temporary_schemas/pareto-targets/schemas/alan_light/$.types.astn.d.ts +2 -2
- package/dist/data/temporary_schemas/pareto-targets/schemas/alan_light/$.types.astn.js +1 -1
- package/dist/data/temporary_schemas/pareto-targets/schemas/graphviz/high_level/$.globals.astn.d.ts +2 -2
- package/dist/data/temporary_schemas/pareto-targets/schemas/graphviz/high_level/$.globals.astn.js +1 -1
- package/dist/data/temporary_schemas/pareto-targets/schemas/graphviz/high_level/$.module.astn.d.ts +2 -2
- package/dist/data/temporary_schemas/pareto-targets/schemas/graphviz/high_level/$.module.astn.js +1 -1
- package/dist/data/temporary_schemas/pareto-targets/schemas/graphviz/high_level/$.types.astn.d.ts +2 -2
- package/dist/data/temporary_schemas/pareto-targets/schemas/graphviz/high_level/$.types.astn.js +1 -1
- package/dist/data/temporary_schemas/pareto-targets/schemas/graphviz/low_level/$.globals.astn.d.ts +2 -2
- package/dist/data/temporary_schemas/pareto-targets/schemas/graphviz/low_level/$.globals.astn.js +1 -1
- package/dist/data/temporary_schemas/pareto-targets/schemas/graphviz/low_level/$.module.astn.d.ts +2 -2
- package/dist/data/temporary_schemas/pareto-targets/schemas/graphviz/low_level/$.module.astn.js +1 -1
- package/dist/data/temporary_schemas/pareto-targets/schemas/graphviz/low_level/$.types.astn.d.ts +2 -2
- package/dist/data/temporary_schemas/pareto-targets/schemas/graphviz/low_level/$.types.astn.js +1 -1
- package/dist/data/temporary_schemas/pareto-targets/schemas/lionweb/$.globals.astn.d.ts +2 -2
- package/dist/data/temporary_schemas/pareto-targets/schemas/lionweb/$.globals.astn.js +1 -1
- package/dist/data/temporary_schemas/pareto-targets/schemas/lionweb/$.module.astn.d.ts +2 -2
- package/dist/data/temporary_schemas/pareto-targets/schemas/lionweb/$.module.astn.js +1 -1
- package/dist/data/temporary_schemas/pareto-targets/schemas/lionweb/$.types.astn.d.ts +2 -2
- package/dist/data/temporary_schemas/pareto-targets/schemas/lionweb/$.types.astn.js +1 -1
- package/dist/data/temporary_schemas/pareto-targets/schemas/pareto_documentation/$.globals.astn.d.ts +2 -2
- package/dist/data/temporary_schemas/pareto-targets/schemas/pareto_documentation/$.globals.astn.js +1 -1
- package/dist/data/temporary_schemas/pareto-targets/schemas/pareto_documentation/$.module.astn.d.ts +2 -2
- package/dist/data/temporary_schemas/pareto-targets/schemas/pareto_documentation/$.module.astn.js +1 -1
- package/dist/data/temporary_schemas/pareto-targets/schemas/pareto_documentation/$.types.astn.d.ts +2 -2
- package/dist/data/temporary_schemas/pareto-targets/schemas/pareto_documentation/$.types.astn.js +1 -1
- package/dist/data/temporary_schemas/pareto-test/module.astn.d.ts +2 -2
- package/dist/data/temporary_schemas/pareto-test/module.astn.js +1 -1
- package/dist/data/temporary_schemas/pareto-test/operations.astn.d.ts +2 -2
- package/dist/data/temporary_schemas/pareto-test/operations.astn.js +1 -1
- package/dist/data/temporary_schemas/pareto-test/schema_tree.astn.d.ts +2 -2
- package/dist/data/temporary_schemas/pareto-test/schema_tree.astn.js +1 -1
- package/dist/data/temporary_schemas/pareto-test/schemas/json/$.globals.astn.d.ts +2 -2
- package/dist/data/temporary_schemas/pareto-test/schemas/json/$.globals.astn.js +1 -1
- package/dist/data/temporary_schemas/pareto-test/schemas/json/$.module.astn.d.ts +2 -2
- package/dist/data/temporary_schemas/pareto-test/schemas/json/$.module.astn.js +1 -1
- package/dist/data/temporary_schemas/pareto-test/schemas/json/$.types.astn.d.ts +2 -2
- package/dist/data/temporary_schemas/pareto-test/schemas/json/$.types.astn.js +1 -1
- package/dist/data/temporary_schemas/pareto-vscode-backend/module.astn.d.ts +2 -2
- package/dist/data/temporary_schemas/pareto-vscode-backend/module.astn.js +1 -1
- package/dist/data/temporary_schemas/pareto-vscode-backend/operations.astn.d.ts +2 -2
- package/dist/data/temporary_schemas/pareto-vscode-backend/operations.astn.js +1 -1
- package/dist/data/temporary_schemas/pareto-vscode-backend/schema_tree.astn.d.ts +2 -2
- package/dist/data/temporary_schemas/pareto-vscode-backend/schema_tree.astn.js +1 -1
- package/dist/data/temporary_schemas/pareto-vscode-backend/schemas/client/$.globals.astn.d.ts +2 -2
- package/dist/data/temporary_schemas/pareto-vscode-backend/schemas/client/$.globals.astn.js +1 -1
- package/dist/data/temporary_schemas/pareto-vscode-backend/schemas/client/$.module.astn.d.ts +2 -2
- package/dist/data/temporary_schemas/pareto-vscode-backend/schemas/client/$.module.astn.js +1 -1
- package/dist/data/temporary_schemas/pareto-vscode-backend/schemas/client/$.types.astn.d.ts +2 -2
- package/dist/data/temporary_schemas/pareto-vscode-backend/schemas/client/$.types.astn.js +1 -1
- package/dist/data/temporary_schemas/pareto-vscode-backend/schemas/server/$.globals.astn.d.ts +2 -2
- package/dist/data/temporary_schemas/pareto-vscode-backend/schemas/server/$.globals.astn.js +1 -1
- package/dist/data/temporary_schemas/pareto-vscode-backend/schemas/server/$.module.astn.d.ts +2 -2
- package/dist/data/temporary_schemas/pareto-vscode-backend/schemas/server/$.module.astn.js +1 -1
- package/dist/data/temporary_schemas/pareto-vscode-backend/schemas/server/$.types.astn.d.ts +2 -2
- package/dist/data/temporary_schemas/pareto-vscode-backend/schemas/server/$.types.astn.js +1 -1
- package/dist/implementation/commands/compile_temp_schemas.d.ts +2 -2
- package/dist/implementation/commands/compile_temp_schemas.js +15 -16
- package/dist/implementation/commands/seal.d.ts +2 -2
- package/dist/implementation/commands/seal.js +5 -5
- package/dist/implementation/commands/serialize_schemas.d.ts +2 -2
- package/dist/implementation/commands/serialize_schemas.js +7 -6
- package/dist/implementation/deserializers/schemas/schema.d.ts +4 -4
- package/dist/implementation/deserializers/schemas/schema.js +45 -46
- package/dist/implementation/deserializers/schemas/unmarshall_result.d.ts +2 -3
- package/dist/implementation/deserializers/schemas/unmarshall_result.js +12 -19
- package/dist/implementation/generated/pareto/generic/parse/ast.d.ts +5 -5
- package/dist/implementation/generated/pareto/generic/parse/ast.js +29 -29
- package/dist/implementation/generated/pareto/generic/parse/astn_parse_generic.d.ts +12 -9
- package/dist/implementation/generated/pareto/generic/parse/astn_parse_generic.js +26 -29
- package/dist/implementation/generated/pareto/generic/parse/parse.d.ts +1 -2
- package/dist/implementation/generated/pareto/generic/parse/parse.js +21 -32
- package/dist/implementation/generated/pareto/generic/parse/string_iterator.d.ts +1 -1
- package/dist/implementation/generated/pareto/generic/parse/string_iterator.js +4 -4
- package/dist/implementation/generated/pareto/generic/parse/token.d.ts +6 -5
- package/dist/implementation/generated/pareto/generic/parse/token.js +31 -30
- package/dist/implementation/generated/pareto/generic/resolve.d.ts +1 -1
- package/dist/implementation/generated/pareto/generic/resolve.js +8 -7
- package/dist/implementation/generated/pareto/generic/serialize.d.ts +2 -2
- package/dist/implementation/generated/pareto/generic/serialize.js +2 -2
- package/dist/implementation/generated/pareto/generic/unmarshall.d.ts +1 -1
- package/dist/implementation/generated/pareto/generic/unmarshall.js +28 -28
- package/dist/implementation/generated/pareto/schemas/astn_schema/marshall.js +2 -2
- package/dist/implementation/generated/pareto/schemas/astn_schema/resolve.js +87 -87
- package/dist/implementation/generated/pareto/schemas/astn_schema/unmarshall.js +2 -2
- package/dist/implementation/generated/pareto/schemas/module/marshall.js +2 -2
- package/dist/implementation/generated/pareto/schemas/module/resolve.js +2 -2
- package/dist/implementation/generated/pareto/schemas/module/unmarshall.js +2 -2
- package/dist/implementation/generated/pareto/schemas/parse_tree/marshall.js +2 -2
- package/dist/implementation/generated/pareto/schemas/parse_tree/unmarshall.js +2 -2
- package/dist/implementation/generated/pareto/schemas/schema/marshall.js +2 -2
- package/dist/implementation/generated/pareto/schemas/schema/resolve.js +11 -11
- package/dist/implementation/generated/pareto/schemas/schema/unmarshall.js +2 -2
- package/dist/implementation/generated/pareto/schemas/token/marshall.js +2 -2
- package/dist/implementation/generated/pareto/schemas/token/unmarshall.js +2 -2
- package/dist/implementation/generated/pareto/schemas/unmarshall_errors/marshall.js +2 -2
- package/dist/implementation/generated/pareto/schemas/unmarshall_errors/unmarshall.js +2 -2
- package/dist/implementation/queries/load_pareto_document.js +6 -6
- package/dist/implementation/queries/load_pareto_file.js +3 -3
- package/dist/implementation/temp/resolvers/module.js +30 -30
- package/dist/implementation/temp/resolvers/schema.js +405 -405
- package/dist/implementation/transformers/schemas/module/exupery_implementation.d.ts +2 -2
- package/dist/implementation/transformers/schemas/module/exupery_implementation.js +7 -7
- package/dist/implementation/transformers/schemas/module/exupery_interface.d.ts +3 -3
- package/dist/implementation/transformers/schemas/module/exupery_interface.js +8 -8
- package/dist/implementation/transformers/schemas/module/temp_typescript_implementation.js +3 -3
- package/dist/implementation/transformers/schemas/module/temp_typescript_interface.js +3 -3
- package/dist/implementation/transformers/schemas/schema/exupery_implementation/deserialize.d.ts +3 -4
- package/dist/implementation/transformers/schemas/schema/exupery_implementation/deserialize.js +13 -14
- package/dist/implementation/transformers/schemas/schema/exupery_implementation/main.d.ts +5 -6
- package/dist/implementation/transformers/schemas/schema/exupery_implementation/main.js +17 -19
- package/dist/implementation/transformers/schemas/schema/exupery_implementation/marshall.d.ts +5 -6
- package/dist/implementation/transformers/schemas/schema/exupery_implementation/marshall.js +41 -53
- package/dist/implementation/transformers/schemas/schema/exupery_implementation/migrate_boilerplate.d.ts +4 -5
- package/dist/implementation/transformers/schemas/schema/exupery_implementation/migrate_boilerplate.js +33 -44
- package/dist/implementation/transformers/schemas/schema/exupery_implementation/resolve.d.ts +13 -14
- package/dist/implementation/transformers/schemas/schema/exupery_implementation/resolve.js +118 -132
- package/dist/implementation/transformers/schemas/schema/exupery_implementation/serialize.d.ts +3 -4
- package/dist/implementation/transformers/schemas/schema/exupery_implementation/serialize.js +13 -14
- package/dist/implementation/transformers/schemas/schema/exupery_implementation/unmarshall.d.ts +5 -6
- package/dist/implementation/transformers/schemas/schema/exupery_implementation/unmarshall.js +50 -62
- package/dist/implementation/transformers/schemas/schema/exupery_interface/deserialize.d.ts +2 -2
- package/dist/implementation/transformers/schemas/schema/exupery_interface/deserialize.js +1 -1
- package/dist/implementation/transformers/schemas/schema/exupery_interface/dummy_resolve.d.ts +2 -2
- package/dist/implementation/transformers/schemas/schema/exupery_interface/dummy_resolve.js +1 -1
- package/dist/implementation/transformers/schemas/schema/exupery_interface/main.d.ts +4 -4
- package/dist/implementation/transformers/schemas/schema/exupery_interface/main.js +19 -19
- package/dist/implementation/transformers/schemas/schema/exupery_interface/marshall.d.ts +2 -2
- package/dist/implementation/transformers/schemas/schema/exupery_interface/marshall.js +1 -1
- package/dist/implementation/transformers/schemas/schema/exupery_interface/migrate_boilerplate.d.ts +6 -6
- package/dist/implementation/transformers/schemas/schema/exupery_interface/migrate_boilerplate.js +1 -1
- package/dist/implementation/transformers/schemas/schema/exupery_interface/resolve.d.ts +6 -7
- package/dist/implementation/transformers/schemas/schema/exupery_interface/resolve.js +25 -28
- package/dist/implementation/transformers/schemas/schema/exupery_interface/serialize.d.ts +2 -2
- package/dist/implementation/transformers/schemas/schema/exupery_interface/serialize.js +1 -1
- package/dist/implementation/transformers/schemas/schema/exupery_interface/types.d.ts +5 -5
- package/dist/implementation/transformers/schemas/schema/exupery_interface/types.js +75 -77
- package/dist/implementation/transformers/schemas/schema/exupery_interface/unmarshall.d.ts +2 -2
- package/dist/implementation/transformers/schemas/schema/exupery_interface/unmarshall.js +1 -1
- package/dist/implementation/transformers/schemas/schema/exupery_interface/value_deserializers.d.ts +2 -2
- package/dist/implementation/transformers/schemas/schema/exupery_interface/value_deserializers.js +6 -6
- package/dist/implementation/transformers/schemas/schema/exupery_interface/value_serializers.d.ts +2 -2
- package/dist/implementation/transformers/schemas/schema/exupery_interface/value_serializers.js +6 -6
- package/dist/implementation/transformers/schemas/temp/astn_schema.d.ts +7 -8
- package/dist/implementation/transformers/schemas/temp/astn_schema.js +45 -45
- package/dist/implementation/transformers/schemas/temp/unmarshall_astn_ast.d.ts +2 -2
- package/dist/implementation/transformers/schemas/temp/unmarshall_astn_ast.js +103 -100
- package/dist/implementation/transformers/schemas/unmarshall_errors/fountain_pen.js +27 -28
- package/dist/implementation/transformers/schemas/unmarshall_result/astn_authoring_target.js +17 -17
- package/dist/implementation/transformers/schemas/unmarshall_result/unmarshall_errors.js +109 -111
- package/dist/interface/generated/pareto/core/astn_source.d.ts +1 -1
- package/dist/interface/generated/pareto/core/astn_target.d.ts +1 -1
- package/dist/interface/generated/pareto/core/parse_result.d.ts +1 -1
- package/dist/interface/generated/pareto/core/resolve.d.ts +6 -3
- package/dist/interface/generated/pareto/core/resolved.d.ts +1 -1
- package/dist/interface/generated/pareto/core/token.d.ts +1 -1
- package/dist/interface/generated/pareto/core/unconstrained.d.ts +1 -1
- package/dist/interface/generated/pareto/core/unresolved.d.ts +1 -1
- package/dist/interface/generated/pareto/schemas/astn_schema/data_types/resolve.d.ts +1 -1
- package/dist/interface/generated/pareto/schemas/parse_tree/data_types/source.d.ts +1 -1
- package/dist/interface/generated/pareto/schemas/parse_tree/data_types/target.d.ts +1 -1
- package/dist/interface/generated/pareto/schemas/schema/data_types/resolve.d.ts +1 -1
- package/dist/interface/generated/pareto/schemas/schema/data_types/source.d.ts +1 -1
- package/dist/interface/generated/pareto/schemas/schema/data_types/target.d.ts +1 -1
- package/dist/interface/resources.d.ts +3 -3
- package/dist/interface/signatures.d.ts +3 -3
- package/dist/interface/to_be_generated/temp_unmashall_result.d.ts +9 -9
- package/dist/modules/pareto-fountain-pen-directory/implementation/commands/console_error.js +3 -3
- package/dist/modules/pareto-fountain-pen-directory/implementation/commands/console_log.js +3 -3
- package/dist/modules/pareto-fountain-pen-directory/implementation/commands/write_to_directory.js +11 -11
- package/dist/modules/pareto-fountain-pen-directory/implementation/commands/write_to_file.js +6 -6
- package/dist/modules/pareto-fountain-pen-directory/implementation/transformers/schemas/path/path.js +4 -4
- package/dist/modules/pareto-fountain-pen-directory/interface/resources.d.ts +5 -5
- package/dist/modules/pareto-fountain-pen-directory/interface/signatures.d.ts +5 -5
- package/dist/modules/pareto-fountain-pen-directory/interface/to_be_generated/write_to_dictionary.d.ts +2 -2
- package/dist/shorthands/module.d.ts +6 -6
- package/dist/shorthands/module.js +30 -7
- package/dist/shorthands/schema.d.ts +111 -111
- package/dist/shorthands/schema.js +230 -231
- package/package.json +3 -7
|
@@ -24,23 +24,23 @@ var __importStar = (this && this.__importStar) || function (mod) {
|
|
|
24
24
|
};
|
|
25
25
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
26
26
|
exports.Type_Specification = exports.Guaranteed_Value_Selection = exports.Possibly_Optional = exports.Possible_Value_Selection = exports.Relative_Value_Selection = exports.Node_Resolver = exports.Property_Constraints = exports.Constraint = exports.Option_Constraints = exports.Type_Node_Reference = exports.Type_Reference = exports.Type_Parameters = exports.Type_Node = exports.Text_Type = exports.Schemas = exports.Schema_Tree = exports.Signatures = exports.Signature = exports.Globals = exports.Signature_Parameters = exports.Number_Type = exports.Lookup_Selection = exports.Imports = void 0;
|
|
27
|
-
const
|
|
27
|
+
const _pt = __importStar(require("pareto-core-refiner"));
|
|
28
28
|
const _i_generic = __importStar(require("../../generated/pareto/generic/resolve"));
|
|
29
|
-
const Imports = ($, $p) =>
|
|
29
|
+
const Imports = ($, $p) => _pt.block(() => {
|
|
30
30
|
const l2s = $p['location 2 string'];
|
|
31
31
|
const params = $p['parameters'];
|
|
32
|
-
return
|
|
32
|
+
return _pt.cc($, ($) => _i_generic.resolve_dictionary($, {
|
|
33
33
|
'location 2 string': l2s,
|
|
34
|
-
'map': ($, $p) =>
|
|
35
|
-
const p_schema_set_child =
|
|
34
|
+
'map': ($, $p) => _pt.cc($['value'], ($) => _pt.cc($, ($) => {
|
|
35
|
+
const p_schema_set_child = _pt.cc($['schema set child'], ($) => _i_generic.get_entry_from_stack(params.lookups['sibling schemas'], {
|
|
36
36
|
'location 2 string': l2s,
|
|
37
37
|
'reference': $,
|
|
38
38
|
}));
|
|
39
|
-
const p_schema =
|
|
39
|
+
const p_schema = _pt.cc($['schema'], ($) => _pt.cc(p_schema_set_child.entry, ($) => {
|
|
40
40
|
switch ($[0]) {
|
|
41
|
-
case 'schema': return
|
|
42
|
-
case 'set': return
|
|
43
|
-
default: return
|
|
41
|
+
case 'schema': return _pt.ss($, ($) => $);
|
|
42
|
+
case 'set': return _pt.ss($, ($) => _pt.fixme_abort("HELP!!!"));
|
|
43
|
+
default: return _pt.au($[0]);
|
|
44
44
|
}
|
|
45
45
|
}));
|
|
46
46
|
return {
|
|
@@ -51,42 +51,42 @@ const Imports = ($, $p) => _ea.block(() => {
|
|
|
51
51
|
}));
|
|
52
52
|
});
|
|
53
53
|
exports.Imports = Imports;
|
|
54
|
-
const Lookup_Selection = ($, $p) =>
|
|
54
|
+
const Lookup_Selection = ($, $p) => _pt.block(() => {
|
|
55
55
|
const l2s = $p['location 2 string'];
|
|
56
56
|
const params = $p['parameters'];
|
|
57
|
-
return
|
|
57
|
+
return _pt.block(() => {
|
|
58
58
|
const loc = $.type.location;
|
|
59
|
-
const p_type =
|
|
59
|
+
const p_type = _pt.cc($['type'], ($) => _pt.cc($['state group'], ($) => {
|
|
60
60
|
switch ($[0]) {
|
|
61
|
-
case 'dictionary': return
|
|
61
|
+
case 'dictionary': return _pt.ss($, ($) => {
|
|
62
62
|
const p_selection = (0, exports.Guaranteed_Value_Selection)($.selection, {
|
|
63
63
|
'location 2 string': l2s,
|
|
64
64
|
'parameters': $p.parameters,
|
|
65
65
|
});
|
|
66
66
|
const p_selected_dictionary = p_selection['resulting node'][0] !== 'dictionary' // component constraint (selection)
|
|
67
|
-
?
|
|
67
|
+
? _pt.fixme_abort("not a 'dictionary' but a '", p_selection['resulting node'][0], "' @ ", $p['location 2 string'](loc))
|
|
68
68
|
: p_selection['resulting node'][1];
|
|
69
69
|
return ['dictionary', {
|
|
70
70
|
'selection': p_selection,
|
|
71
71
|
'selected dictionary': p_selected_dictionary,
|
|
72
72
|
}];
|
|
73
73
|
});
|
|
74
|
-
case 'not circular dependent siblings': return
|
|
75
|
-
case 'parameter': return
|
|
74
|
+
case 'not circular dependent siblings': return _pt.ss($, ($) => ['not circular dependent siblings', $p.parameters.values['current dictionary'].transform(($) => $, () => _pt.fixme_abort("not in a dictionary @ ", $p['location 2 string'](loc)))]);
|
|
75
|
+
case 'parameter': return _pt.ss($, ($) => ['parameter', _i_generic.get_entry(_i_generic.dictionary_to_lookup($p.parameters.values.signature['resolved parameters'].lookups, null), {
|
|
76
76
|
'reference': $,
|
|
77
77
|
'location 2 string': $p['location 2 string']
|
|
78
78
|
})]);
|
|
79
|
-
case 'possibly circular dependent siblings': return
|
|
80
|
-
default: return
|
|
79
|
+
case 'possibly circular dependent siblings': return _pt.ss($, ($) => ['possibly circular dependent siblings', $p.parameters.values['current dictionary'].transform(($) => $, () => _pt.fixme_abort("SFSFSD"))]);
|
|
80
|
+
default: return _pt.au($[0]);
|
|
81
81
|
}
|
|
82
82
|
}));
|
|
83
|
-
const p_resulting_dictionary =
|
|
83
|
+
const p_resulting_dictionary = _pt.cc(p_type, ($) => {
|
|
84
84
|
switch ($[0]) {
|
|
85
|
-
case 'dictionary': return
|
|
86
|
-
case 'not circular dependent siblings': return
|
|
87
|
-
case 'parameter': return
|
|
88
|
-
case 'possibly circular dependent siblings': return
|
|
89
|
-
default: return
|
|
85
|
+
case 'dictionary': return _pt.ss($, ($) => $['selected dictionary']);
|
|
86
|
+
case 'not circular dependent siblings': return _pt.ss($, ($) => $);
|
|
87
|
+
case 'parameter': return _pt.ss($, ($) => $.entry.dictionary);
|
|
88
|
+
case 'possibly circular dependent siblings': return _pt.ss($, ($) => $);
|
|
89
|
+
default: return _pt.au($[0]);
|
|
90
90
|
}
|
|
91
91
|
});
|
|
92
92
|
return ({
|
|
@@ -98,27 +98,27 @@ const Lookup_Selection = ($, $p) => _ea.block(() => {
|
|
|
98
98
|
exports.Lookup_Selection = Lookup_Selection;
|
|
99
99
|
const Number_Type = ($, $p) => {
|
|
100
100
|
return {
|
|
101
|
-
'precision':
|
|
101
|
+
'precision': _pt.cc($.precision['state group'], ($) => {
|
|
102
102
|
switch ($[0]) {
|
|
103
|
-
case 'exact': return
|
|
103
|
+
case 'exact': return _pt.ss($, ($) => {
|
|
104
104
|
return ['exact', {
|
|
105
|
-
'type':
|
|
105
|
+
'type': _pt.cc($.type['state group'], ($) => {
|
|
106
106
|
switch ($[0]) {
|
|
107
|
-
case 'integer': return
|
|
108
|
-
case 'natural': return
|
|
109
|
-
case 'positive natural': return
|
|
110
|
-
default: return
|
|
107
|
+
case 'integer': return _pt.ss($, ($) => ['integer', null]);
|
|
108
|
+
case 'natural': return _pt.ss($, ($) => ['natural', null]);
|
|
109
|
+
case 'positive natural': return _pt.ss($, ($) => ['positive natural', null]);
|
|
110
|
+
default: return _pt.au($[0]);
|
|
111
111
|
}
|
|
112
112
|
}),
|
|
113
|
-
'decimal separator offset':
|
|
113
|
+
'decimal separator offset': _pt.cc($['decimal separator offset'], ($) => {
|
|
114
114
|
return $;
|
|
115
115
|
})
|
|
116
116
|
}];
|
|
117
117
|
});
|
|
118
|
-
case 'approximation': return
|
|
118
|
+
case 'approximation': return _pt.ss($, ($) => ['approximation', {
|
|
119
119
|
'significant digits': $['significant digits']
|
|
120
120
|
}]);
|
|
121
|
-
default: return
|
|
121
|
+
default: return _pt.au($[0]);
|
|
122
122
|
}
|
|
123
123
|
}),
|
|
124
124
|
};
|
|
@@ -135,7 +135,7 @@ const Signature_Parameters = ($, $p) => {
|
|
|
135
135
|
'types': _i_generic.dictionary_to_lookup($p.parameters.values.types.dictionary, null),
|
|
136
136
|
},
|
|
137
137
|
'values': {
|
|
138
|
-
'imports':
|
|
138
|
+
'imports': _pt.not_set(),
|
|
139
139
|
},
|
|
140
140
|
},
|
|
141
141
|
});
|
|
@@ -157,25 +157,25 @@ const Signature_Parameters = ($, $p) => {
|
|
|
157
157
|
'types': _i_generic.dictionary_to_lookup($p.parameters.values.types.dictionary, null),
|
|
158
158
|
},
|
|
159
159
|
'values': {
|
|
160
|
-
'imports':
|
|
160
|
+
'imports': _pt.not_set(),
|
|
161
161
|
},
|
|
162
162
|
}
|
|
163
163
|
});
|
|
164
|
-
const p_type =
|
|
164
|
+
const p_type = _pt.cc($.value.type['state group'], ($) => {
|
|
165
165
|
switch ($[0]) {
|
|
166
|
-
case 'acyclic': return
|
|
167
|
-
case 'cyclic': return
|
|
168
|
-
case 'stack': return
|
|
169
|
-
default: return
|
|
166
|
+
case 'acyclic': return _pt.ss($, ($) => ['acyclic', null]);
|
|
167
|
+
case 'cyclic': return _pt.ss($, ($) => ['cyclic', null]);
|
|
168
|
+
case 'stack': return _pt.ss($, ($) => ['stack', $]);
|
|
169
|
+
default: return _pt.au($[0]);
|
|
170
170
|
}
|
|
171
171
|
});
|
|
172
172
|
const p_presence = $.value.presence['state group'];
|
|
173
173
|
return {
|
|
174
174
|
'referent': p_referent,
|
|
175
|
-
'dictionary':
|
|
175
|
+
'dictionary': _pt.cc(p_referent['resulting node'], ($) => {
|
|
176
176
|
switch ($[0]) {
|
|
177
|
-
case 'dictionary': return
|
|
178
|
-
default: return
|
|
177
|
+
case 'dictionary': return _pt.ss($, ($) => $);
|
|
178
|
+
default: return _pt.fixme_abort(`not a 'dictionary' but a '${$[0]}' @ ${$p['location 2 string'](lookups_loc)}`);
|
|
179
179
|
}
|
|
180
180
|
}),
|
|
181
181
|
'type': p_type,
|
|
@@ -218,9 +218,9 @@ const Globals = ($, $p) => {
|
|
|
218
218
|
};
|
|
219
219
|
exports.Globals = Globals;
|
|
220
220
|
const Signature = ($, $p) => {
|
|
221
|
-
const p_parameters =
|
|
221
|
+
const p_parameters = _pt.cc($.parameters['state group'], ($) => {
|
|
222
222
|
switch ($[0]) {
|
|
223
|
-
case 'local': return
|
|
223
|
+
case 'local': return _pt.ss($, ($) => ['local', (0, exports.Signature_Parameters)($, {
|
|
224
224
|
'location 2 string': $p['location 2 string'],
|
|
225
225
|
'parameters': {
|
|
226
226
|
'lookups': null,
|
|
@@ -230,24 +230,24 @@ const Signature = ($, $p) => {
|
|
|
230
230
|
},
|
|
231
231
|
}
|
|
232
232
|
})]);
|
|
233
|
-
case 'same as': return
|
|
233
|
+
case 'same as': return _pt.ss($, ($) => ['same as', _i_generic.get_entry($p.parameters.lookups['sibling signatures'], {
|
|
234
234
|
'reference': {
|
|
235
235
|
'key': $.key,
|
|
236
236
|
'location': $.location
|
|
237
237
|
},
|
|
238
238
|
'location 2 string': $p['location 2 string'],
|
|
239
239
|
})]);
|
|
240
|
-
default: return
|
|
240
|
+
default: return _pt.au($[0]);
|
|
241
241
|
}
|
|
242
242
|
});
|
|
243
243
|
return {
|
|
244
244
|
'type': $p.parameters.values.type,
|
|
245
245
|
'parameters': p_parameters,
|
|
246
|
-
'resolved parameters':
|
|
246
|
+
'resolved parameters': _pt.cc(p_parameters, ($) => {
|
|
247
247
|
switch ($[0]) {
|
|
248
|
-
case 'local': return
|
|
249
|
-
case 'same as': return
|
|
250
|
-
default: return
|
|
248
|
+
case 'local': return _pt.ss($, ($) => $);
|
|
249
|
+
case 'same as': return _pt.ss($, ($) => $.entry['resolved parameters']);
|
|
250
|
+
default: return _pt.au($[0]);
|
|
251
251
|
}
|
|
252
252
|
})
|
|
253
253
|
};
|
|
@@ -282,12 +282,12 @@ const Signatures = ($, $p) => {
|
|
|
282
282
|
});
|
|
283
283
|
};
|
|
284
284
|
exports.Signatures = Signatures;
|
|
285
|
-
const Schema_Tree = ($, $p) =>
|
|
285
|
+
const Schema_Tree = ($, $p) => _pt.block(() => {
|
|
286
286
|
const l2s = $p['location 2 string'];
|
|
287
287
|
const params = $p['parameters'];
|
|
288
|
-
return
|
|
288
|
+
return _pt.cc($['state group'], ($) => {
|
|
289
289
|
switch ($[0]) {
|
|
290
|
-
case 'schema': return
|
|
290
|
+
case 'schema': return _pt.ss($, ($) => ['schema', _pt.block(() => {
|
|
291
291
|
const p_imports = (0, exports.Imports)($.imports, {
|
|
292
292
|
'location 2 string': l2s,
|
|
293
293
|
'parameters': {
|
|
@@ -297,7 +297,7 @@ const Schema_Tree = ($, $p) => _ea.block(() => {
|
|
|
297
297
|
'values': null,
|
|
298
298
|
}
|
|
299
299
|
});
|
|
300
|
-
const p_globals =
|
|
300
|
+
const p_globals = _pt.cc($['globals'], ($) => (0, exports.Globals)($, {
|
|
301
301
|
'location 2 string': l2s,
|
|
302
302
|
'parameters': {
|
|
303
303
|
'lookups': null,
|
|
@@ -320,8 +320,8 @@ const Schema_Tree = ($, $p) => _ea.block(() => {
|
|
|
320
320
|
'possibly circular dependent sibling types': $l['possibly circular dependent siblings'],
|
|
321
321
|
},
|
|
322
322
|
'values': {
|
|
323
|
-
'imports':
|
|
324
|
-
'globals':
|
|
323
|
+
'imports': _pt.set(p_imports),
|
|
324
|
+
'globals': _pt.set(p_globals),
|
|
325
325
|
'type parameters': p_type_parameters,
|
|
326
326
|
},
|
|
327
327
|
},
|
|
@@ -333,11 +333,11 @@ const Schema_Tree = ($, $p) => _ea.block(() => {
|
|
|
333
333
|
};
|
|
334
334
|
},
|
|
335
335
|
});
|
|
336
|
-
const p_complexity =
|
|
336
|
+
const p_complexity = _pt.cc($.complexity['state group'], ($) => {
|
|
337
337
|
switch ($[0]) {
|
|
338
|
-
case 'constrained': return
|
|
339
|
-
const p_signatures =
|
|
340
|
-
const p_types_2 =
|
|
338
|
+
case 'constrained': return _pt.ss($, ($) => {
|
|
339
|
+
const p_signatures = _pt.cc($.signatures, ($) => {
|
|
340
|
+
const p_types_2 = _pt.cc($, ($) => (0, exports.Signatures)($.types, {
|
|
341
341
|
'location 2 string': l2s,
|
|
342
342
|
'parameters': {
|
|
343
343
|
'lookups': null,
|
|
@@ -372,19 +372,19 @@ const Schema_Tree = ($, $p) => _ea.block(() => {
|
|
|
372
372
|
const p_type_resolver = (0, exports.Node_Resolver)($.value['type resolver'], {
|
|
373
373
|
'parameters': {
|
|
374
374
|
'lookups': {
|
|
375
|
-
'sibling property resolvers':
|
|
376
|
-
'parent sibling property resolvers':
|
|
375
|
+
'sibling property resolvers': _pt.not_set(),
|
|
376
|
+
'parent sibling property resolvers': _pt.not_set(),
|
|
377
377
|
},
|
|
378
378
|
'values': {
|
|
379
|
-
'list cursor':
|
|
380
|
-
'linked entry':
|
|
381
|
-
'current dictionary':
|
|
382
|
-
'current ordered dictionary':
|
|
383
|
-
'option constraints':
|
|
379
|
+
'list cursor': _pt.not_set(),
|
|
380
|
+
'linked entry': _pt.not_set(),
|
|
381
|
+
'current dictionary': _pt.not_set(),
|
|
382
|
+
'current ordered dictionary': _pt.not_set(),
|
|
383
|
+
'option constraints': _pt.not_set(),
|
|
384
384
|
'definition': p_linked_entry.entry.node,
|
|
385
385
|
'signature': p_signature.entry,
|
|
386
386
|
'types': p_types,
|
|
387
|
-
'imports':
|
|
387
|
+
'imports': _pt.set(p_imports),
|
|
388
388
|
'signatures': p_signatures.types
|
|
389
389
|
},
|
|
390
390
|
},
|
|
@@ -402,8 +402,8 @@ const Schema_Tree = ($, $p) => _ea.block(() => {
|
|
|
402
402
|
'resolvers': p_resolvers,
|
|
403
403
|
}];
|
|
404
404
|
});
|
|
405
|
-
case 'unconstrained': return
|
|
406
|
-
default: return
|
|
405
|
+
case 'unconstrained': return _pt.ss($, ($) => ['unconstrained', null]);
|
|
406
|
+
default: return _pt.au($[0]);
|
|
407
407
|
}
|
|
408
408
|
});
|
|
409
409
|
return ({
|
|
@@ -414,21 +414,21 @@ const Schema_Tree = ($, $p) => _ea.block(() => {
|
|
|
414
414
|
});
|
|
415
415
|
})]);
|
|
416
416
|
case 'set':
|
|
417
|
-
case 'set': return
|
|
417
|
+
case 'set': return _pt.ss($, ($) => ['set', (0, exports.Schemas)($, {
|
|
418
418
|
'location 2 string': l2s,
|
|
419
419
|
'parameters': params,
|
|
420
420
|
})]);
|
|
421
|
-
default: return
|
|
421
|
+
default: return _pt.au($[0]);
|
|
422
422
|
}
|
|
423
423
|
});
|
|
424
424
|
});
|
|
425
425
|
exports.Schema_Tree = Schema_Tree;
|
|
426
|
-
const Schemas = ($, $p) =>
|
|
426
|
+
const Schemas = ($, $p) => _pt.block(() => {
|
|
427
427
|
const l2s = $p['location 2 string'];
|
|
428
428
|
const params = $p['parameters'];
|
|
429
429
|
return _i_generic.resolve_ordered_dictionary($, {
|
|
430
430
|
'location 2 string': l2s,
|
|
431
|
-
'map': ($, $l) =>
|
|
431
|
+
'map': ($, $l) => _pt.cc($['value'], ($) => (0, exports.Schema_Tree)($, {
|
|
432
432
|
'location 2 string': l2s,
|
|
433
433
|
'parameters': {
|
|
434
434
|
'lookups': {
|
|
@@ -444,11 +444,11 @@ const Schemas = ($, $p) => _ea.block(() => {
|
|
|
444
444
|
exports.Schemas = Schemas;
|
|
445
445
|
const Text_Type = ($, $p) => {
|
|
446
446
|
return {
|
|
447
|
-
'type':
|
|
447
|
+
'type': _pt.cc($.type['state group'], ($) => {
|
|
448
448
|
switch ($[0]) {
|
|
449
|
-
case 'single line': return
|
|
450
|
-
case 'multi line': return
|
|
451
|
-
default: return
|
|
449
|
+
case 'single line': return _pt.ss($, ($) => ['single line', null]);
|
|
450
|
+
case 'multi line': return _pt.ss($, ($) => ['multi line', null]);
|
|
451
|
+
default: return _pt.au($[0]);
|
|
452
452
|
}
|
|
453
453
|
}),
|
|
454
454
|
};
|
|
@@ -456,45 +456,45 @@ const Text_Type = ($, $p) => {
|
|
|
456
456
|
exports.Text_Type = Text_Type;
|
|
457
457
|
const Type_Node = ($, $p) => {
|
|
458
458
|
const loc = $.location;
|
|
459
|
-
return
|
|
459
|
+
return _pt.cc($['state group'], ($) => {
|
|
460
460
|
switch ($[0]) {
|
|
461
|
-
case 'boolean': return
|
|
462
|
-
case 'number': return
|
|
461
|
+
case 'boolean': return _pt.ss($, ($) => ['boolean', null]);
|
|
462
|
+
case 'number': return _pt.ss($, ($) => ['number', _pt.cc($['state group'], ($) => {
|
|
463
463
|
switch ($[0]) {
|
|
464
|
-
case 'global': return
|
|
464
|
+
case 'global': return _pt.ss($, ($) => ['global', _i_generic.get_entry(_i_generic.dictionary_to_lookup($p.parameters.values.globals.transform(($) => $['number types'], () => _pt.fixme_abort("globals not set")), null), {
|
|
465
465
|
'reference': $,
|
|
466
466
|
'location 2 string': $p['location 2 string']
|
|
467
467
|
})]);
|
|
468
|
-
case 'local': return
|
|
468
|
+
case 'local': return _pt.ss($, ($) => ['local', (0, exports.Number_Type)($, {
|
|
469
469
|
'location 2 string': $p['location 2 string'],
|
|
470
470
|
'parameters': {
|
|
471
471
|
'lookups': null,
|
|
472
472
|
'values': null,
|
|
473
473
|
},
|
|
474
474
|
})]);
|
|
475
|
-
default: return
|
|
475
|
+
default: return _pt.au($[0]);
|
|
476
476
|
}
|
|
477
477
|
})]);
|
|
478
|
-
case 'text': return
|
|
478
|
+
case 'text': return _pt.ss($, ($) => ['text', _pt.cc($['state group'], ($) => {
|
|
479
479
|
switch ($[0]) {
|
|
480
|
-
case 'global': return
|
|
480
|
+
case 'global': return _pt.ss($, ($) => ['global', _i_generic.get_entry(_i_generic.dictionary_to_lookup($p.parameters.values.globals.transform(($) => $['text types'], () => _pt.fixme_abort("globals not set")), null), {
|
|
481
481
|
'reference': $,
|
|
482
482
|
'location 2 string': $p['location 2 string']
|
|
483
483
|
})]);
|
|
484
|
-
case 'local': return
|
|
484
|
+
case 'local': return _pt.ss($, ($) => ['local', (0, exports.Text_Type)($, {
|
|
485
485
|
'location 2 string': $p['location 2 string'],
|
|
486
486
|
'parameters': {
|
|
487
487
|
'lookups': null,
|
|
488
488
|
'values': null,
|
|
489
489
|
},
|
|
490
490
|
})]);
|
|
491
|
-
default: return
|
|
491
|
+
default: return _pt.au($[0]);
|
|
492
492
|
}
|
|
493
493
|
})]);
|
|
494
|
-
case 'component': return
|
|
494
|
+
case 'component': return _pt.ss($, ($) => ['component', _pt.cc($['state group'], ($) => {
|
|
495
495
|
switch ($[0]) {
|
|
496
|
-
case 'external': return
|
|
497
|
-
const sc_import = $p.parameters.values.imports.transform(($) => $, () =>
|
|
496
|
+
case 'external': return _pt.ss($, ($) => {
|
|
497
|
+
const sc_import = $p.parameters.values.imports.transform(($) => $, () => _pt.fixme_abort("missing"));
|
|
498
498
|
const p_import = _i_generic.get_entry(_i_generic.dictionary_to_lookup(sc_import, null), {
|
|
499
499
|
'reference': $['import'],
|
|
500
500
|
'location 2 string': $p['location 2 string']
|
|
@@ -507,47 +507,47 @@ const Type_Node = ($, $p) => {
|
|
|
507
507
|
})
|
|
508
508
|
}];
|
|
509
509
|
});
|
|
510
|
-
case 'internal': return
|
|
510
|
+
case 'internal': return _pt.ss($, ($) => ['internal', _i_generic.get_entry($p.parameters.lookups['noncircular sibling types'], {
|
|
511
511
|
'reference': $,
|
|
512
512
|
'location 2 string': $p['location 2 string']
|
|
513
513
|
})]);
|
|
514
|
-
case 'internal cyclic': return
|
|
514
|
+
case 'internal cyclic': return _pt.ss($, ($) => ['internal cyclic', _i_generic.get_possibly_circular_dependent_sibling_entry($p.parameters.lookups['possibly circular dependent sibling types'], {
|
|
515
515
|
'reference': $,
|
|
516
516
|
'location 2 string': $p['location 2 string']
|
|
517
517
|
})]);
|
|
518
|
-
default: return
|
|
518
|
+
default: return _pt.au($[0]);
|
|
519
519
|
}
|
|
520
520
|
})]);
|
|
521
|
-
case 'dictionary': return
|
|
521
|
+
case 'dictionary': return _pt.ss($, ($) => {
|
|
522
522
|
const p_type = (0, exports.Type_Node)($.node, $p);
|
|
523
523
|
return ['dictionary', {
|
|
524
524
|
'node': p_type,
|
|
525
525
|
'ordered': $.ordered,
|
|
526
526
|
}];
|
|
527
527
|
});
|
|
528
|
-
case 'group': return
|
|
528
|
+
case 'group': return _pt.ss($, ($) => ['group', _i_generic.resolve_ordered_dictionary($, {
|
|
529
529
|
'location 2 string': $p['location 2 string'],
|
|
530
530
|
'map': ($, $l) => ({
|
|
531
531
|
'description': $.value.description,
|
|
532
532
|
'node': (0, exports.Type_Node)($.value.node, $p)
|
|
533
533
|
}),
|
|
534
534
|
})]);
|
|
535
|
-
case 'list': return
|
|
535
|
+
case 'list': return _pt.ss($, ($) => {
|
|
536
536
|
const p_type = (0, exports.Type_Node)($.node, $p);
|
|
537
537
|
return ['list', {
|
|
538
538
|
'node': p_type,
|
|
539
539
|
}];
|
|
540
540
|
});
|
|
541
|
-
case 'nothing': return
|
|
542
|
-
case 'optional': return
|
|
543
|
-
case 'reference': return
|
|
541
|
+
case 'nothing': return _pt.ss($, ($) => ['nothing', null]);
|
|
542
|
+
case 'optional': return _pt.ss($, ($) => ['optional', (0, exports.Type_Node)($, $p)]);
|
|
543
|
+
case 'reference': return _pt.ss($, ($) => {
|
|
544
544
|
const loc = $.referent['type location'].location.location;
|
|
545
545
|
$p.parameters.values.globals.transform(($) => {
|
|
546
546
|
if ($.complexity[0] === 'unconstrained') {
|
|
547
|
-
|
|
547
|
+
_pt.fixme_abort(`schema complexity setting is 'unconstrained', so references are not allowed @ ${$p['location 2 string'](loc)}`);
|
|
548
548
|
}
|
|
549
549
|
}, () => {
|
|
550
|
-
|
|
550
|
+
_pt.fixme_abort(`schema doesn't have settings, so no references are allowed @ ${$p['location 2 string'](loc)}`);
|
|
551
551
|
});
|
|
552
552
|
const p_referent = (0, exports.Type_Node_Reference)($.referent, {
|
|
553
553
|
'location 2 string': $p['location 2 string'],
|
|
@@ -560,28 +560,28 @@ const Type_Node = ($, $p) => {
|
|
|
560
560
|
},
|
|
561
561
|
}
|
|
562
562
|
});
|
|
563
|
-
const p_type =
|
|
563
|
+
const p_type = _pt.cc($.type['state group'], ($) => {
|
|
564
564
|
switch ($[0]) {
|
|
565
|
-
case 'selected': return
|
|
565
|
+
case 'selected': return _pt.ss($, ($) => {
|
|
566
566
|
return ['selected', {
|
|
567
|
-
'dictionary':
|
|
567
|
+
'dictionary': _pt.cc(p_referent['resulting node'], ($) => {
|
|
568
568
|
switch ($[0]) {
|
|
569
|
-
case 'dictionary': return
|
|
570
|
-
default: return
|
|
569
|
+
case 'dictionary': return _pt.ss($, ($) => $);
|
|
570
|
+
default: return _pt.fixme_abort(`not a 'dictionary' but a '${$[0]}' @ ${$p['location 2 string'](loc)}`);
|
|
571
571
|
}
|
|
572
572
|
}),
|
|
573
|
-
'dependency':
|
|
573
|
+
'dependency': _pt.cc($.dependency['state group'], ($) => {
|
|
574
574
|
switch ($[0]) {
|
|
575
|
-
case 'cyclic': return
|
|
576
|
-
case 'acyclic': return
|
|
577
|
-
case 'stack': return
|
|
578
|
-
default: return
|
|
575
|
+
case 'cyclic': return _pt.ss($, ($) => ['cyclic', null]);
|
|
576
|
+
case 'acyclic': return _pt.ss($, ($) => ['acyclic', null]);
|
|
577
|
+
case 'stack': return _pt.ss($, ($) => ['stack', $]);
|
|
578
|
+
default: return _pt.au($[0]);
|
|
579
579
|
}
|
|
580
580
|
})
|
|
581
581
|
}];
|
|
582
582
|
});
|
|
583
|
-
case 'derived': return
|
|
584
|
-
default: return
|
|
583
|
+
case 'derived': return _pt.ss($, ($) => ['derived', null]);
|
|
584
|
+
default: return _pt.au($[0]);
|
|
585
585
|
}
|
|
586
586
|
});
|
|
587
587
|
return ['reference', {
|
|
@@ -607,14 +607,14 @@ const Type_Node = ($, $p) => {
|
|
|
607
607
|
// }]
|
|
608
608
|
// }
|
|
609
609
|
});
|
|
610
|
-
case 'state group': return
|
|
610
|
+
case 'state group': return _pt.ss($, ($) => ['state group', _i_generic.resolve_dictionary($, {
|
|
611
611
|
'location 2 string': $p['location 2 string'],
|
|
612
612
|
'map': ($, $l) => ({
|
|
613
613
|
'description': $.value.description,
|
|
614
614
|
'node': (0, exports.Type_Node)($.value.node, $p),
|
|
615
615
|
}),
|
|
616
616
|
})]);
|
|
617
|
-
// case 'type parameter': return
|
|
617
|
+
// case 'type parameter': return _pt.ss($, ($) => ['type parameter', _i_generic.get_entry(
|
|
618
618
|
// _i_generic.dictionary_to_lookup(
|
|
619
619
|
// $p.parameters.values['type parameters'],
|
|
620
620
|
// null,
|
|
@@ -624,7 +624,7 @@ const Type_Node = ($, $p) => {
|
|
|
624
624
|
// 'location 2 string': $p['location 2 string']
|
|
625
625
|
// }
|
|
626
626
|
// )])
|
|
627
|
-
default: return
|
|
627
|
+
default: return _pt.au($[0]);
|
|
628
628
|
}
|
|
629
629
|
});
|
|
630
630
|
};
|
|
@@ -637,10 +637,10 @@ const Type_Parameters = ($, $p) => _i_generic.resolve_dictionary($, {
|
|
|
637
637
|
});
|
|
638
638
|
exports.Type_Parameters = Type_Parameters;
|
|
639
639
|
const Type_Reference = ($, $p) => {
|
|
640
|
-
const x =
|
|
640
|
+
const x = _pt.cc($.location['state group'], ($) => {
|
|
641
641
|
switch ($[0]) {
|
|
642
|
-
case 'external': return
|
|
643
|
-
const sc_import = $p.parameters.values.imports.transform(($) => $, () =>
|
|
642
|
+
case 'external': return _pt.ss($, ($) => {
|
|
643
|
+
const sc_import = $p.parameters.values.imports.transform(($) => $, () => _pt.fixme_abort("missing"));
|
|
644
644
|
const p_import = _i_generic.get_entry(_i_generic.dictionary_to_lookup(sc_import, null), {
|
|
645
645
|
'reference': $['import'],
|
|
646
646
|
'location 2 string': $p['location 2 string']
|
|
@@ -653,20 +653,20 @@ const Type_Reference = ($, $p) => {
|
|
|
653
653
|
})
|
|
654
654
|
}];
|
|
655
655
|
});
|
|
656
|
-
case 'internal': return
|
|
656
|
+
case 'internal': return _pt.ss($, ($) => ['internal', _i_generic.get_entry($p.parameters.lookups['types'], {
|
|
657
657
|
'reference': $,
|
|
658
658
|
'location 2 string': $p['location 2 string']
|
|
659
659
|
})]);
|
|
660
|
-
default: return
|
|
660
|
+
default: return _pt.au($[0]);
|
|
661
661
|
}
|
|
662
662
|
});
|
|
663
663
|
return {
|
|
664
664
|
'location': x,
|
|
665
|
-
'resulting node':
|
|
665
|
+
'resulting node': _pt.cc(x, ($) => {
|
|
666
666
|
switch ($[0]) {
|
|
667
|
-
case 'external': return
|
|
668
|
-
case 'internal': return
|
|
669
|
-
default: return
|
|
667
|
+
case 'external': return _pt.ss($, ($) => $.type.entry.node);
|
|
668
|
+
case 'internal': return _pt.ss($, ($) => $.entry.node);
|
|
669
|
+
default: return _pt.au($[0]);
|
|
670
670
|
}
|
|
671
671
|
})
|
|
672
672
|
};
|
|
@@ -678,12 +678,12 @@ const Type_Node_Reference = ($, $p) => {
|
|
|
678
678
|
'seed': p_type_location['resulting node'],
|
|
679
679
|
'map': ($, current) => {
|
|
680
680
|
const sg_loc = $.location;
|
|
681
|
-
return
|
|
681
|
+
return _pt.cc($['state group'], ($) => {
|
|
682
682
|
switch ($[0]) {
|
|
683
|
-
case 'dictionary': return
|
|
684
|
-
const sc_definition =
|
|
683
|
+
case 'dictionary': return _pt.ss($, ($) => {
|
|
684
|
+
const sc_definition = _pt.cc(current, ($) => {
|
|
685
685
|
if ($[0] !== 'dictionary') {
|
|
686
|
-
return
|
|
686
|
+
return _pt.fixme_abort(`not a 'dictionary' but a '${$[0]}' @ ${$p['location 2 string'](sg_loc)}`);
|
|
687
687
|
}
|
|
688
688
|
return $[1];
|
|
689
689
|
});
|
|
@@ -692,10 +692,10 @@ const Type_Node_Reference = ($, $p) => {
|
|
|
692
692
|
'result': sc_definition.node
|
|
693
693
|
};
|
|
694
694
|
});
|
|
695
|
-
case 'group': return
|
|
696
|
-
const sc_definition =
|
|
695
|
+
case 'group': return _pt.ss($, ($) => {
|
|
696
|
+
const sc_definition = _pt.cc(current, ($) => {
|
|
697
697
|
if ($[0] !== 'group') {
|
|
698
|
-
return
|
|
698
|
+
return _pt.fixme_abort(`not a 'group' but a '${$[0]}' @ ${$p['location 2 string'](sg_loc)}`);
|
|
699
699
|
}
|
|
700
700
|
return $[1];
|
|
701
701
|
});
|
|
@@ -708,10 +708,10 @@ const Type_Node_Reference = ($, $p) => {
|
|
|
708
708
|
'result': p_child.entry.node
|
|
709
709
|
};
|
|
710
710
|
});
|
|
711
|
-
case 'list': return
|
|
712
|
-
const sc_definition =
|
|
711
|
+
case 'list': return _pt.ss($, ($) => {
|
|
712
|
+
const sc_definition = _pt.cc(current, ($) => {
|
|
713
713
|
if ($[0] !== 'list') {
|
|
714
|
-
return
|
|
714
|
+
return _pt.fixme_abort(`not a 'list' but a '${$[0]}' @ ${$p['location 2 string'](sg_loc)}`);
|
|
715
715
|
}
|
|
716
716
|
return $[1];
|
|
717
717
|
});
|
|
@@ -720,10 +720,10 @@ const Type_Node_Reference = ($, $p) => {
|
|
|
720
720
|
'result': sc_definition.node
|
|
721
721
|
};
|
|
722
722
|
});
|
|
723
|
-
case 'optional': return
|
|
724
|
-
const sc_definition =
|
|
723
|
+
case 'optional': return _pt.ss($, ($) => {
|
|
724
|
+
const sc_definition = _pt.cc(current, ($) => {
|
|
725
725
|
if ($[0] !== 'optional') {
|
|
726
|
-
return
|
|
726
|
+
return _pt.fixme_abort(`not a 'optional' but a '${$[0]}' @ ${$p['location 2 string'](sg_loc)}`);
|
|
727
727
|
}
|
|
728
728
|
return $[1];
|
|
729
729
|
});
|
|
@@ -732,10 +732,10 @@ const Type_Node_Reference = ($, $p) => {
|
|
|
732
732
|
'result': sc_definition
|
|
733
733
|
};
|
|
734
734
|
});
|
|
735
|
-
case 'state group': return
|
|
736
|
-
const p_state_group =
|
|
735
|
+
case 'state group': return _pt.ss($, ($) => {
|
|
736
|
+
const p_state_group = _pt.cc(current, ($) => {
|
|
737
737
|
if ($[0] !== 'state group') {
|
|
738
|
-
return
|
|
738
|
+
return _pt.fixme_abort(`not a 'state group' but a '${$[0]}' @ ${$p['location 2 string'](sg_loc)}`);
|
|
739
739
|
}
|
|
740
740
|
return $[1];
|
|
741
741
|
});
|
|
@@ -748,7 +748,7 @@ const Type_Node_Reference = ($, $p) => {
|
|
|
748
748
|
'result': p_child.entry.node
|
|
749
749
|
};
|
|
750
750
|
});
|
|
751
|
-
default: return
|
|
751
|
+
default: return _pt.au($[0]);
|
|
752
752
|
}
|
|
753
753
|
});
|
|
754
754
|
}
|
|
@@ -761,20 +761,20 @@ const Type_Node_Reference = ($, $p) => {
|
|
|
761
761
|
};
|
|
762
762
|
exports.Type_Node_Reference = Type_Node_Reference;
|
|
763
763
|
const Option_Constraints = ($, $p) => {
|
|
764
|
-
return
|
|
764
|
+
return _pt.cc($, ($) => _i_generic.resolve_dictionary($, {
|
|
765
765
|
'location 2 string': $p['location 2 string'],
|
|
766
|
-
'map': ($, $l) =>
|
|
766
|
+
'map': ($, $l) => _pt.cc($['value'], ($) => _pt.cc($['state group'], ($) => {
|
|
767
767
|
switch ($[0]) {
|
|
768
|
-
case 'state': return
|
|
768
|
+
case 'state': return _pt.ss($, ($) => ['state', _pt.block(() => {
|
|
769
769
|
const loc = $.selection.start.location;
|
|
770
|
-
const p_selection =
|
|
770
|
+
const p_selection = _pt.cc($['selection'], ($) => (0, exports.Guaranteed_Value_Selection)($, {
|
|
771
771
|
'location 2 string': $p['location 2 string'],
|
|
772
772
|
'parameters': $p.parameters
|
|
773
773
|
}));
|
|
774
774
|
const p_selected_state_group = p_selection['resulting node'][0] !== 'state group' // component constraint ('selection')
|
|
775
|
-
?
|
|
775
|
+
? _pt.fixme_abort("not a 'state group' but a '", p_selection['resulting node'][0], "' @ ", $p['location 2 string'](loc))
|
|
776
776
|
: p_selection['resulting node'][1];
|
|
777
|
-
const p_state =
|
|
777
|
+
const p_state = _pt.cc($['state'], ($) => _i_generic.get_entry(_i_generic.dictionary_to_lookup(p_selected_state_group, null), {
|
|
778
778
|
'location 2 string': $p['location 2 string'],
|
|
779
779
|
'reference': $,
|
|
780
780
|
}));
|
|
@@ -784,18 +784,18 @@ const Option_Constraints = ($, $p) => {
|
|
|
784
784
|
'state': p_state,
|
|
785
785
|
});
|
|
786
786
|
})]);
|
|
787
|
-
case 'assert is set': return
|
|
787
|
+
case 'assert is set': return _pt.ss($, ($) => ['assert is set', (0, exports.Possibly_Optional)($, {
|
|
788
788
|
'location 2 string': $p['location 2 string'],
|
|
789
789
|
'parameters': $p.parameters
|
|
790
790
|
})]);
|
|
791
|
-
default: return
|
|
791
|
+
default: return _pt.au($[0]);
|
|
792
792
|
}
|
|
793
793
|
})),
|
|
794
794
|
}));
|
|
795
795
|
};
|
|
796
796
|
exports.Option_Constraints = Option_Constraints;
|
|
797
797
|
const Constraint = ($, $p) => {
|
|
798
|
-
const p_selection =
|
|
798
|
+
const p_selection = _pt.cc($['selection'], ($) => (0, exports.Relative_Value_Selection)($, {
|
|
799
799
|
'location 2 string': $p['location 2 string'],
|
|
800
800
|
'parameters': {
|
|
801
801
|
'lookups': null,
|
|
@@ -805,13 +805,13 @@ const Constraint = ($, $p) => {
|
|
|
805
805
|
}
|
|
806
806
|
}));
|
|
807
807
|
const loc = $.type.location;
|
|
808
|
-
const p_type =
|
|
808
|
+
const p_type = _pt.cc($.type, ($) => _pt.cc($['state group'], ($) => {
|
|
809
809
|
switch ($[0]) {
|
|
810
|
-
case 'state': return
|
|
810
|
+
case 'state': return _pt.ss($, ($) => {
|
|
811
811
|
const p_selected_state_group = p_selection['resulting node'][0] !== 'state group' // component constraint ('selection')
|
|
812
|
-
?
|
|
812
|
+
? _pt.fixme_abort("not a 'state group' but a '", p_selection['resulting node'][0], "' @ ", $p['location 2 string'](loc))
|
|
813
813
|
: p_selection['resulting node'][1];
|
|
814
|
-
const p_state =
|
|
814
|
+
const p_state = _pt.cc($['state'], ($) => _i_generic.get_entry(_i_generic.dictionary_to_lookup(p_selected_state_group, null), {
|
|
815
815
|
'location 2 string': $p['location 2 string'],
|
|
816
816
|
'reference': $,
|
|
817
817
|
}));
|
|
@@ -820,15 +820,15 @@ const Constraint = ($, $p) => {
|
|
|
820
820
|
'state': p_state,
|
|
821
821
|
}];
|
|
822
822
|
});
|
|
823
|
-
case 'optional value': return
|
|
823
|
+
case 'optional value': return _pt.ss($, ($) => {
|
|
824
824
|
const p_selected_optional_value = p_selection['resulting node'][0] !== 'optional' // component constraint ('selection')
|
|
825
|
-
?
|
|
825
|
+
? _pt.fixme_abort("not a 'optional' but a '", p_selection['resulting node'][0], "' @ ", $p['location 2 string'](loc))
|
|
826
826
|
: p_selection['resulting node'][1];
|
|
827
827
|
return ['optional value', {
|
|
828
828
|
'selected optional value': p_selected_optional_value,
|
|
829
829
|
}];
|
|
830
830
|
});
|
|
831
|
-
default: return
|
|
831
|
+
default: return _pt.au($[0]);
|
|
832
832
|
}
|
|
833
833
|
}));
|
|
834
834
|
return {
|
|
@@ -838,17 +838,17 @@ const Constraint = ($, $p) => {
|
|
|
838
838
|
};
|
|
839
839
|
exports.Constraint = Constraint;
|
|
840
840
|
const Property_Constraints = ($, $p) => {
|
|
841
|
-
return
|
|
841
|
+
return _pt.cc($, ($) => _i_generic.resolve_ordered_dictionary($, {
|
|
842
842
|
'location 2 string': $p['location 2 string'],
|
|
843
|
-
'map': ($, $l) =>
|
|
844
|
-
const p_start =
|
|
843
|
+
'map': ($, $l) => _pt.cc($['value'], ($) => _pt.block(() => {
|
|
844
|
+
const p_start = _pt.cc($.start['state group'], ($) => {
|
|
845
845
|
switch ($[0]) {
|
|
846
|
-
case 'property': return
|
|
847
|
-
case 'sibling': return
|
|
846
|
+
case 'property': return _pt.ss($, ($) => ['property', null]);
|
|
847
|
+
case 'sibling': return _pt.ss($, ($) => ['sibling', _i_generic.get_entry($l['not circular dependent siblings'], {
|
|
848
848
|
'location 2 string': $p['location 2 string'],
|
|
849
849
|
'reference': $
|
|
850
850
|
})]);
|
|
851
|
-
default: return
|
|
851
|
+
default: return _pt.au($[0]);
|
|
852
852
|
}
|
|
853
853
|
});
|
|
854
854
|
const p_constraint = (0, exports.Constraint)($.constraint, {
|
|
@@ -856,17 +856,17 @@ const Property_Constraints = ($, $p) => {
|
|
|
856
856
|
'parameters': {
|
|
857
857
|
'lookups': null,
|
|
858
858
|
'values': {
|
|
859
|
-
'node':
|
|
859
|
+
'node': _pt.cc(p_start, ($) => {
|
|
860
860
|
switch ($[0]) {
|
|
861
|
-
case 'property': return
|
|
862
|
-
case 'sibling': return
|
|
861
|
+
case 'property': return _pt.ss($, ($) => $p.parameters.values.node);
|
|
862
|
+
case 'sibling': return _pt.ss($, ($) => _pt.cc($.entry.constraint.type, ($) => {
|
|
863
863
|
switch ($[0]) {
|
|
864
|
-
case 'state': return
|
|
865
|
-
case 'optional value': return
|
|
866
|
-
default: return
|
|
864
|
+
case 'state': return _pt.ss($, ($) => $.state.entry.node);
|
|
865
|
+
case 'optional value': return _pt.ss($, ($) => $['selected optional value']);
|
|
866
|
+
default: return _pt.au($[0]);
|
|
867
867
|
}
|
|
868
868
|
}));
|
|
869
|
-
default: return
|
|
869
|
+
default: return _pt.au($[0]);
|
|
870
870
|
}
|
|
871
871
|
}),
|
|
872
872
|
}
|
|
@@ -882,31 +882,31 @@ const Property_Constraints = ($, $p) => {
|
|
|
882
882
|
exports.Property_Constraints = Property_Constraints;
|
|
883
883
|
const Node_Resolver = ($, $p) => {
|
|
884
884
|
const loc = $.location;
|
|
885
|
-
const p_type =
|
|
885
|
+
const p_type = _pt.cc($['state group'], ($) => {
|
|
886
886
|
switch ($[0]) {
|
|
887
|
-
case 'boolean': return
|
|
887
|
+
case 'boolean': return _pt.ss($, ($) => {
|
|
888
888
|
const x = $p.parameters.values.definition[0] !== 'boolean'
|
|
889
|
-
?
|
|
889
|
+
? _pt.fixme_abort("not a 'boolean' but a '", $p.parameters.values.definition[0], "' @ ", $p['location 2 string'](loc))
|
|
890
890
|
: $p.parameters.values.definition[1];
|
|
891
891
|
return ['boolean', null];
|
|
892
892
|
});
|
|
893
|
-
case 'component': return
|
|
893
|
+
case 'component': return _pt.ss($, ($) => {
|
|
894
894
|
const x = $p.parameters.values.definition[0] !== 'component'
|
|
895
|
-
?
|
|
895
|
+
? _pt.fixme_abort("not a 'component' but a '", $p.parameters.values.definition[0], "' @ ", $p['location 2 string'](loc))
|
|
896
896
|
: $p.parameters.values.definition[1];
|
|
897
|
-
const p_location =
|
|
897
|
+
const p_location = _pt.cc($.location['state group'], ($) => {
|
|
898
898
|
switch ($[0]) {
|
|
899
|
-
case 'external': return
|
|
900
|
-
const sc_import = $p.parameters.values.imports.transform(($) => $, () =>
|
|
899
|
+
case 'external': return _pt.ss($, ($) => {
|
|
900
|
+
const sc_import = $p.parameters.values.imports.transform(($) => $, () => _pt.fixme_abort("missing"));
|
|
901
901
|
const p_import = _i_generic.get_entry(_i_generic.dictionary_to_lookup(sc_import, null), {
|
|
902
902
|
'reference': $['import'],
|
|
903
903
|
'location 2 string': $p['location 2 string']
|
|
904
904
|
});
|
|
905
|
-
const pc_constrained =
|
|
905
|
+
const pc_constrained = _pt.cc(p_import.entry.schema.complexity, ($) => {
|
|
906
906
|
switch ($[0]) {
|
|
907
|
-
case 'constrained': return
|
|
908
|
-
case 'unconstrained': return
|
|
909
|
-
default: return
|
|
907
|
+
case 'constrained': return _pt.ss($, ($) => $);
|
|
908
|
+
case 'unconstrained': return _pt.ss($, ($) => _pt.fixme_abort(`not constrained @ ${$p['location 2 string'](loc)}`));
|
|
909
|
+
default: return _pt.au($[0]);
|
|
910
910
|
}
|
|
911
911
|
});
|
|
912
912
|
return ['external', {
|
|
@@ -917,46 +917,46 @@ const Node_Resolver = ($, $p) => {
|
|
|
917
917
|
})
|
|
918
918
|
}];
|
|
919
919
|
});
|
|
920
|
-
case 'internal': return
|
|
920
|
+
case 'internal': return _pt.ss($, ($) => ['internal', _i_generic.get_entry(_i_generic.dictionary_to_lookup($p.parameters.values['signatures'].dictionary, null), {
|
|
921
921
|
'reference': $,
|
|
922
922
|
'location 2 string': $p['location 2 string']
|
|
923
923
|
})]);
|
|
924
|
-
default: return
|
|
924
|
+
default: return _pt.au($[0]);
|
|
925
925
|
}
|
|
926
926
|
});
|
|
927
|
-
const p_signature =
|
|
927
|
+
const p_signature = _pt.cc(p_location, ($) => {
|
|
928
928
|
switch ($[0]) {
|
|
929
|
-
case 'external': return
|
|
930
|
-
case 'internal': return
|
|
931
|
-
default: return
|
|
929
|
+
case 'external': return _pt.ss($, ($) => $.type.entry);
|
|
930
|
+
case 'internal': return _pt.ss($, ($) => $.entry);
|
|
931
|
+
default: return _pt.au($[0]);
|
|
932
932
|
}
|
|
933
933
|
});
|
|
934
|
-
const x_type =
|
|
934
|
+
const x_type = _pt.cc(x, ($) => {
|
|
935
935
|
switch ($[0]) {
|
|
936
|
-
case 'external': return
|
|
937
|
-
case 'internal': return
|
|
938
|
-
case 'internal cyclic': return
|
|
939
|
-
default: return
|
|
936
|
+
case 'external': return _pt.ss($, ($) => $.type.entry);
|
|
937
|
+
case 'internal': return _pt.ss($, ($) => $.entry);
|
|
938
|
+
case 'internal cyclic': return _pt.ss($, ($) => $.entry['get circular dependent']());
|
|
939
|
+
default: return _pt.au($[0]);
|
|
940
940
|
}
|
|
941
941
|
});
|
|
942
942
|
if (p_signature.type.node !== x_type.node) {
|
|
943
|
-
|
|
943
|
+
_pt.fixme_abort("type mismatch @ ", $p['location 2 string'](loc));
|
|
944
944
|
}
|
|
945
945
|
const p_arguments = $.arguments.transform(($) => {
|
|
946
946
|
const x = {
|
|
947
|
-
'lookups': $.lookups.transform(($) =>
|
|
947
|
+
'lookups': $.lookups.transform(($) => _pt.set(_i_generic.resolve_dense_dictionary($, {
|
|
948
948
|
'location 2 string': $p['location 2 string'],
|
|
949
|
-
'map': ($, $l) =>
|
|
949
|
+
'map': ($, $l) => _pt.cc($['value'], ($) => {
|
|
950
950
|
//do additional validation
|
|
951
|
-
return
|
|
951
|
+
return _pt.cc($['state group'], ($) => {
|
|
952
952
|
switch ($[0]) {
|
|
953
|
-
case 'empty stack': return
|
|
954
|
-
case 'not set': return
|
|
955
|
-
case 'selection': return
|
|
953
|
+
case 'empty stack': return _pt.ss($, ($) => ['empty stack', null]);
|
|
954
|
+
case 'not set': return _pt.ss($, ($) => ['not set', null]);
|
|
955
|
+
case 'selection': return _pt.ss($, ($) => ['selection', (0, exports.Lookup_Selection)($, {
|
|
956
956
|
'location 2 string': $p['location 2 string'],
|
|
957
957
|
'parameters': $p.parameters,
|
|
958
958
|
})]);
|
|
959
|
-
case 'stack': return
|
|
959
|
+
case 'stack': return _pt.ss($, ($) => {
|
|
960
960
|
const p_stack = (0, exports.Lookup_Selection)($.stack, {
|
|
961
961
|
'location 2 string': $p['location 2 string'],
|
|
962
962
|
'parameters': $p.parameters
|
|
@@ -970,7 +970,7 @@ const Node_Resolver = ($, $p) => {
|
|
|
970
970
|
'element': p_element
|
|
971
971
|
}];
|
|
972
972
|
});
|
|
973
|
-
default: return
|
|
973
|
+
default: return _pt.au($[0]);
|
|
974
974
|
}
|
|
975
975
|
});
|
|
976
976
|
}),
|
|
@@ -979,35 +979,35 @@ const Node_Resolver = ($, $p) => {
|
|
|
979
979
|
{
|
|
980
980
|
//additional validation
|
|
981
981
|
if (p_signature['resolved parameters'].lookups !== $p.parameters.values.signature['resolved parameters'].lookups) {
|
|
982
|
-
|
|
982
|
+
_pt.fixme_abort("lookup parameters mismatch @ ", $p['location 2 string'](loc));
|
|
983
983
|
}
|
|
984
984
|
}
|
|
985
|
-
return
|
|
985
|
+
return _pt.not_set();
|
|
986
986
|
}),
|
|
987
987
|
'values': $.values.transform(($) => {
|
|
988
988
|
const values_location = $.location;
|
|
989
|
-
return
|
|
989
|
+
return _pt.set(_i_generic.resolve_dense_dictionary($, {
|
|
990
990
|
'location 2 string': $p['location 2 string'],
|
|
991
|
-
'map': ($, $l) =>
|
|
991
|
+
'map': ($, $l) => _pt.cc($, ($) => {
|
|
992
992
|
const linked_entry = _i_generic.get_entry(_i_generic.dictionary_to_lookup(p_signature['resolved parameters'].values, null), {
|
|
993
993
|
'location 2 string': $p['location 2 string'],
|
|
994
994
|
'reference': $
|
|
995
995
|
});
|
|
996
|
-
const out =
|
|
996
|
+
const out = _pt.cc($.value['state group'], ($) => {
|
|
997
997
|
switch ($[0]) {
|
|
998
|
-
case 'optional': return
|
|
998
|
+
case 'optional': return _pt.ss($, ($) => ['optional', (0, exports.Possible_Value_Selection)($, {
|
|
999
999
|
'location 2 string': $p['location 2 string'],
|
|
1000
1000
|
'parameters': $p.parameters,
|
|
1001
1001
|
})]);
|
|
1002
|
-
case 'parameter': return
|
|
1002
|
+
case 'parameter': return _pt.ss($, ($) => ['parameter', _i_generic.get_entry(_i_generic.dictionary_to_lookup($p.parameters.values.signature['resolved parameters'].values, null), {
|
|
1003
1003
|
'reference': $,
|
|
1004
1004
|
'location 2 string': $p['location 2 string']
|
|
1005
1005
|
})]);
|
|
1006
|
-
case 'required': return
|
|
1006
|
+
case 'required': return _pt.ss($, ($) => ['required', (0, exports.Guaranteed_Value_Selection)($, {
|
|
1007
1007
|
'location 2 string': $p['location 2 string'],
|
|
1008
1008
|
'parameters': $p.parameters,
|
|
1009
1009
|
})]);
|
|
1010
|
-
default: return
|
|
1010
|
+
default: return _pt.au($[0]);
|
|
1011
1011
|
}
|
|
1012
1012
|
});
|
|
1013
1013
|
{
|
|
@@ -1016,67 +1016,67 @@ const Node_Resolver = ($, $p) => {
|
|
|
1016
1016
|
const key = $.key;
|
|
1017
1017
|
const focus = out;
|
|
1018
1018
|
const walk_path_till_end = ($) => {
|
|
1019
|
-
return
|
|
1019
|
+
return _pt.cc($, ($) => {
|
|
1020
1020
|
switch ($[0]) {
|
|
1021
|
-
case 'component': return
|
|
1021
|
+
case 'component': return _pt.ss($, ($) => _pt.cc($, ($) => {
|
|
1022
1022
|
switch ($[0]) {
|
|
1023
|
-
case 'external': return
|
|
1024
|
-
case 'internal': return
|
|
1025
|
-
case 'internal cyclic': return
|
|
1026
|
-
default: return
|
|
1023
|
+
case 'external': return _pt.ss($, ($) => $.type.entry.node);
|
|
1024
|
+
case 'internal': return _pt.ss($, ($) => $.entry.node);
|
|
1025
|
+
case 'internal cyclic': return _pt.ss($, ($) => $.entry['get circular dependent']().node); //IS THIS SAFE? I Am using a computed value (only available after resolving)
|
|
1026
|
+
default: return _pt.au($[0]);
|
|
1027
1027
|
}
|
|
1028
1028
|
}));
|
|
1029
|
-
case 'reference': return
|
|
1029
|
+
case 'reference': return _pt.ss($, ($) => $.referent['resulting node']);
|
|
1030
1030
|
default: return $;
|
|
1031
1031
|
}
|
|
1032
1032
|
});
|
|
1033
1033
|
};
|
|
1034
|
-
|
|
1034
|
+
_pt.cc(focus, ($) => {
|
|
1035
1035
|
switch ($[0]) {
|
|
1036
|
-
case 'optional': return
|
|
1036
|
+
case 'optional': return _pt.ss($, ($) => {
|
|
1037
1037
|
if (benchmark.presence[0] !== 'optional') {
|
|
1038
|
-
|
|
1038
|
+
_pt.fixme_abort("argument is not optional '", key, "' @ ", $p['location 2 string'](values_location));
|
|
1039
1039
|
}
|
|
1040
|
-
|
|
1040
|
+
_pt.cc($, ($) => {
|
|
1041
1041
|
switch ($[0]) {
|
|
1042
|
-
case 'not set': return
|
|
1043
|
-
case 'selection': return
|
|
1042
|
+
case 'not set': return _pt.ss($, ($) => { });
|
|
1043
|
+
case 'selection': return _pt.ss($, ($) => {
|
|
1044
1044
|
//FIXME
|
|
1045
|
-
|
|
1045
|
+
_pt.cc($, ($) => {
|
|
1046
1046
|
switch ($[0]) {
|
|
1047
|
-
case 'parameter': return
|
|
1048
|
-
case 'result': return
|
|
1049
|
-
default:
|
|
1047
|
+
case 'parameter': return _pt.ss($, ($) => { });
|
|
1048
|
+
case 'result': return _pt.ss($, ($) => { });
|
|
1049
|
+
default: _pt.au($[0]);
|
|
1050
1050
|
}
|
|
1051
1051
|
});
|
|
1052
1052
|
});
|
|
1053
|
-
case 'set': return
|
|
1053
|
+
case 'set': return _pt.ss($, ($) => {
|
|
1054
1054
|
if (walk_path_till_end(benchmark['data type']['resulting node']) !== walk_path_till_end($.tail['resulting node'])) {
|
|
1055
|
-
|
|
1055
|
+
_pt.fixme_abort("type mismatch in '", key, "' @ ", $p['location 2 string'](values_location));
|
|
1056
1056
|
}
|
|
1057
1057
|
});
|
|
1058
|
-
default:
|
|
1058
|
+
default: _pt.au($[0]);
|
|
1059
1059
|
}
|
|
1060
1060
|
});
|
|
1061
1061
|
//FIX validate that types are the same
|
|
1062
1062
|
});
|
|
1063
|
-
case 'parameter': return
|
|
1063
|
+
case 'parameter': return _pt.ss($, ($) => {
|
|
1064
1064
|
if ($.entry.presence[0] !== benchmark.presence[0]) {
|
|
1065
|
-
|
|
1065
|
+
_pt.fixme_abort("parameter '", key, "' presence mismatch @ ", $p['location 2 string'](values_location));
|
|
1066
1066
|
}
|
|
1067
1067
|
if ($.entry['data type']['resulting node'] !== benchmark['data type']['resulting node']) {
|
|
1068
|
-
|
|
1068
|
+
_pt.fixme_abort("parameter '", key, "' type mismatch @ ", $p['location 2 string'](values_location));
|
|
1069
1069
|
}
|
|
1070
1070
|
});
|
|
1071
|
-
case 'required': return
|
|
1071
|
+
case 'required': return _pt.ss($, ($) => {
|
|
1072
1072
|
if (benchmark.presence[0] !== 'required') {
|
|
1073
|
-
|
|
1073
|
+
_pt.fixme_abort("argument '", key, "' is not required @ ", $p['location 2 string'](values_location));
|
|
1074
1074
|
}
|
|
1075
1075
|
if (walk_path_till_end(benchmark['data type']['resulting node']) !== walk_path_till_end($.tail['resulting node'])) {
|
|
1076
|
-
|
|
1076
|
+
_pt.fixme_abort("type mismatch in '", key, "' @ ", $p['location 2 string'](values_location));
|
|
1077
1077
|
}
|
|
1078
1078
|
});
|
|
1079
|
-
default: return
|
|
1079
|
+
default: return _pt.au($[0]);
|
|
1080
1080
|
}
|
|
1081
1081
|
});
|
|
1082
1082
|
}
|
|
@@ -1088,35 +1088,35 @@ const Node_Resolver = ($, $p) => {
|
|
|
1088
1088
|
{
|
|
1089
1089
|
//additional validation
|
|
1090
1090
|
if (p_signature['resolved parameters'].values !== $p.parameters.values.signature['resolved parameters'].values) {
|
|
1091
|
-
|
|
1091
|
+
_pt.fixme_abort("value parameters mismatch @ ", $p['location 2 string'](loc));
|
|
1092
1092
|
}
|
|
1093
1093
|
}
|
|
1094
|
-
return
|
|
1094
|
+
return _pt.not_set();
|
|
1095
1095
|
}),
|
|
1096
1096
|
};
|
|
1097
|
-
return
|
|
1097
|
+
return _pt.set(x);
|
|
1098
1098
|
}, () => {
|
|
1099
1099
|
{
|
|
1100
1100
|
//additional validation
|
|
1101
1101
|
if (p_signature['resolved parameters'].lookups !== $p.parameters.values.signature['resolved parameters'].lookups) {
|
|
1102
|
-
|
|
1102
|
+
_pt.fixme_abort("lookup parameters mismatch @ ", $p['location 2 string'](loc));
|
|
1103
1103
|
}
|
|
1104
1104
|
if (p_signature['resolved parameters'].values !== $p.parameters.values.signature['resolved parameters'].values) {
|
|
1105
|
-
|
|
1105
|
+
_pt.fixme_abort("value parameters mismatch @ ", $p['location 2 string'](loc));
|
|
1106
1106
|
}
|
|
1107
1107
|
}
|
|
1108
|
-
return
|
|
1108
|
+
return _pt.not_set();
|
|
1109
1109
|
});
|
|
1110
1110
|
const p_constraints = (0, exports.Property_Constraints)($.constraints, {
|
|
1111
1111
|
'location 2 string': $p['location 2 string'],
|
|
1112
1112
|
'parameters': {
|
|
1113
1113
|
'lookups': null,
|
|
1114
1114
|
'values': {
|
|
1115
|
-
'node':
|
|
1115
|
+
'node': _pt.cc(p_location, ($) => {
|
|
1116
1116
|
switch ($[0]) {
|
|
1117
|
-
case 'external': return
|
|
1118
|
-
case 'internal': return
|
|
1119
|
-
default: return
|
|
1117
|
+
case 'external': return _pt.ss($, ($) => $.type.entry.type.node);
|
|
1118
|
+
case 'internal': return _pt.ss($, ($) => $.entry.type.node);
|
|
1119
|
+
default: return _pt.au($[0]);
|
|
1120
1120
|
}
|
|
1121
1121
|
})
|
|
1122
1122
|
}
|
|
@@ -1129,9 +1129,9 @@ const Node_Resolver = ($, $p) => {
|
|
|
1129
1129
|
'constraints': p_constraints,
|
|
1130
1130
|
}];
|
|
1131
1131
|
});
|
|
1132
|
-
case 'dictionary': return
|
|
1132
|
+
case 'dictionary': return _pt.ss($, ($) => {
|
|
1133
1133
|
const p_definition = $p.parameters.values.definition[0] !== 'dictionary'
|
|
1134
|
-
?
|
|
1134
|
+
? _pt.fixme_abort("not a 'dictionary' but a '", $p.parameters.values.definition[0], "' @ ", $p['location 2 string'](loc))
|
|
1135
1135
|
: $p.parameters.values.definition[1];
|
|
1136
1136
|
const p_benchmark = $.benchmark.map(($) => {
|
|
1137
1137
|
const p_selection = (0, exports.Guaranteed_Value_Selection)($.selection, {
|
|
@@ -1139,7 +1139,7 @@ const Node_Resolver = ($, $p) => {
|
|
|
1139
1139
|
'parameters': $p.parameters,
|
|
1140
1140
|
});
|
|
1141
1141
|
const p_resulting_dictionary = p_selection['resulting node'][0] !== 'dictionary' // component constraint ('selection')
|
|
1142
|
-
?
|
|
1142
|
+
? _pt.fixme_abort("not a 'dictionary' but a '", p_selection['resulting node'][0], "' @ ", $p['location 2 string'](loc))
|
|
1143
1143
|
: p_selection['resulting node'][1];
|
|
1144
1144
|
return {
|
|
1145
1145
|
'selection': p_selection,
|
|
@@ -1155,10 +1155,10 @@ const Node_Resolver = ($, $p) => {
|
|
|
1155
1155
|
'lookups': $p.parameters.lookups,
|
|
1156
1156
|
'values': {
|
|
1157
1157
|
'linked entry': p_benchmark.transform(//optional value result ('benchmark')
|
|
1158
|
-
($) =>
|
|
1158
|
+
($) => _pt.set($), () => $p.parameters.values['linked entry']),
|
|
1159
1159
|
'definition': p_definition.node,
|
|
1160
|
-
'current dictionary':
|
|
1161
|
-
'current ordered dictionary':
|
|
1160
|
+
'current dictionary': _pt.set(p_definition),
|
|
1161
|
+
'current ordered dictionary': _pt.set(p_definition), //FIXME: is it ordered
|
|
1162
1162
|
'types': $p.parameters.values.types,
|
|
1163
1163
|
'imports': $p.parameters.values.imports,
|
|
1164
1164
|
'signature': $p.parameters.values.signature,
|
|
@@ -1171,9 +1171,9 @@ const Node_Resolver = ($, $p) => {
|
|
|
1171
1171
|
}),
|
|
1172
1172
|
}];
|
|
1173
1173
|
});
|
|
1174
|
-
case 'group': return
|
|
1174
|
+
case 'group': return _pt.ss($, ($) => {
|
|
1175
1175
|
const x = $p.parameters.values.definition[0] !== 'group'
|
|
1176
|
-
?
|
|
1176
|
+
? _pt.fixme_abort("not a 'group' but a '", $p.parameters.values.definition[0], "' @ ", $p['location 2 string'](loc))
|
|
1177
1177
|
: $p.parameters.values.definition[1];
|
|
1178
1178
|
const p_properties = _i_generic.resolve_dense_ordered_dictionary($, {
|
|
1179
1179
|
'location 2 string': $p['location 2 string'],
|
|
@@ -1217,9 +1217,9 @@ const Node_Resolver = ($, $p) => {
|
|
|
1217
1217
|
});
|
|
1218
1218
|
return ['group', p_properties];
|
|
1219
1219
|
});
|
|
1220
|
-
case 'list': return
|
|
1220
|
+
case 'list': return _pt.ss($, ($) => {
|
|
1221
1221
|
const p_definition = $p.parameters.values.definition[0] !== 'list'
|
|
1222
|
-
?
|
|
1222
|
+
? _pt.fixme_abort("not a 'list' but a '", $p.parameters.values.definition[0], "' @ ", $p['location 2 string'](loc))
|
|
1223
1223
|
: $p.parameters.values.definition[1];
|
|
1224
1224
|
const p_result = $.result.map(($) => (0, exports.Type_Reference)($, {
|
|
1225
1225
|
'location 2 string': $p['location 2 string'],
|
|
@@ -1238,7 +1238,7 @@ const Node_Resolver = ($, $p) => {
|
|
|
1238
1238
|
'values': {
|
|
1239
1239
|
'definition': p_definition.node,
|
|
1240
1240
|
'list cursor': p_result.transform(// optional value result ('result')
|
|
1241
|
-
($) =>
|
|
1241
|
+
($) => _pt.set($), () => $p.parameters.values['list cursor']), //setting the cursor
|
|
1242
1242
|
'types': $p.parameters.values.types,
|
|
1243
1243
|
'imports': $p.parameters.values.imports,
|
|
1244
1244
|
'signature': $p.parameters.values.signature,
|
|
@@ -1257,21 +1257,21 @@ const Node_Resolver = ($, $p) => {
|
|
|
1257
1257
|
'resolver': p_resolver,
|
|
1258
1258
|
}];
|
|
1259
1259
|
});
|
|
1260
|
-
case 'nothing': return
|
|
1260
|
+
case 'nothing': return _pt.ss($, ($) => {
|
|
1261
1261
|
const x = $p.parameters.values.definition[0] !== 'nothing'
|
|
1262
|
-
?
|
|
1262
|
+
? _pt.fixme_abort("not a 'nothing' but a '", $p.parameters.values.definition[0], "' @ ", $p['location 2 string'](loc))
|
|
1263
1263
|
: $p.parameters.values.definition[1];
|
|
1264
1264
|
return ['nothing', null];
|
|
1265
1265
|
});
|
|
1266
|
-
case 'number': return
|
|
1266
|
+
case 'number': return _pt.ss($, ($) => {
|
|
1267
1267
|
const x = $p.parameters.values.definition[0] !== 'number'
|
|
1268
|
-
?
|
|
1268
|
+
? _pt.fixme_abort("not a 'number' but a '", $p.parameters.values.definition[0], "' @ ", $p['location 2 string'](loc))
|
|
1269
1269
|
: $p.parameters.values.definition[1];
|
|
1270
1270
|
return ['number', null];
|
|
1271
1271
|
});
|
|
1272
|
-
case 'optional': return
|
|
1272
|
+
case 'optional': return _pt.ss($, ($) => {
|
|
1273
1273
|
const x = $p.parameters.values.definition[0] !== 'optional'
|
|
1274
|
-
?
|
|
1274
|
+
? _pt.fixme_abort("not a 'optional' but a '", $p.parameters.values.definition[0], "' @ ", $p['location 2 string'](loc))
|
|
1275
1275
|
: $p.parameters.values.definition[1];
|
|
1276
1276
|
const p_constraints = (0, exports.Option_Constraints)($.constraints, {
|
|
1277
1277
|
'location 2 string': $p['location 2 string'],
|
|
@@ -1285,7 +1285,7 @@ const Node_Resolver = ($, $p) => {
|
|
|
1285
1285
|
},
|
|
1286
1286
|
'values': {
|
|
1287
1287
|
'definition': x,
|
|
1288
|
-
'option constraints':
|
|
1288
|
+
'option constraints': _pt.set(p_constraints),
|
|
1289
1289
|
'types': $p.parameters.values.types,
|
|
1290
1290
|
'imports': $p.parameters.values.imports,
|
|
1291
1291
|
'signature': $p.parameters.values.signature,
|
|
@@ -1303,17 +1303,17 @@ const Node_Resolver = ($, $p) => {
|
|
|
1303
1303
|
'resolver': p_resolver,
|
|
1304
1304
|
}];
|
|
1305
1305
|
});
|
|
1306
|
-
case 'reference': return
|
|
1306
|
+
case 'reference': return _pt.ss($, ($) => {
|
|
1307
1307
|
const p_definition = $p.parameters.values.definition[0] !== 'reference'
|
|
1308
|
-
?
|
|
1308
|
+
? _pt.fixme_abort("not a 'reference' but a '", $p.parameters.values.definition[0], "' @ ", $p['location 2 string'](loc))
|
|
1309
1309
|
: $p.parameters.values.definition[1];
|
|
1310
1310
|
return ['reference', {
|
|
1311
1311
|
'definition': p_definition,
|
|
1312
|
-
'type':
|
|
1312
|
+
'type': _pt.cc($.type['state group'], ($) => {
|
|
1313
1313
|
switch ($[0]) {
|
|
1314
|
-
case 'derived': return
|
|
1314
|
+
case 'derived': return _pt.ss($, ($) => {
|
|
1315
1315
|
const p_definition_2 = p_definition.type[0] !== 'derived'
|
|
1316
|
-
?
|
|
1316
|
+
? _pt.fixme_abort("not a 'derived' but a '", p_definition.type[0], "' @ ", $p['location 2 string'](loc))
|
|
1317
1317
|
: p_definition.type[1];
|
|
1318
1318
|
return ['derived', {
|
|
1319
1319
|
'value': (0, exports.Guaranteed_Value_Selection)($.value, {
|
|
@@ -1322,9 +1322,9 @@ const Node_Resolver = ($, $p) => {
|
|
|
1322
1322
|
})
|
|
1323
1323
|
}];
|
|
1324
1324
|
});
|
|
1325
|
-
case 'selected': return
|
|
1325
|
+
case 'selected': return _pt.ss($, ($) => {
|
|
1326
1326
|
const p_definition_2 = p_definition.type[0] !== 'selected'
|
|
1327
|
-
?
|
|
1327
|
+
? _pt.fixme_abort("not a 'selected' but a '", p_definition.type[0], "' @ ", $p['location 2 string'](loc))
|
|
1328
1328
|
: p_definition.type[1];
|
|
1329
1329
|
const p_lookup = (0, exports.Lookup_Selection)($.lookup, {
|
|
1330
1330
|
'location 2 string': $p['location 2 string'],
|
|
@@ -1345,14 +1345,14 @@ const Node_Resolver = ($, $p) => {
|
|
|
1345
1345
|
'constraints': p_constraints,
|
|
1346
1346
|
}];
|
|
1347
1347
|
});
|
|
1348
|
-
default: return
|
|
1348
|
+
default: return _pt.au($[0]);
|
|
1349
1349
|
}
|
|
1350
1350
|
})
|
|
1351
1351
|
}];
|
|
1352
1352
|
});
|
|
1353
|
-
case 'state group': return
|
|
1353
|
+
case 'state group': return _pt.ss($, ($) => {
|
|
1354
1354
|
const p_definition = $p.parameters.values.definition[0] !== 'state group'
|
|
1355
|
-
?
|
|
1355
|
+
? _pt.fixme_abort("not a 'state group' but a '", $p.parameters.values.definition[0], "' @ ", $p['location 2 string'](loc))
|
|
1356
1356
|
: $p.parameters.values.definition[1];
|
|
1357
1357
|
const p_states = _i_generic.resolve_dense_dictionary($.states, {
|
|
1358
1358
|
'location 2 string': $p['location 2 string'],
|
|
@@ -1376,7 +1376,7 @@ const Node_Resolver = ($, $p) => {
|
|
|
1376
1376
|
},
|
|
1377
1377
|
'values': {
|
|
1378
1378
|
'definition': x2.entry.node,
|
|
1379
|
-
'option constraints':
|
|
1379
|
+
'option constraints': _pt.set(p_constraints),
|
|
1380
1380
|
'types': $p.parameters.values.types,
|
|
1381
1381
|
'imports': $p.parameters.values.imports,
|
|
1382
1382
|
'signature': $p.parameters.values.signature,
|
|
@@ -1464,56 +1464,56 @@ const Node_Resolver = ($, $p) => {
|
|
|
1464
1464
|
'states': p_states,
|
|
1465
1465
|
}];
|
|
1466
1466
|
});
|
|
1467
|
-
case 'text': return
|
|
1467
|
+
case 'text': return _pt.ss($, ($) => {
|
|
1468
1468
|
const x = $p.parameters.values.definition[0] !== 'text'
|
|
1469
|
-
?
|
|
1469
|
+
? _pt.fixme_abort("not a 'text' but a '", $p.parameters.values.definition[0], "' @ ", $p['location 2 string'](loc))
|
|
1470
1470
|
: $p.parameters.values.definition[1];
|
|
1471
1471
|
return ['text', null];
|
|
1472
1472
|
});
|
|
1473
|
-
// case 'type parameter': return
|
|
1473
|
+
// case 'type parameter': return _pt.ss($, ($) => {
|
|
1474
1474
|
// const x = $p.parameters.values.definition[0] !== 'type parameter'
|
|
1475
|
-
// ?
|
|
1475
|
+
// ? _pt.fixme_abort("not a 'type parameter' but a '", $p.parameters.values.definition[0], "' @ ", $p['location 2 string'](loc))
|
|
1476
1476
|
// : $p.parameters.values.definition[1]
|
|
1477
1477
|
// return ['type parameter', null]
|
|
1478
1478
|
// })
|
|
1479
|
-
default: return
|
|
1479
|
+
default: return _pt.au($[0]);
|
|
1480
1480
|
}
|
|
1481
1481
|
});
|
|
1482
1482
|
return p_type;
|
|
1483
1483
|
};
|
|
1484
1484
|
exports.Node_Resolver = Node_Resolver;
|
|
1485
|
-
const Relative_Value_Selection = ($, $p) =>
|
|
1485
|
+
const Relative_Value_Selection = ($, $p) => _pt.block(() => {
|
|
1486
1486
|
const l2s = $p['location 2 string'];
|
|
1487
1487
|
const params = $p['parameters'];
|
|
1488
1488
|
const p_path = _i_generic.resolve_path($.path, {
|
|
1489
1489
|
'seed': $p.parameters.values.node,
|
|
1490
1490
|
'map': ($, current) => {
|
|
1491
1491
|
const sg_loc = $.location;
|
|
1492
|
-
return
|
|
1492
|
+
return _pt.cc($['state group'], ($) => {
|
|
1493
1493
|
switch ($[0]) {
|
|
1494
|
-
case 'component': return
|
|
1495
|
-
const sc_definition =
|
|
1494
|
+
case 'component': return _pt.ss($, ($) => {
|
|
1495
|
+
const sc_definition = _pt.cc(current, ($) => {
|
|
1496
1496
|
if ($[0] !== 'component') {
|
|
1497
|
-
return
|
|
1497
|
+
return _pt.fixme_abort(`not a 'component' but a '${$[0]}' @ ${$p['location 2 string'](sg_loc)}`);
|
|
1498
1498
|
}
|
|
1499
1499
|
return $[1];
|
|
1500
1500
|
});
|
|
1501
1501
|
return {
|
|
1502
1502
|
'element': ['component', null],
|
|
1503
|
-
'result':
|
|
1503
|
+
'result': _pt.cc(sc_definition, ($) => {
|
|
1504
1504
|
switch ($[0]) {
|
|
1505
|
-
case 'external': return
|
|
1506
|
-
case 'internal': return
|
|
1507
|
-
case 'internal cyclic': return
|
|
1508
|
-
default: return
|
|
1505
|
+
case 'external': return _pt.ss($, ($) => $.type.entry.node);
|
|
1506
|
+
case 'internal': return _pt.ss($, ($) => $.entry.node);
|
|
1507
|
+
case 'internal cyclic': return _pt.ss($, ($) => $.entry['get circular dependent']().node); //this is safe, the types have been resolved at this stage
|
|
1508
|
+
default: return _pt.au($[0]);
|
|
1509
1509
|
}
|
|
1510
1510
|
})
|
|
1511
1511
|
};
|
|
1512
1512
|
});
|
|
1513
|
-
case 'group': return
|
|
1514
|
-
const sc_definition =
|
|
1513
|
+
case 'group': return _pt.ss($, ($) => {
|
|
1514
|
+
const sc_definition = _pt.cc(current, ($) => {
|
|
1515
1515
|
if ($[0] !== 'group') {
|
|
1516
|
-
return
|
|
1516
|
+
return _pt.fixme_abort(`not a 'group' but a '${$[0]}' @ ${$p['location 2 string'](sg_loc)}`);
|
|
1517
1517
|
}
|
|
1518
1518
|
return $[1];
|
|
1519
1519
|
});
|
|
@@ -1526,24 +1526,24 @@ const Relative_Value_Selection = ($, $p) => _ea.block(() => {
|
|
|
1526
1526
|
'result': p_child.entry.node
|
|
1527
1527
|
};
|
|
1528
1528
|
});
|
|
1529
|
-
case 'reference': return
|
|
1530
|
-
const sc_definition =
|
|
1529
|
+
case 'reference': return _pt.ss($, ($) => {
|
|
1530
|
+
const sc_definition = _pt.cc(current, ($) => {
|
|
1531
1531
|
if ($[0] !== 'reference') {
|
|
1532
|
-
return
|
|
1532
|
+
return _pt.fixme_abort(`not a 'reference' but a '${$[0]}' @ ${$p['location 2 string'](sg_loc)}`);
|
|
1533
1533
|
}
|
|
1534
1534
|
return $[1];
|
|
1535
1535
|
});
|
|
1536
1536
|
const referent = sc_definition.referent;
|
|
1537
|
-
const x =
|
|
1537
|
+
const x = _pt.cc(sc_definition.type, ($) => {
|
|
1538
1538
|
switch ($[0]) {
|
|
1539
|
-
case 'derived': return
|
|
1540
|
-
case 'selected': return
|
|
1539
|
+
case 'derived': return _pt.ss($, ($) => referent['resulting node']);
|
|
1540
|
+
case 'selected': return _pt.ss($, ($) => _pt.cc(referent['resulting node'], ($) => {
|
|
1541
1541
|
switch ($[0]) {
|
|
1542
|
-
case 'dictionary': return
|
|
1543
|
-
default: return
|
|
1542
|
+
case 'dictionary': return _pt.ss($, ($) => $.node);
|
|
1543
|
+
default: return _pt.fixme_abort("not a dictionary @ ", $p['location 2 string'](sg_loc));
|
|
1544
1544
|
}
|
|
1545
1545
|
}));
|
|
1546
|
-
default: return
|
|
1546
|
+
default: return _pt.au($[0]);
|
|
1547
1547
|
}
|
|
1548
1548
|
});
|
|
1549
1549
|
return {
|
|
@@ -1553,7 +1553,7 @@ const Relative_Value_Selection = ($, $p) => _ea.block(() => {
|
|
|
1553
1553
|
'result': x
|
|
1554
1554
|
};
|
|
1555
1555
|
});
|
|
1556
|
-
default: return
|
|
1556
|
+
default: return _pt.au($[0]);
|
|
1557
1557
|
}
|
|
1558
1558
|
});
|
|
1559
1559
|
}
|
|
@@ -1564,40 +1564,40 @@ const Relative_Value_Selection = ($, $p) => _ea.block(() => {
|
|
|
1564
1564
|
};
|
|
1565
1565
|
});
|
|
1566
1566
|
exports.Relative_Value_Selection = Relative_Value_Selection;
|
|
1567
|
-
const Possible_Value_Selection = ($, $p) =>
|
|
1567
|
+
const Possible_Value_Selection = ($, $p) => _pt.block(() => {
|
|
1568
1568
|
const l2s = $p['location 2 string'];
|
|
1569
1569
|
const params = $p['parameters'];
|
|
1570
|
-
return
|
|
1570
|
+
return _pt.cc($['state group'], ($) => {
|
|
1571
1571
|
switch ($[0]) {
|
|
1572
|
-
case 'not set': return
|
|
1573
|
-
case 'set': return
|
|
1574
|
-
case 'selection': return
|
|
1572
|
+
case 'not set': return _pt.ss($, ($) => ['not set', null]);
|
|
1573
|
+
case 'set': return _pt.ss($, ($) => ['set', (0, exports.Guaranteed_Value_Selection)($, $p)]);
|
|
1574
|
+
case 'selection': return _pt.ss($, ($) => {
|
|
1575
1575
|
return ['selection', (0, exports.Possibly_Optional)($, $p)];
|
|
1576
1576
|
});
|
|
1577
|
-
default: return
|
|
1577
|
+
default: return _pt.au($[0]);
|
|
1578
1578
|
}
|
|
1579
1579
|
});
|
|
1580
1580
|
});
|
|
1581
1581
|
exports.Possible_Value_Selection = Possible_Value_Selection;
|
|
1582
|
-
const Possibly_Optional = ($, $p) =>
|
|
1582
|
+
const Possibly_Optional = ($, $p) => _pt.block(() => {
|
|
1583
1583
|
const l2s = $p['location 2 string'];
|
|
1584
1584
|
const params = $p['parameters'];
|
|
1585
|
-
return
|
|
1585
|
+
return _pt.cc($['state group'], ($) => {
|
|
1586
1586
|
switch ($[0]) {
|
|
1587
|
-
case 'parameter': return
|
|
1587
|
+
case 'parameter': return _pt.ss($, ($) => ['parameter', _i_generic.get_entry(_i_generic.dictionary_to_lookup($p.parameters.values.signature['resolved parameters'].values, null), {
|
|
1588
1588
|
'reference': $,
|
|
1589
1589
|
'location 2 string': $p['location 2 string']
|
|
1590
1590
|
})]);
|
|
1591
|
-
case 'result': return
|
|
1591
|
+
case 'result': return _pt.ss($, ($) => ['result', _pt.cc($['state group'], ($) => {
|
|
1592
1592
|
switch ($[0]) {
|
|
1593
|
-
case 'state group': return
|
|
1593
|
+
case 'state group': return _pt.ss($, ($) => {
|
|
1594
1594
|
const loc = $['property'].location;
|
|
1595
|
-
const p_sibling =
|
|
1595
|
+
const p_sibling = _pt.cc($['property'], ($) => _i_generic.get_entry($p.parameters.lookups['sibling property resolvers'], {
|
|
1596
1596
|
'reference': $,
|
|
1597
1597
|
'location 2 string': $p['location 2 string']
|
|
1598
1598
|
}));
|
|
1599
|
-
const p_state_group =
|
|
1600
|
-
?
|
|
1599
|
+
const p_state_group = _pt.cc($['state group'], ($) => p_sibling.entry.resolver[0] !== 'state group'
|
|
1600
|
+
? _pt.fixme_abort("not a 'state group' but a '", p_sibling.entry.resolver[0], "' @ ", $p['location 2 string'](loc))
|
|
1601
1601
|
: p_sibling.entry.resolver[1]);
|
|
1602
1602
|
const p_result = (0, exports.Type_Reference)($.result, {
|
|
1603
1603
|
'location 2 string': $p['location 2 string'],
|
|
@@ -1616,14 +1616,14 @@ const Possibly_Optional = ($, $p) => _ea.block(() => {
|
|
|
1616
1616
|
'result': p_result,
|
|
1617
1617
|
}];
|
|
1618
1618
|
});
|
|
1619
|
-
case 'optional value': return
|
|
1619
|
+
case 'optional value': return _pt.ss($, ($) => {
|
|
1620
1620
|
const loc = $['property'].location;
|
|
1621
|
-
const p_sibling =
|
|
1621
|
+
const p_sibling = _pt.cc($['property'], ($) => _i_generic.get_entry($p.parameters.lookups['sibling property resolvers'], {
|
|
1622
1622
|
'reference': $,
|
|
1623
1623
|
'location 2 string': $p['location 2 string']
|
|
1624
1624
|
}));
|
|
1625
|
-
const p_optional_value =
|
|
1626
|
-
?
|
|
1625
|
+
const p_optional_value = _pt.cc($['optional value'], ($) => p_sibling.entry.resolver[0] !== 'optional'
|
|
1626
|
+
? _pt.fixme_abort("not a 'optional' but a '", p_sibling.entry.resolver[0], "' @ ", $p['location 2 string'](loc))
|
|
1627
1627
|
: p_sibling.entry.resolver[1]);
|
|
1628
1628
|
const p_result = (0, exports.Type_Reference)($.result, {
|
|
1629
1629
|
'location 2 string': $p['location 2 string'],
|
|
@@ -1642,34 +1642,34 @@ const Possibly_Optional = ($, $p) => _ea.block(() => {
|
|
|
1642
1642
|
'result': p_result,
|
|
1643
1643
|
}];
|
|
1644
1644
|
});
|
|
1645
|
-
default: return
|
|
1645
|
+
default: return _pt.au($[0]);
|
|
1646
1646
|
}
|
|
1647
1647
|
})]);
|
|
1648
|
-
default: return
|
|
1648
|
+
default: return _pt.au($[0]);
|
|
1649
1649
|
}
|
|
1650
1650
|
});
|
|
1651
1651
|
});
|
|
1652
1652
|
exports.Possibly_Optional = Possibly_Optional;
|
|
1653
|
-
const Guaranteed_Value_Selection = ($, $p) =>
|
|
1653
|
+
const Guaranteed_Value_Selection = ($, $p) => _pt.block(() => {
|
|
1654
1654
|
const l2s = $p['location 2 string'];
|
|
1655
1655
|
const params = $p['parameters'];
|
|
1656
|
-
return
|
|
1656
|
+
return _pt.block(() => {
|
|
1657
1657
|
const start_location = $.start.location;
|
|
1658
|
-
const p_start =
|
|
1658
|
+
const p_start = _pt.cc($.start['state group'], ($) => {
|
|
1659
1659
|
switch ($[0]) {
|
|
1660
|
-
case 'constraint': return
|
|
1661
|
-
return ['constraint',
|
|
1660
|
+
case 'constraint': return _pt.ss($, ($) => {
|
|
1661
|
+
return ['constraint', _pt.cc($['state group'], ($) => {
|
|
1662
1662
|
switch ($[0]) {
|
|
1663
|
-
case 'component': return
|
|
1663
|
+
case 'component': return _pt.ss($, ($) => {
|
|
1664
1664
|
const loc = $['property'].location;
|
|
1665
|
-
const p_sibling =
|
|
1665
|
+
const p_sibling = _pt.cc($['property'], ($) => _i_generic.get_entry($p.parameters.lookups['sibling property resolvers'], {
|
|
1666
1666
|
'reference': $,
|
|
1667
1667
|
'location 2 string': $p['location 2 string']
|
|
1668
1668
|
}));
|
|
1669
1669
|
const x_component = p_sibling.entry.resolver[0] !== 'component'
|
|
1670
|
-
?
|
|
1670
|
+
? _pt.fixme_abort("not a 'component' but a '", p_sibling.entry.resolver[0], "' @ ", $p['location 2 string'](loc))
|
|
1671
1671
|
: p_sibling.entry.resolver[1];
|
|
1672
|
-
const p_constraint =
|
|
1672
|
+
const p_constraint = _pt.cc($['constraint'], ($) => _i_generic.get_entry(_i_generic.dictionary_to_lookup(x_component.constraints.dictionary, null), {
|
|
1673
1673
|
'reference': $,
|
|
1674
1674
|
'location 2 string': $p['location 2 string']
|
|
1675
1675
|
}));
|
|
@@ -1678,19 +1678,19 @@ const Guaranteed_Value_Selection = ($, $p) => _ea.block(() => {
|
|
|
1678
1678
|
'constraint': p_constraint
|
|
1679
1679
|
}];
|
|
1680
1680
|
});
|
|
1681
|
-
case 'reference': return
|
|
1681
|
+
case 'reference': return _pt.ss($, ($) => {
|
|
1682
1682
|
const loc = $['property'].location;
|
|
1683
|
-
const p_sibling =
|
|
1683
|
+
const p_sibling = _pt.cc($['property'], ($) => _i_generic.get_entry($p.parameters.lookups['sibling property resolvers'], {
|
|
1684
1684
|
'reference': $,
|
|
1685
1685
|
'location 2 string': $p['location 2 string']
|
|
1686
1686
|
}));
|
|
1687
1687
|
const x_reference = p_sibling.entry.resolver[0] !== 'reference'
|
|
1688
|
-
?
|
|
1688
|
+
? _pt.fixme_abort("not a 'reference' but a '", p_sibling.entry.resolver[0], "' @ ", $p['location 2 string'](loc))
|
|
1689
1689
|
: p_sibling.entry.resolver[1];
|
|
1690
1690
|
const x_reference_selected = x_reference.type[0] !== 'selected'
|
|
1691
|
-
?
|
|
1691
|
+
? _pt.fixme_abort("not a 'selected' but a '", x_reference.type[0], "' @ ", $p['location 2 string'](loc))
|
|
1692
1692
|
: x_reference.type[1];
|
|
1693
|
-
const p_constraint =
|
|
1693
|
+
const p_constraint = _pt.cc($['constraint'], ($) => _i_generic.get_entry(_i_generic.dictionary_to_lookup(x_reference_selected.constraints.dictionary, null), {
|
|
1694
1694
|
'reference': $,
|
|
1695
1695
|
'location 2 string': $p['location 2 string']
|
|
1696
1696
|
}));
|
|
@@ -1699,48 +1699,48 @@ const Guaranteed_Value_Selection = ($, $p) => _ea.block(() => {
|
|
|
1699
1699
|
'constraint': p_constraint
|
|
1700
1700
|
}];
|
|
1701
1701
|
});
|
|
1702
|
-
default: return
|
|
1702
|
+
default: return _pt.au($[0]);
|
|
1703
1703
|
}
|
|
1704
1704
|
})];
|
|
1705
1705
|
});
|
|
1706
|
-
case 'list cursor': return
|
|
1707
|
-
case 'linked entry': return
|
|
1708
|
-
case 'option constraint': return
|
|
1709
|
-
const sc = $p.parameters.values['option constraints'].transform(($) => $, () =>
|
|
1706
|
+
case 'list cursor': return _pt.ss($, ($) => ['list cursor', null]);
|
|
1707
|
+
case 'linked entry': return _pt.ss($, ($) => ['linked entry', null]);
|
|
1708
|
+
case 'option constraint': return _pt.ss($, ($) => {
|
|
1709
|
+
const sc = $p.parameters.values['option constraints'].transform(($) => $, () => _pt.fixme_abort("not in an option @ ", $p['location 2 string'](start_location)));
|
|
1710
1710
|
return ['option constraint', _i_generic.get_entry(_i_generic.dictionary_to_lookup(sc, null), {
|
|
1711
1711
|
'reference': $,
|
|
1712
1712
|
'location 2 string': $p['location 2 string'],
|
|
1713
1713
|
})];
|
|
1714
1714
|
});
|
|
1715
|
-
case 'parameter': return
|
|
1715
|
+
case 'parameter': return _pt.ss($, ($) => ['parameter', _i_generic.get_entry(_i_generic.dictionary_to_lookup($p.parameters.values.signature['resolved parameters'].values, null), {
|
|
1716
1716
|
'reference': $,
|
|
1717
1717
|
'location 2 string': $p['location 2 string']
|
|
1718
1718
|
})]);
|
|
1719
|
-
case 'result': return
|
|
1719
|
+
case 'result': return _pt.ss($, ($) => ['result', _pt.cc($['state group'], ($) => {
|
|
1720
1720
|
switch ($[0]) {
|
|
1721
|
-
case 'list': return
|
|
1721
|
+
case 'list': return _pt.ss($, ($) => {
|
|
1722
1722
|
const loc = $['property'].location;
|
|
1723
|
-
const p_sibling =
|
|
1723
|
+
const p_sibling = _pt.cc($['property'], ($) => _i_generic.get_entry($p.parameters.lookups['sibling property resolvers'], {
|
|
1724
1724
|
'reference': $,
|
|
1725
1725
|
'location 2 string': $p['location 2 string']
|
|
1726
1726
|
}));
|
|
1727
|
-
const p_list_result_a =
|
|
1728
|
-
?
|
|
1727
|
+
const p_list_result_a = _pt.cc($['list result'], ($) => p_sibling.entry.resolver[0] !== 'list'
|
|
1728
|
+
? _pt.fixme_abort("not a 'list' but a '", p_sibling.entry.resolver[0], "' @ ", $p['location 2 string'](loc))
|
|
1729
1729
|
: p_sibling.entry.resolver[1]);
|
|
1730
|
-
const p_list_result = p_list_result_a.result.transform(($) => $, () =>
|
|
1730
|
+
const p_list_result = p_list_result_a.result.transform(($) => $, () => _pt.fixme_abort("there is no list result"));
|
|
1731
1731
|
return ['list', {
|
|
1732
1732
|
'property': p_sibling,
|
|
1733
1733
|
'list result': p_list_result,
|
|
1734
1734
|
}];
|
|
1735
1735
|
});
|
|
1736
|
-
case 'state group': return
|
|
1736
|
+
case 'state group': return _pt.ss($, ($) => {
|
|
1737
1737
|
const loc = $['property'].location;
|
|
1738
|
-
const p_sibling =
|
|
1738
|
+
const p_sibling = _pt.cc($['property'], ($) => _i_generic.get_entry($p.parameters.lookups['sibling property resolvers'], {
|
|
1739
1739
|
'reference': $,
|
|
1740
1740
|
'location 2 string': $p['location 2 string']
|
|
1741
1741
|
}));
|
|
1742
|
-
const p_state_group =
|
|
1743
|
-
?
|
|
1742
|
+
const p_state_group = _pt.cc($['state group'], ($) => p_sibling.entry.resolver[0] !== 'state group'
|
|
1743
|
+
? _pt.fixme_abort("not a 'state group' but a '", p_sibling.entry.resolver[0], "' @ ", $p['location 2 string'](loc))
|
|
1744
1744
|
: p_sibling.entry.resolver[1]);
|
|
1745
1745
|
return ['state group', {
|
|
1746
1746
|
'property': p_sibling,
|
|
@@ -1758,14 +1758,14 @@ const Guaranteed_Value_Selection = ($, $p) => _ea.block(() => {
|
|
|
1758
1758
|
})
|
|
1759
1759
|
}];
|
|
1760
1760
|
});
|
|
1761
|
-
case 'optional value': return
|
|
1761
|
+
case 'optional value': return _pt.ss($, ($) => {
|
|
1762
1762
|
const loc = $['property'].location;
|
|
1763
|
-
const p_sibling =
|
|
1763
|
+
const p_sibling = _pt.cc($['property'], ($) => _i_generic.get_entry($p.parameters.lookups['sibling property resolvers'], {
|
|
1764
1764
|
'reference': $,
|
|
1765
1765
|
'location 2 string': $p['location 2 string']
|
|
1766
1766
|
}));
|
|
1767
|
-
const p_optional_value =
|
|
1768
|
-
?
|
|
1767
|
+
const p_optional_value = _pt.cc($['optional value'], ($) => p_sibling.entry.resolver[0] !== 'optional'
|
|
1768
|
+
? _pt.fixme_abort("not a 'optional' but a '", p_sibling.entry.resolver[0], "' @ ", $p['location 2 string'](loc))
|
|
1769
1769
|
: p_sibling.entry.resolver[1]);
|
|
1770
1770
|
return ['optional value', {
|
|
1771
1771
|
'property': p_sibling,
|
|
@@ -1783,83 +1783,83 @@ const Guaranteed_Value_Selection = ($, $p) => _ea.block(() => {
|
|
|
1783
1783
|
})
|
|
1784
1784
|
}];
|
|
1785
1785
|
});
|
|
1786
|
-
default: return
|
|
1786
|
+
default: return _pt.au($[0]);
|
|
1787
1787
|
}
|
|
1788
1788
|
})]);
|
|
1789
|
-
case 'sibling': return
|
|
1789
|
+
case 'sibling': return _pt.ss($, ($) => ['sibling', _i_generic.get_entry($p.parameters.lookups['sibling property resolvers'], {
|
|
1790
1790
|
'reference': $,
|
|
1791
1791
|
'location 2 string': $p['location 2 string']
|
|
1792
1792
|
})]);
|
|
1793
|
-
case 'parent sibling': return
|
|
1793
|
+
case 'parent sibling': return _pt.ss($, ($) => ['parent sibling', _i_generic.get_entry($p.parameters.lookups['parent sibling property resolvers'], {
|
|
1794
1794
|
'reference': $,
|
|
1795
1795
|
'location 2 string': $p['location 2 string']
|
|
1796
1796
|
})]);
|
|
1797
|
-
default: return
|
|
1797
|
+
default: return _pt.au($[0]);
|
|
1798
1798
|
}
|
|
1799
1799
|
});
|
|
1800
1800
|
const p_tail = (0, exports.Relative_Value_Selection)($.tail, {
|
|
1801
1801
|
'location 2 string': l2s,
|
|
1802
1802
|
'parameters': {
|
|
1803
1803
|
'values': {
|
|
1804
|
-
'node':
|
|
1805
|
-
const pvs = ($) =>
|
|
1806
|
-
return
|
|
1804
|
+
'node': _pt.block(() => {
|
|
1805
|
+
const pvs = ($) => _pt.cc($, ($) => {
|
|
1806
|
+
return _pt.cc($, ($) => {
|
|
1807
1807
|
switch ($[0]) {
|
|
1808
|
-
case 'parameter': return
|
|
1809
|
-
case 'result': return
|
|
1808
|
+
case 'parameter': return _pt.ss($, ($) => $.entry['data type']['resulting node']);
|
|
1809
|
+
case 'result': return _pt.ss($, ($) => _pt.cc($, ($) => {
|
|
1810
1810
|
switch ($[0]) {
|
|
1811
|
-
case 'state group': return
|
|
1812
|
-
case 'optional value': return
|
|
1813
|
-
default: return
|
|
1811
|
+
case 'state group': return _pt.ss($, ($) => $.result['resulting node']);
|
|
1812
|
+
case 'optional value': return _pt.ss($, ($) => $.result['resulting node']);
|
|
1813
|
+
default: return _pt.au($[0]);
|
|
1814
1814
|
}
|
|
1815
1815
|
}));
|
|
1816
|
-
default: return
|
|
1816
|
+
default: return _pt.au($[0]);
|
|
1817
1817
|
}
|
|
1818
1818
|
});
|
|
1819
1819
|
});
|
|
1820
1820
|
const start_loc = $.start.location;
|
|
1821
|
-
const gvs_start = ($) =>
|
|
1821
|
+
const gvs_start = ($) => _pt.cc($, ($) => {
|
|
1822
1822
|
switch ($[0]) {
|
|
1823
|
-
case 'constraint': return
|
|
1823
|
+
case 'constraint': return _pt.ss($, ($) => _pt.cc($, ($) => {
|
|
1824
1824
|
switch ($[0]) {
|
|
1825
|
-
case 'component': return
|
|
1825
|
+
case 'component': return _pt.ss($, ($) => _pt.cc($.constraint.entry.constraint.type, ($) => {
|
|
1826
1826
|
switch ($[0]) {
|
|
1827
|
-
case 'state': return
|
|
1828
|
-
case 'optional value': return
|
|
1829
|
-
default: return
|
|
1827
|
+
case 'state': return _pt.ss($, ($) => $.state.entry.node);
|
|
1828
|
+
case 'optional value': return _pt.ss($, ($) => $['selected optional value']);
|
|
1829
|
+
default: return _pt.au($[0]);
|
|
1830
1830
|
}
|
|
1831
1831
|
}));
|
|
1832
|
-
case 'reference': return
|
|
1832
|
+
case 'reference': return _pt.ss($, ($) => _pt.cc($.constraint.entry.constraint.type, ($) => {
|
|
1833
1833
|
switch ($[0]) {
|
|
1834
|
-
case 'state': return
|
|
1835
|
-
case 'optional value': return
|
|
1836
|
-
default: return
|
|
1834
|
+
case 'state': return _pt.ss($, ($) => $.state.entry.node);
|
|
1835
|
+
case 'optional value': return _pt.ss($, ($) => $['selected optional value']);
|
|
1836
|
+
default: return _pt.au($[0]);
|
|
1837
1837
|
}
|
|
1838
1838
|
}));
|
|
1839
|
-
default: return
|
|
1839
|
+
default: return _pt.au($[0]);
|
|
1840
1840
|
}
|
|
1841
1841
|
}));
|
|
1842
|
-
case 'parameter': return
|
|
1843
|
-
case 'result': return
|
|
1842
|
+
case 'parameter': return _pt.ss($, ($) => $.entry['data type']['resulting node']);
|
|
1843
|
+
case 'result': return _pt.ss($, ($) => _pt.cc($, ($) => {
|
|
1844
1844
|
switch ($[0]) {
|
|
1845
|
-
case 'state group': return
|
|
1846
|
-
case 'optional value': return
|
|
1847
|
-
case 'list': return
|
|
1848
|
-
default: return
|
|
1845
|
+
case 'state group': return _pt.ss($, ($) => $.result['resulting node']);
|
|
1846
|
+
case 'optional value': return _pt.ss($, ($) => $.result['resulting node']);
|
|
1847
|
+
case 'list': return _pt.ss($, ($) => $['list result']['resulting node']);
|
|
1848
|
+
default: return _pt.au($[0]);
|
|
1849
1849
|
}
|
|
1850
1850
|
}));
|
|
1851
|
-
case 'list cursor': return
|
|
1852
|
-
case 'linked entry': return
|
|
1853
|
-
case 'option constraint': return
|
|
1851
|
+
case 'list cursor': return _pt.ss($, ($) => $p.parameters.values['list cursor'].transform(($) => $['resulting node'], () => _pt.fixme_abort("there is no cursor")));
|
|
1852
|
+
case 'linked entry': return _pt.ss($, ($) => $p.parameters.values['linked entry'].transform(($) => $['resulting dictionary'].node, () => _pt.fixme_abort(`there is no linked entry @ ${$p['location 2 string'](start_loc)}`)));
|
|
1853
|
+
case 'option constraint': return _pt.ss($, ($) => _pt.cc($.entry, ($) => {
|
|
1854
1854
|
switch ($[0]) {
|
|
1855
|
-
case 'state': return
|
|
1856
|
-
case 'assert is set': return
|
|
1857
|
-
default: return
|
|
1855
|
+
case 'state': return _pt.ss($, ($) => $.state.entry.node);
|
|
1856
|
+
case 'assert is set': return _pt.ss($, ($) => pvs($));
|
|
1857
|
+
default: return _pt.au($[0]);
|
|
1858
1858
|
}
|
|
1859
1859
|
}));
|
|
1860
|
-
case 'sibling': return
|
|
1861
|
-
case 'parent sibling': return
|
|
1862
|
-
default: return
|
|
1860
|
+
case 'sibling': return _pt.ss($, ($) => $.entry.definition.node);
|
|
1861
|
+
case 'parent sibling': return _pt.ss($, ($) => $.entry.definition.node);
|
|
1862
|
+
default: return _pt.au($[0]);
|
|
1863
1863
|
}
|
|
1864
1864
|
});
|
|
1865
1865
|
return gvs_start(p_start);
|
|
@@ -1877,7 +1877,7 @@ const Guaranteed_Value_Selection = ($, $p) => _ea.block(() => {
|
|
|
1877
1877
|
});
|
|
1878
1878
|
});
|
|
1879
1879
|
exports.Guaranteed_Value_Selection = Guaranteed_Value_Selection;
|
|
1880
|
-
const Type_Specification = ($, $p) =>
|
|
1880
|
+
const Type_Specification = ($, $p) => _pt.block(() => {
|
|
1881
1881
|
const l2s = $p['location 2 string'];
|
|
1882
1882
|
const params = $p['parameters'];
|
|
1883
1883
|
return {
|
|
@@ -1885,7 +1885,7 @@ const Type_Specification = ($, $p) => _ea.block(() => {
|
|
|
1885
1885
|
'location 2 string': l2s,
|
|
1886
1886
|
'parameters': {
|
|
1887
1887
|
'lookups': {
|
|
1888
|
-
'sibling schemas':
|
|
1888
|
+
'sibling schemas': _pt.list_literal([]),
|
|
1889
1889
|
},
|
|
1890
1890
|
'values': params.values,
|
|
1891
1891
|
}
|
|
@@ -1895,4 +1895,4 @@ const Type_Specification = ($, $p) => _ea.block(() => {
|
|
|
1895
1895
|
};
|
|
1896
1896
|
});
|
|
1897
1897
|
exports.Type_Specification = Type_Specification;
|
|
1898
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic2NoZW1hLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vc3JjL2ltcGxlbWVudGF0aW9uL3RlbXAvcmVzb2x2ZXJzL3NjaGVtYS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7OztBQUFBLHNEQUF1QztBQUV2QyxtRkFBb0U7QUFRN0QsTUFBTSxPQUFPLEdBQTBCLENBQUMsQ0FBQyxFQUFFLEVBQUUsRUFBRSxFQUFFLENBQUMsR0FBRyxDQUFDLEtBQUssQ0FBQyxHQUFHLEVBQUU7SUFDcEUsTUFBTSxHQUFHLEdBQUcsRUFBRSxDQUFDLG1CQUFtQixDQUFDLENBQUE7SUFDbkMsTUFBTSxNQUFNLEdBQUcsRUFBRSxDQUFDLFlBQVksQ0FBQyxDQUFBO0lBQy9CLE9BQU8sR0FBRyxDQUFDLEVBQUUsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxDQUFDLEVBQUUsRUFBRSxDQUFDLFVBQVUsQ0FBQyxrQkFBa0IsQ0FDakQsQ0FBQyxFQUNEO1FBQ0ksbUJBQW1CLEVBQUUsR0FBRztRQUN4QixLQUFLLEVBQUUsQ0FBQyxDQUFDLEVBQUUsRUFBRSxFQUFFLEVBQUUsQ0FBQyxHQUFHLENBQUMsRUFBRSxDQUFDLENBQUMsQ0FBQyxPQUFPLENBQUMsRUFBRSxDQUFDLENBQUMsRUFBRSxFQUFFLENBQUMsR0FBRyxDQUFDLEVBQUUsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxDQUFDLEVBQW9CLEVBQUU7WUFDMUUsTUFBTSxrQkFBa0IsR0FBc0MsR0FBRyxDQUFDLEVBQUUsQ0FBQyxDQUFDLENBQUMsa0JBQWtCLENBQUMsRUFBRSxDQUFDLENBQUMsRUFBRSxFQUFFLENBQUMsVUFBVSxDQUFDLG9CQUFvQixDQUM5SCxNQUFNLENBQUMsT0FBTyxDQUFDLGlCQUFpQixDQUFDLEVBQ2pDO2dCQUNJLG1CQUFtQixFQUFFLEdBQUc7Z0JBQ3hCLFdBQVcsRUFBRSxDQUFDO2FBQ2pCLENBQ0osQ0FBQyxDQUFBO1lBQ0YsTUFBTSxR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
|
|
1898
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic2NoZW1hLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vc3JjL2ltcGxlbWVudGF0aW9uL3RlbXAvcmVzb2x2ZXJzL3NjaGVtYS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7OztBQUFBLHlEQUEwQztBQUUxQyxtRkFBb0U7QUFRN0QsTUFBTSxPQUFPLEdBQTBCLENBQUMsQ0FBQyxFQUFFLEVBQUUsRUFBRSxFQUFFLENBQUMsR0FBRyxDQUFDLEtBQUssQ0FBQyxHQUFHLEVBQUU7SUFDcEUsTUFBTSxHQUFHLEdBQUcsRUFBRSxDQUFDLG1CQUFtQixDQUFDLENBQUE7SUFDbkMsTUFBTSxNQUFNLEdBQUcsRUFBRSxDQUFDLFlBQVksQ0FBQyxDQUFBO0lBQy9CLE9BQU8sR0FBRyxDQUFDLEVBQUUsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxDQUFDLEVBQUUsRUFBRSxDQUFDLFVBQVUsQ0FBQyxrQkFBa0IsQ0FDakQsQ0FBQyxFQUNEO1FBQ0ksbUJBQW1CLEVBQUUsR0FBRztRQUN4QixLQUFLLEVBQUUsQ0FBQyxDQUFDLEVBQUUsRUFBRSxFQUFFLEVBQUUsQ0FBQyxHQUFHLENBQUMsRUFBRSxDQUFDLENBQUMsQ0FBQyxPQUFPLENBQUMsRUFBRSxDQUFDLENBQUMsRUFBRSxFQUFFLENBQUMsR0FBRyxDQUFDLEVBQUUsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxDQUFDLEVBQW9CLEVBQUU7WUFDMUUsTUFBTSxrQkFBa0IsR0FBc0MsR0FBRyxDQUFDLEVBQUUsQ0FBQyxDQUFDLENBQUMsa0JBQWtCLENBQUMsRUFBRSxDQUFDLENBQUMsRUFBRSxFQUFFLENBQUMsVUFBVSxDQUFDLG9CQUFvQixDQUM5SCxNQUFNLENBQUMsT0FBTyxDQUFDLGlCQUFpQixDQUFDLEVBQ2pDO2dCQUNJLG1CQUFtQixFQUFFLEdBQUc7Z0JBQ3hCLFdBQVcsRUFBRSxDQUFDO2FBQ2pCLENBQ0osQ0FBQyxDQUFBO1lBQ0YsTUFBTSxR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
|