@tsonic/emitter 0.0.76 → 0.0.77
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/.tsbuildinfo +1 -1
- package/dist/array.test.js +3 -3
- package/dist/array.test.js.map +1 -1
- package/dist/core/format/backend-ast/invariants.test.js +5 -0
- package/dist/core/format/backend-ast/invariants.test.js.map +1 -1
- package/dist/core/format/backend-ast/printer-colon-detection.d.ts.map +1 -1
- package/dist/core/format/backend-ast/printer-colon-detection.js +2 -0
- package/dist/core/format/backend-ast/printer-colon-detection.js.map +1 -1
- package/dist/core/format/backend-ast/printer-expressions.d.ts.map +1 -1
- package/dist/core/format/backend-ast/printer-expressions.js +4 -0
- package/dist/core/format/backend-ast/printer-expressions.js.map +1 -1
- package/dist/core/format/backend-ast/printer-precedence.d.ts.map +1 -1
- package/dist/core/format/backend-ast/printer-precedence.js +1 -0
- package/dist/core/format/backend-ast/printer-precedence.js.map +1 -1
- package/dist/core/format/backend-ast/types/expression-ast.d.ts +5 -1
- package/dist/core/format/backend-ast/types/expression-ast.d.ts.map +1 -1
- package/dist/core/format/backend-ast/utils.d.ts +3 -0
- package/dist/core/format/backend-ast/utils.d.ts.map +1 -1
- package/dist/core/format/backend-ast/utils.js +39 -0
- package/dist/core/format/backend-ast/utils.js.map +1 -1
- package/dist/core/format/backend-ast/utils.test.js +13 -1
- package/dist/core/format/backend-ast/utils.test.js.map +1 -1
- package/dist/core/format/local-names.d.ts.map +1 -1
- package/dist/core/format/local-names.js +3 -2
- package/dist/core/format/local-names.js.map +1 -1
- package/dist/core/format/local-names.test.js +7 -6
- package/dist/core/format/local-names.test.js.map +1 -1
- package/dist/core/format/module-emitter/orchestrator.d.ts.map +1 -1
- package/dist/core/format/module-emitter/orchestrator.js +3 -1
- package/dist/core/format/module-emitter/orchestrator.js.map +1 -1
- package/dist/core/format/module-emitter/static-container.d.ts.map +1 -1
- package/dist/core/format/module-emitter/static-container.js +2 -4
- package/dist/core/format/module-emitter/static-container.js.map +1 -1
- package/dist/core/module-emitter-cases/class-and-recursion.test.js +4 -1
- package/dist/core/module-emitter-cases/class-and-recursion.test.js.map +1 -1
- package/dist/core/module-emitter-cases/static-containers.test.js +111 -1
- package/dist/core/module-emitter-cases/static-containers.test.js.map +1 -1
- package/dist/core/semantic/adapt-result.d.ts +20 -0
- package/dist/core/semantic/adapt-result.d.ts.map +1 -0
- package/dist/core/semantic/adapt-result.js +30 -0
- package/dist/core/semantic/adapt-result.js.map +1 -0
- package/dist/core/semantic/array-expected-types.d.ts.map +1 -1
- package/dist/core/semantic/array-expected-types.js.map +1 -1
- package/dist/core/semantic/assignment-flow.d.ts.map +1 -1
- package/dist/core/semantic/assignment-flow.js +26 -3
- package/dist/core/semantic/assignment-flow.js.map +1 -1
- package/dist/core/semantic/async-wrapper-types.d.ts +1 -0
- package/dist/core/semantic/async-wrapper-types.d.ts.map +1 -1
- package/dist/core/semantic/async-wrapper-types.js +19 -1
- package/dist/core/semantic/async-wrapper-types.js.map +1 -1
- package/dist/core/semantic/boolean-condition-main.d.ts.map +1 -1
- package/dist/core/semantic/boolean-condition-main.js +6 -2
- package/dist/core/semantic/boolean-condition-main.js.map +1 -1
- package/dist/core/semantic/boolean-context.test.js +2 -1
- package/dist/core/semantic/boolean-context.test.js.map +1 -1
- package/dist/core/semantic/broad-array-storage.d.ts.map +1 -1
- package/dist/core/semantic/broad-array-storage.js +2 -5
- package/dist/core/semantic/broad-array-storage.js.map +1 -1
- package/dist/core/semantic/broad-object-types.d.ts +1 -0
- package/dist/core/semantic/broad-object-types.d.ts.map +1 -1
- package/dist/core/semantic/broad-object-types.js +39 -0
- package/dist/core/semantic/broad-object-types.js.map +1 -1
- package/dist/core/semantic/clr-type-identity.d.ts +1 -2
- package/dist/core/semantic/clr-type-identity.d.ts.map +1 -1
- package/dist/core/semantic/clr-type-identity.js +3 -65
- package/dist/core/semantic/clr-type-identity.js.map +1 -1
- package/dist/core/semantic/comparable-types.d.ts.map +1 -1
- package/dist/core/semantic/comparable-types.js +61 -27
- package/dist/core/semantic/comparable-types.js.map +1 -1
- package/dist/core/semantic/comparable-types.test.js.map +1 -1
- package/dist/core/semantic/deterministic-type-keys.d.ts.map +1 -1
- package/dist/core/semantic/deterministic-type-keys.js +90 -37
- package/dist/core/semantic/deterministic-type-keys.js.map +1 -1
- package/dist/core/semantic/deterministic-type-keys.test.d.ts +2 -0
- package/dist/core/semantic/deterministic-type-keys.test.d.ts.map +1 -0
- package/dist/core/semantic/deterministic-type-keys.test.js +38 -0
- package/dist/core/semantic/deterministic-type-keys.test.js.map +1 -0
- package/dist/core/semantic/direct-storage-ir-types.d.ts +1 -1
- package/dist/core/semantic/direct-storage-ir-types.d.ts.map +1 -1
- package/dist/core/semantic/direct-storage-ir-types.js +12 -3
- package/dist/core/semantic/direct-storage-ir-types.js.map +1 -1
- package/dist/core/semantic/direct-value-surfaces.d.ts.map +1 -1
- package/dist/core/semantic/direct-value-surfaces.js +165 -6
- package/dist/core/semantic/direct-value-surfaces.js.map +1 -1
- package/dist/core/semantic/direct-value-surfaces.test.js +69 -6
- package/dist/core/semantic/direct-value-surfaces.test.js.map +1 -1
- package/dist/core/semantic/expected-type-matching.d.ts.map +1 -1
- package/dist/core/semantic/expected-type-matching.js +4 -5
- package/dist/core/semantic/expected-type-matching.js.map +1 -1
- package/dist/core/semantic/implicit-interfaces.d.ts.map +1 -1
- package/dist/core/semantic/implicit-interfaces.js.map +1 -1
- package/dist/core/semantic/imports-cases/basic-and-local.test.js +8 -8
- package/dist/core/semantic/imports-cases/basic-and-local.test.js.map +1 -1
- package/dist/core/semantic/imports.js +3 -2
- package/dist/core/semantic/imports.js.map +1 -1
- package/dist/core/semantic/index.d.ts +1 -1
- package/dist/core/semantic/index.d.ts.map +1 -1
- package/dist/core/semantic/index.js +1 -1
- package/dist/core/semantic/index.js.map +1 -1
- package/dist/core/semantic/instanceof-predicate-refinements.d.ts.map +1 -1
- package/dist/core/semantic/instanceof-predicate-refinements.js +1 -9
- package/dist/core/semantic/instanceof-predicate-refinements.js.map +1 -1
- package/dist/core/semantic/js-array-surface-members.d.ts +4 -0
- package/dist/core/semantic/js-array-surface-members.d.ts.map +1 -0
- package/dist/core/semantic/js-array-surface-members.js +32 -0
- package/dist/core/semantic/js-array-surface-members.js.map +1 -0
- package/dist/core/semantic/materialized-narrowing.d.ts +1 -0
- package/dist/core/semantic/materialized-narrowing.d.ts.map +1 -1
- package/dist/core/semantic/materialized-narrowing.js +170 -34
- package/dist/core/semantic/materialized-narrowing.js.map +1 -1
- package/dist/core/semantic/materialized-narrowing.test.js +24 -6
- package/dist/core/semantic/materialized-narrowing.test.js.map +1 -1
- package/dist/core/semantic/module-map.d.ts.map +1 -1
- package/dist/core/semantic/module-map.js +4 -6
- package/dist/core/semantic/module-map.js.map +1 -1
- package/dist/core/semantic/module-type-collisions.d.ts +7 -0
- package/dist/core/semantic/module-type-collisions.d.ts.map +1 -0
- package/dist/core/semantic/module-type-collisions.js +24 -0
- package/dist/core/semantic/module-type-collisions.js.map +1 -0
- package/dist/core/semantic/mutable-storage-helpers.d.ts +1 -1
- package/dist/core/semantic/mutable-storage-helpers.d.ts.map +1 -1
- package/dist/core/semantic/mutable-storage-helpers.js +4 -12
- package/dist/core/semantic/mutable-storage-helpers.js.map +1 -1
- package/dist/core/semantic/naming-collisions.d.ts.map +1 -1
- package/dist/core/semantic/naming-collisions.js +13 -3
- package/dist/core/semantic/naming-collisions.js.map +1 -1
- package/dist/core/semantic/narrowed-expression-types.d.ts +3 -1
- package/dist/core/semantic/narrowed-expression-types.d.ts.map +1 -1
- package/dist/core/semantic/narrowed-expression-types.js +138 -16
- package/dist/core/semantic/narrowed-expression-types.js.map +1 -1
- package/dist/core/semantic/narrowed-union-resolution.d.ts.map +1 -1
- package/dist/core/semantic/narrowed-union-resolution.js +13 -2
- package/dist/core/semantic/narrowed-union-resolution.js.map +1 -1
- package/dist/core/semantic/narrowing-builder-core.d.ts +3 -2
- package/dist/core/semantic/narrowing-builder-core.d.ts.map +1 -1
- package/dist/core/semantic/narrowing-builder-core.js +85 -126
- package/dist/core/semantic/narrowing-builder-core.js.map +1 -1
- package/dist/core/semantic/narrowing-builder-core.test.js +3 -2
- package/dist/core/semantic/narrowing-builder-core.test.js.map +1 -1
- package/dist/core/semantic/narrowing-builder-unions.d.ts.map +1 -1
- package/dist/core/semantic/narrowing-builder-unions.js +43 -7
- package/dist/core/semantic/narrowing-builder-unions.js.map +1 -1
- package/dist/core/semantic/narrowing-builders.d.ts +1 -1
- package/dist/core/semantic/narrowing-builders.d.ts.map +1 -1
- package/dist/core/semantic/narrowing-builders.js +1 -1
- package/dist/core/semantic/narrowing-builders.js.map +1 -1
- package/dist/core/semantic/narrowing-refinements.d.ts +1 -1
- package/dist/core/semantic/narrowing-refinements.d.ts.map +1 -1
- package/dist/core/semantic/narrowing-refinements.js +1 -1
- package/dist/core/semantic/narrowing-refinements.js.map +1 -1
- package/dist/core/semantic/nullable-typeof-refinements.d.ts +1 -5
- package/dist/core/semantic/nullable-typeof-refinements.d.ts.map +1 -1
- package/dist/core/semantic/nullable-typeof-refinements.js +128 -57
- package/dist/core/semantic/nullable-typeof-refinements.js.map +1 -1
- package/dist/core/semantic/nullish-value-helpers.d.ts +1 -1
- package/dist/core/semantic/nullish-value-helpers.d.ts.map +1 -1
- package/dist/core/semantic/nullish-value-helpers.js +18 -9
- package/dist/core/semantic/nullish-value-helpers.js.map +1 -1
- package/dist/core/semantic/runtime-materialization-targets.js +1 -1
- package/dist/core/semantic/runtime-materialization-targets.js.map +1 -1
- package/dist/core/semantic/runtime-reification.d.ts +1 -0
- package/dist/core/semantic/runtime-reification.d.ts.map +1 -1
- package/dist/core/semantic/runtime-reification.js +141 -35
- package/dist/core/semantic/runtime-reification.js.map +1 -1
- package/dist/core/semantic/runtime-union-family-preservation.js +1 -1
- package/dist/core/semantic/runtime-union-family-preservation.js.map +1 -1
- package/dist/core/semantic/runtime-union-matching.d.ts.map +1 -1
- package/dist/core/semantic/runtime-union-matching.js +13 -0
- package/dist/core/semantic/runtime-union-matching.js.map +1 -1
- package/dist/core/semantic/runtime-union-member-mapping.test.js +1 -1
- package/dist/core/semantic/runtime-union-member-mapping.test.js.map +1 -1
- package/dist/core/semantic/runtime-union-ordering.d.ts.map +1 -1
- package/dist/core/semantic/runtime-union-ordering.js +10 -22
- package/dist/core/semantic/runtime-union-ordering.js.map +1 -1
- package/dist/core/semantic/runtime-union-projection.d.ts.map +1 -1
- package/dist/core/semantic/runtime-union-projection.js +23 -7
- package/dist/core/semantic/runtime-union-projection.js.map +1 -1
- package/dist/core/semantic/runtime-union-projection.test.js +19 -1
- package/dist/core/semantic/runtime-union-projection.test.js.map +1 -1
- package/dist/core/semantic/runtime-union-registry.js +13 -13
- package/dist/core/semantic/runtime-union-registry.js.map +1 -1
- package/dist/core/semantic/runtime-unions.d.ts.map +1 -1
- package/dist/core/semantic/runtime-unions.js +47 -21
- package/dist/core/semantic/runtime-unions.js.map +1 -1
- package/dist/core/semantic/runtime-unions.test.js +12 -7
- package/dist/core/semantic/runtime-unions.test.js.map +1 -1
- package/dist/core/semantic/semantic-union-members.d.ts.map +1 -1
- package/dist/core/semantic/semantic-union-members.js.map +1 -1
- package/dist/core/semantic/storage-erased-adaptation.d.ts.map +1 -1
- package/dist/core/semantic/storage-erased-adaptation.js +8 -11
- package/dist/core/semantic/storage-erased-adaptation.js.map +1 -1
- package/dist/core/semantic/storage-erased-adaptation.test.js +4 -1
- package/dist/core/semantic/storage-erased-adaptation.test.js.map +1 -1
- package/dist/core/semantic/storage-types.d.ts.map +1 -1
- package/dist/core/semantic/storage-types.js +4 -2
- package/dist/core/semantic/storage-types.js.map +1 -1
- package/dist/core/semantic/structural-shape-matching.d.ts +5 -1
- package/dist/core/semantic/structural-shape-matching.d.ts.map +1 -1
- package/dist/core/semantic/structural-shape-matching.js +29 -4
- package/dist/core/semantic/structural-shape-matching.js.map +1 -1
- package/dist/core/semantic/symbol-types.d.ts +2 -9
- package/dist/core/semantic/symbol-types.d.ts.map +1 -1
- package/dist/core/semantic/symbol-types.js +7 -11
- package/dist/core/semantic/symbol-types.js.map +1 -1
- package/dist/core/semantic/truthiness-evaluation.d.ts.map +1 -1
- package/dist/core/semantic/truthiness-evaluation.js +3 -3
- package/dist/core/semantic/truthiness-evaluation.js.map +1 -1
- package/dist/core/semantic/type-compatibility.d.ts +4 -2
- package/dist/core/semantic/type-compatibility.d.ts.map +1 -1
- package/dist/core/semantic/type-compatibility.js +62 -2
- package/dist/core/semantic/type-compatibility.js.map +1 -1
- package/dist/core/semantic/type-domains.d.ts +17 -0
- package/dist/core/semantic/type-domains.d.ts.map +1 -0
- package/dist/core/semantic/type-domains.js +7 -0
- package/dist/core/semantic/type-domains.js.map +1 -0
- package/dist/core/semantic/type-equivalence.d.ts.map +1 -1
- package/dist/core/semantic/type-equivalence.js +12 -7
- package/dist/core/semantic/type-equivalence.js.map +1 -1
- package/dist/core/semantic/type-equivalence.test.js +34 -0
- package/dist/core/semantic/type-equivalence.test.js.map +1 -1
- package/dist/core/semantic/type-resolution-cases/array-like-element.test.js +13 -4
- package/dist/core/semantic/type-resolution-cases/array-like-element.test.js.map +1 -1
- package/dist/core/semantic/type-resolution-cases/helpers.d.ts +2 -2
- package/dist/core/semantic/type-resolution-cases/helpers.d.ts.map +1 -1
- package/dist/core/semantic/type-resolution-cases/helpers.js +2 -2
- package/dist/core/semantic/type-resolution-cases/helpers.js.map +1 -1
- package/dist/core/semantic/type-resolution-cases/typeof-narrowing.test.d.ts +2 -0
- package/dist/core/semantic/type-resolution-cases/typeof-narrowing.test.d.ts.map +1 -0
- package/dist/core/semantic/type-resolution-cases/typeof-narrowing.test.js +36 -0
- package/dist/core/semantic/type-resolution-cases/typeof-narrowing.test.js.map +1 -0
- package/dist/core/semantic/type-resolution.test.d.ts +1 -1
- package/dist/core/semantic/type-resolution.test.d.ts.map +1 -1
- package/dist/core/semantic/type-resolution.test.js +1 -1
- package/dist/core/semantic/type-resolution.test.js.map +1 -1
- package/dist/core/semantic/type-substitution.d.ts.map +1 -1
- package/dist/core/semantic/type-substitution.js +2 -1
- package/dist/core/semantic/type-substitution.js.map +1 -1
- package/dist/core/semantic/union-predicate-matching.d.ts.map +1 -1
- package/dist/core/semantic/union-predicate-matching.js +1 -1
- package/dist/core/semantic/union-predicate-matching.js.map +1 -1
- package/dist/core/semantic/union-typeof-matching.d.ts.map +1 -1
- package/dist/core/semantic/union-typeof-matching.js +72 -22
- package/dist/core/semantic/union-typeof-matching.js.map +1 -1
- package/dist/core/semantic/variable-type-resolution.d.ts +1 -0
- package/dist/core/semantic/variable-type-resolution.d.ts.map +1 -1
- package/dist/core/semantic/variable-type-resolution.js +62 -6
- package/dist/core/semantic/variable-type-resolution.js.map +1 -1
- package/dist/duplicate-type-suppression.d.ts.map +1 -1
- package/dist/duplicate-type-suppression.js.map +1 -1
- package/dist/emitter-types/context.d.ts +1 -0
- package/dist/emitter-types/context.d.ts.map +1 -1
- package/dist/emitter-types/context.js +12 -1
- package/dist/emitter-types/context.js.map +1 -1
- package/dist/emitter-types/core.d.ts +10 -9
- package/dist/emitter-types/core.d.ts.map +1 -1
- package/dist/emitter-types/fqn.d.ts +0 -1
- package/dist/emitter-types/fqn.d.ts.map +1 -1
- package/dist/emitter-types/fqn.js +0 -1
- package/dist/emitter-types/fqn.js.map +1 -1
- package/dist/emitter-types/index.d.ts +1 -1
- package/dist/emitter-types/index.d.ts.map +1 -1
- package/dist/emitter-types/index.js +1 -1
- package/dist/emitter-types/index.js.map +1 -1
- package/dist/emitter.d.ts +3 -3
- package/dist/emitter.d.ts.map +1 -1
- package/dist/emitter.js +1 -7
- package/dist/emitter.js.map +1 -1
- package/dist/expression-emitter.d.ts.map +1 -1
- package/dist/expression-emitter.js +7 -2
- package/dist/expression-emitter.js.map +1 -1
- package/dist/expressions/access-binding.d.ts.map +1 -1
- package/dist/expressions/access-binding.js +32 -46
- package/dist/expressions/access-binding.js.map +1 -1
- package/dist/expressions/access-computed.d.ts.map +1 -1
- package/dist/expressions/access-computed.js +7 -8
- package/dist/expressions/access-computed.js.map +1 -1
- package/dist/expressions/access-length.d.ts +5 -9
- package/dist/expressions/access-length.d.ts.map +1 -1
- package/dist/expressions/access-length.js +17 -225
- package/dist/expressions/access-length.js.map +1 -1
- package/dist/expressions/access-property.d.ts +1 -2
- package/dist/expressions/access-property.d.ts.map +1 -1
- package/dist/expressions/access-property.js +20 -94
- package/dist/expressions/access-property.js.map +1 -1
- package/dist/expressions/access-resolution-receivers.d.ts.map +1 -1
- package/dist/expressions/access-resolution-receivers.js +14 -5
- package/dist/expressions/access-resolution-receivers.js.map +1 -1
- package/dist/expressions/access-resolution-types.d.ts.map +1 -1
- package/dist/expressions/access-resolution-types.js +7 -0
- package/dist/expressions/access-resolution-types.js.map +1 -1
- package/dist/expressions/access.d.ts +2 -2
- package/dist/expressions/access.d.ts.map +1 -1
- package/dist/expressions/access.js +6 -5
- package/dist/expressions/access.js.map +1 -1
- package/dist/expressions/architecture-invariants.test.js +18 -0
- package/dist/expressions/architecture-invariants.test.js.map +1 -1
- package/dist/expressions/await-normalization.d.ts.map +1 -1
- package/dist/expressions/await-normalization.js +53 -13
- package/dist/expressions/await-normalization.js.map +1 -1
- package/dist/expressions/calls/call-analysis.d.ts +0 -1
- package/dist/expressions/calls/call-analysis.d.ts.map +1 -1
- package/dist/expressions/calls/call-analysis.js +0 -7
- package/dist/expressions/calls/call-analysis.js.map +1 -1
- package/dist/expressions/calls/call-arguments-emit.d.ts.map +1 -1
- package/dist/expressions/calls/call-arguments-emit.js +219 -36
- package/dist/expressions/calls/call-arguments-emit.js.map +1 -1
- package/dist/expressions/calls/call-arguments-helpers.d.ts.map +1 -1
- package/dist/expressions/calls/call-arguments-helpers.js.map +1 -1
- package/dist/expressions/calls/call-array-mutation.d.ts.map +1 -1
- package/dist/expressions/calls/call-array-mutation.js +8 -33
- package/dist/expressions/calls/call-array-mutation.js.map +1 -1
- package/dist/expressions/calls/call-array-wrapper.d.ts.map +1 -1
- package/dist/expressions/calls/call-array-wrapper.js +6 -4
- package/dist/expressions/calls/call-array-wrapper.js.map +1 -1
- package/dist/expressions/calls/call-emitter.d.ts +1 -1
- package/dist/expressions/calls/call-emitter.d.ts.map +1 -1
- package/dist/expressions/calls/call-emitter.js +85 -7
- package/dist/expressions/calls/call-emitter.js.map +1 -1
- package/dist/expressions/calls/call-json.d.ts +1 -1
- package/dist/expressions/calls/call-json.d.ts.map +1 -1
- package/dist/expressions/calls/call-json.js +50 -84
- package/dist/expressions/calls/call-json.js.map +1 -1
- package/dist/expressions/calls/call-promise-ir-types.d.ts.map +1 -1
- package/dist/expressions/calls/call-promise-ir-types.js.map +1 -1
- package/dist/expressions/calls/call-runtime-union-guards.d.ts.map +1 -1
- package/dist/expressions/calls/call-runtime-union-guards.js +10 -1
- package/dist/expressions/calls/call-runtime-union-guards.js.map +1 -1
- package/dist/expressions/calls/new-emitter-collections.d.ts +7 -4
- package/dist/expressions/calls/new-emitter-collections.d.ts.map +1 -1
- package/dist/expressions/calls/new-emitter-collections.js +64 -25
- package/dist/expressions/calls/new-emitter-collections.js.map +1 -1
- package/dist/expressions/calls/new-emitter.d.ts.map +1 -1
- package/dist/expressions/calls/new-emitter.js +4 -5
- package/dist/expressions/calls/new-emitter.js.map +1 -1
- package/dist/expressions/direct-storage-types.d.ts.map +1 -1
- package/dist/expressions/direct-storage-types.js +76 -15
- package/dist/expressions/direct-storage-types.js.map +1 -1
- package/dist/expressions/exact-comparison.d.ts.map +1 -1
- package/dist/expressions/exact-comparison.js +3 -1
- package/dist/expressions/exact-comparison.js.map +1 -1
- package/dist/expressions/expected-type-adaptation.d.ts +1 -1
- package/dist/expressions/expected-type-adaptation.d.ts.map +1 -1
- package/dist/expressions/expected-type-adaptation.js +149 -29
- package/dist/expressions/expected-type-adaptation.js.map +1 -1
- package/dist/expressions/expected-type-adaptation.test.js +81 -26
- package/dist/expressions/expected-type-adaptation.test.js.map +1 -1
- package/dist/expressions/identifier-storage.d.ts +5 -0
- package/dist/expressions/identifier-storage.d.ts.map +1 -1
- package/dist/expressions/identifier-storage.js +200 -25
- package/dist/expressions/identifier-storage.js.map +1 -1
- package/dist/expressions/identifiers.d.ts.map +1 -1
- package/dist/expressions/identifiers.js +7 -16
- package/dist/expressions/identifiers.js.map +1 -1
- package/dist/expressions/index-cases/array-wrapper-recursion-b.test.js +3 -3
- package/dist/expressions/index-cases/array-wrapper-recursion-b.test.js.map +1 -1
- package/dist/expressions/index-cases/basic-literals-and-calls.test.js +3 -3
- package/dist/expressions/index-cases/basic-literals-and-calls.test.js.map +1 -1
- package/dist/expressions/index-cases/defaults-and-char-context.test.js +8 -2
- package/dist/expressions/index-cases/defaults-and-char-context.test.js.map +1 -1
- package/dist/expressions/index-cases/dictionary-and-object-initializers-a.test.js +17 -20
- package/dist/expressions/index-cases/dictionary-and-object-initializers-a.test.js.map +1 -1
- package/dist/expressions/index-cases/dictionary-and-object-initializers-b.test.js +7 -8
- package/dist/expressions/index-cases/dictionary-and-object-initializers-b.test.js.map +1 -1
- package/dist/expressions/index-cases/helpers.d.ts +5 -4
- package/dist/expressions/index-cases/helpers.d.ts.map +1 -1
- package/dist/expressions/index-cases/helpers.js +3 -2
- package/dist/expressions/index-cases/helpers.js.map +1 -1
- package/dist/expressions/index-cases/nullable-and-comparisons.test.js +9 -9
- package/dist/expressions/index-cases/nullable-and-comparisons.test.js.map +1 -1
- package/dist/expressions/index-cases/runtime-subset-and-assertions.test.js +3 -3
- package/dist/expressions/index-cases/runtime-subset-and-assertions.test.js.map +1 -1
- package/dist/expressions/index-cases/runtime-union-reification-b.test.js +19 -13
- package/dist/expressions/index-cases/runtime-union-reification-b.test.js.map +1 -1
- package/dist/expressions/index-cases/string-and-array-fallbacks-a.test.js +4 -4
- package/dist/expressions/index-cases/string-and-array-fallbacks-a.test.js.map +1 -1
- package/dist/expressions/lambda-parameters.d.ts.map +1 -1
- package/dist/expressions/lambda-parameters.js +97 -12
- package/dist/expressions/lambda-parameters.js.map +1 -1
- package/dist/expressions/object-literal.d.ts.map +1 -1
- package/dist/expressions/object-literal.js +48 -18
- package/dist/expressions/object-literal.js.map +1 -1
- package/dist/expressions/operators/binary-dispatch.d.ts +1 -1
- package/dist/expressions/operators/binary-dispatch.d.ts.map +1 -1
- package/dist/expressions/operators/binary-dispatch.js +52 -12
- package/dist/expressions/operators/binary-dispatch.js.map +1 -1
- package/dist/expressions/operators/binary-helpers.d.ts.map +1 -1
- package/dist/expressions/operators/binary-helpers.js +11 -1
- package/dist/expressions/operators/binary-helpers.js.map +1 -1
- package/dist/expressions/operators/binary-special-ops.d.ts +1 -11
- package/dist/expressions/operators/binary-special-ops.d.ts.map +1 -1
- package/dist/expressions/operators/binary-special-ops.js +217 -195
- package/dist/expressions/operators/binary-special-ops.js.map +1 -1
- package/dist/expressions/operators/conditional-emitter.d.ts.map +1 -1
- package/dist/expressions/operators/conditional-emitter.js +89 -19
- package/dist/expressions/operators/conditional-emitter.js.map +1 -1
- package/dist/expressions/operators/logical-emitter.js +1 -1
- package/dist/expressions/operators/logical-emitter.js.map +1 -1
- package/dist/expressions/operators/unary-emitter.d.ts.map +1 -1
- package/dist/expressions/operators/unary-emitter.js +7 -50
- package/dist/expressions/operators/unary-emitter.js.map +1 -1
- package/dist/expressions/other.d.ts +2 -6
- package/dist/expressions/other.d.ts.map +1 -1
- package/dist/expressions/other.js +6 -13
- package/dist/expressions/other.js.map +1 -1
- package/dist/expressions/post-emission-adaptation.d.ts +1 -1
- package/dist/expressions/post-emission-adaptation.d.ts.map +1 -1
- package/dist/expressions/post-emission-adaptation.js +55 -150
- package/dist/expressions/post-emission-adaptation.js.map +1 -1
- package/dist/expressions/precedence.test.js +5 -46
- package/dist/expressions/precedence.test.js.map +1 -1
- package/dist/expressions/runtime-union-adaptation-projection.d.ts.map +1 -1
- package/dist/expressions/runtime-union-adaptation-projection.js +25 -4
- package/dist/expressions/runtime-union-adaptation-projection.js.map +1 -1
- package/dist/expressions/runtime-union-adaptation-upcast.d.ts.map +1 -1
- package/dist/expressions/runtime-union-adaptation-upcast.js +268 -31
- package/dist/expressions/runtime-union-adaptation-upcast.js.map +1 -1
- package/dist/expressions/structural-anonymous-targets.d.ts.map +1 -1
- package/dist/expressions/structural-anonymous-targets.js +5 -0
- package/dist/expressions/structural-anonymous-targets.js.map +1 -1
- package/dist/expressions/structural-collection-adaptation.d.ts.map +1 -1
- package/dist/expressions/structural-collection-adaptation.js +4 -2
- package/dist/expressions/structural-collection-adaptation.js.map +1 -1
- package/dist/expressions/structural-object-adaptation.d.ts.map +1 -1
- package/dist/expressions/structural-object-adaptation.js +58 -3
- package/dist/expressions/structural-object-adaptation.js.map +1 -1
- package/dist/expressions/structural-property-model.d.ts.map +1 -1
- package/dist/expressions/structural-property-model.js +7 -3
- package/dist/expressions/structural-property-model.js.map +1 -1
- package/dist/expressions/structural-type-shapes.d.ts.map +1 -1
- package/dist/expressions/structural-type-shapes.js +1 -1
- package/dist/expressions/structural-type-shapes.js.map +1 -1
- package/dist/expressions/structural-type-shapes.test.js +2 -1
- package/dist/expressions/structural-type-shapes.test.js.map +1 -1
- package/dist/expressions/type-assertion-emitters.d.ts.map +1 -1
- package/dist/expressions/type-assertion-emitters.js +231 -15
- package/dist/expressions/type-assertion-emitters.js.map +1 -1
- package/dist/fixture-regression-mirrors.test.js +43 -112
- package/dist/fixture-regression-mirrors.test.js.map +1 -1
- package/dist/generated-files.d.ts +0 -1
- package/dist/generated-files.d.ts.map +1 -1
- package/dist/generated-files.js +0 -229
- package/dist/generated-files.js.map +1 -1
- package/dist/generated-files.test.js +53 -1
- package/dist/generated-files.test.js.map +1 -1
- package/dist/golden-tests/runner.d.ts.map +1 -1
- package/dist/golden-tests/runner.js +1 -0
- package/dist/golden-tests/runner.js.map +1 -1
- package/dist/integration-cases/arrow-and-generics-a.test.js +52 -32
- package/dist/integration-cases/arrow-and-generics-a.test.js.map +1 -1
- package/dist/integration-cases/arrow-and-generics-b.test.js +17 -23
- package/dist/integration-cases/arrow-and-generics-b.test.js.map +1 -1
- package/dist/integration-cases/await-and-intrinsics.test.js +12 -10
- package/dist/integration-cases/await-and-intrinsics.test.js.map +1 -1
- package/dist/integration-cases/clr-iterable-overloads.test.js +58 -27
- package/dist/integration-cases/clr-iterable-overloads.test.js.map +1 -1
- package/dist/integration-cases/full-module-and-promises.test.js +21 -19
- package/dist/integration-cases/full-module-and-promises.test.js.map +1 -1
- package/dist/integration-cases/helpers.d.ts.map +1 -1
- package/dist/integration-cases/helpers.js +12 -33
- package/dist/integration-cases/helpers.js.map +1 -1
- package/dist/integration-cases/may14-downstream-contracts.test.d.ts +2 -0
- package/dist/integration-cases/may14-downstream-contracts.test.d.ts.map +1 -0
- package/dist/integration-cases/may14-downstream-contracts.test.js +522 -0
- package/dist/integration-cases/may14-downstream-contracts.test.js.map +1 -0
- package/dist/integration-cases/object-literals-and-channels.test.js +10 -4
- package/dist/integration-cases/object-literals-and-channels.test.js.map +1 -1
- package/dist/integration-cases/regression-coverage-a.test.js +36 -30
- package/dist/integration-cases/regression-coverage-a.test.js.map +1 -1
- package/dist/integration-cases/regression-coverage-b.test.js +95 -111
- package/dist/integration-cases/regression-coverage-b.test.js.map +1 -1
- package/dist/integration-cases/regression-coverage-c.test.js +499 -197
- package/dist/integration-cases/regression-coverage-c.test.js.map +1 -1
- package/dist/integration.test.d.ts +1 -0
- package/dist/integration.test.d.ts.map +1 -1
- package/dist/integration.test.js +1 -0
- package/dist/integration.test.js.map +1 -1
- package/dist/json-aot-generic.test.js +48 -200
- package/dist/json-aot-generic.test.js.map +1 -1
- package/dist/statements/block-emitters/block-and-return.d.ts +1 -1
- package/dist/statements/block-emitters/block-and-return.d.ts.map +1 -1
- package/dist/statements/block-emitters/block-and-return.js +9 -3
- package/dist/statements/block-emitters/block-and-return.js.map +1 -1
- package/dist/statements/classes/properties.d.ts.map +1 -1
- package/dist/statements/classes/properties.js.map +1 -1
- package/dist/statements/control/conditionals/architecture-invariants.test.d.ts +2 -0
- package/dist/statements/control/conditionals/architecture-invariants.test.d.ts.map +1 -0
- package/dist/statements/control/conditionals/architecture-invariants.test.js +19 -0
- package/dist/statements/control/conditionals/architecture-invariants.test.js.map +1 -0
- package/dist/statements/control/conditionals/branch-context.d.ts +4 -6
- package/dist/statements/control/conditionals/branch-context.d.ts.map +1 -1
- package/dist/statements/control/conditionals/branch-context.js +104 -31
- package/dist/statements/control/conditionals/branch-context.js.map +1 -1
- package/dist/statements/control/conditionals/guard-analysis.d.ts +2 -2
- package/dist/statements/control/conditionals/guard-analysis.d.ts.map +1 -1
- package/dist/statements/control/conditionals/guard-analysis.js +1 -1
- package/dist/statements/control/conditionals/guard-analysis.js.map +1 -1
- package/dist/statements/control/conditionals/guard-detectors-discriminant.d.ts +2 -1
- package/dist/statements/control/conditionals/guard-detectors-discriminant.d.ts.map +1 -1
- package/dist/statements/control/conditionals/guard-detectors-discriminant.js +83 -1
- package/dist/statements/control/conditionals/guard-detectors-discriminant.js.map +1 -1
- package/dist/statements/control/conditionals/guard-detectors-structural.d.ts +2 -7
- package/dist/statements/control/conditionals/guard-detectors-structural.d.ts.map +1 -1
- package/dist/statements/control/conditionals/guard-detectors-structural.js +47 -82
- package/dist/statements/control/conditionals/guard-detectors-structural.js.map +1 -1
- package/dist/statements/control/conditionals/guard-detectors.d.ts +2 -2
- package/dist/statements/control/conditionals/guard-detectors.d.ts.map +1 -1
- package/dist/statements/control/conditionals/guard-detectors.js +2 -2
- package/dist/statements/control/conditionals/guard-detectors.js.map +1 -1
- package/dist/statements/control/conditionals/guard-extraction.d.ts +5 -7
- package/dist/statements/control/conditionals/guard-extraction.d.ts.map +1 -1
- package/dist/statements/control/conditionals/guard-extraction.js +3 -158
- package/dist/statements/control/conditionals/guard-extraction.js.map +1 -1
- package/dist/statements/control/conditionals/guard-types.d.ts +16 -26
- package/dist/statements/control/conditionals/guard-types.d.ts.map +1 -1
- package/dist/statements/control/conditionals/guard-types.js +23 -1
- package/dist/statements/control/conditionals/guard-types.js.map +1 -1
- package/dist/statements/control/conditionals/if-emit-instanceof-guards.d.ts.map +1 -1
- package/dist/statements/control/conditionals/if-emit-instanceof-guards.js +5 -8
- package/dist/statements/control/conditionals/if-emit-instanceof-guards.js.map +1 -1
- package/dist/statements/control/conditionals/if-emit-predicate-guards.d.ts +2 -8
- package/dist/statements/control/conditionals/if-emit-predicate-guards.d.ts.map +1 -1
- package/dist/statements/control/conditionals/if-emit-predicate-guards.js +4 -84
- package/dist/statements/control/conditionals/if-emit-predicate-guards.js.map +1 -1
- package/dist/statements/control/conditionals/if-emit-property-discriminant-guards.d.ts +2 -0
- package/dist/statements/control/conditionals/if-emit-property-discriminant-guards.d.ts.map +1 -1
- package/dist/statements/control/conditionals/if-emit-property-discriminant-guards.js +87 -3
- package/dist/statements/control/conditionals/if-emit-property-discriminant-guards.js.map +1 -1
- package/dist/statements/control/conditionals/if-emit-typeof-array-guards.d.ts.map +1 -1
- package/dist/statements/control/conditionals/if-emit-typeof-array-guards.js +254 -20
- package/dist/statements/control/conditionals/if-emit-typeof-array-guards.js.map +1 -1
- package/dist/statements/control/conditionals/if-emit-union-guards.d.ts +2 -2
- package/dist/statements/control/conditionals/if-emit-union-guards.d.ts.map +1 -1
- package/dist/statements/control/conditionals/if-emit-union-guards.js +2 -2
- package/dist/statements/control/conditionals/if-emit-union-guards.js.map +1 -1
- package/dist/statements/control/conditionals/if-emitter.d.ts.map +1 -1
- package/dist/statements/control/conditionals/if-emitter.js +36 -43
- package/dist/statements/control/conditionals/if-emitter.js.map +1 -1
- package/dist/statements/control/conditionals/ir-branch-narrowings.d.ts +5 -0
- package/dist/statements/control/conditionals/ir-branch-narrowings.d.ts.map +1 -0
- package/dist/statements/control/conditionals/ir-branch-narrowings.js +16 -0
- package/dist/statements/control/conditionals/ir-branch-narrowings.js.map +1 -0
- package/dist/statements/control/loops.d.ts +2 -9
- package/dist/statements/control/loops.d.ts.map +1 -1
- package/dist/statements/control/loops.js +56 -48
- package/dist/statements/control/loops.js.map +1 -1
- package/dist/statements/declarations/classes.d.ts.map +1 -1
- package/dist/statements/declarations/classes.js.map +1 -1
- package/dist/statements/declarations/interfaces.d.ts.map +1 -1
- package/dist/statements/declarations/interfaces.js.map +1 -1
- package/dist/statements/declarations/structs.test.js +5 -4
- package/dist/statements/declarations/structs.test.js.map +1 -1
- package/dist/statements/declarations/type-aliases.js.map +1 -1
- package/dist/statements/declarations/variables.d.ts.map +1 -1
- package/dist/statements/declarations/variables.js +7 -4
- package/dist/statements/declarations/variables.js.map +1 -1
- package/dist/statements/statement-cases/flow-and-void.test.js +3 -3
- package/dist/statements/statement-cases/flow-and-void.test.js.map +1 -1
- package/dist/statements/statement-cases/helpers.d.ts +3 -2
- package/dist/statements/statement-cases/helpers.d.ts.map +1 -1
- package/dist/statements/statement-cases/helpers.js +1 -1
- package/dist/statements/statement-cases/helpers.js.map +1 -1
- package/dist/statements/statement-cases/if-and-instanceof-guards.test.js +21 -21
- package/dist/statements/statement-cases/if-and-instanceof-guards.test.js.map +1 -1
- package/dist/statements/statement-cases/union-guards-basic.test.js +3 -80
- package/dist/statements/statement-cases/union-guards-basic.test.js.map +1 -1
- package/dist/statements/statement-cases/union-guards-nullish-and-object.test.js +0 -196
- package/dist/statements/statement-cases/union-guards-nullish-and-object.test.js.map +1 -1
- package/dist/statements/statement-cases/union-guards-predicate-and-truthy.test.js +15 -15
- package/dist/statements/statement-cases/union-guards-predicate-and-truthy.test.js.map +1 -1
- package/dist/statements/statement-cases/union-guards-remapped-a.test.js +7 -189
- package/dist/statements/statement-cases/union-guards-remapped-a.test.js.map +1 -1
- package/dist/statements/statement-cases/union-guards-remapped-b.test.js +7 -193
- package/dist/statements/statement-cases/union-guards-remapped-b.test.js.map +1 -1
- package/dist/test-ir-strict.d.ts +7 -0
- package/dist/test-ir-strict.d.ts.map +1 -0
- package/dist/test-ir-strict.js +9 -0
- package/dist/test-ir-strict.js.map +1 -0
- package/dist/type-assertion.test.js +5 -4
- package/dist/type-assertion.test.js.map +1 -1
- package/dist/types/emitter.d.ts.map +1 -1
- package/dist/types/emitter.js +7 -1
- package/dist/types/emitter.js.map +1 -1
- package/dist/types/intersections.d.ts +2 -2
- package/dist/types/intersections.d.ts.map +1 -1
- package/dist/types/intersections.js +26 -6
- package/dist/types/intersections.js.map +1 -1
- package/dist/types/parameters.d.ts.map +1 -1
- package/dist/types/parameters.js +30 -5
- package/dist/types/parameters.js.map +1 -1
- package/dist/types/reference-structural-signatures.d.ts.map +1 -1
- package/dist/types/reference-structural-signatures.js +3 -6
- package/dist/types/reference-structural-signatures.js.map +1 -1
- package/dist/types/references-cases/array-and-cross-module.test.js +2 -4
- package/dist/types/references-cases/array-and-cross-module.test.js.map +1 -1
- package/dist/types/references-cases/bindings-and-local.test.js +2 -4
- package/dist/types/references-cases/bindings-and-local.test.js.map +1 -1
- package/dist/types/references-cases/helpers.d.ts +3 -2
- package/dist/types/references-cases/helpers.d.ts.map +1 -1
- package/dist/types/references-cases/helpers.js +2 -1
- package/dist/types/references-cases/helpers.js.map +1 -1
- package/dist/types/references.d.ts.map +1 -1
- package/dist/types/references.js +21 -2
- package/dist/types/references.js.map +1 -1
- package/dist/types/unions-cases/basic-and-ordering.test.js +51 -0
- package/dist/types/unions-cases/basic-and-ordering.test.js.map +1 -1
- package/dist/types/unions.d.ts.map +1 -1
- package/dist/types/unions.js +17 -1
- package/dist/types/unions.js.map +1 -1
- package/dist/types.d.ts +3 -1
- package/dist/types.d.ts.map +1 -1
- package/dist/types.js +2 -1
- package/dist/types.js.map +1 -1
- package/package.json +2 -2
- package/dist/core/semantic/js-value-types.d.ts +0 -5
- package/dist/core/semantic/js-value-types.d.ts.map +0 -1
- package/dist/core/semantic/js-value-types.js +0 -42
- package/dist/core/semantic/js-value-types.js.map +0 -1
- package/dist/core/semantic/type-resolution-cases/narrow-typeof.test.d.ts +0 -2
- package/dist/core/semantic/type-resolution-cases/narrow-typeof.test.d.ts.map +0 -1
- package/dist/core/semantic/type-resolution-cases/narrow-typeof.test.js +0 -98
- package/dist/core/semantic/type-resolution-cases/narrow-typeof.test.js.map +0 -1
- package/dist/expressions/calls/call-dynamic-import.d.ts +0 -11
- package/dist/expressions/calls/call-dynamic-import.d.ts.map +0 -1
- package/dist/expressions/calls/call-dynamic-import.js +0 -148
- package/dist/expressions/calls/call-dynamic-import.js.map +0 -1
|
@@ -3,6 +3,7 @@ import { buildRuntimeUnionTypeAst, } from "./runtime-unions.js";
|
|
|
3
3
|
import { stripNullableTypeAst } from "../format/backend-ast/utils.js";
|
|
4
4
|
import { buildRuntimeUnionMemberIndexByAstKey, findMappedRuntimeUnionMemberIndex, } from "./runtime-union-member-mapping.js";
|
|
5
5
|
import { describeIrTypeForDiagnostics } from "./deterministic-type-keys.js";
|
|
6
|
+
import { UNKNOWN_TYPE } from "./runtime-union-shared.js";
|
|
6
7
|
const isRuntimeUnionMemberProjectionAst = (valueAst) => {
|
|
7
8
|
let target = valueAst;
|
|
8
9
|
while (target.kind === "parenthesizedExpression") {
|
|
@@ -67,14 +68,17 @@ export const tryBuildRuntimeUnionProjectionToLayoutAst = (opts) => {
|
|
|
67
68
|
const targetMemberIndexByAstKey = buildRuntimeUnionMemberIndexByAstKey(opts.targetLayout.memberTypeAsts);
|
|
68
69
|
const lambdaArgs = [];
|
|
69
70
|
let currentContext = opts.context;
|
|
71
|
+
const sourceMemberIndexBySlot = new Map();
|
|
70
72
|
for (let index = 0; index < opts.sourceLayout.members.length; index += 1) {
|
|
71
|
-
|
|
72
|
-
|
|
73
|
-
|
|
74
|
-
|
|
75
|
-
|
|
76
|
-
const
|
|
77
|
-
const
|
|
73
|
+
sourceMemberIndexBySlot.set(opts.candidateMemberNs?.[index] ?? index + 1, index);
|
|
74
|
+
}
|
|
75
|
+
const sourceArity = Math.max(opts.sourceLayout.runtimeUnionArity, opts.sourceLayout.members.length, ...(opts.candidateMemberNs ?? []));
|
|
76
|
+
for (let slotIndex = 0; slotIndex < sourceArity; slotIndex += 1) {
|
|
77
|
+
const sourceMemberN = slotIndex + 1;
|
|
78
|
+
const index = sourceMemberIndexBySlot.get(sourceMemberN);
|
|
79
|
+
const actualMember = index !== undefined ? opts.sourceLayout.members[index] : undefined;
|
|
80
|
+
const actualMemberTypeAst = index !== undefined ? opts.sourceLayout.memberTypeAsts[index] : undefined;
|
|
81
|
+
const parameterName = `__tsonic_union_member_${sourceMemberN}`;
|
|
78
82
|
const parameterExpr = identifierExpression(parameterName);
|
|
79
83
|
const pushLambda = (body) => {
|
|
80
84
|
lambdaArgs.push({
|
|
@@ -84,6 +88,18 @@ export const tryBuildRuntimeUnionProjectionToLayoutAst = (opts) => {
|
|
|
84
88
|
body,
|
|
85
89
|
});
|
|
86
90
|
};
|
|
91
|
+
if (!actualMember || !actualMemberTypeAst) {
|
|
92
|
+
const excludedBody = opts.buildExcludedMemberBody?.({
|
|
93
|
+
actualMember: UNKNOWN_TYPE,
|
|
94
|
+
sourceMemberN,
|
|
95
|
+
context: currentContext,
|
|
96
|
+
});
|
|
97
|
+
if (!excludedBody) {
|
|
98
|
+
return undefined;
|
|
99
|
+
}
|
|
100
|
+
pushLambda(excludedBody);
|
|
101
|
+
continue;
|
|
102
|
+
}
|
|
87
103
|
if (opts.selectedSourceMemberNs &&
|
|
88
104
|
!opts.selectedSourceMemberNs.has(sourceMemberN)) {
|
|
89
105
|
const excludedBody = opts.buildExcludedMemberBody?.({
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"runtime-union-projection.js","sourceRoot":"","sources":["../../../src/core/semantic/runtime-union-projection.ts"],"names":[],"mappings":"AAEA,OAAO,EACL,oBAAoB,EACpB,cAAc,EACd,aAAa,GACd,MAAM,mCAAmC,CAAC;AAK3C,OAAO,EACL,wBAAwB,GAEzB,MAAM,qBAAqB,CAAC;AAC7B,OAAO,EAAE,oBAAoB,EAAE,MAAM,gCAAgC,CAAC;AACtE,OAAO,EACL,oCAAoC,EACpC,iCAAiC,GAClC,MAAM,mCAAmC,CAAC;AAC3C,OAAO,EAAE,4BAA4B,EAAE,MAAM,8BAA8B,CAAC;
|
|
1
|
+
{"version":3,"file":"runtime-union-projection.js","sourceRoot":"","sources":["../../../src/core/semantic/runtime-union-projection.ts"],"names":[],"mappings":"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"}
|
|
@@ -188,6 +188,24 @@ describe("runtime-union-projection", () => {
|
|
|
188
188
|
kind: "lambdaExpression",
|
|
189
189
|
isAsync: false,
|
|
190
190
|
parameters: [{ name: "__tsonic_union_member_2" }],
|
|
191
|
+
body: identifierExpression("excluded"),
|
|
192
|
+
},
|
|
193
|
+
{
|
|
194
|
+
kind: "lambdaExpression",
|
|
195
|
+
isAsync: false,
|
|
196
|
+
parameters: [{ name: "__tsonic_union_member_3" }],
|
|
197
|
+
body: identifierExpression("excluded"),
|
|
198
|
+
},
|
|
199
|
+
{
|
|
200
|
+
kind: "lambdaExpression",
|
|
201
|
+
isAsync: false,
|
|
202
|
+
parameters: [{ name: "__tsonic_union_member_4" }],
|
|
203
|
+
body: identifierExpression("excluded"),
|
|
204
|
+
},
|
|
205
|
+
{
|
|
206
|
+
kind: "lambdaExpression",
|
|
207
|
+
isAsync: false,
|
|
208
|
+
parameters: [{ name: "__tsonic_union_member_5" }],
|
|
191
209
|
body: {
|
|
192
210
|
kind: "invocationExpression",
|
|
193
211
|
expression: {
|
|
@@ -201,7 +219,7 @@ describe("runtime-union-projection", () => {
|
|
|
201
219
|
},
|
|
202
220
|
memberName: "From2",
|
|
203
221
|
},
|
|
204
|
-
arguments: [identifierExpression("
|
|
222
|
+
arguments: [identifierExpression("__tsonic_union_member_5")],
|
|
205
223
|
},
|
|
206
224
|
},
|
|
207
225
|
],
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"runtime-union-projection.test.js","sourceRoot":"","sources":["../../../src/core/semantic/runtime-union-projection.test.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"runtime-union-projection.test.js","sourceRoot":"","sources":["../../../src/core/semantic/runtime-union-projection.test.ts"],"names":[],"mappings":"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"}
|
|
@@ -138,20 +138,20 @@ const normalizeCarrierDefinitionMemberKey = (type, carrierNamespaceName) => {
|
|
|
138
138
|
const carrierDefinitionMembersMatch = (left, right, carrierNamespaceName) => left.length === right.length &&
|
|
139
139
|
left.every((memberTypeAst, index) => normalizeCarrierDefinitionMemberKey(memberTypeAst, carrierNamespaceName) ===
|
|
140
140
|
normalizeCarrierDefinitionMemberKey(right[index] ?? memberTypeAst, carrierNamespaceName));
|
|
141
|
-
const
|
|
141
|
+
const isStorageErasedObjectArrayKey = (key) => key === "array:1:predefined:object" ||
|
|
142
|
+
key === "array:1:nullable:predefined:object";
|
|
143
|
+
const isStorageErasedObjectKey = (key) => key === "predefined:object" || isStorageErasedObjectArrayKey(key);
|
|
144
|
+
const isRecursiveCarrierSelfKey = (key, carrierName) => {
|
|
142
145
|
if (!carrierName) {
|
|
143
146
|
return false;
|
|
144
147
|
}
|
|
145
148
|
const escapedCarrierName = escapeCSharpIdentifier(carrierName);
|
|
146
|
-
|
|
147
|
-
|
|
148
|
-
|
|
149
|
-
key.
|
|
150
|
-
key
|
|
151
|
-
key.startsWith(`${nullableSelfPrefix}<`));
|
|
149
|
+
return (key === `identifier:${escapedCarrierName}` ||
|
|
150
|
+
key.startsWith(`identifier:${escapedCarrierName}<`) ||
|
|
151
|
+
key.includes(`:identifier:${escapedCarrierName}`) ||
|
|
152
|
+
key.includes(`<identifier:${escapedCarrierName}`) ||
|
|
153
|
+
key.includes(`,identifier:${escapedCarrierName}`));
|
|
152
154
|
};
|
|
153
|
-
const isStorageErasedObjectArrayKey = (key) => key === "array:1:predefined:object" ||
|
|
154
|
-
key === "array:1:nullable:predefined:object";
|
|
155
155
|
const reconcileCarrierDefinitionMembers = (existingMembers, nextMembers, carrierNamespaceName, carrierName) => {
|
|
156
156
|
if (existingMembers.length !== nextMembers.length) {
|
|
157
157
|
return undefined;
|
|
@@ -169,13 +169,13 @@ const reconcileCarrierDefinitionMembers = (existingMembers, nextMembers, carrier
|
|
|
169
169
|
reconciled.push(existingMember);
|
|
170
170
|
continue;
|
|
171
171
|
}
|
|
172
|
-
if (
|
|
173
|
-
|
|
172
|
+
if (isStorageErasedObjectKey(existingKey) &&
|
|
173
|
+
isRecursiveCarrierSelfKey(nextKey, carrierName)) {
|
|
174
174
|
reconciled.push(nextMember);
|
|
175
175
|
continue;
|
|
176
176
|
}
|
|
177
|
-
if (
|
|
178
|
-
|
|
177
|
+
if (isRecursiveCarrierSelfKey(existingKey, carrierName) &&
|
|
178
|
+
isStorageErasedObjectKey(nextKey)) {
|
|
179
179
|
reconciled.push(existingMember);
|
|
180
180
|
continue;
|
|
181
181
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"runtime-union-registry.js","sourceRoot":"","sources":["../../../src/core/semantic/runtime-union-registry.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"runtime-union-registry.js","sourceRoot":"","sources":["../../../src/core/semantic/runtime-union-registry.ts"],"names":[],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"runtime-unions.d.ts","sourceRoot":"","sources":["../../../src/core/semantic/runtime-unions.ts"],"names":[],"mappings":"AAAA,OAAO,EAAqB,KAAK,MAAM,EAAE,MAAM,kBAAkB,CAAC;AAClE,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,gBAAgB,CAAC;AACrD,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,gCAAgC,CAAC;AAGpE,OAAO,KAAK,EACV,eAAe,EACf,iBAAiB,EACjB,kBAAkB,EACnB,MAAM,2BAA2B,CAAC;AAenC,OAAO,EACL,kCAAkC,EAClC,uCAAuC,EACvC,uCAAuC,EACvC,2BAA2B,EAC3B,6BAA6B,EAC9B,MAAM,6BAA6B,CAAC;
|
|
1
|
+
{"version":3,"file":"runtime-unions.d.ts","sourceRoot":"","sources":["../../../src/core/semantic/runtime-unions.ts"],"names":[],"mappings":"AAAA,OAAO,EAAqB,KAAK,MAAM,EAAE,MAAM,kBAAkB,CAAC;AAClE,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,gBAAgB,CAAC;AACrD,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,gCAAgC,CAAC;AAGpE,OAAO,KAAK,EACV,eAAe,EACf,iBAAiB,EACjB,kBAAkB,EACnB,MAAM,2BAA2B,CAAC;AAenC,OAAO,EACL,kCAAkC,EAClC,uCAAuC,EACvC,uCAAuC,EACvC,2BAA2B,EAC3B,6BAA6B,EAC9B,MAAM,6BAA6B,CAAC;AAMrC,OAAO,EACL,kCAAkC,EAClC,uCAAuC,EACvC,uCAAuC,EACvC,2BAA2B,EAC3B,6BAA6B,GAC9B,CAAC;AACF,YAAY,EACV,eAAe,EACf,iBAAiB,EACjB,kBAAkB,GACnB,MAAM,2BAA2B,CAAC;AACnC,OAAO,EACL,+BAA+B,EAC/B,sBAAsB,GACvB,MAAM,2BAA2B,CAAC;AAEnC,eAAO,MAAM,uBAAuB,GAClC,MAAM,MAAM,EACZ,SAAS,cAAc,EACvB,aAAa,eAAe,KAC3B,CAAC,kBAAkB,GAAG,SAAS,EAAE,cAAc,CAsIjD,CAAC;AAsJF,eAAO,MAAM,wBAAwB,GACnC,QAAQ,kBAAkB,KACzB,aAOF,CAAC;AAEF,eAAO,MAAM,yBAAyB,GACpC,MAAM,MAAM,EACZ,SAAS,cAAc,EACvB,aAAa,eAAe,KAC3B,CAAC,aAAa,EAAE,kBAAkB,GAAG,SAAS,EAAE,cAAc,CAYhE,CAAC;AAEF,eAAO,MAAM,sBAAsB,GACjC,MAAM,MAAM,EACZ,SAAS,cAAc,KACtB,iBAAiB,GAAG,SAsBtB,CAAC;AAuBF,eAAO,MAAM,+BAA+B,GAC1C,MAAM,MAAM,EACZ,SAAS,cAAc,KACtB,SAAS,MAAM,EAAE,GAAG,SA2ItB,CAAC"}
|
|
@@ -10,23 +10,43 @@ import { matchesSemanticExpectedType } from "./expected-type-matching.js";
|
|
|
10
10
|
import { isBroadObjectSlotType } from "./broad-object-types.js";
|
|
11
11
|
import { findExactRuntimeUnionMemberIndices, findRuntimeUnionAssignableMemberIndices, findRuntimeUnionInstanceofMemberIndices, findRuntimeUnionMemberIndex, findRuntimeUnionMemberIndices, } from "./runtime-union-matching.js";
|
|
12
12
|
import { getOrRegisterRuntimeUnionCarrier } from "./runtime-union-registry.js";
|
|
13
|
-
import { tryContextualTypeIdentityKey } from "./deterministic-type-keys.js";
|
|
13
|
+
import { getContextualTypeVisitKey, tryContextualTypeIdentityKey, } from "./deterministic-type-keys.js";
|
|
14
14
|
export { findExactRuntimeUnionMemberIndices, findRuntimeUnionAssignableMemberIndices, findRuntimeUnionInstanceofMemberIndices, findRuntimeUnionMemberIndex, findRuntimeUnionMemberIndices, };
|
|
15
15
|
export { getRuntimeUnionReferenceMembers, isRuntimeUnionTypeName, } from "./runtime-union-shared.js";
|
|
16
16
|
export const buildRuntimeUnionLayout = (type, context, emitTypeAst) => {
|
|
17
17
|
const layoutSourceType = type.kind === "referenceType" ? resolveTypeAlias(type, context) : type;
|
|
18
|
-
const
|
|
18
|
+
const layoutKey = layoutSourceType.kind === "unionType" &&
|
|
19
|
+
layoutSourceType.runtimeCarrierFamilyKey
|
|
20
|
+
? `carrier:${layoutSourceType.runtimeCarrierFamilyKey}`
|
|
21
|
+
: `type:${getContextualTypeVisitKey(layoutSourceType, context)}`;
|
|
22
|
+
if (context.activeRuntimeUnionLayoutKeys?.has(layoutKey)) {
|
|
23
|
+
return [undefined, context];
|
|
24
|
+
}
|
|
25
|
+
const activeRuntimeUnionLayoutKeys = new Set(context.activeRuntimeUnionLayoutKeys ?? []);
|
|
26
|
+
activeRuntimeUnionLayoutKeys.add(layoutKey);
|
|
27
|
+
const guardedContext = {
|
|
28
|
+
...context,
|
|
29
|
+
activeRuntimeUnionLayoutKeys,
|
|
30
|
+
};
|
|
31
|
+
const restoreLayoutContext = (nextContext) => nextContext.activeRuntimeUnionLayoutKeys ===
|
|
32
|
+
context.activeRuntimeUnionLayoutKeys
|
|
33
|
+
? nextContext
|
|
34
|
+
: {
|
|
35
|
+
...nextContext,
|
|
36
|
+
activeRuntimeUnionLayoutKeys: context.activeRuntimeUnionLayoutKeys,
|
|
37
|
+
};
|
|
38
|
+
const frame = buildRuntimeUnionFrame(layoutSourceType, guardedContext);
|
|
19
39
|
if (!frame) {
|
|
20
40
|
return [undefined, context];
|
|
21
41
|
}
|
|
22
42
|
const semanticMembers = frame.members;
|
|
23
|
-
const
|
|
24
|
-
layoutSourceType.
|
|
43
|
+
const hasCarrierSlotLayout = layoutSourceType.kind === "unionType" &&
|
|
44
|
+
layoutSourceType.runtimeUnionLayout === "carrierSlotOrder";
|
|
25
45
|
const orderedMembers = [];
|
|
26
|
-
const byAstKey =
|
|
46
|
+
const byAstKey = hasCarrierSlotLayout
|
|
27
47
|
? undefined
|
|
28
48
|
: new Map();
|
|
29
|
-
let currentContext =
|
|
49
|
+
let currentContext = guardedContext;
|
|
30
50
|
for (const member of semanticMembers) {
|
|
31
51
|
const carrierMember = resolveStructuralReferenceType(member, currentContext) ?? member;
|
|
32
52
|
const emissionContext = currentContext.preferResolvedLocalClrIdentity
|
|
@@ -40,7 +60,7 @@ export const buildRuntimeUnionLayout = (type, context, emitTypeAst) => {
|
|
|
40
60
|
...nextContext,
|
|
41
61
|
preferResolvedLocalClrIdentity: currentContext.preferResolvedLocalClrIdentity,
|
|
42
62
|
};
|
|
43
|
-
if (
|
|
63
|
+
if (hasCarrierSlotLayout) {
|
|
44
64
|
orderedMembers.push({ member, typeAst });
|
|
45
65
|
continue;
|
|
46
66
|
}
|
|
@@ -49,11 +69,11 @@ export const buildRuntimeUnionLayout = (type, context, emitTypeAst) => {
|
|
|
49
69
|
byAstKey.set(key, { member, typeAst });
|
|
50
70
|
}
|
|
51
71
|
}
|
|
52
|
-
const ordered =
|
|
72
|
+
const ordered = hasCarrierSlotLayout
|
|
53
73
|
? orderedMembers
|
|
54
74
|
: Array.from(byAstKey?.values() ?? []);
|
|
55
75
|
if (ordered.length < 2) {
|
|
56
|
-
return [undefined, currentContext];
|
|
76
|
+
return [undefined, restoreLayoutContext(currentContext)];
|
|
57
77
|
}
|
|
58
78
|
const carrierMetadata = layoutSourceType.kind === "unionType" &&
|
|
59
79
|
layoutSourceType.runtimeCarrierFamilyKey
|
|
@@ -67,7 +87,8 @@ export const buildRuntimeUnionLayout = (type, context, emitTypeAst) => {
|
|
|
67
87
|
const [sourceAliasMetadata, sourceAliasContext] = carrierMetadata
|
|
68
88
|
? buildSourceAliasCarrierMetadata(type, layoutSourceType, currentContext, emitTypeAst)
|
|
69
89
|
: [undefined, currentContext];
|
|
70
|
-
const
|
|
90
|
+
const layoutEntries = ordered;
|
|
91
|
+
const carrier = getOrRegisterRuntimeUnionCarrier(layoutEntries.map((entry) => entry.typeAst), sourceAliasContext.options.runtimeUnionRegistry, carrierMetadata
|
|
71
92
|
? {
|
|
72
93
|
...carrierMetadata,
|
|
73
94
|
...(sourceAliasMetadata?.typeParameters !== undefined
|
|
@@ -85,15 +106,17 @@ export const buildRuntimeUnionLayout = (type, context, emitTypeAst) => {
|
|
|
85
106
|
: undefined);
|
|
86
107
|
return [
|
|
87
108
|
{
|
|
88
|
-
members:
|
|
89
|
-
memberTypeAsts:
|
|
90
|
-
carrierTypeArgumentAsts:
|
|
91
|
-
|
|
92
|
-
|
|
109
|
+
members: layoutEntries.map((entry) => entry.member),
|
|
110
|
+
memberTypeAsts: layoutEntries.map((entry) => entry.typeAst),
|
|
111
|
+
carrierTypeArgumentAsts: carrier.typeParameters.length === 0
|
|
112
|
+
? []
|
|
113
|
+
: (sourceAliasMetadata?.typeArgumentAsts ??
|
|
114
|
+
layoutEntries.map((entry) => entry.typeAst)),
|
|
115
|
+
runtimeUnionArity: layoutEntries.length,
|
|
93
116
|
carrierName: carrier.name,
|
|
94
117
|
carrierFullName: carrier.fullName,
|
|
95
118
|
},
|
|
96
|
-
sourceAliasContext,
|
|
119
|
+
restoreLayoutContext(sourceAliasContext),
|
|
97
120
|
];
|
|
98
121
|
};
|
|
99
122
|
const buildSourceAliasCarrierMetadata = (requestedType, layoutSourceType, context, emitTypeAst) => {
|
|
@@ -129,7 +152,9 @@ const buildSourceAliasCarrierMetadata = (requestedType, layoutSourceType, contex
|
|
|
129
152
|
targetModulePublicLocalTypes?.has(aliasInfo.name)
|
|
130
153
|
? "public"
|
|
131
154
|
: "internal";
|
|
132
|
-
const aliasOwnerModule = [
|
|
155
|
+
const aliasOwnerModule = [
|
|
156
|
+
...(context.options.moduleMap?.values() ?? []),
|
|
157
|
+
].find((moduleInfo) => moduleInfo.namespace === aliasInfo.namespace &&
|
|
133
158
|
moduleInfo.localTypes?.has(aliasInfo.name));
|
|
134
159
|
const typeParameters = layoutSourceType.runtimeCarrierTypeParameters ??
|
|
135
160
|
aliasInfo.info.typeParameters;
|
|
@@ -177,6 +202,7 @@ const buildSourceAliasCarrierMetadata = (requestedType, layoutSourceType, contex
|
|
|
177
202
|
{
|
|
178
203
|
typeParameters,
|
|
179
204
|
typeArgumentAsts,
|
|
205
|
+
definitionMembers: definitionFrame.members,
|
|
180
206
|
definitionMemberTypeAsts,
|
|
181
207
|
accessModifier,
|
|
182
208
|
},
|
|
@@ -235,19 +261,19 @@ const shouldEraseRuntimeUnionToBroadObjectStorage = (sourceType, runtimeMembers,
|
|
|
235
261
|
};
|
|
236
262
|
export const getCanonicalRuntimeUnionMembers = (type, context) => {
|
|
237
263
|
const canonicalSourceType = type.kind === "referenceType" ? resolveTypeAlias(type, context) : type;
|
|
238
|
-
const
|
|
239
|
-
canonicalSourceType.
|
|
264
|
+
const hasCarrierSlotLayout = canonicalSourceType.kind === "unionType" &&
|
|
265
|
+
canonicalSourceType.runtimeUnionLayout === "carrierSlotOrder";
|
|
240
266
|
const activeAliases = canonicalSourceType.kind === "unionType" &&
|
|
241
267
|
canonicalSourceType.runtimeCarrierFamilyKey
|
|
242
268
|
? new Set([canonicalSourceType.runtimeCarrierFamilyKey])
|
|
243
269
|
: new Set();
|
|
244
|
-
const semanticMembers =
|
|
270
|
+
const semanticMembers = hasCarrierSlotLayout
|
|
245
271
|
? collectRuntimeUnionRawMembers(canonicalSourceType, context, activeAliases)
|
|
246
272
|
: expandRuntimeUnionMembers(canonicalSourceType, context, activeAliases);
|
|
247
273
|
if (semanticMembers.length < 2) {
|
|
248
274
|
return undefined;
|
|
249
275
|
}
|
|
250
|
-
if (
|
|
276
|
+
if (hasCarrierSlotLayout) {
|
|
251
277
|
return semanticMembers;
|
|
252
278
|
}
|
|
253
279
|
const mergeEquivalentRuntimeUnionMembers = (existing, candidate) => {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"runtime-unions.js","sourceRoot":"","sources":["../../../src/core/semantic/runtime-unions.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"runtime-unions.js","sourceRoot":"","sources":["../../../src/core/semantic/runtime-unions.ts"],"names":[],"mappings":"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"}
|
|
@@ -7,6 +7,7 @@ import { emitTypeAst } from "../../types/emitter.js";
|
|
|
7
7
|
import { createContext } from "../../emitter-types/context.js";
|
|
8
8
|
import { identifierExpression } from "../format/backend-ast/builders.js";
|
|
9
9
|
import { printType } from "../format/backend-ast/printer-precedence.js";
|
|
10
|
+
import { semanticTypeMap, storageCarrierMap, } from "../../types.js";
|
|
10
11
|
import { substituteTypeArgs } from "./type-resolution.js";
|
|
11
12
|
import { createRuntimeUnionRegistry } from "./runtime-union-registry.js";
|
|
12
13
|
const property = (name, type) => ({
|
|
@@ -59,7 +60,9 @@ describe("runtime-unions", () => {
|
|
|
59
60
|
clrName: "Fixture.Channels.repo.Item",
|
|
60
61
|
assemblyName: "@fixture/channels",
|
|
61
62
|
},
|
|
62
|
-
structuralMembers: [
|
|
63
|
+
structuralMembers: [
|
|
64
|
+
property("id", { kind: "primitiveType", name: "int" }),
|
|
65
|
+
],
|
|
63
66
|
};
|
|
64
67
|
const domainItem = {
|
|
65
68
|
kind: "referenceType",
|
|
@@ -71,7 +74,9 @@ describe("runtime-unions", () => {
|
|
|
71
74
|
clrName: "Fixture.Channels.domain.Item",
|
|
72
75
|
assemblyName: "@fixture/channels",
|
|
73
76
|
},
|
|
74
|
-
structuralMembers: [
|
|
77
|
+
structuralMembers: [
|
|
78
|
+
property("id", { kind: "primitiveType", name: "int" }),
|
|
79
|
+
],
|
|
75
80
|
};
|
|
76
81
|
const indices = findExactRuntimeUnionMemberIndices([repoItem], domainItem, createContext({ rootNamespace: "Fixture" }));
|
|
77
82
|
expect(indices).to.deep.equal([]);
|
|
@@ -305,7 +310,7 @@ describe("runtime-unions", () => {
|
|
|
305
310
|
it("preserves explicit duplicate runtime carrier slots when requested", () => {
|
|
306
311
|
const duplicatedCarrier = {
|
|
307
312
|
kind: "unionType",
|
|
308
|
-
|
|
313
|
+
runtimeUnionLayout: "carrierSlotOrder",
|
|
309
314
|
types: [
|
|
310
315
|
{
|
|
311
316
|
kind: "arrayType",
|
|
@@ -438,8 +443,8 @@ describe("runtime-unions", () => {
|
|
|
438
443
|
};
|
|
439
444
|
const context = {
|
|
440
445
|
...createContext({ rootNamespace: "Test" }),
|
|
441
|
-
localSemanticTypes:
|
|
442
|
-
localValueTypes:
|
|
446
|
+
localSemanticTypes: semanticTypeMap([["value", effectiveType]]),
|
|
447
|
+
localValueTypes: storageCarrierMap([["value", sourceCarrier]]),
|
|
443
448
|
};
|
|
444
449
|
const narrowedMembers = resolveNarrowedUnionMembers("value", effectiveType, context);
|
|
445
450
|
expect(narrowedMembers?.members.map((member) => {
|
|
@@ -510,8 +515,8 @@ describe("runtime-unions", () => {
|
|
|
510
515
|
},
|
|
511
516
|
],
|
|
512
517
|
]),
|
|
513
|
-
localSemanticTypes:
|
|
514
|
-
localValueTypes:
|
|
518
|
+
localSemanticTypes: semanticTypeMap([["value", effectiveType]]),
|
|
519
|
+
localValueTypes: storageCarrierMap([["value", carrierReference]]),
|
|
515
520
|
};
|
|
516
521
|
const narrowedMembers = resolveNarrowedUnionMembers("value", effectiveType, context);
|
|
517
522
|
expect(narrowedMembers?.members.map((member) => {
|