@tsonic/emitter 0.0.76 → 0.0.78
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 +8 -4
- 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 +113 -2
- 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 +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 +28 -4
- 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 +166 -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 +2 -10
- package/dist/core/semantic/instanceof-predicate-refinements.js.map +1 -1
- 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 +5 -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 +139 -17
- 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 +14 -3
- 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 +136 -88
- 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-frame.d.ts +6 -0
- package/dist/core/semantic/runtime-union-frame.d.ts.map +1 -0
- package/dist/core/semantic/runtime-union-frame.js +130 -0
- package/dist/core/semantic/runtime-union-frame.js.map +1 -0
- 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 +3 -4
- package/dist/core/semantic/runtime-unions.d.ts.map +1 -1
- package/dist/core/semantic/runtime-unions.js +46 -145
- 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 +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 +3 -0
- package/dist/core/semantic/storage-types.d.ts.map +1 -1
- package/dist/core/semantic/storage-types.js +17 -4
- 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/surface-member-semantics.d.ts +14 -0
- package/dist/core/semantic/surface-member-semantics.d.ts.map +1 -0
- package/dist/core/semantic/surface-member-semantics.js +41 -0
- package/dist/core/semantic/surface-member-semantics.js.map +1 -0
- 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/ternary-guards.d.ts +1 -1
- package/dist/core/semantic/ternary-guards.d.ts.map +1 -1
- package/dist/core/semantic/ternary-guards.js +2 -1
- package/dist/core/semantic/ternary-guards.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/typeof-comparison.d.ts +14 -0
- package/dist/core/semantic/typeof-comparison.d.ts.map +1 -0
- package/dist/core/semantic/typeof-comparison.js +47 -0
- package/dist/core/semantic/typeof-comparison.js.map +1 -0
- 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-semantics.js +1 -1
- package/dist/core/semantic/union-semantics.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 +13 -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 +38 -66
- 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 +10 -15
- package/dist/expressions/access-computed.js.map +1 -1
- package/dist/expressions/access-function-length.d.ts +13 -0
- package/dist/expressions/access-function-length.d.ts.map +1 -0
- package/dist/expressions/access-function-length.js +115 -0
- package/dist/expressions/access-function-length.js.map +1 -0
- package/dist/expressions/access-length.d.ts +5 -11
- package/dist/expressions/access-length.d.ts.map +1 -1
- package/dist/expressions/access-length.js +18 -242
- package/dist/expressions/access-length.js.map +1 -1
- package/dist/expressions/access-length.test.js +17 -0
- package/dist/expressions/access-length.test.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 +24 -17
- 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 +11 -22
- package/dist/expressions/access.js.map +1 -1
- package/dist/expressions/architecture-invariants.test.js +112 -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/awaitable-adaptation.d.ts +15 -0
- package/dist/expressions/awaitable-adaptation.d.ts.map +1 -0
- package/dist/expressions/awaitable-adaptation.js +174 -0
- package/dist/expressions/awaitable-adaptation.js.map +1 -0
- 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 +236 -35
- 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 +2 -2
- package/dist/expressions/calls/call-arguments-helpers.js.map +1 -1
- package/dist/expressions/calls/call-array-interop.d.ts +1 -1
- package/dist/expressions/calls/call-array-interop.d.ts.map +1 -1
- package/dist/expressions/calls/call-array-interop.js +1 -1
- package/dist/expressions/calls/call-array-interop.js.map +1 -1
- package/dist/expressions/calls/call-array-mutation.d.ts +0 -1
- package/dist/expressions/calls/call-array-mutation.d.ts.map +1 -1
- package/dist/expressions/calls/call-array-mutation.js +9 -36
- 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 +9 -12
- 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 +164 -30
- 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/broad-storage-target.d.ts +4 -0
- package/dist/expressions/identifier-storage/broad-storage-target.d.ts.map +1 -0
- package/dist/expressions/identifier-storage/broad-storage-target.js +26 -0
- package/dist/expressions/identifier-storage/broad-storage-target.js.map +1 -0
- package/dist/expressions/identifier-storage/implicit-storage.d.ts +14 -0
- package/dist/expressions/identifier-storage/implicit-storage.d.ts.map +1 -0
- package/dist/expressions/identifier-storage/implicit-storage.js +44 -0
- package/dist/expressions/identifier-storage/implicit-storage.js.map +1 -0
- package/dist/expressions/identifier-storage/materialized-narrowed.d.ts +7 -0
- package/dist/expressions/identifier-storage/materialized-narrowed.d.ts.map +1 -0
- package/dist/expressions/identifier-storage/materialized-narrowed.js +92 -0
- package/dist/expressions/identifier-storage/materialized-narrowed.js.map +1 -0
- package/dist/expressions/identifier-storage/narrowed-storage-compatible.d.ts +14 -0
- package/dist/expressions/identifier-storage/narrowed-storage-compatible.d.ts.map +1 -0
- package/dist/expressions/identifier-storage/narrowed-storage-compatible.js +168 -0
- package/dist/expressions/identifier-storage/narrowed-storage-compatible.js.map +1 -0
- package/dist/expressions/identifier-storage/reified-storage.d.ts +7 -0
- package/dist/expressions/identifier-storage/reified-storage.d.ts.map +1 -0
- package/dist/expressions/identifier-storage/reified-storage.js +25 -0
- package/dist/expressions/identifier-storage/reified-storage.js.map +1 -0
- package/dist/expressions/identifier-storage/runtime-subset.d.ts +14 -0
- package/dist/expressions/identifier-storage/runtime-subset.d.ts.map +1 -0
- package/dist/expressions/identifier-storage/runtime-subset.js +100 -0
- package/dist/expressions/identifier-storage/runtime-subset.js.map +1 -0
- package/dist/expressions/identifier-storage/storage-compatible.d.ts +10 -0
- package/dist/expressions/identifier-storage/storage-compatible.d.ts.map +1 -0
- package/dist/expressions/identifier-storage/storage-compatible.js +76 -0
- package/dist/expressions/identifier-storage/storage-compatible.js.map +1 -0
- package/dist/expressions/identifier-storage/storage-surface-match.d.ts +4 -0
- package/dist/expressions/identifier-storage/storage-surface-match.d.ts.map +1 -0
- package/dist/expressions/identifier-storage/storage-surface-match.js +95 -0
- package/dist/expressions/identifier-storage/storage-surface-match.js.map +1 -0
- package/dist/expressions/identifier-storage/storage-surface-shared.d.ts +12 -0
- package/dist/expressions/identifier-storage/storage-surface-shared.d.ts.map +1 -0
- package/dist/expressions/identifier-storage/storage-surface-shared.js +77 -0
- package/dist/expressions/identifier-storage/storage-surface-shared.js.map +1 -0
- package/dist/expressions/identifier-storage/storage-surface.d.ts +9 -0
- package/dist/expressions/identifier-storage/storage-surface.d.ts.map +1 -0
- package/dist/expressions/identifier-storage/storage-surface.js +9 -0
- package/dist/expressions/identifier-storage/storage-surface.js.map +1 -0
- package/dist/expressions/identifier-storage.d.ts +1 -42
- package/dist/expressions/identifier-storage.d.ts.map +1 -1
- package/dist/expressions/identifier-storage.js +1 -477
- 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 +9 -3
- package/dist/expressions/index-cases/array-wrapper-recursion-b.test.js.map +1 -1
- package/dist/expressions/index-cases/array-wrapper-recursion-c.test.js +4 -1
- package/dist/expressions/index-cases/array-wrapper-recursion-c.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 +6 -4
- package/dist/expressions/index-cases/helpers.d.ts.map +1 -1
- package/dist/expressions/index-cases/helpers.js +31 -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 +22 -13
- package/dist/expressions/index-cases/string-and-array-fallbacks-a.test.js.map +1 -1
- package/dist/expressions/index-cases/string-and-array-fallbacks-b.test.js +5 -5
- package/dist/expressions/index-cases/string-and-array-fallbacks-b.test.js.map +1 -1
- package/dist/expressions/lambda-body.js +3 -3
- package/dist/expressions/lambda-body.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 +214 -218
- 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 +1 -1
- package/dist/expressions/runtime-union-adaptation-upcast.d.ts.map +1 -1
- package/dist/expressions/runtime-union-adaptation-upcast.js +281 -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 +894 -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/members/properties.d.ts.map +1 -1
- package/dist/statements/classes/members/properties.js +2 -3
- package/dist/statements/classes/members/properties.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 +105 -32
- 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 +10 -190
- 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 -0
- 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
|
@@ -51,11 +51,11 @@ describe("End-to-End Integration", () => {
|
|
|
51
51
|
});
|
|
52
52
|
it("normalizes alias-backed Promise-or-value unions before await", () => {
|
|
53
53
|
const source = `
|
|
54
|
-
type IgnoredHandlerResult = void |
|
|
54
|
+
type IgnoredHandlerResult = void | unknown | Promise<void | unknown>;
|
|
55
55
|
|
|
56
56
|
declare function invoke(flag: boolean): IgnoredHandlerResult;
|
|
57
57
|
|
|
58
|
-
export async function run(flag: boolean): Promise<void |
|
|
58
|
+
export async function run(flag: boolean): Promise<void | unknown> {
|
|
59
59
|
return await invoke(flag);
|
|
60
60
|
}
|
|
61
61
|
`;
|
|
@@ -66,7 +66,7 @@ describe("End-to-End Integration", () => {
|
|
|
66
66
|
});
|
|
67
67
|
it("normalizes alias-backed Promise-or-value unions in bare await statements", () => {
|
|
68
68
|
const source = `
|
|
69
|
-
type IgnoredHandlerResult = void |
|
|
69
|
+
type IgnoredHandlerResult = void | unknown | Promise<void | unknown>;
|
|
70
70
|
|
|
71
71
|
declare function invoke(flag: boolean): IgnoredHandlerResult;
|
|
72
72
|
|
|
@@ -87,7 +87,7 @@ describe("End-to-End Integration", () => {
|
|
|
87
87
|
|
|
88
88
|
export async function run(flag: boolean): Promise<string> {
|
|
89
89
|
const result = await render(flag);
|
|
90
|
-
if (
|
|
90
|
+
if (!result.success) {
|
|
91
91
|
return result.error;
|
|
92
92
|
}
|
|
93
93
|
return result.rendered;
|
|
@@ -147,7 +147,7 @@ describe("End-to-End Integration", () => {
|
|
|
147
147
|
const source = `
|
|
148
148
|
type NextControl = "route" | string | undefined;
|
|
149
149
|
type NextFunction = (value?: NextControl) => void | Promise<void>;
|
|
150
|
-
type RequestHandler = (next: NextFunction) =>
|
|
150
|
+
type RequestHandler = (next: NextFunction) => unknown | Promise<unknown>;
|
|
151
151
|
|
|
152
152
|
export function build(): RequestHandler {
|
|
153
153
|
const handler: RequestHandler = async (next) => {
|
|
@@ -164,7 +164,7 @@ describe("End-to-End Integration", () => {
|
|
|
164
164
|
const source = `
|
|
165
165
|
type NextControl = "route" | "router" | string | null | undefined;
|
|
166
166
|
type NextFunction = (value?: NextControl) => void | Promise<void>;
|
|
167
|
-
type RequestHandler = (next: NextFunction) => void |
|
|
167
|
+
type RequestHandler = (next: NextFunction) => void | unknown | Promise<void | unknown>;
|
|
168
168
|
|
|
169
169
|
export async function run(handler: RequestHandler, next: NextFunction): Promise<void> {
|
|
170
170
|
await handler(next);
|
|
@@ -208,23 +208,25 @@ describe("End-to-End Integration", () => {
|
|
|
208
208
|
describe("Local Function Values", () => {
|
|
209
209
|
it("lowers recursive local arrow functions through explicit delegate initialization", () => {
|
|
210
210
|
const source = `
|
|
211
|
+
import { List } from "@tsonic/dotnet/System.Collections.Generic.js";
|
|
212
|
+
|
|
211
213
|
type Node = {
|
|
212
214
|
name: string;
|
|
213
215
|
children: Node[];
|
|
214
216
|
};
|
|
215
217
|
|
|
216
218
|
export function flatten(nodes: Node[]): string[] {
|
|
217
|
-
const names
|
|
219
|
+
const names = new List<string>();
|
|
218
220
|
const walk = (current: Node[]): void => {
|
|
219
|
-
for (let i = 0; i < current.
|
|
221
|
+
for (let i = 0; i < current.Length; i++) {
|
|
220
222
|
const node = current[i]!;
|
|
221
|
-
names.
|
|
223
|
+
names.Add(node.name);
|
|
222
224
|
walk(node.children);
|
|
223
225
|
}
|
|
224
226
|
};
|
|
225
227
|
|
|
226
228
|
walk(nodes);
|
|
227
|
-
return names;
|
|
229
|
+
return names.ToArray();
|
|
228
230
|
}
|
|
229
231
|
`;
|
|
230
232
|
const csharp = compileToCSharp(source);
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"await-and-intrinsics.test.js","sourceRoot":"","sources":["../../src/integration-cases/await-and-intrinsics.test.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,QAAQ,EAAE,EAAE,EAAE,MAAM,OAAO,CAAC;AACrC,OAAO,EAAE,MAAM,EAAE,MAAM,MAAM,CAAC;AAC9B,OAAO,EAAE,eAAe,EAAE,MAAM,cAAc,CAAC;AAE/C,QAAQ,CAAC,wBAAwB,EAAE,GAAG,EAAE;IACtC,QAAQ,CAAC,gBAAgB,EAAE,GAAG,EAAE;QAC9B,EAAE,CAAC,yCAAyC,EAAE,GAAG,EAAE;YACjD,MAAM,MAAM,GAAG;;;;;;;;;;;OAWd,CAAC;YAEF,MAAM,MAAM,GAAG,eAAe,CAAC,MAAM,CAAC,CAAC;YAEvC,MAAM,CAAC,MAAM,CAAC,CAAC,EAAE,CAAC,OAAO,CAAC,gBAAgB,CAAC,CAAC;YAC5C,MAAM,CAAC,MAAM,CAAC,CAAC,GAAG,CAAC,EAAE,CAAC,OAAO,CAAC,iBAAiB,CAAC,CAAC;QACnD,CAAC,CAAC,CAAC;QAEH,EAAE,CAAC,8CAA8C,EAAE,GAAG,EAAE;YACtD,MAAM,MAAM,GAAG;;;;;;;;;;;OAWd,CAAC;YAEF,MAAM,MAAM,GAAG,eAAe,CAAC,MAAM,CAAC,CAAC;YAEvC,MAAM,CAAC,MAAM,CAAC,CAAC,EAAE,CAAC,OAAO,CAAC,yBAAyB,CAAC,CAAC;YACrD,MAAM,CAAC,MAAM,CAAC,CAAC,GAAG,CAAC,EAAE,CAAC,OAAO,CAAC,iBAAiB,CAAC,CAAC;QACnD,CAAC,CAAC,CAAC;QAEH,EAAE,CAAC,uDAAuD,EAAE,GAAG,EAAE;YAC/D,MAAM,MAAM,GAAG;;;;;;OAMd,CAAC;YAEF,MAAM,MAAM,GAAG,eAAe,CAAC,MAAM,CAAC,CAAC;YAEvC,MAAM,CAAC,MAAM,CAAC,CAAC,EAAE,CAAC,OAAO,CAAC,6BAA6B,CAAC,CAAC;YACzD,MAAM,CAAC,MAAM,CAAC,CAAC,EAAE,CAAC,OAAO,CACvB,iDAAiD,CAClD,CAAC;QACJ,CAAC,CAAC,CAAC;QAEH,EAAE,CAAC,8DAA8D,EAAE,GAAG,EAAE;YACtE,MAAM,MAAM,GAAG;;;;;;;;OAQd,CAAC;YAEF,MAAM,MAAM,GAAG,eAAe,CAAC,MAAM,CAAC,CAAC;YAEvC,MAAM,CAAC,MAAM,CAAC,CAAC,EAAE,CAAC,OAAO,CACvB,0EAA0E,CAC3E,CAAC;YACF,MAAM,CAAC,MAAM,CAAC,CAAC,EAAE,CAAC,OAAO,CACvB,gDAAgD,CACjD,CAAC;YACF,MAAM,CAAC,MAAM,CAAC,CAAC,GAAG,CAAC,EAAE,CAAC,OAAO,CAC3B,qEAAqE,CACtE,CAAC;QACJ,CAAC,CAAC,CAAC;QAEH,EAAE,CAAC,0EAA0E,EAAE,GAAG,EAAE;YAClF,MAAM,MAAM,GAAG;;;;;;;;OAQd,CAAC;YAEF,MAAM,MAAM,GAAG,eAAe,CAAC,MAAM,CAAC,CAAC;YAEvC,MAAM,CAAC,MAAM,CAAC,CAAC,EAAE,CAAC,OAAO,CAAC,4BAA4B,CAAC,CAAC;YACxD,MAAM,CAAC,MAAM,CAAC,CAAC,EAAE,CAAC,OAAO,CACvB,yDAAyD,CAC1D,CAAC;YACF,MAAM,CAAC,MAAM,CAAC,CAAC,GAAG,CAAC,EAAE,CAAC,OAAO,CAC3B,sEAAsE,CACvE,CAAC;QACJ,CAAC,CAAC,CAAC;QAEH,EAAE,CAAC,+CAA+C,EAAE,GAAG,EAAE;YACvD,MAAM,MAAM,GAAG;;;;;;;;;;;;OAYd,CAAC;YAEF,MAAM,MAAM,GAAG,eAAe,CAAC,MAAM,CAAC,CAAC;YAEvC,MAAM,CAAC,MAAM,CAAC,CAAC,EAAE,CAAC,OAAO,CACvB,kFAAkF,CACnF,CAAC;YACF,MAAM,CAAC,MAAM,CAAC,CAAC,GAAG,CAAC,EAAE,CAAC,OAAO,CAAC,0BAA0B,CAAC,CAAC;QAC5D,CAAC,CAAC,CAAC;QAEH,EAAE,CAAC,uDAAuD,EAAE,GAAG,EAAE;YAC/D,MAAM,MAAM,GAAG;;;;;;OAMd,CAAC;YAEF,MAAM,MAAM,GAAG,eAAe,CAAC,MAAM,CAAC,CAAC;YAEvC,MAAM,CAAC,MAAM,CAAC,CAAC,EAAE,CAAC,OAAO,CACvB,wEAAwE,CACzE,CAAC;YACF,MAAM,CAAC,MAAM,CAAC,CAAC,GAAG,CAAC,EAAE,CAAC,OAAO,CAC3B,sDAAsD,CACvD,CAAC;YACF,MAAM,CAAC,MAAM,CAAC,CAAC,GAAG,CAAC,EAAE,CAAC,OAAO,CAAC,uBAAuB,CAAC,CAAC;QACzD,CAAC,CAAC,CAAC;QAEH,EAAE,CAAC,yEAAyE,EAAE,GAAG,EAAE;YACjF,MAAM,MAAM,GAAG;;;;;;;;;;;OAWd,CAAC;YAEF,MAAM,MAAM,GAAG,eAAe,CAAC,MAAM,CAAC,CAAC;YAEvC,MAAM,CAAC,MAAM,CAAC,CAAC,EAAE,CAAC,KAAK,CACrB,uGAAuG,CACxG,CAAC;YACF,MAAM,CAAC,MAAM,CAAC,CAAC,EAAE,CAAC,OAAO,CAAC,8BAA8B,CAAC,CAAC;YAC1D,MAAM,CAAC,MAAM,CAAC,CAAC,EAAE,CAAC,KAAK,CACrB,0EAA0E,CAC3E,CAAC;YACF,MAAM,CAAC,MAAM,CAAC,CAAC,GAAG,CAAC,EAAE,CAAC,OAAO,CAAC,qCAAqC,CAAC,CAAC;QACvE,CAAC,CAAC,CAAC;QAEH,EAAE,CAAC,mDAAmD,EAAE,GAAG,EAAE;YAC3D,MAAM,MAAM,GAAG;;;;;;;;OAQd,CAAC;YAEF,MAAM,MAAM,GAAG,eAAe,CAAC,MAAM,CAAC,CAAC;YAEvC,MAAM,CAAC,MAAM,CAAC,CAAC,EAAE,CAAC,OAAO,CACvB,gFAAgF,CACjF,CAAC;YACF,MAAM,CAAC,MAAM,CAAC,CAAC,GAAG,CAAC,EAAE,CAAC,OAAO,CAAC,aAAa,CAAC,CAAC;QAC/C,CAAC,CAAC,CAAC;QAEH,EAAE,CAAC,uFAAuF,EAAE,GAAG,EAAE;YAC/F,MAAM,MAAM,GAAG;;;;;;;;;;;OAWd,CAAC;YAEF,MAAM,MAAM,GAAG,eAAe,CAAC,MAAM,CAAC,CAAC;YAEvC,MAAM,CAAC,MAAM,CAAC,CAAC,EAAE,CAAC,OAAO,CACvB,6IAA6I,CAC9I,CAAC;YACF,MAAM,CAAC,MAAM,CAAC,CAAC,EAAE,CAAC,OAAO,CACvB,kEAAkE,CACnE,CAAC;QACJ,CAAC,CAAC,CAAC;QAEH,EAAE,CAAC,0FAA0F,EAAE,GAAG,EAAE;YAClG,MAAM,MAAM,GAAG;;;;;;;;OAQd,CAAC;YAEF,MAAM,MAAM,GAAG,eAAe,CAAC,MAAM,CAAC,CAAC;YAEvC,MAAM,CAAC,MAAM,CAAC,CAAC,GAAG,CAAC,EAAE,CAAC,OAAO,CAC3B,8CAA8C,CAC/C,CAAC;YACF,MAAM,CAAC,MAAM,CAAC,CAAC,GAAG,CAAC,EAAE,CAAC,OAAO,CAC3B,+DAA+D,CAChE,CAAC;YACF,MAAM,CAAC,MAAM,CAAC,CAAC,EAAE,CAAC,OAAO,CACvB,yDAAyD,CAC1D,CAAC;QACJ,CAAC,CAAC,CAAC;IACL,CAAC,CAAC,CAAC;IAEH,QAAQ,CAAC,iBAAiB,EAAE,GAAG,EAAE;QAC/B,EAAE,CAAC,wEAAwE,EAAE,GAAG,EAAE;YAChF,MAAM,MAAM,GAAG;;;;;;;;;;OAUd,CAAC;YAEF,MAAM,MAAM,GAAG,eAAe,CAAC,MAAM,CAAC,CAAC;YACvC,MAAM,CAAC,MAAM,CAAC,CAAC,EAAE,CAAC,OAAO,CAAC,gBAAgB,CAAC,CAAC;QAC9C,CAAC,CAAC,CAAC;QAEH,EAAE,CAAC,+BAA+B,EAAE,GAAG,EAAE;YACvC,MAAM,MAAM,GAAG;;;;;;;OAOd,CAAC;YAEF,MAAM,MAAM,GAAG,eAAe,CAAC,MAAM,CAAC,CAAC;YACvC,MAAM,CAAC,MAAM,CAAC,CAAC,EAAE,CAAC,OAAO,CAAC,qBAAqB,CAAC,CAAC;QACnD,CAAC,CAAC,CAAC;IACL,CAAC,CAAC,CAAC;IAEH,QAAQ,CAAC,uBAAuB,EAAE,GAAG,EAAE;QACrC,EAAE,CAAC,iFAAiF,EAAE,GAAG,EAAE;YACzF,MAAM,MAAM,GAAG
|
|
1
|
+
{"version":3,"file":"await-and-intrinsics.test.js","sourceRoot":"","sources":["../../src/integration-cases/await-and-intrinsics.test.ts"],"names":[],"mappings":"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"}
|
|
@@ -32,6 +32,42 @@ describe("Integration: CLR iterable overloads", () => {
|
|
|
32
32
|
expect(csharp).to.match(/Assert\.Equal\(left\.__tsonic_symbol_iterator\(\), right\.__tsonic_symbol_iterator\(\)\);/);
|
|
33
33
|
expect(csharp).to.not.include("Assert.Equal(left, right);");
|
|
34
34
|
});
|
|
35
|
+
it("routes inferred variables with inherited iterator evidence through CLR IEnumerable overloads", () => {
|
|
36
|
+
const csharp = compileToCSharp(`
|
|
37
|
+
import type { IEnumerable } from "@tsonic/dotnet/System.Collections.Generic.js";
|
|
38
|
+
|
|
39
|
+
declare const Symbol: {
|
|
40
|
+
readonly iterator: unique symbol;
|
|
41
|
+
};
|
|
42
|
+
|
|
43
|
+
interface Iterator<T> {}
|
|
44
|
+
|
|
45
|
+
interface IterableIterator<T> extends Iterator<T> {
|
|
46
|
+
[Symbol.iterator](): IterableIterator<T>;
|
|
47
|
+
}
|
|
48
|
+
|
|
49
|
+
declare class Assert {
|
|
50
|
+
static Equal<T>(expected: IEnumerable<T>, actual: IEnumerable<T>): void;
|
|
51
|
+
static Equal<T>(expected: T, actual: T): void;
|
|
52
|
+
}
|
|
53
|
+
|
|
54
|
+
class IterableBase<T> {
|
|
55
|
+
[Symbol.iterator](): IterableIterator<T> {
|
|
56
|
+
throw new Error("stub");
|
|
57
|
+
}
|
|
58
|
+
}
|
|
59
|
+
|
|
60
|
+
class Bytes extends IterableBase<number> {}
|
|
61
|
+
|
|
62
|
+
export function run(): void {
|
|
63
|
+
const left = new Bytes();
|
|
64
|
+
const right = new Bytes();
|
|
65
|
+
Assert.Equal(left, right);
|
|
66
|
+
}
|
|
67
|
+
`);
|
|
68
|
+
expect(csharp).to.match(/Assert\.Equal\(left\.__tsonic_symbol_iterator\(\), right\.__tsonic_symbol_iterator\(\)\);/);
|
|
69
|
+
expect(csharp).to.not.include("Assert.Equal(left, right);");
|
|
70
|
+
});
|
|
35
71
|
it("calls exact member overload wrappers after narrowing inside overload implementations", () => {
|
|
36
72
|
const csharp = compileToCSharp(`
|
|
37
73
|
import type { int } from "@tsonic/core/types.js";
|
|
@@ -127,25 +163,25 @@ describe("Integration: CLR iterable overloads", () => {
|
|
|
127
163
|
" TElement extends number,",
|
|
128
164
|
" TSelf extends TypedArrayBase<TElement, TSelf>,",
|
|
129
165
|
"> {",
|
|
130
|
-
"
|
|
131
|
-
"
|
|
132
|
-
"
|
|
133
|
-
"
|
|
134
|
-
"
|
|
166
|
+
" length: number = 0;",
|
|
167
|
+
" constructor() {}",
|
|
168
|
+
" set(index: number, value: number): void;",
|
|
169
|
+
" set(source: TypedArrayInput<TElement>, offset?: number): void;",
|
|
170
|
+
" set(_sourceOrIndex: any, _offsetOrValue: any = 0): any {",
|
|
135
171
|
' throw new Error("stub");',
|
|
136
172
|
" }",
|
|
137
|
-
"
|
|
173
|
+
" set_index(index: number, value: number): void {",
|
|
138
174
|
" void index;",
|
|
139
175
|
" void value;",
|
|
140
176
|
" }",
|
|
141
|
-
"
|
|
177
|
+
" set_source(",
|
|
142
178
|
" source: TypedArrayInput<TElement>,",
|
|
143
179
|
" offset?: number",
|
|
144
180
|
" ): void {",
|
|
145
181
|
" void source;",
|
|
146
182
|
" void offset;",
|
|
147
183
|
" }",
|
|
148
|
-
"
|
|
184
|
+
" *[Symbol.iterator](): Generator<TElement, undefined, undefined> {",
|
|
149
185
|
" return undefined as never;",
|
|
150
186
|
" }",
|
|
151
187
|
"}",
|
|
@@ -157,7 +193,7 @@ describe("Integration: CLR iterable overloads", () => {
|
|
|
157
193
|
'import { TypedArrayBase } from "./typed-array-core.js";',
|
|
158
194
|
"",
|
|
159
195
|
"export class Uint8Array extends TypedArrayBase<number, Uint8Array> {",
|
|
160
|
-
"
|
|
196
|
+
" constructor() {",
|
|
161
197
|
" super();",
|
|
162
198
|
" }",
|
|
163
199
|
"}",
|
|
@@ -168,7 +204,7 @@ describe("Integration: CLR iterable overloads", () => {
|
|
|
168
204
|
expect(csharp).to.not.include("result.set(buffer, length - buffer.length);");
|
|
169
205
|
expect(csharp).to.not.include("result.set(global::Tsonic.Internal.Union");
|
|
170
206
|
});
|
|
171
|
-
it("keeps scalar equality overloads for
|
|
207
|
+
it("keeps scalar equality overloads for unknown event payload assertions", () => {
|
|
172
208
|
const csharp = compileProjectToCSharp({
|
|
173
209
|
"package.json": JSON.stringify({ name: "emitter-test-project", version: "1.0.0", type: "module" }, null, 2),
|
|
174
210
|
"node_modules/xunit-types/package.json": JSON.stringify({ name: "xunit-types", version: "1.0.0", type: "module" }, null, 2),
|
|
@@ -204,7 +240,7 @@ describe("Integration: CLR iterable overloads", () => {
|
|
|
204
240
|
'import { Assert } from "xunit-types/Xunit.js";',
|
|
205
241
|
"",
|
|
206
242
|
"declare class EventEmitter {",
|
|
207
|
-
" static once(emitter: EventEmitter, eventName: string): Promise<
|
|
243
|
+
" static once(emitter: EventEmitter, eventName: string): Promise<unknown[]>;",
|
|
208
244
|
"}",
|
|
209
245
|
"export async function run(): Promise<void> {",
|
|
210
246
|
' const task = EventEmitter.once(new EventEmitter(), "test");',
|
|
@@ -220,7 +256,7 @@ describe("Integration: CLR iterable overloads", () => {
|
|
|
220
256
|
expect(assertLine).to.not.include("IAsyncEnumerable");
|
|
221
257
|
expect(assertLine).to.not.include("IEnumerable");
|
|
222
258
|
});
|
|
223
|
-
it("boxes numeric literals for
|
|
259
|
+
it("boxes numeric literals for unknown equality assertions over real xunit overloads", () => {
|
|
224
260
|
const csharp = compileProjectToCSharp({
|
|
225
261
|
"package.json": JSON.stringify({ name: "emitter-test-project", version: "1.0.0", type: "module" }, null, 2),
|
|
226
262
|
"node_modules/xunit-types/package.json": JSON.stringify({ name: "xunit-types", version: "1.0.0", type: "module" }, null, 2),
|
|
@@ -239,7 +275,7 @@ describe("Integration: CLR iterable overloads", () => {
|
|
|
239
275
|
"src/index.ts": [
|
|
240
276
|
'import { Assert } from "xunit-types/Xunit.js";',
|
|
241
277
|
"",
|
|
242
|
-
"export function run(received:
|
|
278
|
+
"export function run(received: unknown): void {",
|
|
243
279
|
" Assert.Equal(42, received);",
|
|
244
280
|
"}",
|
|
245
281
|
].join("\n"),
|
|
@@ -252,7 +288,7 @@ describe("Integration: CLR iterable overloads", () => {
|
|
|
252
288
|
"package.json": JSON.stringify({ name: "emitter-test-project", version: "1.0.0", type: "module" }, null, 2),
|
|
253
289
|
"node_modules/@tsonic/core/package.json": JSON.stringify({ name: "@tsonic/core", version: "1.0.0", type: "module" }, null, 2),
|
|
254
290
|
"node_modules/@tsonic/core/types.js": "export {};",
|
|
255
|
-
"node_modules/@tsonic/core/types.d.ts": "export
|
|
291
|
+
"node_modules/@tsonic/core/types.d.ts": "export {};",
|
|
256
292
|
"node_modules/xunit-types/package.json": JSON.stringify({ name: "xunit-types", version: "1.0.0", type: "module" }, null, 2),
|
|
257
293
|
"node_modules/xunit-types/Xunit.js": 'export { Assert } from "./Xunit/internal/index.js";',
|
|
258
294
|
"node_modules/xunit-types/Xunit.d.ts": 'export { Assert } from "./Xunit/internal/index.js";',
|
|
@@ -268,10 +304,9 @@ describe("Integration: CLR iterable overloads", () => {
|
|
|
268
304
|
].join("\n"),
|
|
269
305
|
"src/index.ts": [
|
|
270
306
|
'import { Assert } from "xunit-types/Xunit.js";',
|
|
271
|
-
'import type { JsValue } from "@tsonic/core/types.js";',
|
|
272
307
|
"",
|
|
273
308
|
"export function run(): void {",
|
|
274
|
-
" let received:
|
|
309
|
+
" let received: unknown | undefined = undefined;",
|
|
275
310
|
" Assert.Equal(42, received);",
|
|
276
311
|
"}",
|
|
277
312
|
].join("\n"),
|
|
@@ -279,7 +314,7 @@ describe("Integration: CLR iterable overloads", () => {
|
|
|
279
314
|
expect(csharp).to.include("Assert.Equal((object)(double)42, received);");
|
|
280
315
|
expect(csharp).to.not.include("Assert.Equal(42, received);");
|
|
281
316
|
});
|
|
282
|
-
it("widens generic equality to object over Memory<char> siblings for
|
|
317
|
+
it("widens generic equality to object over Memory<char> siblings for unknown array elements", () => {
|
|
283
318
|
const csharp = compileProjectToCSharp({
|
|
284
319
|
"package.json": JSON.stringify({ name: "emitter-test-project", version: "1.0.0", type: "module" }, null, 2),
|
|
285
320
|
"node_modules/xunit-types/package.json": JSON.stringify({ name: "xunit-types", version: "1.0.0", type: "module" }, null, 2),
|
|
@@ -298,10 +333,9 @@ describe("Integration: CLR iterable overloads", () => {
|
|
|
298
333
|
].join("\n"),
|
|
299
334
|
"src/index.ts": [
|
|
300
335
|
'import { Assert } from "xunit-types/Xunit.js";',
|
|
301
|
-
'import type { JsValue } from "@tsonic/core/types.js";',
|
|
302
336
|
"",
|
|
303
337
|
"declare class EventEmitter {",
|
|
304
|
-
" static once(emitter: EventEmitter, eventName: string): Promise<
|
|
338
|
+
" static once(emitter: EventEmitter, eventName: string): Promise<unknown[]>;",
|
|
305
339
|
"}",
|
|
306
340
|
"",
|
|
307
341
|
"export async function run(emitter: EventEmitter): Promise<void> {",
|
|
@@ -311,16 +345,13 @@ describe("Integration: CLR iterable overloads", () => {
|
|
|
311
345
|
].join("\n"),
|
|
312
346
|
"node_modules/@tsonic/core/package.json": JSON.stringify({ name: "@tsonic/core", version: "1.0.0", type: "module" }, null, 2),
|
|
313
347
|
"node_modules/@tsonic/core/types.js": "export {};",
|
|
314
|
-
"node_modules/@tsonic/core/types.d.ts":
|
|
315
|
-
"export type char = string;",
|
|
316
|
-
"export type JsValue = object | string | number | boolean | bigint | symbol | null;",
|
|
317
|
-
].join("\n"),
|
|
348
|
+
"node_modules/@tsonic/core/types.d.ts": "export type char = string;",
|
|
318
349
|
}, "src/index.ts", { surface: "@tsonic/js" });
|
|
319
350
|
expect(csharp).to.include("Assert.Equal((object)(double)1, ");
|
|
320
351
|
expect(csharp).to.not.include("(global::System.Memory<char>)(object)args[0]");
|
|
321
352
|
expect(csharp).to.not.include("(int)(object)args[0]");
|
|
322
353
|
});
|
|
323
|
-
it("preserves explicit
|
|
354
|
+
it("preserves explicit unknown callback storage for later numeric equality assertions", () => {
|
|
324
355
|
const csharp = compileProjectToCSharp({
|
|
325
356
|
"package.json": JSON.stringify({ name: "emitter-test-project", version: "1.0.0", type: "module" }, null, 2),
|
|
326
357
|
"node_modules/xunit-types/package.json": JSON.stringify({ name: "xunit-types", version: "1.0.0", type: "module" }, null, 2),
|
|
@@ -340,12 +371,12 @@ describe("Integration: CLR iterable overloads", () => {
|
|
|
340
371
|
'import { Assert } from "xunit-types/Xunit.js";',
|
|
341
372
|
"",
|
|
342
373
|
"declare class EventEmitter {",
|
|
343
|
-
" on(eventName: string, listener: (value:
|
|
344
|
-
" emit(eventName: string, value:
|
|
374
|
+
" on(eventName: string, listener: (value: unknown) => void): void;",
|
|
375
|
+
" emit(eventName: string, value: unknown): void;",
|
|
345
376
|
"}",
|
|
346
377
|
"",
|
|
347
378
|
"export function run(emitter: EventEmitter): void {",
|
|
348
|
-
" let received:
|
|
379
|
+
" let received: unknown = undefined;",
|
|
349
380
|
' emitter.on("test", (value) => {',
|
|
350
381
|
" received = value;",
|
|
351
382
|
" });",
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"clr-iterable-overloads.test.js","sourceRoot":"","sources":["../../src/integration-cases/clr-iterable-overloads.test.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"clr-iterable-overloads.test.js","sourceRoot":"","sources":["../../src/integration-cases/clr-iterable-overloads.test.ts"],"names":[],"mappings":"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"}
|
|
@@ -18,23 +18,23 @@ describe("End-to-End Integration", () => {
|
|
|
18
18
|
|
|
19
19
|
// User repository
|
|
20
20
|
export class UserRepository {
|
|
21
|
-
|
|
21
|
+
#users: User[] = [];
|
|
22
22
|
|
|
23
23
|
add(user: User): void {
|
|
24
|
-
this
|
|
24
|
+
this.#users.push(user);
|
|
25
25
|
}
|
|
26
26
|
|
|
27
27
|
findById(id: UserId): User | undefined {
|
|
28
|
-
for (let i: int = 0; i < this
|
|
29
|
-
if (this
|
|
30
|
-
return this
|
|
28
|
+
for (let i: int = 0; i < this.#users.Length; i++) {
|
|
29
|
+
if (this.#users[i].id === id) {
|
|
30
|
+
return this.#users[i];
|
|
31
31
|
}
|
|
32
32
|
}
|
|
33
33
|
return undefined;
|
|
34
34
|
}
|
|
35
35
|
|
|
36
36
|
all(): User[] {
|
|
37
|
-
return this
|
|
37
|
+
return this.#users;
|
|
38
38
|
}
|
|
39
39
|
}
|
|
40
40
|
|
|
@@ -47,7 +47,9 @@ describe("End-to-End Integration", () => {
|
|
|
47
47
|
return result;
|
|
48
48
|
}
|
|
49
49
|
`;
|
|
50
|
-
const csharp = compileToCSharp(source
|
|
50
|
+
const csharp = compileToCSharp(source, "/test/test.ts", {
|
|
51
|
+
surface: "@tsonic/js",
|
|
52
|
+
});
|
|
51
53
|
// Should have all type definitions
|
|
52
54
|
expect(csharp).to.include("class User");
|
|
53
55
|
// Non-structural aliases are erased; usage sites should still resolve correctly.
|
|
@@ -129,7 +131,7 @@ describe("End-to-End Integration", () => {
|
|
|
129
131
|
}).timeout(15000);
|
|
130
132
|
it("emits direct IteratorResult property access for async generator next results", () => {
|
|
131
133
|
const source = `
|
|
132
|
-
export async function* ticks(): AsyncGenerator<string, void,
|
|
134
|
+
export async function* ticks(): AsyncGenerator<string, void, number> {
|
|
133
135
|
yield "tick";
|
|
134
136
|
}
|
|
135
137
|
|
|
@@ -157,7 +159,7 @@ describe("End-to-End Integration", () => {
|
|
|
157
159
|
value: TReturn;
|
|
158
160
|
};
|
|
159
161
|
|
|
160
|
-
type IteratorResult<T, TReturn =
|
|
162
|
+
type IteratorResult<T, TReturn = unknown> =
|
|
161
163
|
| IteratorYieldResult<T>
|
|
162
164
|
| IteratorReturnResult<TReturn>;
|
|
163
165
|
|
|
@@ -181,7 +183,7 @@ describe("End-to-End Integration", () => {
|
|
|
181
183
|
const source = `
|
|
182
184
|
declare class Promise<T> {
|
|
183
185
|
then<U>(onFulfilled: (value: T) => U | PromiseLike<U>): Promise<U>;
|
|
184
|
-
catch<U>(onRejected: (reason:
|
|
186
|
+
catch<U>(onRejected: (reason: unknown) => U | PromiseLike<U>): Promise<T | U>;
|
|
185
187
|
finally(onFinally: () => void): Promise<T>;
|
|
186
188
|
static resolve<T>(value: T): Promise<T>;
|
|
187
189
|
}
|
|
@@ -265,7 +267,7 @@ describe("End-to-End Integration", () => {
|
|
|
265
267
|
const source = `
|
|
266
268
|
declare class Promise<T> {
|
|
267
269
|
then<U>(onFulfilled: (value: T) => U | PromiseLike<U>): Promise<U>;
|
|
268
|
-
catch<U>(onRejected: (reason:
|
|
270
|
+
catch<U>(onRejected: (reason: unknown) => U | PromiseLike<U>): Promise<T | U>;
|
|
269
271
|
finally(onFinally: () => void): Promise<T>;
|
|
270
272
|
static resolve<T>(value: T): Promise<T>;
|
|
271
273
|
}
|
|
@@ -288,7 +290,7 @@ describe("End-to-End Integration", () => {
|
|
|
288
290
|
const source = `
|
|
289
291
|
declare class Promise<T> {
|
|
290
292
|
then<U>(onFulfilled: (value: T) => U | PromiseLike<U>): Promise<U>;
|
|
291
|
-
catch<U>(onRejected: (reason:
|
|
293
|
+
catch<U>(onRejected: (reason: unknown) => U | PromiseLike<U>): Promise<T | U>;
|
|
292
294
|
finally(onFinally: () => void): Promise<T>;
|
|
293
295
|
static resolve<T>(value: T): Promise<T>;
|
|
294
296
|
}
|
|
@@ -313,7 +315,7 @@ describe("End-to-End Integration", () => {
|
|
|
313
315
|
|
|
314
316
|
declare class Promise<T> {
|
|
315
317
|
then<U>(onFulfilled: (value: T) => U | PromiseLike<U>): Promise<U>;
|
|
316
|
-
catch<U>(onRejected: (reason:
|
|
318
|
+
catch<U>(onRejected: (reason: unknown) => U | PromiseLike<U>): Promise<T | U>;
|
|
317
319
|
finally(onFinally: () => void): Promise<T>;
|
|
318
320
|
}
|
|
319
321
|
interface PromiseLike<T> {}
|
|
@@ -335,7 +337,7 @@ describe("End-to-End Integration", () => {
|
|
|
335
337
|
|
|
336
338
|
declare class Promise<T> {
|
|
337
339
|
catch<TResult>(
|
|
338
|
-
onrejected: ((reason:
|
|
340
|
+
onrejected: ((reason: unknown) => TResult | PromiseLike<TResult>) | undefined | null
|
|
339
341
|
): Promise<T | TResult>;
|
|
340
342
|
}
|
|
341
343
|
interface PromiseLike<T> {}
|
|
@@ -370,7 +372,7 @@ describe("End-to-End Integration", () => {
|
|
|
370
372
|
interface PromiseLike<T> {
|
|
371
373
|
then<TResult1 = T, TResult2 = never>(
|
|
372
374
|
onfulfilled?: ((value: T) => TResult1 | PromiseLike<TResult1>) | undefined | null,
|
|
373
|
-
onrejected?: ((reason:
|
|
375
|
+
onrejected?: ((reason: unknown) => TResult2 | PromiseLike<TResult2>) | undefined | null
|
|
374
376
|
): PromiseLike<TResult1 | TResult2>;
|
|
375
377
|
}
|
|
376
378
|
|
|
@@ -417,7 +419,7 @@ describe("End-to-End Integration", () => {
|
|
|
417
419
|
it("lowers Promise.reject to Task.FromException", () => {
|
|
418
420
|
const source = `
|
|
419
421
|
declare class Promise<T> {
|
|
420
|
-
static reject<T = never>(reason?:
|
|
422
|
+
static reject<T = never>(reason?: unknown): Promise<T>;
|
|
421
423
|
}
|
|
422
424
|
|
|
423
425
|
export function main(): Promise<number> {
|
|
@@ -436,11 +438,11 @@ describe("End-to-End Integration", () => {
|
|
|
436
438
|
}
|
|
437
439
|
|
|
438
440
|
declare class Promise<T> {
|
|
439
|
-
static reject<T = never>(reason?:
|
|
441
|
+
static reject<T = never>(reason?: unknown): Promise<T>;
|
|
440
442
|
}
|
|
441
443
|
|
|
442
444
|
export function main(): void {
|
|
443
|
-
const operation = (): Promise<
|
|
445
|
+
const operation = (): Promise<unknown> => Promise.reject(new Error("boom"));
|
|
444
446
|
void operation;
|
|
445
447
|
}
|
|
446
448
|
`;
|
|
@@ -456,7 +458,7 @@ describe("End-to-End Integration", () => {
|
|
|
456
458
|
}
|
|
457
459
|
|
|
458
460
|
export function main(): void {
|
|
459
|
-
const operation = (): Promise<
|
|
461
|
+
const operation = (): Promise<unknown> => Promise.reject(new Error("boom"));
|
|
460
462
|
void operation;
|
|
461
463
|
}
|
|
462
464
|
`;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"full-module-and-promises.test.js","sourceRoot":"","sources":["../../src/integration-cases/full-module-and-promises.test.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,QAAQ,EAAE,EAAE,EAAE,MAAM,OAAO,CAAC;AACrC,OAAO,EAAE,MAAM,EAAE,MAAM,MAAM,CAAC;AAC9B,OAAO,EAAE,eAAe,EAAE,MAAM,cAAc,CAAC;AAE/C,QAAQ,CAAC,wBAAwB,EAAE,GAAG,EAAE;IACtC,QAAQ,CAAC,yBAAyB,EAAE,GAAG,EAAE;QACvC,EAAE,CAAC,oDAAoD,EAAE,GAAG,EAAE;YAC5D,MAAM,MAAM,GAAG;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;OA0Cd,CAAC;YAEF,MAAM,MAAM,GAAG,eAAe,CAAC,MAAM,CAAC,CAAC;
|
|
1
|
+
{"version":3,"file":"full-module-and-promises.test.js","sourceRoot":"","sources":["../../src/integration-cases/full-module-and-promises.test.ts"],"names":[],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"helpers.d.ts","sourceRoot":"","sources":["../../src/integration-cases/helpers.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"helpers.d.ts","sourceRoot":"","sources":["../../src/integration-cases/helpers.ts"],"names":[],"mappings":"AAaA,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,aAAa,CAAC;AAyVlD,eAAO,MAAM,eAAe,GAC1B,QAAQ,MAAM,EACd,iBAA0B,EAC1B,cAAa,OAAO,CAAC,cAAc,CAAM,KACxC,MAwBF,CAAC;AAEF,eAAO,MAAM,sBAAsB,GACjC,OAAO,QAAQ,CAAC,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC,EACvC,mBAAmB,MAAM,EACzB,cAAa,OAAO,CAAC,cAAc,CAAM,EACzC,iBAAiB;IACf,QAAQ,CAAC,sBAAsB,CAAC,EAAE,MAAM,CAAC;IACzC,QAAQ,CAAC,aAAa,CAAC,EAAE,MAAM,CAAC;CACjC,KACA,MA6GF,CAAC"}
|
|
@@ -4,7 +4,7 @@ import * as fs from "node:fs";
|
|
|
4
4
|
import * as os from "node:os";
|
|
5
5
|
import * as path from "node:path";
|
|
6
6
|
import { fileURLToPath } from "node:url";
|
|
7
|
-
import {
|
|
7
|
+
import { buildIr, createProgram, runIrProcessingPipeline, validateProgram, } from "@tsonic/frontend";
|
|
8
8
|
import { emitCSharpFiles } from "../emitter.js";
|
|
9
9
|
import { normalizeRuntimeUnionCarrierNames } from "../runtime-union-cases/helpers.js";
|
|
10
10
|
const helpersDir = path.dirname(fileURLToPath(import.meta.url));
|
|
@@ -106,12 +106,6 @@ const addReferencedModuleSpecifiers = (sourceFile, specifiers) => {
|
|
|
106
106
|
ts.isStringLiteral(node.argument.literal)) {
|
|
107
107
|
specifiers.add(node.argument.literal.text);
|
|
108
108
|
}
|
|
109
|
-
else if (ts.isCallExpression(node) &&
|
|
110
|
-
node.expression.kind === ts.SyntaxKind.ImportKeyword &&
|
|
111
|
-
node.arguments.length === 1 &&
|
|
112
|
-
ts.isStringLiteral(node.arguments[0])) {
|
|
113
|
-
specifiers.add(node.arguments[0].text);
|
|
114
|
-
}
|
|
115
109
|
ts.forEachChild(node, visit);
|
|
116
110
|
};
|
|
117
111
|
visit(sourceFile);
|
|
@@ -298,39 +292,24 @@ export const compileProjectToCSharp = (files, entryRelativePath, emitOptions = {
|
|
|
298
292
|
if (validationDiagnostics.hasErrors) {
|
|
299
293
|
throw new Error(`Program validation failed: ${validationDiagnostics.diagnostics.map((diagnostic) => diagnostic.message).join("; ")}`);
|
|
300
294
|
}
|
|
301
|
-
const
|
|
295
|
+
const buildResult = buildIr(program, {
|
|
302
296
|
sourceRoot,
|
|
303
297
|
rootNamespace,
|
|
304
298
|
});
|
|
305
|
-
|
|
306
|
-
|
|
307
|
-
sourceRoot,
|
|
308
|
-
rootNamespace,
|
|
309
|
-
}, ctx);
|
|
310
|
-
return result.ok ? [result.value] : [];
|
|
311
|
-
});
|
|
312
|
-
const loweredModules = runAnonymousTypeLoweringPass(modules).modules;
|
|
313
|
-
const overloadResult = runOverloadCollectionPass(loweredModules);
|
|
314
|
-
if (!overloadResult.ok) {
|
|
315
|
-
throw new Error(`Overload collection failed: ${overloadResult.diagnostics.map((d) => d.message).join("; ")}`);
|
|
316
|
-
}
|
|
317
|
-
const overloadConsistencyResult = runOverloadFamilyConsistencyPass(overloadResult.modules);
|
|
318
|
-
if (!overloadConsistencyResult.ok) {
|
|
319
|
-
throw new Error(`Overload family consistency failed: ${overloadConsistencyResult.diagnostics.map((d) => d.message).join("; ")}`);
|
|
320
|
-
}
|
|
321
|
-
const attributeResult = runAttributeCollectionPass(overloadConsistencyResult.modules);
|
|
322
|
-
if (!attributeResult.ok) {
|
|
323
|
-
throw new Error(`Attribute collection failed: ${attributeResult.diagnostics.map((d) => d.message).join("; ")}`);
|
|
299
|
+
if (!buildResult.ok) {
|
|
300
|
+
throw new Error(`IR build failed: ${buildResult.error.map((d) => d.message).join("; ")}`);
|
|
324
301
|
}
|
|
325
|
-
const
|
|
326
|
-
|
|
327
|
-
|
|
302
|
+
const processedResult = runIrProcessingPipeline(buildResult.value, program, {
|
|
303
|
+
sourceRoot,
|
|
304
|
+
rootNamespace,
|
|
305
|
+
});
|
|
306
|
+
if (!processedResult.ok) {
|
|
307
|
+
throw new Error(`IR processing failed: ${processedResult.error.map((d) => d.message).join("; ")}`);
|
|
328
308
|
}
|
|
329
|
-
const
|
|
330
|
-
const reloweredAfterRefreshModules = runAnonymousTypeLoweringPass(refreshedCallResolutionResult.modules).modules;
|
|
331
|
-
const emitResult = emitCSharpFiles(reloweredAfterRefreshModules, {
|
|
309
|
+
const emitResult = emitCSharpFiles(processedResult.value.modules, {
|
|
332
310
|
rootNamespace,
|
|
333
311
|
bindingRegistry: program.bindings,
|
|
312
|
+
surfaceCapabilities: program.surfaceCapabilities,
|
|
334
313
|
...emitOptions,
|
|
335
314
|
});
|
|
336
315
|
if (!emitResult.ok) {
|