@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
|
@@ -6,8 +6,8 @@ describe("End-to-End Integration", () => {
|
|
|
6
6
|
it("preserves reference nullable narrowing across repeated reassignment guards", () => {
|
|
7
7
|
const source = `
|
|
8
8
|
class ImageDimensions {
|
|
9
|
-
|
|
10
|
-
|
|
9
|
+
width: number;
|
|
10
|
+
height: number;
|
|
11
11
|
|
|
12
12
|
constructor(width: number, height: number) {
|
|
13
13
|
this.width = width;
|
|
@@ -42,11 +42,11 @@ describe("End-to-End Integration", () => {
|
|
|
42
42
|
expect(csharp).to.not.include("return (object)dims;");
|
|
43
43
|
expect(csharp).to.include("return dims;");
|
|
44
44
|
});
|
|
45
|
-
it("
|
|
45
|
+
it("rejects Array.isArray-narrowed unknown locals before array storage declarations", () => {
|
|
46
46
|
const source = `
|
|
47
|
-
export function parseJsonStringArray(value:
|
|
47
|
+
export function parseJsonStringArray(value: unknown): string[] | undefined {
|
|
48
48
|
if (!Array.isArray(value)) return undefined;
|
|
49
|
-
const values = value as
|
|
49
|
+
const values = value as unknown[];
|
|
50
50
|
const items: string[] = [];
|
|
51
51
|
for (let i = 0; i < values.length; i++) {
|
|
52
52
|
const current = values[i];
|
|
@@ -55,26 +55,23 @@ describe("End-to-End Integration", () => {
|
|
|
55
55
|
return items;
|
|
56
56
|
}
|
|
57
57
|
`;
|
|
58
|
-
|
|
58
|
+
expect(() => compileToCSharp(source, "/test/test.ts", {
|
|
59
59
|
surface: "@tsonic/js",
|
|
60
|
-
});
|
|
61
|
-
expect(csharp).to.include("object?[] values = (object?[])value;");
|
|
62
|
-
expect(csharp).to.not.include("object?[] values = value;");
|
|
60
|
+
})).to.throw(/Array\.isArray cannot narrow a broad runtime value/);
|
|
63
61
|
});
|
|
64
|
-
it("
|
|
62
|
+
it("rejects broad array assertions after Array.isArray fallthrough guards", () => {
|
|
65
63
|
const source = `
|
|
66
|
-
export function firstDefined(value:
|
|
64
|
+
export function firstDefined(value: unknown): boolean {
|
|
67
65
|
if (!Array.isArray(value)) {
|
|
68
66
|
return false;
|
|
69
67
|
}
|
|
70
68
|
|
|
71
|
-
return (value as
|
|
69
|
+
return (value as unknown[]).length > 0 && (value as unknown[])[0] !== undefined;
|
|
72
70
|
}
|
|
73
71
|
`;
|
|
74
|
-
|
|
75
|
-
|
|
76
|
-
|
|
77
|
-
expect(csharp).to.not.include("(object?[])value");
|
|
72
|
+
expect(() => compileToCSharp(source, "/test/test.ts", {
|
|
73
|
+
surface: "@tsonic/js",
|
|
74
|
+
})).to.throw(/Array\.isArray cannot narrow a broad runtime value/);
|
|
78
75
|
});
|
|
79
76
|
it("uses narrowed array storage for JS array wrapper member calls after Array.isArray fallthrough guards", () => {
|
|
80
77
|
const source = `
|
|
@@ -93,33 +90,31 @@ describe("End-to-End Integration", () => {
|
|
|
93
90
|
expect(csharp).to.not.include('global::Tsonic.Internal.ArrayInterop.WrapArray(value).join("|")');
|
|
94
91
|
expect(csharp).to.include("internal static class ArrayInterop");
|
|
95
92
|
});
|
|
96
|
-
it("
|
|
93
|
+
it("rejects broad array assertions inside nested callbacks", () => {
|
|
97
94
|
const source = `
|
|
98
95
|
import type { int } from "@tsonic/core/types.js";
|
|
99
96
|
|
|
100
97
|
declare function compare(
|
|
101
|
-
left: (index: int) =>
|
|
102
|
-
right: (index: int) =>
|
|
98
|
+
left: (index: int) => unknown,
|
|
99
|
+
right: (index: int) => unknown
|
|
103
100
|
): void;
|
|
104
101
|
|
|
105
|
-
export function run(left:
|
|
102
|
+
export function run(left: unknown, right: unknown): void {
|
|
106
103
|
if (!Array.isArray(left) || !Array.isArray(right)) {
|
|
107
104
|
return;
|
|
108
105
|
}
|
|
109
106
|
|
|
110
107
|
compare(
|
|
111
|
-
(index) => (left as
|
|
112
|
-
(index) => (right as
|
|
108
|
+
(index) => (left as unknown[])[index],
|
|
109
|
+
(index) => (right as unknown[])[index]
|
|
113
110
|
);
|
|
114
111
|
}
|
|
115
112
|
`;
|
|
116
|
-
|
|
117
|
-
|
|
118
|
-
|
|
119
|
-
expect(csharp).to.not.include("((object?[])left)[index]");
|
|
120
|
-
expect(csharp).to.not.include("((object?[])right)[index]");
|
|
113
|
+
expect(() => compileToCSharp(source, "/test/test.ts", {
|
|
114
|
+
surface: "@tsonic/js",
|
|
115
|
+
})).to.throw(/Array\.isArray cannot narrow a broad runtime value/);
|
|
121
116
|
});
|
|
122
|
-
it("
|
|
117
|
+
it("rejects broad Array.isArray boolean alias gates", () => {
|
|
123
118
|
const source = `
|
|
124
119
|
import type { int } from "@tsonic/core/types.js";
|
|
125
120
|
|
|
@@ -128,11 +123,11 @@ describe("End-to-End Integration", () => {
|
|
|
128
123
|
right: object,
|
|
129
124
|
leftLength: int,
|
|
130
125
|
rightLength: int,
|
|
131
|
-
getLeftValue: (index: int) =>
|
|
132
|
-
getRightValue: (index: int) =>
|
|
126
|
+
getLeftValue: (index: int) => unknown,
|
|
127
|
+
getRightValue: (index: int) => unknown
|
|
133
128
|
): boolean;
|
|
134
129
|
|
|
135
|
-
export function run(left:
|
|
130
|
+
export function run(left: unknown, right: unknown): boolean {
|
|
136
131
|
const leftIsArray = Array.isArray(left);
|
|
137
132
|
const rightIsArray = Array.isArray(right);
|
|
138
133
|
if (leftIsArray || rightIsArray) {
|
|
@@ -143,25 +138,21 @@ describe("End-to-End Integration", () => {
|
|
|
143
138
|
return compare(
|
|
144
139
|
left as object,
|
|
145
140
|
right as object,
|
|
146
|
-
(left as
|
|
147
|
-
(right as
|
|
148
|
-
(index) => (left as
|
|
149
|
-
(index) => (right as
|
|
141
|
+
(left as unknown[]).length,
|
|
142
|
+
(right as unknown[]).length,
|
|
143
|
+
(index) => (left as unknown[])[index],
|
|
144
|
+
(index) => (right as unknown[])[index]
|
|
150
145
|
);
|
|
151
146
|
}
|
|
152
147
|
|
|
153
148
|
return false;
|
|
154
149
|
}
|
|
155
150
|
`;
|
|
156
|
-
|
|
157
|
-
|
|
158
|
-
|
|
159
|
-
expect(csharp).to.include("((global::System.Array)left).GetValue(index)");
|
|
160
|
-
expect(csharp).to.include("((global::System.Array)right).GetValue(index)");
|
|
161
|
-
expect(csharp).to.not.include("(object?[])left");
|
|
162
|
-
expect(csharp).to.not.include("(object?[])right");
|
|
151
|
+
expect(() => compileToCSharp(source, "/test/test.ts", {
|
|
152
|
+
surface: "@tsonic/js",
|
|
153
|
+
})).to.throw(/Array\.isArray cannot narrow a broad runtime value/);
|
|
163
154
|
});
|
|
164
|
-
it("
|
|
155
|
+
it("rejects broad bound Array.isArray boolean alias gates", () => {
|
|
165
156
|
const source = `
|
|
166
157
|
import type { int } from "@tsonic/core/types.js";
|
|
167
158
|
|
|
@@ -170,11 +161,11 @@ describe("End-to-End Integration", () => {
|
|
|
170
161
|
right: object,
|
|
171
162
|
leftLength: int,
|
|
172
163
|
rightLength: int,
|
|
173
|
-
getLeftValue: (index: int) =>
|
|
174
|
-
getRightValue: (index: int) =>
|
|
164
|
+
getLeftValue: (index: int) => unknown,
|
|
165
|
+
getRightValue: (index: int) => unknown
|
|
175
166
|
): boolean;
|
|
176
167
|
|
|
177
|
-
export function run(left:
|
|
168
|
+
export function run(left: unknown, right: unknown): boolean {
|
|
178
169
|
const leftIsArray = Array.isArray(left);
|
|
179
170
|
const rightIsArray = Array.isArray(right);
|
|
180
171
|
if (leftIsArray || rightIsArray) {
|
|
@@ -185,29 +176,23 @@ describe("End-to-End Integration", () => {
|
|
|
185
176
|
return compare(
|
|
186
177
|
left as object,
|
|
187
178
|
right as object,
|
|
188
|
-
(left as
|
|
189
|
-
(right as
|
|
190
|
-
(index) => (left as
|
|
191
|
-
(index) => (right as
|
|
179
|
+
(left as unknown[]).length,
|
|
180
|
+
(right as unknown[]).length,
|
|
181
|
+
(index) => (left as unknown[])[index],
|
|
182
|
+
(index) => (right as unknown[])[index]
|
|
192
183
|
);
|
|
193
184
|
}
|
|
194
185
|
|
|
195
186
|
return false;
|
|
196
187
|
}
|
|
197
188
|
`;
|
|
198
|
-
|
|
189
|
+
expect(() => compileToCSharp(source, "/test/assert-module.ts", {
|
|
199
190
|
surface: "@tsonic/js",
|
|
200
|
-
});
|
|
201
|
-
expect(csharp).to.include("((global::System.Array)left).Length");
|
|
202
|
-
expect(csharp).to.include("((global::System.Array)right).Length");
|
|
203
|
-
expect(csharp).to.include("((global::System.Array)left).GetValue(index)");
|
|
204
|
-
expect(csharp).to.include("((global::System.Array)right).GetValue(index)");
|
|
205
|
-
expect(csharp).to.not.include("(object?[])left");
|
|
206
|
-
expect(csharp).to.not.include("(object?[])right");
|
|
191
|
+
})).to.throw(/Array\.isArray cannot narrow a broad runtime value/);
|
|
207
192
|
});
|
|
208
|
-
it("
|
|
193
|
+
it("rejects Object.entries Array.isArray fallthrough assertions over broad values", () => {
|
|
209
194
|
const source = `
|
|
210
|
-
export function parse(root:
|
|
195
|
+
export function parse(root: unknown): number {
|
|
211
196
|
if (root === null || typeof root !== "object" || Array.isArray(root)) {
|
|
212
197
|
return 0;
|
|
213
198
|
}
|
|
@@ -219,24 +204,21 @@ describe("End-to-End Integration", () => {
|
|
|
219
204
|
continue;
|
|
220
205
|
}
|
|
221
206
|
|
|
222
|
-
const mountsValue = value as
|
|
207
|
+
const mountsValue = value as unknown[];
|
|
223
208
|
return mountsValue.length;
|
|
224
209
|
}
|
|
225
210
|
|
|
226
211
|
return 0;
|
|
227
212
|
}
|
|
228
213
|
`;
|
|
229
|
-
|
|
214
|
+
expect(() => compileToCSharp(source, "/test/test.ts", {
|
|
230
215
|
surface: "@tsonic/js",
|
|
231
|
-
});
|
|
232
|
-
expect(csharp).to.include("!(value is global::System.Array)");
|
|
233
|
-
expect(csharp).to.include("object?[] mountsValue = (object?[])value;");
|
|
234
|
-
expect(csharp).to.not.include("(global::js.Array)value");
|
|
216
|
+
})).to.throw(/Array\.isArray cannot narrow a broad runtime value/);
|
|
235
217
|
});
|
|
236
218
|
it("keeps nullable reference assignments nominal after local null guards", () => {
|
|
237
219
|
const source = `
|
|
238
220
|
class PageContext {
|
|
239
|
-
|
|
221
|
+
slug: string;
|
|
240
222
|
|
|
241
223
|
constructor(slug: string) {
|
|
242
224
|
this.slug = slug;
|
|
@@ -289,33 +271,33 @@ describe("End-to-End Integration", () => {
|
|
|
289
271
|
mapfn: (value: T, index: int) => TResult
|
|
290
272
|
): TResult[];
|
|
291
273
|
|
|
292
|
-
export class Array<T =
|
|
293
|
-
|
|
294
|
-
|
|
274
|
+
export class Array<T = unknown> {
|
|
275
|
+
static from(source: string): string[];
|
|
276
|
+
static from<TResult>(
|
|
295
277
|
source: string,
|
|
296
278
|
mapfn: (value: string, index: int) => TResult
|
|
297
279
|
): TResult[];
|
|
298
|
-
|
|
299
|
-
|
|
280
|
+
static from<T>(source: Iterable<T>): T[];
|
|
281
|
+
static from<T, TResult>(
|
|
300
282
|
source: Iterable<T>,
|
|
301
283
|
mapfn: (value: T, index: int) => TResult
|
|
302
284
|
): TResult[];
|
|
303
|
-
|
|
285
|
+
static from(_source: any, _mapfn?: any): any {
|
|
304
286
|
throw new Error("stub");
|
|
305
287
|
}
|
|
306
|
-
|
|
288
|
+
static from_string(source: string): string[] {
|
|
307
289
|
return mapString(source);
|
|
308
290
|
}
|
|
309
|
-
|
|
291
|
+
static from_stringMapped<TResult>(
|
|
310
292
|
source: string,
|
|
311
293
|
mapfn: (value: string, index: int) => TResult
|
|
312
294
|
): TResult[] {
|
|
313
295
|
return mapStringMapped(source, mapfn);
|
|
314
296
|
}
|
|
315
|
-
|
|
297
|
+
static from_iterable<T>(source: Iterable<T>): T[] {
|
|
316
298
|
return mapIterable(source);
|
|
317
299
|
}
|
|
318
|
-
|
|
300
|
+
static from_iterableMapped<T, TResult>(
|
|
319
301
|
source: Iterable<T>,
|
|
320
302
|
mapfn: (value: T, index: int) => TResult
|
|
321
303
|
): TResult[] {
|
|
@@ -440,12 +422,11 @@ describe("End-to-End Integration", () => {
|
|
|
440
422
|
expect(csharp).to.not.include("Select<string[], global::System.ValueTuple<string, string>>");
|
|
441
423
|
expect(csharp).to.not.include("new string[] { param.name, param.value }");
|
|
442
424
|
});
|
|
443
|
-
it("keeps nullable CLR string returns direct when broad
|
|
425
|
+
it("keeps nullable CLR string returns direct when broad unknown is expected", () => {
|
|
444
426
|
const source = `
|
|
445
|
-
import type { JsValue } from "@tsonic/core/types.js";
|
|
446
427
|
declare function getText(): string | null;
|
|
447
428
|
|
|
448
|
-
export function fromText():
|
|
429
|
+
export function fromText(): unknown {
|
|
449
430
|
return getText();
|
|
450
431
|
}
|
|
451
432
|
`;
|
|
@@ -455,9 +436,8 @@ describe("End-to-End Integration", () => {
|
|
|
455
436
|
expect(csharp).to.include("return getText();");
|
|
456
437
|
expect(csharp).to.not.include("getText().Match");
|
|
457
438
|
});
|
|
458
|
-
it("keeps nullable member-call strings direct when broad
|
|
439
|
+
it("keeps nullable member-call strings direct when broad unknown is expected", () => {
|
|
459
440
|
const source = `
|
|
460
|
-
import type { JsValue } from "@tsonic/core/types.js";
|
|
461
441
|
|
|
462
442
|
class Reader {
|
|
463
443
|
GetText(): string | null {
|
|
@@ -465,7 +445,7 @@ describe("End-to-End Integration", () => {
|
|
|
465
445
|
}
|
|
466
446
|
}
|
|
467
447
|
|
|
468
|
-
export function fromReader(reader: Reader):
|
|
448
|
+
export function fromReader(reader: Reader): unknown {
|
|
469
449
|
return reader.GetText();
|
|
470
450
|
}
|
|
471
451
|
`;
|
|
@@ -475,9 +455,8 @@ describe("End-to-End Integration", () => {
|
|
|
475
455
|
expect(csharp).to.include("return reader.GetText();");
|
|
476
456
|
expect(csharp).to.not.include("reader.GetText().Match");
|
|
477
457
|
});
|
|
478
|
-
it("keeps nullable arrow returns direct when broad
|
|
458
|
+
it("keeps nullable arrow returns direct when broad unknown is expected", () => {
|
|
479
459
|
const source = `
|
|
480
|
-
import type { JsValue } from "@tsonic/core/types.js";
|
|
481
460
|
|
|
482
461
|
class Reader {
|
|
483
462
|
GetText(): string | null {
|
|
@@ -485,7 +464,7 @@ describe("End-to-End Integration", () => {
|
|
|
485
464
|
}
|
|
486
465
|
}
|
|
487
466
|
|
|
488
|
-
export const fromReader = (reader: Reader):
|
|
467
|
+
export const fromReader = (reader: Reader): unknown => {
|
|
489
468
|
return reader.GetText();
|
|
490
469
|
};
|
|
491
470
|
`;
|
|
@@ -495,15 +474,14 @@ describe("End-to-End Integration", () => {
|
|
|
495
474
|
expect(csharp).to.include("return reader.GetText();");
|
|
496
475
|
expect(csharp).to.not.include("reader.GetText().Match");
|
|
497
476
|
});
|
|
498
|
-
it("keeps nullable declaration-only member calls direct when broad
|
|
477
|
+
it("keeps nullable declaration-only member calls direct when broad unknown is expected", () => {
|
|
499
478
|
const source = `
|
|
500
|
-
import type { JsValue } from "@tsonic/core/types.js";
|
|
501
479
|
|
|
502
480
|
declare class Reader {
|
|
503
481
|
GetText(): string | null;
|
|
504
482
|
}
|
|
505
483
|
|
|
506
|
-
export const fromReader = (reader: Reader):
|
|
484
|
+
export const fromReader = (reader: Reader): unknown => {
|
|
507
485
|
return reader.GetText();
|
|
508
486
|
};
|
|
509
487
|
`;
|
|
@@ -513,17 +491,17 @@ describe("End-to-End Integration", () => {
|
|
|
513
491
|
expect(csharp).to.include("return reader.GetText();");
|
|
514
492
|
expect(csharp).to.not.include("reader.GetText().Match");
|
|
515
493
|
});
|
|
516
|
-
it("preserves nullish coalescing with null for nullable numeric values flowing into
|
|
494
|
+
it("preserves nullish coalescing with null for nullable numeric values flowing into unknown slots", () => {
|
|
517
495
|
const source = `
|
|
518
|
-
import type {
|
|
496
|
+
import type { int, long } from "@tsonic/core/types.js";
|
|
519
497
|
|
|
520
498
|
class User {
|
|
521
499
|
BotType?: int;
|
|
522
500
|
BotOwnerId?: long;
|
|
523
501
|
}
|
|
524
502
|
|
|
525
|
-
export function run(u: User): Record<string,
|
|
526
|
-
const resp: Record<string,
|
|
503
|
+
export function run(u: User): Record<string, unknown> {
|
|
504
|
+
const resp: Record<string, unknown> = {};
|
|
527
505
|
resp["bot_type"] = u.BotType ?? null;
|
|
528
506
|
resp["bot_owner_id"] = u.BotOwnerId ?? null;
|
|
529
507
|
return resp;
|
|
@@ -539,16 +517,16 @@ describe("End-to-End Integration", () => {
|
|
|
539
517
|
expect(csharp).to.not.include("u.BotType ?? default");
|
|
540
518
|
expect(csharp).to.not.include("u.BotOwnerId ?? default");
|
|
541
519
|
});
|
|
542
|
-
it("keeps numeric nullish fallbacks unboxed until after coalescing in broad
|
|
520
|
+
it("keeps numeric nullish fallbacks unboxed until after coalescing in broad unknown slots", () => {
|
|
543
521
|
const source = `
|
|
544
|
-
import type {
|
|
522
|
+
import type { int } from "@tsonic/core/types.js";
|
|
545
523
|
|
|
546
524
|
class UserSetting {
|
|
547
525
|
EmailAddressVisibility!: int;
|
|
548
526
|
}
|
|
549
527
|
|
|
550
|
-
export function run(setting?: UserSetting | null): Record<string,
|
|
551
|
-
const entry: Record<string,
|
|
528
|
+
export function run(setting?: UserSetting | null): Record<string, unknown> {
|
|
529
|
+
const entry: Record<string, unknown> = {};
|
|
552
530
|
entry["email_address_visibility"] = setting?.EmailAddressVisibility ?? 1;
|
|
553
531
|
return entry;
|
|
554
532
|
}
|
|
@@ -556,7 +534,8 @@ describe("End-to-End Integration", () => {
|
|
|
556
534
|
const csharp = compileToCSharp(source, "/test/test.ts", {
|
|
557
535
|
surface: "@tsonic/js",
|
|
558
536
|
});
|
|
559
|
-
expect(csharp).to.include('entry["email_address_visibility"] =
|
|
537
|
+
expect(csharp).to.include('entry["email_address_visibility"] = setting?.EmailAddressVisibility ?? 1;');
|
|
538
|
+
expect(csharp).not.to.include("(object)(double)(setting?.EmailAddressVisibility");
|
|
560
539
|
expect(csharp).to.not.include("?? (object)(double)1");
|
|
561
540
|
});
|
|
562
541
|
it("preserves runtime-union member numbering across nested array and instanceof fallthrough guards", () => {
|
|
@@ -591,7 +570,9 @@ describe("End-to-End Integration", () => {
|
|
|
591
570
|
return result;
|
|
592
571
|
}
|
|
593
572
|
`;
|
|
594
|
-
const csharp = compileToCSharp(source
|
|
573
|
+
const csharp = compileToCSharp(source, "/test/test.ts", {
|
|
574
|
+
surface: "@tsonic/js",
|
|
575
|
+
});
|
|
595
576
|
expect(csharp).to.include("if (handler.Is1())");
|
|
596
577
|
expect(csharp).to.include("for (int index = 0; index < (handler.As1()).Length; index += 1)");
|
|
597
578
|
expect(csharp).to.not.include("new global::js.Array<global::Tsonic.Internal.Union<object?[], global::System.Action<string>, Router>>((handler.As1())).length");
|
|
@@ -599,14 +580,15 @@ describe("End-to-End Integration", () => {
|
|
|
599
580
|
expect(csharp).to.include("if (handler.Is3())");
|
|
600
581
|
expect(csharp).to.include("Router handler__is_1 = (Router)handler.As3();");
|
|
601
582
|
expect(csharp).to.include("if (!isMiddlewareHandler(handler))");
|
|
602
|
-
expect(csharp).to.include('throw new global::
|
|
603
|
-
expect(csharp).to.include("
|
|
583
|
+
expect(csharp).to.include('throw new global::js.Error("middleware handlers must be functions");');
|
|
584
|
+
expect(csharp).to.include("global::Tsonic.Internal.ArrayInterop.WrapArray(result)");
|
|
585
|
+
expect(csharp).to.include("result = __tsonic_arrayWrapper");
|
|
604
586
|
});
|
|
605
587
|
it("prefers assignable conditional supertypes without double runtime-union projection", () => {
|
|
606
588
|
const source = `
|
|
607
589
|
class TemplateValue {}
|
|
608
590
|
class PageValue extends TemplateValue {
|
|
609
|
-
|
|
591
|
+
slug: string;
|
|
610
592
|
constructor(slug: string) {
|
|
611
593
|
super();
|
|
612
594
|
this.slug = slug;
|
|
@@ -696,7 +678,7 @@ describe("End-to-End Integration", () => {
|
|
|
696
678
|
it("narrows reassigned locals before native array mutation interop calls", () => {
|
|
697
679
|
const source = `
|
|
698
680
|
class Item {
|
|
699
|
-
|
|
681
|
+
name: string;
|
|
700
682
|
|
|
701
683
|
constructor(name: string) {
|
|
702
684
|
this.name = name;
|
|
@@ -713,14 +695,16 @@ describe("End-to-End Integration", () => {
|
|
|
713
695
|
return items.length;
|
|
714
696
|
}
|
|
715
697
|
`;
|
|
716
|
-
const csharp = compileToCSharp(source
|
|
698
|
+
const csharp = compileToCSharp(source, "/test/test.ts", {
|
|
699
|
+
surface: "@tsonic/js",
|
|
700
|
+
});
|
|
717
701
|
expect(csharp).to.match(/\.push\((?:\(Item\))?entry\);/);
|
|
718
702
|
expect(csharp).to.not.include(".push((object)entry);");
|
|
719
703
|
});
|
|
720
704
|
it("narrows reassigned member accesses before subsequent reads", () => {
|
|
721
705
|
const source = `
|
|
722
706
|
class Item {
|
|
723
|
-
|
|
707
|
+
name: string;
|
|
724
708
|
|
|
725
709
|
constructor(name: string) {
|
|
726
710
|
this.name = name;
|
|
@@ -747,14 +731,14 @@ describe("End-to-End Integration", () => {
|
|
|
747
731
|
expect(csharp).not.to.include("consume((object)this.current)");
|
|
748
732
|
expect(csharp).not.to.include("consume(this.current.Value)");
|
|
749
733
|
});
|
|
750
|
-
it("lowers typed object spreads into
|
|
734
|
+
it("lowers typed object spreads into record-root dictionary results", () => {
|
|
751
735
|
const source = `
|
|
752
736
|
type ApiKeyData = {
|
|
753
737
|
apiKey: string;
|
|
754
738
|
userId: string;
|
|
755
739
|
};
|
|
756
740
|
|
|
757
|
-
export function buildResponse(data: ApiKeyData):
|
|
741
|
+
export function buildResponse(data: ApiKeyData): Record<string, unknown> {
|
|
758
742
|
return { result: "success", msg: "", ...data };
|
|
759
743
|
}
|
|
760
744
|
`;
|
|
@@ -765,13 +749,13 @@ describe("End-to-End Integration", () => {
|
|
|
765
749
|
expect(csharp).to.include('__tmp["apiKey"] = __spread.apiKey');
|
|
766
750
|
expect(csharp).to.include('__tmp["userId"] = __spread.userId');
|
|
767
751
|
});
|
|
768
|
-
it("lowers dictionary spreads into
|
|
752
|
+
it("lowers dictionary spreads into record-root dictionary results", () => {
|
|
769
753
|
const source = `
|
|
770
754
|
type StringMap = {
|
|
771
755
|
[key: string]: string;
|
|
772
756
|
};
|
|
773
757
|
|
|
774
|
-
export function buildResponse(data: StringMap):
|
|
758
|
+
export function buildResponse(data: StringMap): Record<string, unknown> {
|
|
775
759
|
return { result: "success", ...data, msg: "" };
|
|
776
760
|
}
|
|
777
761
|
`;
|
|
@@ -783,8 +767,8 @@ describe("End-to-End Integration", () => {
|
|
|
783
767
|
});
|
|
784
768
|
it("uses element access for index-signature property reads and writes", () => {
|
|
785
769
|
const source = `
|
|
786
|
-
export function buildState(): Record<string,
|
|
787
|
-
const state: Record<string,
|
|
770
|
+
export function buildState(): Record<string, unknown> {
|
|
771
|
+
const state: Record<string, unknown> = {};
|
|
788
772
|
state.user_id = "u1";
|
|
789
773
|
state.email = "u@example.com";
|
|
790
774
|
const bot = state.user_id;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"regression-coverage-b.test.js","sourceRoot":"","sources":["../../src/integration-cases/regression-coverage-b.test.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"regression-coverage-b.test.js","sourceRoot":"","sources":["../../src/integration-cases/regression-coverage-b.test.ts"],"names":[],"mappings":"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"}
|