@scriptc/compiler 0.3.5 → 0.4.0
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/ambient/scriptc-node-fallback.d.ts +960 -82
- package/ambient/scriptc.d.ts +134 -0
- package/dist/backend/cycle-analysis.d.ts +1 -1
- package/dist/backend/cycle-analysis.js +1 -0
- package/dist/backend/cycle-analysis.js.map +1 -1
- package/dist/backend/cycle-analysis.test.js +13 -1
- package/dist/backend/cycle-analysis.test.js.map +1 -1
- package/dist/backend/cycle-mutability.js +16 -5
- package/dist/backend/cycle-mutability.js.map +1 -1
- package/dist/backend/executable-features.js +13 -0
- package/dist/backend/executable-features.js.map +1 -1
- package/dist/backend/immutability.test.js +1 -1
- package/dist/backend/library-pack.js +6 -0
- package/dist/backend/library-pack.js.map +1 -1
- package/dist/backend/llvm/alloc.d.ts +41 -4
- package/dist/backend/llvm/alloc.js +138 -7
- package/dist/backend/llvm/alloc.js.map +1 -1
- package/dist/backend/llvm/alloc.test.js +30 -1
- package/dist/backend/llvm/alloc.test.js.map +1 -1
- package/dist/backend/llvm/appended-array-literals.test.js +1 -1
- package/dist/backend/llvm/array-search.test.js +1 -1
- package/dist/backend/llvm/blocks.d.ts +8 -0
- package/dist/backend/llvm/blocks.js +43 -1
- package/dist/backend/llvm/blocks.js.map +1 -1
- package/dist/backend/llvm/blocks.test.js +22 -1
- package/dist/backend/llvm/blocks.test.js.map +1 -1
- package/dist/backend/llvm/byte-numbers.js +15 -5
- package/dist/backend/llvm/byte-numbers.js.map +1 -1
- package/dist/backend/llvm/bytes-alias.d.ts +14 -0
- package/dist/backend/llvm/bytes-alias.js +20 -0
- package/dist/backend/llvm/bytes-alias.js.map +1 -0
- package/dist/backend/llvm/bytes-loop-versions.d.ts +86 -0
- package/dist/backend/llvm/bytes-loop-versions.js +506 -0
- package/dist/backend/llvm/bytes-loop-versions.js.map +1 -0
- package/dist/backend/llvm/bytes-loop-versions.test.d.ts +1 -0
- package/dist/backend/llvm/bytes-loop-versions.test.js +244 -0
- package/dist/backend/llvm/bytes-loop-versions.test.js.map +1 -0
- package/dist/backend/llvm/call-lifetimes.js +50 -1
- package/dist/backend/llvm/call-lifetimes.js.map +1 -1
- package/dist/backend/llvm/call-lifetimes.test.js +34 -0
- package/dist/backend/llvm/call-lifetimes.test.js.map +1 -1
- package/dist/backend/llvm/checked-narrows.test.js +1 -1
- package/dist/backend/llvm/checked-value-lifetimes.js +4 -1
- package/dist/backend/llvm/checked-value-lifetimes.js.map +1 -1
- package/dist/backend/llvm/classes.d.ts +11 -0
- package/dist/backend/llvm/classes.js +71 -14
- package/dist/backend/llvm/classes.js.map +1 -1
- package/dist/backend/llvm/classes.test.js +58 -8
- package/dist/backend/llvm/classes.test.js.map +1 -1
- package/dist/backend/llvm/common.js +1 -0
- package/dist/backend/llvm/common.js.map +1 -1
- package/dist/backend/llvm/constant-callbacks.d.ts +5 -1
- package/dist/backend/llvm/constant-callbacks.js +55 -12
- package/dist/backend/llvm/constant-callbacks.js.map +1 -1
- package/dist/backend/llvm/constant-callbacks.test.js +88 -1
- package/dist/backend/llvm/constant-callbacks.test.js.map +1 -1
- package/dist/backend/llvm/counted-loops.d.ts +4 -0
- package/dist/backend/llvm/counted-loops.js +37 -0
- package/dist/backend/llvm/counted-loops.js.map +1 -1
- package/dist/backend/llvm/dense-array-access.d.ts +12 -3
- package/dist/backend/llvm/dense-array-access.js +72 -14
- package/dist/backend/llvm/dense-array-access.js.map +1 -1
- package/dist/backend/llvm/dense-array-access.test.js +59 -3
- package/dist/backend/llvm/dense-array-access.test.js.map +1 -1
- package/dist/backend/llvm/dense-array-loops.d.ts +51 -0
- package/dist/backend/llvm/dense-array-loops.js +162 -0
- package/dist/backend/llvm/dense-array-loops.js.map +1 -0
- package/dist/backend/llvm/dense-array-loops.test.d.ts +1 -0
- package/dist/backend/llvm/dense-array-loops.test.js +128 -0
- package/dist/backend/llvm/dense-array-loops.test.js.map +1 -0
- package/dist/backend/llvm/dyn-handle-tags.test.d.ts +1 -0
- package/dist/backend/llvm/dyn-handle-tags.test.js +38 -0
- package/dist/backend/llvm/dyn-handle-tags.test.js.map +1 -0
- package/dist/backend/llvm/dyn.d.ts +28 -4
- package/dist/backend/llvm/dyn.js +324 -179
- package/dist/backend/llvm/dyn.js.map +1 -1
- package/dist/backend/llvm/emit-function.d.ts +64 -0
- package/dist/backend/llvm/emit-function.js +1190 -0
- package/dist/backend/llvm/emit-function.js.map +1 -0
- package/dist/backend/llvm/emit-module.d.ts +24 -0
- package/dist/backend/llvm/emit-module.js +1535 -0
- package/dist/backend/llvm/emit-module.js.map +1 -0
- package/dist/backend/llvm/emit-statements.d.ts +58 -0
- package/dist/backend/llvm/emit-statements.js +1964 -0
- package/dist/backend/llvm/emit-statements.js.map +1 -0
- package/dist/backend/llvm/emitter.d.ts +576 -268
- package/dist/backend/llvm/emitter.js +801 -4447
- package/dist/backend/llvm/emitter.js.map +1 -1
- package/dist/backend/llvm/emitter.test.js +57 -3
- package/dist/backend/llvm/emitter.test.js.map +1 -1
- package/dist/backend/llvm/expr-async.js +73 -46
- package/dist/backend/llvm/expr-async.js.map +1 -1
- package/dist/backend/llvm/expr-async.test.js +1 -1
- package/dist/backend/llvm/expr-bytes.d.ts +2 -0
- package/dist/backend/llvm/expr-bytes.js +76 -29
- package/dist/backend/llvm/expr-bytes.js.map +1 -1
- package/dist/backend/llvm/expr-callbacks.d.ts +6 -2
- package/dist/backend/llvm/expr-callbacks.js +48 -11
- package/dist/backend/llvm/expr-callbacks.js.map +1 -1
- package/dist/backend/llvm/expr-calls.d.ts +1 -1
- package/dist/backend/llvm/expr-calls.js +71 -53
- package/dist/backend/llvm/expr-calls.js.map +1 -1
- package/dist/backend/llvm/expr-calls.test.js +1 -1
- package/dist/backend/llvm/expr-containers.js +39 -15
- package/dist/backend/llvm/expr-containers.js.map +1 -1
- package/dist/backend/llvm/expr-control.js +16 -16
- package/dist/backend/llvm/expr-control.js.map +1 -1
- package/dist/backend/llvm/expr-dispatch.js +1 -0
- package/dist/backend/llvm/expr-dispatch.js.map +1 -1
- package/dist/backend/llvm/expr-dynamic.d.ts +3 -0
- package/dist/backend/llvm/expr-dynamic.js +92 -63
- package/dist/backend/llvm/expr-dynamic.js.map +1 -1
- package/dist/backend/llvm/expr-primitives.d.ts +1 -1
- package/dist/backend/llvm/expr-primitives.js +132 -25
- package/dist/backend/llvm/expr-primitives.js.map +1 -1
- package/dist/backend/llvm/expr-primitives.test.js +2 -2
- package/dist/backend/llvm/expr-records.d.ts +1 -1
- package/dist/backend/llvm/expr-records.js +32 -11
- package/dist/backend/llvm/expr-records.js.map +1 -1
- package/dist/backend/llvm/expr-stream-bridges.js +54 -12
- package/dist/backend/llvm/expr-stream-bridges.js.map +1 -1
- package/dist/backend/llvm/expr-stream-bridges.test.js +2 -2
- package/dist/backend/llvm/expr-stream-callbacks.js +22 -1
- package/dist/backend/llvm/expr-stream-callbacks.js.map +1 -1
- package/dist/backend/llvm/int32-abi.test.js +2 -2
- package/dist/backend/llvm/integer-clones.test.js +3 -3
- package/dist/backend/llvm/integer-remainder.d.ts +34 -13
- package/dist/backend/llvm/integer-remainder.js +156 -22
- package/dist/backend/llvm/integer-remainder.js.map +1 -1
- package/dist/backend/llvm/intern-tables.test.js +1 -1
- package/dist/backend/llvm/jsval-encoding.d.ts +21 -0
- package/dist/backend/llvm/jsval-encoding.js +20 -0
- package/dist/backend/llvm/jsval-encoding.js.map +1 -0
- package/dist/backend/llvm/jsval.d.ts +12 -0
- package/dist/backend/llvm/jsval.js +488 -0
- package/dist/backend/llvm/jsval.js.map +1 -0
- package/dist/backend/llvm/lazy-captures.d.ts +12 -2
- package/dist/backend/llvm/lazy-captures.js +39 -17
- package/dist/backend/llvm/lazy-captures.js.map +1 -1
- package/dist/backend/llvm/lib-abi.js +1 -1
- package/dist/backend/llvm/lib-abi.js.map +1 -1
- package/dist/backend/llvm/lib-connect.js +1 -1
- package/dist/backend/llvm/lib-connect.js.map +1 -1
- package/dist/backend/llvm/lib-datagram.js +14 -8
- package/dist/backend/llvm/lib-datagram.js.map +1 -1
- package/dist/backend/llvm/lib-dispatch.js +217 -24
- package/dist/backend/llvm/lib-dispatch.js.map +1 -1
- package/dist/backend/llvm/lib-filesystem.js +102 -13
- package/dist/backend/llvm/lib-filesystem.js.map +1 -1
- package/dist/backend/llvm/lib-http2.js +3 -3
- package/dist/backend/llvm/lib-http2.js.map +1 -1
- package/dist/backend/llvm/lib-lookup.js +2 -2
- package/dist/backend/llvm/lib-lookup.js.map +1 -1
- package/dist/backend/llvm/lib-network.js +77 -25
- package/dist/backend/llvm/lib-network.js.map +1 -1
- package/dist/backend/llvm/lib-process.js +100 -50
- package/dist/backend/llvm/lib-process.js.map +1 -1
- package/dist/backend/llvm/lib-shared.d.ts +12 -0
- package/dist/backend/llvm/lib-shared.js +229 -5
- package/dist/backend/llvm/lib-shared.js.map +1 -1
- package/dist/backend/llvm/lib-stream.js +46 -16
- package/dist/backend/llvm/lib-stream.js.map +1 -1
- package/dist/backend/llvm/lib-test.js +57 -8
- package/dist/backend/llvm/lib-test.js.map +1 -1
- package/dist/backend/llvm/lib-tls.js +4 -9
- package/dist/backend/llvm/lib-tls.js.map +1 -1
- package/dist/backend/llvm/local-array-reads.js +2 -2
- package/dist/backend/llvm/local-array-reads.test.js +1 -1
- package/dist/backend/llvm/local-extents.d.ts +19 -0
- package/dist/backend/llvm/local-extents.js +169 -0
- package/dist/backend/llvm/local-extents.js.map +1 -0
- package/dist/backend/llvm/local-extents.test.d.ts +1 -0
- package/dist/backend/llvm/local-extents.test.js +92 -0
- package/dist/backend/llvm/local-extents.test.js.map +1 -0
- package/dist/backend/llvm/local-union-storage.js +7 -7
- package/dist/backend/llvm/local-union-storage.js.map +1 -1
- package/dist/backend/llvm/local-union-storage.test.js +2 -2
- package/dist/backend/llvm/map-entry-fusion.test.js +1 -1
- package/dist/backend/llvm/map-number-lookup.js +2 -2
- package/dist/backend/llvm/map-number-lookup.test.js +2 -2
- package/dist/backend/llvm/map-read-lifetimes.test.js +2 -2
- package/dist/backend/llvm/narrow-guards.d.ts +38 -0
- package/dist/backend/llvm/narrow-guards.js +151 -0
- package/dist/backend/llvm/narrow-guards.js.map +1 -0
- package/dist/backend/llvm/nullable-unions.d.ts +70 -9
- package/dist/backend/llvm/nullable-unions.js +105 -6
- package/dist/backend/llvm/nullable-unions.js.map +1 -1
- package/dist/backend/llvm/nullable-unions.test.d.ts +1 -0
- package/dist/backend/llvm/nullable-unions.test.js +65 -0
- package/dist/backend/llvm/nullable-unions.test.js.map +1 -0
- package/dist/backend/llvm/publish.d.ts +4 -0
- package/dist/backend/llvm/publish.js +14 -2
- package/dist/backend/llvm/publish.js.map +1 -1
- package/dist/backend/llvm/publish.test.js +1 -1
- package/dist/backend/llvm/receivers.d.ts +31 -0
- package/dist/backend/llvm/receivers.js +395 -0
- package/dist/backend/llvm/receivers.js.map +1 -0
- package/dist/backend/llvm/record-results.d.ts +13 -2
- package/dist/backend/llvm/record-results.js +66 -6
- package/dist/backend/llvm/record-results.js.map +1 -1
- package/dist/backend/llvm/reference-effects.js +9 -0
- package/dist/backend/llvm/reference-effects.js.map +1 -1
- package/dist/backend/llvm/reference-writes.d.ts +4 -0
- package/dist/backend/llvm/reference-writes.js +143 -6
- package/dist/backend/llvm/reference-writes.js.map +1 -1
- package/dist/backend/llvm/reference-writes.test.d.ts +1 -0
- package/dist/backend/llvm/reference-writes.test.js +88 -0
- package/dist/backend/llvm/reference-writes.test.js.map +1 -0
- package/dist/backend/llvm/regex-matchers.d.ts +8 -0
- package/dist/backend/llvm/regex-matchers.js +33 -0
- package/dist/backend/llvm/regex-matchers.js.map +1 -1
- package/dist/backend/llvm/regex-matchers.test.js +23 -1
- package/dist/backend/llvm/regex-matchers.test.js.map +1 -1
- package/dist/backend/llvm/regions.d.ts +1 -1
- package/dist/backend/llvm/regions.js +9 -6
- package/dist/backend/llvm/regions.js.map +1 -1
- package/dist/backend/llvm/regions.test.js +1 -1
- package/dist/backend/llvm/shapes.d.ts +69 -43
- package/dist/backend/llvm/shapes.js +285 -21
- package/dist/backend/llvm/shapes.js.map +1 -1
- package/dist/backend/llvm/shapes.test.js +37 -3
- package/dist/backend/llvm/shapes.test.js.map +1 -1
- package/dist/backend/llvm/speculative-integers.d.ts +74 -0
- package/dist/backend/llvm/speculative-integers.js +571 -0
- package/dist/backend/llvm/speculative-integers.js.map +1 -0
- package/dist/backend/llvm/speculative-integers.test.d.ts +1 -0
- package/dist/backend/llvm/speculative-integers.test.js +148 -0
- package/dist/backend/llvm/speculative-integers.test.js.map +1 -0
- package/dist/backend/llvm/split-loops.js +2 -2
- package/dist/backend/llvm/split-loops.js.map +1 -1
- package/dist/backend/llvm/stack-objects.d.ts +26 -6
- package/dist/backend/llvm/stack-objects.js +133 -10
- package/dist/backend/llvm/stack-objects.js.map +1 -1
- package/dist/backend/llvm/stack-objects.test.js +55 -1
- package/dist/backend/llvm/stack-objects.test.js.map +1 -1
- package/dist/backend/llvm/stack-unions.test.js +1 -1
- package/dist/backend/llvm/string-construction.test.js +1 -1
- package/dist/backend/llvm/string-lifetimes.test.js +15 -14
- package/dist/backend/llvm/string-lifetimes.test.js.map +1 -1
- package/dist/backend/llvm/string-slices.d.ts +25 -0
- package/dist/backend/llvm/string-slices.js +207 -1
- package/dist/backend/llvm/string-slices.js.map +1 -1
- package/dist/backend/llvm/string-slices.test.js +139 -2
- package/dist/backend/llvm/string-slices.test.js.map +1 -1
- package/dist/backend/llvm/switch-dispatch.test.js +2 -2
- package/dist/backend/llvm/thread-slots.d.ts +5 -0
- package/dist/backend/llvm/thread-slots.js +142 -0
- package/dist/backend/llvm/thread-slots.js.map +1 -0
- package/dist/backend/llvm/thread-slots.test.d.ts +1 -0
- package/dist/backend/llvm/thread-slots.test.js +110 -0
- package/dist/backend/llvm/thread-slots.test.js.map +1 -0
- package/dist/backend/llvm/union-repr.d.ts +7 -7
- package/dist/backend/llvm/union-repr.js +18 -2
- package/dist/backend/llvm/union-repr.js.map +1 -1
- package/dist/backend/llvm/union-retype.test.js +17 -3
- package/dist/backend/llvm/union-retype.test.js.map +1 -1
- package/dist/backend/llvm/walkers.d.ts +2 -2
- package/dist/backend/llvm/walkers.js +51 -26
- package/dist/backend/llvm/walkers.js.map +1 -1
- package/dist/backend/llvm/wasm-modules.d.ts +16 -0
- package/dist/backend/llvm/wasm-modules.js +66 -0
- package/dist/backend/llvm/wasm-modules.js.map +1 -0
- package/dist/backend/llvm/wrapping-sums.d.ts +7 -0
- package/dist/backend/llvm/wrapping-sums.js +11 -3
- package/dist/backend/llvm/wrapping-sums.js.map +1 -1
- package/dist/backend/mangle.d.ts +7 -0
- package/dist/backend/mangle.js +11 -0
- package/dist/backend/mangle.js.map +1 -1
- package/dist/backend/may-throw.d.ts +3 -0
- package/dist/backend/may-throw.js +6 -2
- package/dist/backend/may-throw.js.map +1 -1
- package/dist/backend/may-throw.test.js +1 -1
- package/dist/backend/native/contracts.d.ts +37 -0
- package/dist/backend/native/executable.js +192 -134
- package/dist/backend/native/executable.js.map +1 -1
- package/dist/backend/native/library.js +1 -0
- package/dist/backend/native/library.js.map +1 -1
- package/dist/backend/native/runtime-inputs.d.ts +1 -1
- package/dist/backend/native/runtime-inputs.js +2 -0
- package/dist/backend/native/runtime-inputs.js.map +1 -1
- package/dist/backend/native-link-info-core.d.ts +30 -0
- package/dist/backend/native-link-info-core.js.map +1 -1
- package/dist/backend/publication.test.js +1 -1
- package/dist/backend/runtime-pack-core.d.ts +9 -1
- package/dist/backend/runtime-pack-core.js +10 -1
- package/dist/backend/runtime-pack-core.js.map +1 -1
- package/dist/backend/runtime-pack-native.js +1 -1
- package/dist/backend/runtime-pack-native.js.map +1 -1
- package/dist/backend/runtime-pack-native.test.d.ts +1 -0
- package/dist/backend/runtime-pack-native.test.js +31 -0
- package/dist/backend/runtime-pack-native.test.js.map +1 -0
- package/dist/backend/runtime-pack-targets.test.js +5 -0
- package/dist/backend/runtime-pack-targets.test.js.map +1 -1
- package/dist/backend/runtime-pack.d.ts +7 -3
- package/dist/backend/runtime-pack.js +12 -6
- package/dist/backend/runtime-pack.js.map +1 -1
- package/dist/backend/runtime-pack.test.js +20 -6
- package/dist/backend/runtime-pack.test.js.map +1 -1
- package/dist/backend/stack-observations.d.ts +22 -0
- package/dist/backend/stack-observations.js +382 -0
- package/dist/backend/stack-observations.js.map +1 -0
- package/dist/backend/stack-observations.test.d.ts +1 -0
- package/dist/backend/stack-observations.test.js +233 -0
- package/dist/backend/stack-observations.test.js.map +1 -0
- package/dist/backend/target-diagnostics.js +8 -0
- package/dist/backend/target-diagnostics.js.map +1 -1
- package/dist/backend/target-diagnostics.test.js +1 -1
- package/dist/backend/warm-cache.js +5 -0
- package/dist/backend/warm-cache.js.map +1 -1
- package/dist/backend/young-nursery.d.ts +7 -0
- package/dist/backend/young-nursery.js +10 -0
- package/dist/backend/young-nursery.js.map +1 -0
- package/dist/cli/command.js +44 -4
- package/dist/cli/command.js.map +1 -1
- package/dist/cli/usage.d.ts +11 -1
- package/dist/cli/usage.js +20 -1
- package/dist/cli/usage.js.map +1 -1
- package/dist/compat/fetch-profile.js +10 -1
- package/dist/compat/fetch-profile.js.map +1 -1
- package/dist/compile-types.d.ts +13 -0
- package/dist/contracts/check.js +25 -6
- package/dist/contracts/check.js.map +1 -1
- package/dist/contracts/int32-elements.d.ts +115 -0
- package/dist/contracts/int32-elements.js +1179 -0
- package/dist/contracts/int32-elements.js.map +1 -0
- package/dist/coverage/report.d.ts +16 -0
- package/dist/coverage/report.js +182 -1
- package/dist/coverage/report.js.map +1 -1
- package/dist/coverage/surface-manifest.js +19 -6
- package/dist/coverage/surface-manifest.js.map +1 -1
- package/dist/coverage/verdict-cache.d.ts +2 -0
- package/dist/coverage/verdict-cache.js +12 -0
- package/dist/coverage/verdict-cache.js.map +1 -1
- package/dist/coverage/verdict-cache.test.js +2 -1
- package/dist/coverage/verdict-cache.test.js.map +1 -1
- package/dist/diagnostics/diagnostic.d.ts +11 -7
- package/dist/diagnostics/diagnostic.js +35 -23
- package/dist/diagnostics/diagnostic.js.map +1 -1
- package/dist/diagnostics/envelope.d.ts +39 -2
- package/dist/diagnostics/envelope.js.map +1 -1
- package/dist/diagnostics/render.d.ts +7 -0
- package/dist/diagnostics/render.js +50 -13
- package/dist/diagnostics/render.js.map +1 -1
- package/dist/diagnostics/render.test.d.ts +1 -0
- package/dist/diagnostics/render.test.js +49 -0
- package/dist/diagnostics/render.test.js.map +1 -0
- package/dist/executable/executable-cache.d.ts +17 -0
- package/dist/executable/executable-cache.js +13 -1
- package/dist/executable/executable-cache.js.map +1 -1
- package/dist/executable/executable-cache.test.js +7 -1
- package/dist/executable/executable-cache.test.js.map +1 -1
- package/dist/executable/prepare.js +2 -1
- package/dist/executable/prepare.js.map +1 -1
- package/dist/frontend/analysis.js +6 -1
- package/dist/frontend/analysis.js.map +1 -1
- package/dist/frontend/builtin-modules.d.ts +16 -2
- package/dist/frontend/builtin-modules.js +40 -7
- package/dist/frontend/builtin-modules.js.map +1 -1
- package/dist/frontend/cjs-syntax.js +52 -51
- package/dist/frontend/cjs-syntax.js.map +1 -1
- package/dist/frontend/contract-types.d.ts +3 -0
- package/dist/frontend/contract-types.js +36 -7
- package/dist/frontend/contract-types.js.map +1 -1
- package/dist/frontend/experimental-import.d.ts +5 -1
- package/dist/frontend/experimental-import.js +26 -7
- package/dist/frontend/experimental-import.js.map +1 -1
- package/dist/frontend/fork-target.js +20 -22
- package/dist/frontend/fork-target.js.map +1 -1
- package/dist/frontend/fork-target.test.js +2 -1
- package/dist/frontend/fork-target.test.js.map +1 -1
- package/dist/frontend/function-completion.js +6 -6
- package/dist/frontend/function-completion.js.map +1 -1
- package/dist/frontend/helper-tokens.js +15 -3
- package/dist/frontend/helper-tokens.js.map +1 -1
- package/dist/frontend/helper-tokens.test.js +7 -1
- package/dist/frontend/helper-tokens.test.js.map +1 -1
- package/dist/frontend/inferred-js-diagnostics.js +14 -17
- package/dist/frontend/inferred-js-diagnostics.js.map +1 -1
- package/dist/frontend/input-tracker.d.ts +3 -0
- package/dist/frontend/input-tracker.js +32 -3
- package/dist/frontend/input-tracker.js.map +1 -1
- package/dist/frontend/lib-contract.js +36 -32
- package/dist/frontend/lib-contract.js.map +1 -1
- package/dist/frontend/lib-exports.js +3 -3
- package/dist/frontend/lib-exports.js.map +1 -1
- package/dist/frontend/lowering/array-values.d.ts +8 -3
- package/dist/frontend/lowering/array-values.js +60 -11
- package/dist/frontend/lowering/array-values.js.map +1 -1
- package/dist/frontend/lowering/assert-instances.js +4 -4
- package/dist/frontend/lowering/assert-instances.js.map +1 -1
- package/dist/frontend/lowering/assertion-identity.d.ts +12 -0
- package/dist/frontend/lowering/assertion-identity.js +70 -0
- package/dist/frontend/lowering/assertion-identity.js.map +1 -0
- package/dist/frontend/lowering/assertion-members.d.ts +28 -0
- package/dist/frontend/lowering/assertion-members.js +185 -0
- package/dist/frontend/lowering/assertion-members.js.map +1 -0
- package/dist/frontend/lowering/binding-analysis.js +27 -20
- package/dist/frontend/lowering/binding-analysis.js.map +1 -1
- package/dist/frontend/lowering/builtin-calls.js +72 -4
- package/dist/frontend/lowering/builtin-calls.js.map +1 -1
- package/dist/frontend/lowering/builtin-function-fences.d.ts +14 -0
- package/dist/frontend/lowering/builtin-function-fences.js +42 -0
- package/dist/frontend/lowering/builtin-function-fences.js.map +1 -0
- package/dist/frontend/lowering/builtins/arguments.js +1 -1
- package/dist/frontend/lowering/builtins/arguments.js.map +1 -1
- package/dist/frontend/lowering/builtins/async-context.js +53 -52
- package/dist/frontend/lowering/builtins/async-context.js.map +1 -1
- package/dist/frontend/lowering/builtins/atomics.js +6 -6
- package/dist/frontend/lowering/builtins/atomics.js.map +1 -1
- package/dist/frontend/lowering/builtins/blob.js +8 -6
- package/dist/frontend/lowering/builtins/blob.js.map +1 -1
- package/dist/frontend/lowering/builtins/builtin-class-dyn.d.ts +23 -0
- package/dist/frontend/lowering/builtins/builtin-class-dyn.js +156 -0
- package/dist/frontend/lowering/builtins/builtin-class-dyn.js.map +1 -0
- package/dist/frontend/lowering/builtins/callable-aliases.js +45 -6
- package/dist/frontend/lowering/builtins/callable-aliases.js.map +1 -1
- package/dist/frontend/lowering/builtins/child-process-async.js +7 -7
- package/dist/frontend/lowering/builtins/child-process-async.js.map +1 -1
- package/dist/frontend/lowering/builtins/child-process-methods.d.ts +6 -4
- package/dist/frontend/lowering/builtins/child-process-methods.js +310 -57
- package/dist/frontend/lowering/builtins/child-process-methods.js.map +1 -1
- package/dist/frontend/lowering/builtins/child-process-sync.js +16 -10
- package/dist/frontend/lowering/builtins/child-process-sync.js.map +1 -1
- package/dist/frontend/lowering/builtins/child-process.d.ts +6 -4
- package/dist/frontend/lowering/builtins/child-process.js +85 -61
- package/dist/frontend/lowering/builtins/child-process.js.map +1 -1
- package/dist/frontend/lowering/builtins/class-values.d.ts +60 -0
- package/dist/frontend/lowering/builtins/class-values.js +226 -0
- package/dist/frontend/lowering/builtins/class-values.js.map +1 -0
- package/dist/frontend/lowering/builtins/compression.d.ts +18 -0
- package/dist/frontend/lowering/builtins/compression.js +230 -52
- package/dist/frontend/lowering/builtins/compression.js.map +1 -1
- package/dist/frontend/lowering/builtins/constants.d.ts +9 -1
- package/dist/frontend/lowering/builtins/constants.js +28 -7
- package/dist/frontend/lowering/builtins/constants.js.map +1 -1
- package/dist/frontend/lowering/builtins/crypto.d.ts +19 -0
- package/dist/frontend/lowering/builtins/crypto.js +223 -38
- package/dist/frontend/lowering/builtins/crypto.js.map +1 -1
- package/dist/frontend/lowering/builtins/dates.d.ts +7 -1
- package/dist/frontend/lowering/builtins/dates.js +92 -16
- package/dist/frontend/lowering/builtins/dates.js.map +1 -1
- package/dist/frontend/lowering/builtins/disposable-stack.d.ts +18 -0
- package/dist/frontend/lowering/builtins/disposable-stack.js +137 -0
- package/dist/frontend/lowering/builtins/disposable-stack.js.map +1 -0
- package/dist/frontend/lowering/builtins/environment.js +3 -3
- package/dist/frontend/lowering/builtins/environment.js.map +1 -1
- package/dist/frontend/lowering/builtins/errors.d.ts +14 -10
- package/dist/frontend/lowering/builtins/errors.js +174 -6
- package/dist/frontend/lowering/builtins/errors.js.map +1 -1
- package/dist/frontend/lowering/builtins/filesystem-calls.d.ts +4 -0
- package/dist/frontend/lowering/builtins/filesystem-calls.js +136 -113
- package/dist/frontend/lowering/builtins/filesystem-calls.js.map +1 -1
- package/dist/frontend/lowering/builtins/filesystem.d.ts +8 -0
- package/dist/frontend/lowering/builtins/filesystem.js +213 -76
- package/dist/frontend/lowering/builtins/filesystem.js.map +1 -1
- package/dist/frontend/lowering/builtins/fs-glob.js +3 -3
- package/dist/frontend/lowering/builtins/fs-glob.js.map +1 -1
- package/dist/frontend/lowering/builtins/fs-streams.js +10 -11
- package/dist/frontend/lowering/builtins/fs-streams.js.map +1 -1
- package/dist/frontend/lowering/builtins/hash-stream.d.ts +12 -0
- package/dist/frontend/lowering/builtins/hash-stream.js +80 -0
- package/dist/frontend/lowering/builtins/hash-stream.js.map +1 -0
- package/dist/frontend/lowering/builtins/ipc.js +45 -8
- package/dist/frontend/lowering/builtins/ipc.js.map +1 -1
- package/dist/frontend/lowering/builtins/json.js +232 -24
- package/dist/frontend/lowering/builtins/json.js.map +1 -1
- package/dist/frontend/lowering/builtins/key-object.js +4 -4
- package/dist/frontend/lowering/builtins/key-object.js.map +1 -1
- package/dist/frontend/lowering/builtins/module-bindings.d.ts +8 -0
- package/dist/frontend/lowering/builtins/module-bindings.js +71 -22
- package/dist/frontend/lowering/builtins/module-bindings.js.map +1 -1
- package/dist/frontend/lowering/builtins/module-calls.js +67 -46
- package/dist/frontend/lowering/builtins/module-calls.js.map +1 -1
- package/dist/frontend/lowering/builtins/module-resolution.d.ts +4 -3
- package/dist/frontend/lowering/builtins/module-resolution.js +24 -23
- package/dist/frontend/lowering/builtins/module-resolution.js.map +1 -1
- package/dist/frontend/lowering/builtins/navigator.d.ts +13 -0
- package/dist/frontend/lowering/builtins/navigator.js +40 -0
- package/dist/frontend/lowering/builtins/navigator.js.map +1 -0
- package/dist/frontend/lowering/builtins/net-address.d.ts +19 -0
- package/dist/frontend/lowering/builtins/net-address.js +156 -0
- package/dist/frontend/lowering/builtins/net-address.js.map +1 -0
- package/dist/frontend/lowering/builtins/numbers.js +25 -9
- package/dist/frontend/lowering/builtins/numbers.js.map +1 -1
- package/dist/frontend/lowering/builtins/operating-system.d.ts +4 -0
- package/dist/frontend/lowering/builtins/operating-system.js +25 -12
- package/dist/frontend/lowering/builtins/operating-system.js.map +1 -1
- package/dist/frontend/lowering/builtins/performance.d.ts +12 -0
- package/dist/frontend/lowering/builtins/performance.js +259 -8
- package/dist/frontend/lowering/builtins/performance.js.map +1 -1
- package/dist/frontend/lowering/builtins/process.d.ts +32 -1
- package/dist/frontend/lowering/builtins/process.js +468 -99
- package/dist/frontend/lowering/builtins/process.js.map +1 -1
- package/dist/frontend/lowering/builtins/promises.d.ts +5 -1
- package/dist/frontend/lowering/builtins/promises.js +326 -43
- package/dist/frontend/lowering/builtins/promises.js.map +1 -1
- package/dist/frontend/lowering/builtins/promisify-callback.d.ts +37 -0
- package/dist/frontend/lowering/builtins/promisify-callback.js +320 -0
- package/dist/frontend/lowering/builtins/promisify-callback.js.map +1 -0
- package/dist/frontend/lowering/builtins/properties.js +37 -1
- package/dist/frontend/lowering/builtins/properties.js.map +1 -1
- package/dist/frontend/lowering/builtins/querystring.js +14 -14
- package/dist/frontend/lowering/builtins/querystring.js.map +1 -1
- package/dist/frontend/lowering/builtins/readline.d.ts +55 -13
- package/dist/frontend/lowering/builtins/readline.js +931 -69
- package/dist/frontend/lowering/builtins/readline.js.map +1 -1
- package/dist/frontend/lowering/builtins/receiver-types.js +3 -5
- package/dist/frontend/lowering/builtins/receiver-types.js.map +1 -1
- package/dist/frontend/lowering/builtins/reflection.js +16 -14
- package/dist/frontend/lowering/builtins/reflection.js.map +1 -1
- package/dist/frontend/lowering/builtins/runtime-constructor.d.ts +26 -0
- package/dist/frontend/lowering/builtins/runtime-constructor.js +165 -0
- package/dist/frontend/lowering/builtins/runtime-constructor.js.map +1 -0
- package/dist/frontend/lowering/builtins/strings.js +101 -12
- package/dist/frontend/lowering/builtins/strings.js.map +1 -1
- package/dist/frontend/lowering/builtins/text-codecs.js +41 -38
- package/dist/frontend/lowering/builtins/text-codecs.js.map +1 -1
- package/dist/frontend/lowering/builtins/timers.js +75 -30
- package/dist/frontend/lowering/builtins/timers.js.map +1 -1
- package/dist/frontend/lowering/builtins/url.d.ts +3 -0
- package/dist/frontend/lowering/builtins/url.js +120 -17
- package/dist/frontend/lowering/builtins/url.js.map +1 -1
- package/dist/frontend/lowering/builtins/util-types.js +20 -4
- package/dist/frontend/lowering/builtins/util-types.js.map +1 -1
- package/dist/frontend/lowering/builtins/v8.d.ts +11 -0
- package/dist/frontend/lowering/builtins/v8.js +105 -0
- package/dist/frontend/lowering/builtins/v8.js.map +1 -0
- package/dist/frontend/lowering/builtins/webassembly.d.ts +33 -0
- package/dist/frontend/lowering/builtins/webassembly.js +388 -0
- package/dist/frontend/lowering/builtins/webassembly.js.map +1 -0
- package/dist/frontend/lowering/builtins/webcrypto.d.ts +20 -0
- package/dist/frontend/lowering/builtins/webcrypto.js +112 -0
- package/dist/frontend/lowering/builtins/webcrypto.js.map +1 -0
- package/dist/frontend/lowering/builtins/workers.d.ts +16 -0
- package/dist/frontend/lowering/builtins/workers.js +246 -3
- package/dist/frontend/lowering/builtins/workers.js.map +1 -1
- package/dist/frontend/lowering/call-arguments.js +69 -14
- package/dist/frontend/lowering/call-arguments.js.map +1 -1
- package/dist/frontend/lowering/call-signatures.d.ts +19 -1
- package/dist/frontend/lowering/call-signatures.js +254 -47
- package/dist/frontend/lowering/call-signatures.js.map +1 -1
- package/dist/frontend/lowering/checked-promise-all.d.ts +3 -0
- package/dist/frontend/lowering/checked-promise-all.js +1 -1
- package/dist/frontend/lowering/checked-promise-all.js.map +1 -1
- package/dist/frontend/lowering/cjs-exports-object.d.ts +53 -0
- package/dist/frontend/lowering/cjs-exports-object.js +528 -0
- package/dist/frontend/lowering/cjs-exports-object.js.map +1 -0
- package/dist/frontend/lowering/cjs-inline-require.d.ts +86 -0
- package/dist/frontend/lowering/cjs-inline-require.js +314 -0
- package/dist/frontend/lowering/cjs-inline-require.js.map +1 -0
- package/dist/frontend/lowering/cjs-tsc-interop.d.ts +28 -0
- package/dist/frontend/lowering/cjs-tsc-interop.js +208 -0
- package/dist/frontend/lowering/cjs-tsc-interop.js.map +1 -0
- package/dist/frontend/lowering/class-attributes.d.ts +19 -0
- package/dist/frontend/lowering/class-attributes.js +378 -0
- package/dist/frontend/lowering/class-attributes.js.map +1 -0
- package/dist/frontend/lowering/class-callbacks.d.ts +3 -1
- package/dist/frontend/lowering/class-callbacks.js +21 -10
- package/dist/frontend/lowering/class-callbacks.js.map +1 -1
- package/dist/frontend/lowering/class-construction.js +49 -4
- package/dist/frontend/lowering/class-construction.js.map +1 -1
- package/dist/frontend/lowering/class-descriptors.d.ts +2 -0
- package/dist/frontend/lowering/class-descriptors.js +8 -8
- package/dist/frontend/lowering/class-descriptors.js.map +1 -1
- package/dist/frontend/lowering/class-dynamic-dispatch.d.ts +64 -0
- package/dist/frontend/lowering/class-dynamic-dispatch.js +1115 -89
- package/dist/frontend/lowering/class-dynamic-dispatch.js.map +1 -1
- package/dist/frontend/lowering/class-instance-constructor.js +1 -1
- package/dist/frontend/lowering/class-instance-constructor.js.map +1 -1
- package/dist/frontend/lowering/class-iterables.d.ts +11 -0
- package/dist/frontend/lowering/class-iterables.js +31 -0
- package/dist/frontend/lowering/class-iterables.js.map +1 -0
- package/dist/frontend/lowering/class-method-mutations.js +73 -35
- package/dist/frontend/lowering/class-method-mutations.js.map +1 -1
- package/dist/frontend/lowering/class-method-values.js +56 -10
- package/dist/frontend/lowering/class-method-values.js.map +1 -1
- package/dist/frontend/lowering/class-protocol-dispatch.js +24 -22
- package/dist/frontend/lowering/class-protocol-dispatch.js.map +1 -1
- package/dist/frontend/lowering/class-protocols.d.ts +55 -0
- package/dist/frontend/lowering/class-protocols.js +738 -22
- package/dist/frontend/lowering/class-protocols.js.map +1 -1
- package/dist/frontend/lowering/class-prototypes.d.ts +6 -0
- package/dist/frontend/lowering/class-prototypes.js +80 -18
- package/dist/frontend/lowering/class-prototypes.js.map +1 -1
- package/dist/frontend/lowering/class-runtime-statics.js +1 -1
- package/dist/frontend/lowering/class-runtime-statics.js.map +1 -1
- package/dist/frontend/lowering/class-static-data.js +2 -2
- package/dist/frontend/lowering/class-static-data.js.map +1 -1
- package/dist/frontend/lowering/class-to-primitive.d.ts +25 -0
- package/dist/frontend/lowering/class-to-primitive.js +261 -0
- package/dist/frontend/lowering/class-to-primitive.js.map +1 -0
- package/dist/frontend/lowering/class-unions.d.ts +25 -0
- package/dist/frontend/lowering/class-unions.js +102 -1
- package/dist/frontend/lowering/class-unions.js.map +1 -1
- package/dist/frontend/lowering/code-generation.d.ts +14 -0
- package/dist/frontend/lowering/code-generation.js +127 -0
- package/dist/frontend/lowering/code-generation.js.map +1 -0
- package/dist/frontend/lowering/coercions/function-adapters.d.ts +16 -2
- package/dist/frontend/lowering/coercions/function-adapters.js +145 -3
- package/dist/frontend/lowering/coercions/function-adapters.js.map +1 -1
- package/dist/frontend/lowering/coercions/structural-plans.js +25 -3
- package/dist/frontend/lowering/coercions/structural-plans.js.map +1 -1
- package/dist/frontend/lowering/coercions/structural.js +35 -3
- package/dist/frontend/lowering/coercions/structural.js.map +1 -1
- package/dist/frontend/lowering/coercions/unions.d.ts +15 -0
- package/dist/frontend/lowering/coercions/unions.js +57 -1
- package/dist/frontend/lowering/coercions/unions.js.map +1 -1
- package/dist/frontend/lowering/collection-ingestion.js +2 -2
- package/dist/frontend/lowering/collection-ingestion.js.map +1 -1
- package/dist/frontend/lowering/collection-narrowing.js +2 -4
- package/dist/frontend/lowering/collection-narrowing.js.map +1 -1
- package/dist/frontend/lowering/construction-escapes.js +8 -8
- package/dist/frontend/lowering/construction-escapes.js.map +1 -1
- package/dist/frontend/lowering/construction-escapes.test.js +4 -4
- package/dist/frontend/lowering/construction-escapes.test.js.map +1 -1
- package/dist/frontend/lowering/constructor-returns.d.ts +61 -0
- package/dist/frontend/lowering/constructor-returns.js +477 -0
- package/dist/frontend/lowering/constructor-returns.js.map +1 -0
- package/dist/frontend/lowering/containers/array-callback-call.js +1 -1
- package/dist/frontend/lowering/containers/array-callback-call.js.map +1 -1
- package/dist/frontend/lowering/containers/array-callbacks.d.ts +9 -0
- package/dist/frontend/lowering/containers/array-callbacks.js +266 -100
- package/dist/frontend/lowering/containers/array-callbacks.js.map +1 -1
- package/dist/frontend/lowering/containers/array-concat.js +1 -1
- package/dist/frontend/lowering/containers/array-concat.js.map +1 -1
- package/dist/frontend/lowering/containers/array-construction.d.ts +0 -1
- package/dist/frontend/lowering/containers/array-construction.js +51 -13
- package/dist/frontend/lowering/containers/array-construction.js.map +1 -1
- package/dist/frontend/lowering/containers/array-from-async.d.ts +19 -0
- package/dist/frontend/lowering/containers/array-from-async.js +427 -0
- package/dist/frontend/lowering/containers/array-from-async.js.map +1 -0
- package/dist/frontend/lowering/containers/array-methods.js +89 -77
- package/dist/frontend/lowering/containers/array-methods.js.map +1 -1
- package/dist/frontend/lowering/containers/array-pipelines.js +1 -0
- package/dist/frontend/lowering/containers/array-pipelines.js.map +1 -1
- package/dist/frontend/lowering/containers/bytes.js +161 -101
- package/dist/frontend/lowering/containers/bytes.js.map +1 -1
- package/dist/frontend/lowering/containers/callback-arguments.d.ts +9 -1
- package/dist/frontend/lowering/containers/callback-arguments.js +55 -5
- package/dist/frontend/lowering/containers/callback-arguments.js.map +1 -1
- package/dist/frontend/lowering/containers/collection-grouping.d.ts +7 -8
- package/dist/frontend/lowering/containers/collection-grouping.js +219 -27
- package/dist/frontend/lowering/containers/collection-grouping.js.map +1 -1
- package/dist/frontend/lowering/containers/collection-methods.js +81 -48
- package/dist/frontend/lowering/containers/collection-methods.js.map +1 -1
- package/dist/frontend/lowering/containers/dynamic-receivers.js +1 -1
- package/dist/frontend/lowering/containers/dynamic-receivers.js.map +1 -1
- package/dist/frontend/lowering/containers/exec-result-uses.js +2 -2
- package/dist/frontend/lowering/containers/exec-result-uses.js.map +1 -1
- package/dist/frontend/lowering/containers/for-of.d.ts +6 -0
- package/dist/frontend/lowering/containers/for-of.js +19 -19
- package/dist/frontend/lowering/containers/for-of.js.map +1 -1
- package/dist/frontend/lowering/containers/indexed-objects.js +142 -57
- package/dist/frontend/lowering/containers/indexed-objects.js.map +1 -1
- package/dist/frontend/lowering/containers/iterator-helpers.d.ts +53 -4
- package/dist/frontend/lowering/containers/iterator-helpers.js +1581 -462
- package/dist/frontend/lowering/containers/iterator-helpers.js.map +1 -1
- package/dist/frontend/lowering/containers/match-row-uses.d.ts +17 -0
- package/dist/frontend/lowering/containers/match-row-uses.js +264 -0
- package/dist/frontend/lowering/containers/match-row-uses.js.map +1 -0
- package/dist/frontend/lowering/containers/string-and-regexp.d.ts +14 -0
- package/dist/frontend/lowering/containers/string-and-regexp.js +419 -30
- package/dist/frontend/lowering/containers/string-and-regexp.js.map +1 -1
- package/dist/frontend/lowering/containers/string-replacement.js +1 -1
- package/dist/frontend/lowering/containers/string-replacement.js.map +1 -1
- package/dist/frontend/lowering/cycle-initialization.d.ts +4 -0
- package/dist/frontend/lowering/cycle-initialization.js +39 -0
- package/dist/frontend/lowering/cycle-initialization.js.map +1 -1
- package/dist/frontend/lowering/deferred-module-initializers.js +47 -43
- package/dist/frontend/lowering/deferred-module-initializers.js.map +1 -1
- package/dist/frontend/lowering/devirtualize.d.ts +1 -1
- package/dist/frontend/lowering/devirtualize.js +27 -7
- package/dist/frontend/lowering/devirtualize.js.map +1 -1
- package/dist/frontend/lowering/divergences.d.ts +0 -5
- package/dist/frontend/lowering/divergences.js +238 -128
- package/dist/frontend/lowering/divergences.js.map +1 -1
- package/dist/frontend/lowering/dyn-streams.d.ts +25 -0
- package/dist/frontend/lowering/dyn-streams.js +257 -0
- package/dist/frontend/lowering/dyn-streams.js.map +1 -0
- package/dist/frontend/lowering/error-methods.js +4 -1
- package/dist/frontend/lowering/error-methods.js.map +1 -1
- package/dist/frontend/lowering/error-name-order.d.ts +19 -0
- package/dist/frontend/lowering/error-name-order.js +93 -0
- package/dist/frontend/lowering/error-name-order.js.map +1 -0
- package/dist/frontend/lowering/expressions/array-literals.d.ts +21 -0
- package/dist/frontend/lowering/expressions/array-literals.js +703 -0
- package/dist/frontend/lowering/expressions/array-literals.js.map +1 -0
- package/dist/frontend/lowering/expressions/binary.d.ts +35 -0
- package/dist/frontend/lowering/expressions/binary.js +2483 -0
- package/dist/frontend/lowering/expressions/binary.js.map +1 -0
- package/dist/frontend/lowering/expressions/element-access.d.ts +31 -0
- package/dist/frontend/lowering/expressions/element-access.js +1797 -0
- package/dist/frontend/lowering/expressions/element-access.js.map +1 -0
- package/dist/frontend/lowering/expressions/evaluation-safety.js +4 -3
- package/dist/frontend/lowering/expressions/evaluation-safety.js.map +1 -1
- package/dist/frontend/lowering/expressions/hosted-narrowing.d.ts +38 -0
- package/dist/frontend/lowering/expressions/hosted-narrowing.js +160 -0
- package/dist/frontend/lowering/expressions/hosted-narrowing.js.map +1 -0
- package/dist/frontend/lowering/expressions/identifiers.d.ts +4 -0
- package/dist/frontend/lowering/expressions/identifiers.js +830 -0
- package/dist/frontend/lowering/expressions/identifiers.js.map +1 -0
- package/dist/frontend/lowering/expressions/keyed-field-targets.d.ts +40 -0
- package/dist/frontend/lowering/expressions/keyed-field-targets.js +226 -0
- package/dist/frontend/lowering/expressions/keyed-field-targets.js.map +1 -0
- package/dist/frontend/lowering/expressions/narrowing.d.ts +37 -0
- package/dist/frontend/lowering/expressions/narrowing.js +1322 -0
- package/dist/frontend/lowering/expressions/narrowing.js.map +1 -0
- package/dist/frontend/lowering/expressions/native-proxy.js +4 -4
- package/dist/frontend/lowering/expressions/native-proxy.js.map +1 -1
- package/dist/frontend/lowering/expressions/nullish-assignment.js +45 -0
- package/dist/frontend/lowering/expressions/nullish-assignment.js.map +1 -1
- package/dist/frontend/lowering/expressions/object-literals.d.ts +10 -0
- package/dist/frontend/lowering/expressions/object-literals.js +253 -85
- package/dist/frontend/lowering/expressions/object-literals.js.map +1 -1
- package/dist/frontend/lowering/expressions/optional-chains.d.ts +2 -1
- package/dist/frontend/lowering/expressions/optional-chains.js +91 -14
- package/dist/frontend/lowering/expressions/optional-chains.js.map +1 -1
- package/dist/frontend/lowering/expressions/property-access.d.ts +110 -0
- package/dist/frontend/lowering/expressions/property-access.js +3544 -0
- package/dist/frontend/lowering/expressions/property-access.js.map +1 -0
- package/dist/frontend/lowering/expressions/relational.d.ts +28 -0
- package/dist/frontend/lowering/expressions/relational.js +1679 -0
- package/dist/frontend/lowering/expressions/relational.js.map +1 -0
- package/dist/frontend/lowering/expressions/typeof.d.ts +22 -0
- package/dist/frontend/lowering/expressions/typeof.js +538 -0
- package/dist/frontend/lowering/expressions/typeof.js.map +1 -0
- package/dist/frontend/lowering/expressions/union-fields.js +1 -1
- package/dist/frontend/lowering/expressions/union-fields.js.map +1 -1
- package/dist/frontend/lowering/expressions/updates.d.ts +21 -0
- package/dist/frontend/lowering/expressions/updates.js +780 -0
- package/dist/frontend/lowering/expressions/updates.js.map +1 -0
- package/dist/frontend/lowering/function-context.d.ts +10 -0
- package/dist/frontend/lowering/function-context.js +11 -1
- package/dist/frontend/lowering/function-context.js.map +1 -1
- package/dist/frontend/lowering/function-returns.js +52 -28
- package/dist/frontend/lowering/function-returns.js.map +1 -1
- package/dist/frontend/lowering/general-streams.d.ts +25 -0
- package/dist/frontend/lowering/general-streams.js +108 -0
- package/dist/frontend/lowering/general-streams.js.map +1 -0
- package/dist/frontend/lowering/generator-dynamic-dispatch.d.ts +7 -0
- package/dist/frontend/lowering/generator-dynamic-dispatch.js +172 -69
- package/dist/frontend/lowering/generator-dynamic-dispatch.js.map +1 -1
- package/dist/frontend/lowering/generic-functions.d.ts +39 -0
- package/dist/frontend/lowering/generic-functions.js +393 -75
- package/dist/frontend/lowering/generic-functions.js.map +1 -1
- package/dist/frontend/lowering/import-meta.js +2 -2
- package/dist/frontend/lowering/import-meta.js.map +1 -1
- package/dist/frontend/lowering/intern-tables.js +10 -9
- package/dist/frontend/lowering/intern-tables.js.map +1 -1
- package/dist/frontend/lowering/iterator-adapters.d.ts +19 -0
- package/dist/frontend/lowering/iterator-adapters.js +331 -3
- package/dist/frontend/lowering/iterator-adapters.js.map +1 -1
- package/dist/frontend/lowering/js-class-fields.d.ts +28 -0
- package/dist/frontend/lowering/js-class-fields.js +170 -0
- package/dist/frontend/lowering/js-class-fields.js.map +1 -0
- package/dist/frontend/lowering/js-dynamic-objects.d.ts +15 -0
- package/dist/frontend/lowering/js-dynamic-objects.js +299 -0
- package/dist/frontend/lowering/js-dynamic-objects.js.map +1 -0
- package/dist/frontend/lowering/js-dynamic-objects.test.d.ts +1 -0
- package/dist/frontend/lowering/js-dynamic-objects.test.js +35 -0
- package/dist/frontend/lowering/js-dynamic-objects.test.js.map +1 -0
- package/dist/frontend/lowering/json-require.d.ts +22 -0
- package/dist/frontend/lowering/json-require.js +131 -0
- package/dist/frontend/lowering/json-require.js.map +1 -0
- package/dist/frontend/lowering/key-order-witness.d.ts +44 -0
- package/dist/frontend/lowering/key-order-witness.js +641 -0
- package/dist/frontend/lowering/key-order-witness.js.map +1 -0
- package/dist/frontend/lowering/key-order-witness.test.d.ts +1 -0
- package/dist/frontend/lowering/key-order-witness.test.js +239 -0
- package/dist/frontend/lowering/key-order-witness.test.js.map +1 -0
- package/dist/frontend/lowering/lifetime-regions.js +7 -7
- package/dist/frontend/lowering/lifetime-regions.js.map +1 -1
- package/dist/frontend/lowering/lower-assert.js +61 -60
- package/dist/frontend/lowering/lower-assert.js.map +1 -1
- package/dist/frontend/lowering/lower-async-iteration.d.ts +10 -1
- package/dist/frontend/lowering/lower-async-iteration.js +34 -6
- package/dist/frontend/lowering/lower-async-iteration.js.map +1 -1
- package/dist/frontend/lowering/lower-builtin-values.d.ts +5 -0
- package/dist/frontend/lowering/lower-builtin-values.js +32 -3
- package/dist/frontend/lowering/lower-builtin-values.js.map +1 -1
- package/dist/frontend/lowering/lower-calls.js +1298 -452
- package/dist/frontend/lowering/lower-calls.js.map +1 -1
- package/dist/frontend/lowering/lower-classes.d.ts +50 -3
- package/dist/frontend/lowering/lower-classes.js +1499 -456
- package/dist/frontend/lowering/lower-classes.js.map +1 -1
- package/dist/frontend/lowering/lower-comptime.d.ts +4 -2
- package/dist/frontend/lowering/lower-comptime.js +111 -13
- package/dist/frontend/lowering/lower-comptime.js.map +1 -1
- package/dist/frontend/lowering/lower-console.js +13 -11
- package/dist/frontend/lowering/lower-console.js.map +1 -1
- package/dist/frontend/lowering/lower-dgram.d.ts +10 -0
- package/dist/frontend/lowering/lower-dgram.js +179 -8
- package/dist/frontend/lowering/lower-dgram.js.map +1 -1
- package/dist/frontend/lowering/lower-enums.js +113 -14
- package/dist/frontend/lowering/lower-enums.js.map +1 -1
- package/dist/frontend/lowering/lower-event-emitter.d.ts +16 -7
- package/dist/frontend/lowering/lower-event-emitter.js +268 -71
- package/dist/frontend/lowering/lower-event-emitter.js.map +1 -1
- package/dist/frontend/lowering/lower-event-target.js +2 -2
- package/dist/frontend/lowering/lower-event-target.js.map +1 -1
- package/dist/frontend/lowering/lower-expando.js +17 -13
- package/dist/frontend/lowering/lower-expando.js.map +1 -1
- package/dist/frontend/lowering/lower-exprs.d.ts +188 -186
- package/dist/frontend/lowering/lower-exprs.js +1493 -12407
- package/dist/frontend/lowering/lower-exprs.js.map +1 -1
- package/dist/frontend/lowering/lower-functions.js +68 -22
- package/dist/frontend/lowering/lower-functions.js.map +1 -1
- package/dist/frontend/lowering/lower-generators.d.ts +6 -0
- package/dist/frontend/lowering/lower-generators.js +29 -16
- package/dist/frontend/lowering/lower-generators.js.map +1 -1
- package/dist/frontend/lowering/lower-global-value.js +5 -1
- package/dist/frontend/lowering/lower-global-value.js.map +1 -1
- package/dist/frontend/lowering/lower-inspect.js +354 -99
- package/dist/frontend/lowering/lower-inspect.js.map +1 -1
- package/dist/frontend/lowering/lower-mixins.js +23 -20
- package/dist/frontend/lowering/lower-mixins.js.map +1 -1
- package/dist/frontend/lowering/lower-mock.d.ts +19 -2
- package/dist/frontend/lowering/lower-mock.js +557 -74
- package/dist/frontend/lowering/lower-mock.js.map +1 -1
- package/dist/frontend/lowering/lower-modules.js +268 -61
- package/dist/frontend/lowering/lower-modules.js.map +1 -1
- package/dist/frontend/lowering/lower-namespaces.d.ts +6 -0
- package/dist/frontend/lowering/lower-namespaces.js +45 -33
- package/dist/frontend/lowering/lower-namespaces.js.map +1 -1
- package/dist/frontend/lowering/lower-node-module.d.ts +16 -0
- package/dist/frontend/lowering/lower-node-module.js +147 -14
- package/dist/frontend/lowering/lower-node-module.js.map +1 -1
- package/dist/frontend/lowering/lower-server.d.ts +6 -6
- package/dist/frontend/lowering/lower-server.js +638 -105
- package/dist/frontend/lowering/lower-server.js.map +1 -1
- package/dist/frontend/lowering/lower-stdlib.d.ts +4 -0
- package/dist/frontend/lowering/lower-stdlib.js +151 -109
- package/dist/frontend/lowering/lower-stdlib.js.map +1 -1
- package/dist/frontend/lowering/lower-stmts.d.ts +28 -2
- package/dist/frontend/lowering/lower-stmts.js +1589 -398
- package/dist/frontend/lowering/lower-stmts.js.map +1 -1
- package/dist/frontend/lowering/lower-stream.d.ts +4 -3
- package/dist/frontend/lowering/lower-stream.js +714 -75
- package/dist/frontend/lowering/lower-stream.js.map +1 -1
- package/dist/frontend/lowering/lower-test.d.ts +3 -0
- package/dist/frontend/lowering/lower-test.js +574 -100
- package/dist/frontend/lowering/lower-test.js.map +1 -1
- package/dist/frontend/lowering/lower-timers.js +80 -32
- package/dist/frontend/lowering/lower-timers.js.map +1 -1
- package/dist/frontend/lowering/lower-url.js +1 -1
- package/dist/frontend/lowering/lower-url.js.map +1 -1
- package/dist/frontend/lowering/lowerer.d.ts +409 -26
- package/dist/frontend/lowering/lowerer.js +1918 -305
- package/dist/frontend/lowering/lowerer.js.map +1 -1
- package/dist/frontend/lowering/lowerer.test.js +10 -4
- package/dist/frontend/lowering/lowerer.test.js.map +1 -1
- package/dist/frontend/lowering/maybe-promise.d.ts +46 -0
- package/dist/frontend/lowering/maybe-promise.js +249 -0
- package/dist/frontend/lowering/maybe-promise.js.map +1 -0
- package/dist/frontend/lowering/module-member-this.d.ts +3 -0
- package/dist/frontend/lowering/module-member-this.js +262 -0
- package/dist/frontend/lowering/module-member-this.js.map +1 -0
- package/dist/frontend/lowering/module-namespace-elements.js +1 -1
- package/dist/frontend/lowering/module-namespace-elements.js.map +1 -1
- package/dist/frontend/lowering/nan-coded-reads.d.ts +3 -0
- package/dist/frontend/lowering/nan-coded-reads.js +45 -32
- package/dist/frontend/lowering/nan-coded-reads.js.map +1 -1
- package/dist/frontend/lowering/narrowing-stability.d.ts +18 -3
- package/dist/frontend/lowering/narrowing-stability.js +104 -32
- package/dist/frontend/lowering/narrowing-stability.js.map +1 -1
- package/dist/frontend/lowering/native-ffi.js +11 -11
- package/dist/frontend/lowering/native-ffi.js.map +1 -1
- package/dist/frontend/lowering/null-prototype.d.ts +13 -0
- package/dist/frontend/lowering/null-prototype.js +33 -0
- package/dist/frontend/lowering/null-prototype.js.map +1 -0
- package/dist/frontend/lowering/object-factory-new.js +6 -8
- package/dist/frontend/lowering/object-factory-new.js.map +1 -1
- package/dist/frontend/lowering/private-brands.d.ts +46 -0
- package/dist/frontend/lowering/private-brands.js +265 -0
- package/dist/frontend/lowering/private-brands.js.map +1 -0
- package/dist/frontend/lowering/promise-executor-adapter.d.ts +11 -0
- package/dist/frontend/lowering/promise-executor-adapter.js +87 -0
- package/dist/frontend/lowering/promise-executor-adapter.js.map +1 -0
- package/dist/frontend/lowering/require-initialization.d.ts +32 -0
- package/dist/frontend/lowering/require-initialization.js +246 -0
- package/dist/frontend/lowering/require-initialization.js.map +1 -0
- package/dist/frontend/lowering/runtime-optional-bounds.js +7 -7
- package/dist/frontend/lowering/runtime-optional-bounds.js.map +1 -1
- package/dist/frontend/lowering/runtime-optional-elements.js +12 -12
- package/dist/frontend/lowering/runtime-optional-elements.js.map +1 -1
- package/dist/frontend/lowering/runtime-optional-guards.js +10 -10
- package/dist/frontend/lowering/runtime-optional-guards.js.map +1 -1
- package/dist/frontend/lowering/runtime-optional-guards.test.js +1 -1
- package/dist/frontend/lowering/runtime-optional-guards.test.js.map +1 -1
- package/dist/frontend/lowering/runtime-optional-ownership.js +10 -9
- package/dist/frontend/lowering/runtime-optional-ownership.js.map +1 -1
- package/dist/frontend/lowering/runtime-optional-provenance.js +2 -2
- package/dist/frontend/lowering/runtime-optional-provenance.js.map +1 -1
- package/dist/frontend/lowering/runtime-optional-records.d.ts +35 -0
- package/dist/frontend/lowering/runtime-optional-records.js +205 -32
- package/dist/frontend/lowering/runtime-optional-records.js.map +1 -1
- package/dist/frontend/lowering/runtime-optional-records.test.js +19 -1
- package/dist/frontend/lowering/runtime-optional-records.test.js.map +1 -1
- package/dist/frontend/lowering/sanitize-class-types.test.js +2 -2
- package/dist/frontend/lowering/split-consumers.js +4 -4
- package/dist/frontend/lowering/split-consumers.js.map +1 -1
- package/dist/frontend/lowering/static-function-names.d.ts +28 -0
- package/dist/frontend/lowering/static-function-names.js +212 -0
- package/dist/frontend/lowering/static-function-names.js.map +1 -0
- package/dist/frontend/lowering/static-this.js +6 -6
- package/dist/frontend/lowering/static-this.js.map +1 -1
- package/dist/frontend/lowering/strict-mode.d.ts +5 -0
- package/dist/frontend/lowering/strict-mode.js +31 -0
- package/dist/frontend/lowering/strict-mode.js.map +1 -0
- package/dist/frontend/lowering/string-index-bounds.js +10 -10
- package/dist/frontend/lowering/string-index-bounds.js.map +1 -1
- package/dist/frontend/lowering/string-index.d.ts +12 -0
- package/dist/frontend/lowering/string-index.js +72 -1
- package/dist/frontend/lowering/string-index.js.map +1 -1
- package/dist/frontend/lowering/surfaces.d.ts +15 -6
- package/dist/frontend/lowering/surfaces.js +278 -45
- package/dist/frontend/lowering/surfaces.js.map +1 -1
- package/dist/frontend/lowering/symbol-fields.d.ts +7 -0
- package/dist/frontend/lowering/symbol-fields.js +204 -36
- package/dist/frontend/lowering/symbol-fields.js.map +1 -1
- package/dist/frontend/lowering/symbol-methods.d.ts +2 -1
- package/dist/frontend/lowering/symbol-methods.js +24 -6
- package/dist/frontend/lowering/symbol-methods.js.map +1 -1
- package/dist/frontend/lowering/thread-slots.d.ts +13 -0
- package/dist/frontend/lowering/thread-slots.js +208 -0
- package/dist/frontend/lowering/thread-slots.js.map +1 -0
- package/dist/frontend/lowering/typed-arguments.d.ts +74 -0
- package/dist/frontend/lowering/typed-arguments.js +472 -0
- package/dist/frontend/lowering/typed-arguments.js.map +1 -0
- package/dist/frontend/lowering/union-retag.d.ts +8 -0
- package/dist/frontend/lowering/union-retag.js +27 -0
- package/dist/frontend/lowering/union-retag.js.map +1 -1
- package/dist/frontend/lowering/union-retag.test.js +24 -1
- package/dist/frontend/lowering/union-retag.test.js.map +1 -1
- package/dist/frontend/lowering/var-hoisting.js +6 -6
- package/dist/frontend/lowering/var-hoisting.js.map +1 -1
- package/dist/frontend/lowering/width-lift.d.ts +4 -0
- package/dist/frontend/mock-shapes.d.ts +5 -0
- package/dist/frontend/mock-shapes.js +39 -7
- package/dist/frontend/mock-shapes.js.map +1 -1
- package/dist/frontend/module-source-candidates.js +1 -1
- package/dist/frontend/module-source-candidates.js.map +1 -1
- package/dist/frontend/module-source-candidates.test.js +2 -1
- package/dist/frontend/module-source-candidates.test.js.map +1 -1
- package/dist/frontend/module-syntax.js +8 -8
- package/dist/frontend/module-syntax.js.map +1 -1
- package/dist/frontend/npm-static-bundled-chunks.d.ts +51 -0
- package/dist/frontend/npm-static-bundled-chunks.js +810 -0
- package/dist/frontend/npm-static-bundled-chunks.js.map +1 -0
- package/dist/frontend/npm-static-bundled-chunks.test.d.ts +1 -0
- package/dist/frontend/npm-static-bundled-chunks.test.js +287 -0
- package/dist/frontend/npm-static-bundled-chunks.test.js.map +1 -0
- package/dist/frontend/npm-static-bundled-cjs.js +24 -23
- package/dist/frontend/npm-static-bundled-cjs.js.map +1 -1
- package/dist/frontend/npm-static-bundled-esm.d.ts +9 -0
- package/dist/frontend/npm-static-bundled-esm.js +768 -0
- package/dist/frontend/npm-static-bundled-esm.js.map +1 -0
- package/dist/frontend/npm-static-bundled-esm.test.d.ts +1 -0
- package/dist/frontend/npm-static-bundled-esm.test.js +207 -0
- package/dist/frontend/npm-static-bundled-esm.test.js.map +1 -0
- package/dist/frontend/npm-static-cjs-exports-alias.d.ts +2 -0
- package/dist/frontend/npm-static-cjs-exports-alias.js +186 -0
- package/dist/frontend/npm-static-cjs-exports-alias.js.map +1 -0
- package/dist/frontend/npm-static-cjs-exports-alias.test.d.ts +1 -0
- package/dist/frontend/npm-static-cjs-exports-alias.test.js +73 -0
- package/dist/frontend/npm-static-cjs-exports-alias.test.js.map +1 -0
- package/dist/frontend/npm-static-cjs-exports-var.d.ts +2 -0
- package/dist/frontend/npm-static-cjs-exports-var.js +236 -0
- package/dist/frontend/npm-static-cjs-exports-var.js.map +1 -0
- package/dist/frontend/npm-static-declaration-syntax.js +102 -101
- package/dist/frontend/npm-static-declaration-syntax.js.map +1 -1
- package/dist/frontend/npm-static-prune.js +36 -24
- package/dist/frontend/npm-static-prune.js.map +1 -1
- package/dist/frontend/npm-static-rewrite-host.d.ts +4 -1
- package/dist/frontend/npm-static-rewrite-host.js +14 -3
- package/dist/frontend/npm-static-rewrite-host.js.map +1 -1
- package/dist/frontend/npm-static-rewrite-syntax.d.ts +19 -0
- package/dist/frontend/npm-static-rewrite-syntax.js +274 -101
- package/dist/frontend/npm-static-rewrite-syntax.js.map +1 -1
- package/dist/frontend/npm-static-subtyping.js +7 -9
- package/dist/frontend/npm-static-subtyping.js.map +1 -1
- package/dist/frontend/npm-static.d.ts +17 -1
- package/dist/frontend/npm-static.js +167 -16
- package/dist/frontend/npm-static.js.map +1 -1
- package/dist/frontend/npm-static.test.js +22 -1
- package/dist/frontend/npm-static.test.js.map +1 -1
- package/dist/frontend/pipeline.js +164 -26
- package/dist/frontend/pipeline.js.map +1 -1
- package/dist/frontend/pipeline.test.js +22 -1
- package/dist/frontend/pipeline.test.js.map +1 -1
- package/dist/frontend/program-analysis.d.ts +6 -1
- package/dist/frontend/program-analysis.js +7 -0
- package/dist/frontend/program-analysis.js.map +1 -1
- package/dist/frontend/program.d.ts +92 -2
- package/dist/frontend/program.js +1557 -254
- package/dist/frontend/program.js.map +1 -1
- package/dist/frontend/program.test.js +76 -6
- package/dist/frontend/program.test.js.map +1 -1
- package/dist/frontend/resolve.js +36 -2
- package/dist/frontend/resolve.js.map +1 -1
- package/dist/frontend/resolve.test.js +49 -0
- package/dist/frontend/resolve.test.js.map +1 -1
- package/dist/frontend/services.d.ts +20 -1
- package/dist/frontend/services.js +40 -3
- package/dist/frontend/services.js.map +1 -1
- package/dist/frontend/services.test.js +2 -1
- package/dist/frontend/services.test.js.map +1 -1
- package/dist/frontend/threads-import.js +1 -1
- package/dist/frontend/threads-import.js.map +1 -1
- package/dist/frontend/tier-analysis.d.ts +71 -0
- package/dist/frontend/tier-analysis.js +522 -0
- package/dist/frontend/tier-analysis.js.map +1 -0
- package/dist/frontend/ts7/api-conformance.d.ts +234 -0
- package/dist/frontend/ts7/api-conformance.js +7 -0
- package/dist/frontend/ts7/api-conformance.js.map +1 -0
- package/dist/frontend/ts7/ast-guards.generated.js +2 -1
- package/dist/frontend/ts7/ast-guards.generated.js.map +1 -1
- package/dist/frontend/ts7/ast-node.d.ts +47 -25
- package/dist/frontend/ts7/ast-node.js +64 -18
- package/dist/frontend/ts7/ast-node.js.map +1 -1
- package/dist/frontend/ts7/ast-node.test.js +36 -12
- package/dist/frontend/ts7/ast-node.test.js.map +1 -1
- package/dist/frontend/ts7/ast-types.d.ts +10 -3
- package/dist/frontend/ts7/ast-types.generated.d.ts +39 -39
- package/dist/frontend/ts7/ast.d.ts +1 -0
- package/dist/frontend/ts7/ast.js +3 -2
- package/dist/frontend/ts7/ast.js.map +1 -1
- package/dist/frontend/ts7/checker-backend.d.ts +23 -0
- package/dist/frontend/ts7/checker-backend.js +88 -0
- package/dist/frontend/ts7/checker-backend.js.map +1 -0
- package/dist/frontend/ts7/checker-backend.test.d.ts +1 -0
- package/dist/frontend/ts7/checker-backend.test.js +63 -0
- package/dist/frontend/ts7/checker-backend.test.js.map +1 -0
- package/dist/frontend/ts7/checker-cache.d.ts +0 -3
- package/dist/frontend/ts7/checker-cache.js +0 -6
- package/dist/frontend/ts7/checker-cache.js.map +1 -1
- package/dist/frontend/ts7/checker.d.ts +18 -11
- package/dist/frontend/ts7/checker.js +42 -55
- package/dist/frontend/ts7/checker.js.map +1 -1
- package/dist/frontend/ts7/checker.test.js +10 -7
- package/dist/frontend/ts7/checker.test.js.map +1 -1
- package/dist/frontend/ts7/diagnostic.d.ts +19 -0
- package/dist/frontend/ts7/diagnostic.js +22 -0
- package/dist/frontend/ts7/diagnostic.js.map +1 -0
- package/dist/frontend/ts7/node-functions.d.ts +8 -0
- package/dist/frontend/ts7/node-functions.js +18 -0
- package/dist/frontend/ts7/node-functions.js.map +1 -0
- package/dist/frontend/ts7/program-host.d.ts +5 -1
- package/dist/frontend/ts7/program-host.js +12 -0
- package/dist/frontend/ts7/program-host.js.map +1 -1
- package/dist/frontend/ts7/rpc-api.d.ts +5 -1
- package/dist/frontend/ts7/rpc-api.js +8 -1
- package/dist/frontend/ts7/rpc-api.js.map +1 -1
- package/dist/frontend/ts7/semantic-checker.d.ts +13 -6
- package/dist/frontend/ts7/semantic-checker.js +26 -8
- package/dist/frontend/ts7/semantic-checker.js.map +1 -1
- package/dist/frontend/ts7/semantic-checker.test.js +12 -9
- package/dist/frontend/ts7/semantic-checker.test.js.map +1 -1
- package/dist/frontend/ts7/semantic-model.d.ts +54 -24
- package/dist/frontend/ts7/semantic-model.js +88 -16
- package/dist/frontend/ts7/semantic-model.js.map +1 -1
- package/dist/frontend/ts7/semantic-model.test.js +4 -4
- package/dist/frontend/ts7/semantic-model.test.js.map +1 -1
- package/dist/frontend/ts7/semantic-types.d.ts +7 -3
- package/dist/frontend/ts7/semantic-types.js +1 -1
- package/dist/frontend/ts7/semantic-types.js.map +1 -1
- package/dist/frontend/ts7/session.d.ts +11 -11
- package/dist/frontend/ts7/session.js +8 -5
- package/dist/frontend/ts7/session.js.map +1 -1
- package/dist/frontend/ts7/session.test.js +9 -5
- package/dist/frontend/ts7/session.test.js.map +1 -1
- package/dist/frontend/ts7/source-parser.d.ts +6 -2
- package/dist/frontend/ts7/source-parser.js +24 -3
- package/dist/frontend/ts7/source-parser.js.map +1 -1
- package/dist/frontend/ts7/source-parser.test.js +38 -17
- package/dist/frontend/ts7/source-parser.test.js.map +1 -1
- package/dist/frontend/type-mapper.d.ts +122 -2
- package/dist/frontend/type-mapper.js +2612 -695
- package/dist/frontend/type-mapper.js.map +1 -1
- package/dist/frontend/type-only-imports.d.ts +28 -0
- package/dist/frontend/type-only-imports.js +122 -0
- package/dist/frontend/type-only-imports.js.map +1 -0
- package/dist/frontend/worker-target.js +8 -8
- package/dist/frontend/worker-target.js.map +1 -1
- package/dist/index.d.ts +3 -1
- package/dist/index.js +47 -10
- package/dist/index.js.map +1 -1
- package/dist/ir/analysis.js +4 -2
- package/dist/ir/analysis.js.map +1 -1
- package/dist/ir/api.d.ts +1 -1
- package/dist/ir/api.js +1 -1
- package/dist/ir/api.js.map +1 -1
- package/dist/ir/array-length-stability.d.ts +30 -0
- package/dist/ir/array-length-stability.js +236 -0
- package/dist/ir/array-length-stability.js.map +1 -0
- package/dist/ir/array-length-stability.test.d.ts +1 -0
- package/dist/ir/array-length-stability.test.js +113 -0
- package/dist/ir/array-length-stability.test.js.map +1 -0
- package/dist/ir/build.d.ts +2 -2
- package/dist/ir/build.js +1 -1
- package/dist/ir/build.js.map +1 -1
- package/dist/ir/builtin-effects.js +139 -0
- package/dist/ir/builtin-effects.js.map +1 -1
- package/dist/ir/builtin-signatures.d.ts +1 -1
- package/dist/ir/builtin-signatures.js +655 -25
- package/dist/ir/builtin-signatures.js.map +1 -1
- package/dist/ir/byte-numbers.js +3 -0
- package/dist/ir/byte-numbers.js.map +1 -1
- package/dist/ir/callback-specialization.d.ts +37 -0
- package/dist/ir/callback-specialization.js +459 -0
- package/dist/ir/callback-specialization.js.map +1 -0
- package/dist/ir/callback-specialization.test.d.ts +1 -0
- package/dist/ir/callback-specialization.test.js +208 -0
- package/dist/ir/callback-specialization.test.js.map +1 -0
- package/dist/ir/capture-values.d.ts +0 -1
- package/dist/ir/capture-values.js +51 -40
- package/dist/ir/capture-values.js.map +1 -1
- package/dist/ir/constant-globals.test.js +1 -1
- package/dist/ir/constant-tables.test.js +1 -1
- package/dist/ir/field-values.test.js +1 -1
- package/dist/ir/final-fields.test.js +1 -1
- package/dist/ir/function-references.test.js +10 -1
- package/dist/ir/function-references.test.js.map +1 -1
- package/dist/ir/init-only-globals.test.js +1 -1
- package/dist/ir/initializer-bindings.test.js +1 -1
- package/dist/ir/int32-slots.d.ts +14 -0
- package/dist/ir/int32-slots.js +119 -14
- package/dist/ir/int32-slots.js.map +1 -1
- package/dist/ir/int32-slots.test.js +29 -1
- package/dist/ir/int32-slots.test.js.map +1 -1
- package/dist/ir/integer-loop-facts.d.ts +16 -6
- package/dist/ir/integer-loop-facts.js +143 -38
- package/dist/ir/integer-loop-facts.js.map +1 -1
- package/dist/ir/integer-loops.d.ts +1 -1
- package/dist/ir/integer-loops.js +39 -9
- package/dist/ir/integer-loops.js.map +1 -1
- package/dist/ir/integer-loops.test.js +104 -0
- package/dist/ir/integer-loops.test.js.map +1 -1
- package/dist/ir/integer-ranges.d.ts +3 -0
- package/dist/ir/integer-ranges.js +4 -6
- package/dist/ir/integer-ranges.js.map +1 -1
- package/dist/ir/integer-ranges.test.js +142 -1
- package/dist/ir/integer-ranges.test.js.map +1 -1
- package/dist/ir/intrinsic-signatures.js +6 -0
- package/dist/ir/intrinsic-signatures.js.map +1 -1
- package/dist/ir/ir.d.ts +234 -58
- package/dist/ir/ir.js +123 -12
- package/dist/ir/ir.js.map +1 -1
- package/dist/ir/ir.test.js +10 -0
- package/dist/ir/ir.test.js.map +1 -1
- package/dist/ir/jsval.d.ts +8 -0
- package/dist/ir/jsval.js +365 -0
- package/dist/ir/jsval.js.map +1 -0
- package/dist/ir/jsval.test.d.ts +1 -0
- package/dist/ir/jsval.test.js +239 -0
- package/dist/ir/jsval.test.js.map +1 -0
- package/dist/ir/runtime-features.d.ts +150 -33
- package/dist/ir/runtime-features.js +672 -339
- package/dist/ir/runtime-features.js.map +1 -1
- package/dist/ir/runtime-features.test.js +62 -0
- package/dist/ir/runtime-features.test.js.map +1 -1
- package/dist/ir/scalar-records.test.js +1 -1
- package/dist/ir/self-captures.d.ts +33 -0
- package/dist/ir/self-captures.js +245 -0
- package/dist/ir/self-captures.js.map +1 -0
- package/dist/ir/self-captures.test.d.ts +1 -0
- package/dist/ir/self-captures.test.js +135 -0
- package/dist/ir/self-captures.test.js.map +1 -0
- package/dist/ir/serialize.d.ts +1 -1
- package/dist/ir/serialize.js +7 -4
- package/dist/ir/serialize.js.map +1 -1
- package/dist/ir/tiers.d.ts +26 -0
- package/dist/ir/tiers.js +101 -0
- package/dist/ir/tiers.js.map +1 -0
- package/dist/ir/tiers.test.d.ts +1 -0
- package/dist/ir/tiers.test.js +140 -0
- package/dist/ir/tiers.test.js.map +1 -0
- package/dist/ir/traverse.js +107 -94
- package/dist/ir/traverse.js.map +1 -1
- package/dist/ir/traverse.test.js +33 -30
- package/dist/ir/traverse.test.js.map +1 -1
- package/dist/ir/unshare.js +65 -3
- package/dist/ir/unshare.js.map +1 -1
- package/dist/ir/unshare.test.js +1 -1
- package/dist/ir/validate.js +220 -71
- package/dist/ir/validate.js.map +1 -1
- package/dist/ir/validate.test.js +64 -9
- package/dist/ir/validate.test.js.map +1 -1
- package/dist/library/fence-eval.test.js +1 -1
- package/dist/library/int-infer.test.js +4 -4
- package/dist/library/ir-policy.js +18 -0
- package/dist/library/ir-policy.js.map +1 -1
- package/dist/library/library-cache.d.ts +1 -0
- package/dist/library/library-cache.js.map +1 -1
- package/dist/library/library-cache.test.js +5 -5
- package/dist/library/library-profile.d.ts +4 -4
- package/dist/library/library-profile.js +35 -7
- package/dist/library/library-profile.js.map +1 -1
- package/dist/library/prepare.js +13 -1
- package/dist/library/prepare.js.map +1 -1
- package/dist/native/cli.js +5 -0
- package/dist/native/cli.js.map +1 -1
- package/dist/native/compiler.js +2 -2
- package/dist/native/compiler.js.map +1 -1
- package/dist/native/compiler.test.js +2 -2
- package/dist/native/prepare.js +7 -0
- package/dist/native/prepare.js.map +1 -1
- package/dist/native/sanitizer.test.js +12 -0
- package/dist/native/sanitizer.test.js.map +1 -1
- package/dist/native/toolchain.d.ts +2 -0
- package/dist/native/toolchain.js +10 -1
- package/dist/native/toolchain.js.map +1 -1
- package/dist/native/toolchain.test.js +39 -1
- package/dist/native/toolchain.test.js.map +1 -1
- package/dist/startup-cache.d.ts +1 -0
- package/dist/startup-cache.js +1 -0
- package/dist/startup-cache.js.map +1 -1
- package/dist/wasm/base64.d.ts +5 -0
- package/dist/wasm/base64.js +62 -0
- package/dist/wasm/base64.js.map +1 -0
- package/dist/wasm/binary.d.ts +36 -0
- package/dist/wasm/binary.js +1976 -0
- package/dist/wasm/binary.js.map +1 -0
- package/dist/wasm/binary.test.d.ts +1 -0
- package/dist/wasm/binary.test.js +190 -0
- package/dist/wasm/binary.test.js.map +1 -0
- package/dist/wasm/discover.d.ts +38 -0
- package/dist/wasm/discover.js +377 -0
- package/dist/wasm/discover.js.map +1 -0
- package/dist/wasm/discover.test.d.ts +1 -0
- package/dist/wasm/discover.test.js +24 -0
- package/dist/wasm/discover.test.js.map +1 -0
- package/dist/wasm/module.d.ts +151 -0
- package/dist/wasm/module.js +575 -0
- package/dist/wasm/module.js.map +1 -0
- package/dist/wasm/translate.d.ts +48 -0
- package/dist/wasm/translate.js +2129 -0
- package/dist/wasm/translate.js.map +1 -0
- package/dist/wasm/translate.test.d.ts +1 -0
- package/dist/wasm/translate.test.js +207 -0
- package/dist/wasm/translate.test.js.map +1 -0
- package/package.json +21 -20
- package/surface-manifest.json +332 -36
|
@@ -1,8 +1,9 @@
|
|
|
1
1
|
import * as ts from "../ts7/adapter.js";
|
|
2
2
|
import { UNSUPPORTED } from "../../diagnostics/diagnostic.js";
|
|
3
3
|
import { BOOL, BYTES_U8, CHILD_T, CRYPTOHASH_T, CRYPTOHMAC_T, DIR_T, DYN, F64, FILEHANDLE_T, SPAWNRES_T, STATS_T, STRING, URL_T, VOID, arrayOf, } from "../../ir/ir.js";
|
|
4
|
-
import { isNodeTypesPath, requireSpecOf } from "../program.js";
|
|
4
|
+
import { isJsSourceFile, isNodeTypesPath, requireSpecOf } from "../program.js";
|
|
5
5
|
import { ZLIB_CONSTANTS } from "./zlib-constants.js";
|
|
6
|
+
import { V8_MEMBER_REASON } from "../builtin-modules.js";
|
|
6
7
|
/** zlib stream instances: runtime Transform streams (scr_zlib_stream.c). */
|
|
7
8
|
const ZLIB_STREAM = { kind: "object", className: "%Transform" };
|
|
8
9
|
/** Statement-level constructs rejected wholesale, keyed by syntax kind. */
|
|
@@ -106,13 +107,13 @@ export function sideEffectFreeOptionValue(node) {
|
|
|
106
107
|
return sideEffectFreeOptionValue(e.operand);
|
|
107
108
|
}
|
|
108
109
|
if (ts.isObjectLiteralExpression(e)) {
|
|
109
|
-
return e.properties.every((p) => ts.isShorthandPropertyAssignment(p) ||
|
|
110
|
+
return e.properties.nodes.every((p) => ts.isShorthandPropertyAssignment(p) ||
|
|
110
111
|
(ts.isPropertyAssignment(p) &&
|
|
111
112
|
!ts.isComputedPropertyName(p.name) &&
|
|
112
113
|
sideEffectFreeOptionValue(p.initializer)));
|
|
113
114
|
}
|
|
114
115
|
if (ts.isArrayLiteralExpression(e)) {
|
|
115
|
-
return e.elements.every((el) => !ts.isSpreadElement(el) && sideEffectFreeOptionValue(el));
|
|
116
|
+
return e.elements.nodes.every((el) => !ts.isSpreadElement(el) && sideEffectFreeOptionValue(el));
|
|
116
117
|
}
|
|
117
118
|
return false;
|
|
118
119
|
}
|
|
@@ -215,8 +216,8 @@ export const HTTP_SERVER_DOCUMENTED_OPTIONS = new Set([
|
|
|
215
216
|
/** new http.Agent(options)'s documented keys (Node v24 — the Agent
|
|
216
217
|
* constructor table plus the socket.connect() options it forwards into
|
|
217
218
|
* each dial). The lowered set is keepAlive/keepAliveMsecs/maxSockets/
|
|
218
|
-
* maxFreeSockets/timeout/port
|
|
219
|
-
*
|
|
219
|
+
* maxFreeSockets/timeout/port/scheduling; the rest fence by name and
|
|
220
|
+
* unknown keys drop like Node. */
|
|
220
221
|
export const AGENT_DOCUMENTED_OPTIONS = new Set([
|
|
221
222
|
"family",
|
|
222
223
|
"hints",
|
|
@@ -461,9 +462,9 @@ export const SET_METHODS = new Set([
|
|
|
461
462
|
/** The ES2025 Set composition surface (union/intersection/…): desugared
|
|
462
463
|
* to interned helper loops over the set iteration primitives — no user
|
|
463
464
|
* code runs mid-loop, so the walks need no enter/exit bracketing. The
|
|
464
|
-
* lib accepts any ReadonlySetLike argument; only a real Set lowers
|
|
465
|
-
* argument's has/size must be the builtins for the desugar to BE
|
|
466
|
-
* spec's algorithm). */
|
|
465
|
+
* lib accepts any ReadonlySetLike argument; only a real Set or Map lowers
|
|
466
|
+
* (the argument's has/size/keys must be the builtins for the desugar to BE
|
|
467
|
+
* the spec's algorithm). */
|
|
467
468
|
export const SET_COMBINE_METHODS = new Set([
|
|
468
469
|
"union",
|
|
469
470
|
"intersection",
|
|
@@ -566,6 +567,7 @@ export const STDLIB_SURFACE = {
|
|
|
566
567
|
cosh: ISL_N1,
|
|
567
568
|
exp: ISL_N1,
|
|
568
569
|
expm1: ISL_N1,
|
|
570
|
+
f16round: ISL_N1,
|
|
569
571
|
fround: ISL_N1,
|
|
570
572
|
hypot: ISL_N2,
|
|
571
573
|
imul: ISL_N2,
|
|
@@ -649,6 +651,7 @@ export const STATIC_MATH_FNS = {
|
|
|
649
651
|
sign: { fn: "math.sign", arity: 1 },
|
|
650
652
|
exp: { fn: "math.exp", arity: 1 },
|
|
651
653
|
expm1: { fn: "math.expm1", arity: 1 },
|
|
654
|
+
f16round: { fn: "math.f16round", arity: 1 },
|
|
652
655
|
fround: { fn: "math.fround", arity: 1 },
|
|
653
656
|
sqrt: { fn: "math.sqrt", arity: 1 },
|
|
654
657
|
log: { fn: "math.log", arity: 1 },
|
|
@@ -665,6 +668,7 @@ export const STATIC_MATH_FNS = {
|
|
|
665
668
|
* fences, while the arity range is the surface manifest's support claim. */
|
|
666
669
|
export const STATIC_NUMBER_METHODS = {
|
|
667
670
|
toFixed: { fns: ["num.toFixed0", "num.toFixed"], minArgs: 0, maxArgs: 1 },
|
|
671
|
+
toPrecision: { fns: ["num.toPrecision"], minArgs: 0, maxArgs: 1 },
|
|
668
672
|
};
|
|
669
673
|
/** The common first-class shape for builtin functions whose supported
|
|
670
674
|
* source signature is already exactly the fixed native ABI. Keeping the
|
|
@@ -1082,6 +1086,16 @@ export const BUILTIN_MODULE_FNS = {
|
|
|
1082
1086
|
result: VOID,
|
|
1083
1087
|
valueParams: exactValueParams(DYN, DYN),
|
|
1084
1088
|
},
|
|
1089
|
+
// Options and paths are checked by the runtime (scr_fs_cp_begin).
|
|
1090
|
+
cpSync: {
|
|
1091
|
+
fn: "fs.cpSync",
|
|
1092
|
+
params: [DYN, DYN, DYN],
|
|
1093
|
+
result: VOID,
|
|
1094
|
+
valueParams: [
|
|
1095
|
+
...exactValueParams(DYN, DYN),
|
|
1096
|
+
{ mode: "optional", type: DYN, defaultValue: undefined },
|
|
1097
|
+
],
|
|
1098
|
+
},
|
|
1085
1099
|
symlinkSync: {
|
|
1086
1100
|
fn: "fs.symlinkSync",
|
|
1087
1101
|
params: [DYN, DYN, DYN],
|
|
@@ -1222,6 +1236,15 @@ export const BUILTIN_MODULE_FNS = {
|
|
|
1222
1236
|
result: { kind: "promise", inner: VOID },
|
|
1223
1237
|
valueParams: exactValueParams(DYN, DYN),
|
|
1224
1238
|
},
|
|
1239
|
+
cp: {
|
|
1240
|
+
fn: "fsp.cp",
|
|
1241
|
+
params: [DYN, DYN, DYN],
|
|
1242
|
+
result: { kind: "promise", inner: VOID },
|
|
1243
|
+
valueParams: [
|
|
1244
|
+
...exactValueParams(DYN, DYN),
|
|
1245
|
+
{ mode: "optional", type: DYN, defaultValue: undefined },
|
|
1246
|
+
],
|
|
1247
|
+
},
|
|
1225
1248
|
symlink: {
|
|
1226
1249
|
fn: "fsp.symlink",
|
|
1227
1250
|
params: [DYN, DYN, DYN],
|
|
@@ -1326,6 +1349,9 @@ export const BUILTIN_MODULE_FNS = {
|
|
|
1326
1349
|
result: F64,
|
|
1327
1350
|
valueParams: [{ mode: "optional", type: F64, defaultValue: 0 }],
|
|
1328
1351
|
},
|
|
1352
|
+
// A one-argument call is setPriority(0, priority)
|
|
1353
|
+
// (lowerOsSetPriorityCall completes it).
|
|
1354
|
+
setPriority: { fn: "os.setPriority", params: [F64, F64], result: VOID },
|
|
1329
1355
|
// Special-cased (lowerOsCpusCall): the call site's CpuInfo[] assembles
|
|
1330
1356
|
// from one uv_cpu_info snapshot.
|
|
1331
1357
|
cpus: { fn: "os.cpusTake", params: [], result: VOID },
|
|
@@ -1338,7 +1364,15 @@ export const BUILTIN_MODULE_FNS = {
|
|
|
1338
1364
|
userInfo: { fn: "os.userName", params: [], result: VOID },
|
|
1339
1365
|
},
|
|
1340
1366
|
crypto: {
|
|
1341
|
-
randomUUID: {
|
|
1367
|
+
randomUUID: {
|
|
1368
|
+
fn: "crypto.randomUUID",
|
|
1369
|
+
params: [],
|
|
1370
|
+
result: STRING,
|
|
1371
|
+
// As a value (uuid's `export default { randomUUID }`), the optional
|
|
1372
|
+
// options argument goes through the validating entry point.
|
|
1373
|
+
valueFn: "crypto.randomUUIDOpts",
|
|
1374
|
+
valueParams: [{ mode: "optional", type: DYN, defaultValue: undefined }],
|
|
1375
|
+
},
|
|
1342
1376
|
// A real Buffer result. The composed randomBytes(n).toString(enc)
|
|
1343
1377
|
// form KEEPS its one-libCall lowering (lowerCryptoComposedCall runs
|
|
1344
1378
|
// first and the Buffer never materializes there); this entry covers
|
|
@@ -1357,9 +1391,15 @@ export const BUILTIN_MODULE_FNS = {
|
|
|
1357
1391
|
hash: { fn: "crypto.hashDigestStr", params: [STRING, STRING, STRING], result: STRING },
|
|
1358
1392
|
timingSafeEqual: { fn: "crypto.timingSafeEqual", params: [BYTES_U8, BYTES_U8], result: BOOL },
|
|
1359
1393
|
randomFillSync: { fn: "crypto.randomFill", params: [BYTES_U8, F64, F64], result: BYTES_U8 },
|
|
1394
|
+
getRandomValues: { fn: "crypto.getRandomValues", params: [BYTES_U8], result: BYTES_U8 },
|
|
1360
1395
|
randomInt: { fn: "crypto.randomInt", params: [F64, F64], result: F64 },
|
|
1361
1396
|
randomFill: { fn: "crypto.randomFillCb", params: [], result: VOID },
|
|
1362
|
-
randomUUIDv7: {
|
|
1397
|
+
randomUUIDv7: {
|
|
1398
|
+
fn: "crypto.randomUUIDv7",
|
|
1399
|
+
params: [DYN],
|
|
1400
|
+
result: STRING,
|
|
1401
|
+
valueParams: [{ mode: "optional", type: DYN, defaultValue: undefined }],
|
|
1402
|
+
},
|
|
1363
1403
|
createSecretKey: { fn: "crypto.createSecretKey", params: [DYN, DYN], result: DYN },
|
|
1364
1404
|
generateKeySync: { fn: "crypto.generateKeySync", params: [DYN, DYN], result: DYN },
|
|
1365
1405
|
generateKey: { fn: "crypto.generateKeyCb", params: [], result: VOID },
|
|
@@ -1599,6 +1639,22 @@ export const BUILTIN_MODULE_FNS = {
|
|
|
1599
1639
|
isAsyncFunction: { fn: "util.typeIs", params: [DYN], result: BOOL },
|
|
1600
1640
|
isGeneratorFunction: { fn: "util.typeIs", params: [DYN], result: BOOL },
|
|
1601
1641
|
isGeneratorObject: { fn: "util.typeIs", params: [DYN], result: BOOL },
|
|
1642
|
+
isDate: { fn: "util.typeIs", params: [DYN], result: BOOL },
|
|
1643
|
+
isSharedArrayBuffer: { fn: "util.typeIs", params: [DYN], result: BOOL },
|
|
1644
|
+
isMapIterator: { fn: "util.typeIs", params: [DYN], result: BOOL },
|
|
1645
|
+
isSetIterator: { fn: "util.typeIs", params: [DYN], result: BOOL },
|
|
1646
|
+
isKeyObject: { fn: "util.typeIs", params: [DYN], result: BOOL },
|
|
1647
|
+
isNumberObject: { fn: "util.typeIs", params: [DYN], result: BOOL },
|
|
1648
|
+
isStringObject: { fn: "util.typeIs", params: [DYN], result: BOOL },
|
|
1649
|
+
isBooleanObject: { fn: "util.typeIs", params: [DYN], result: BOOL },
|
|
1650
|
+
isBigIntObject: { fn: "util.typeIs", params: [DYN], result: BOOL },
|
|
1651
|
+
isSymbolObject: { fn: "util.typeIs", params: [DYN], result: BOOL },
|
|
1652
|
+
isBoxedPrimitive: { fn: "util.typeIs", params: [DYN], result: BOOL },
|
|
1653
|
+
isBigInt64Array: { fn: "util.typeIs", params: [DYN], result: BOOL },
|
|
1654
|
+
isBigUint64Array: { fn: "util.typeIs", params: [DYN], result: BOOL },
|
|
1655
|
+
isFloat16Array: { fn: "util.typeIs", params: [DYN], result: BOOL },
|
|
1656
|
+
isCryptoKey: { fn: "util.typeIs", params: [DYN], result: BOOL },
|
|
1657
|
+
isExternal: { fn: "util.typeIs", params: [DYN], result: BOOL },
|
|
1602
1658
|
},
|
|
1603
1659
|
buffer: {
|
|
1604
1660
|
isAscii: { fn: "buffer.isAscii", params: [DYN], result: BOOL },
|
|
@@ -1642,6 +1698,22 @@ export const BUILTIN_MODULE_FNS = {
|
|
|
1642
1698
|
valueParams: [{ mode: "required", type: STRING }],
|
|
1643
1699
|
},
|
|
1644
1700
|
},
|
|
1701
|
+
// node:punycode (deprecated): punycode.js 2.1.0's conversions over
|
|
1702
|
+
// strings (scr_url.c). ucs2.decode/encode are members of the module's
|
|
1703
|
+
// ucs2 object, dispatched as module members (builtinMemberOf). The
|
|
1704
|
+
// DEP0040 report rides the module's load sites (punycodeLoadWarning).
|
|
1705
|
+
punycode: {
|
|
1706
|
+
decode: { fn: "punycode.decode", params: [STRING], result: STRING },
|
|
1707
|
+
encode: { fn: "punycode.encode", params: [STRING], result: STRING },
|
|
1708
|
+
toASCII: { fn: "punycode.toASCII", params: [STRING], result: STRING },
|
|
1709
|
+
toUnicode: { fn: "punycode.toUnicode", params: [STRING], result: STRING },
|
|
1710
|
+
"ucs2.decode": { fn: "punycode.ucs2Decode", params: [STRING], result: arrayOf(F64) },
|
|
1711
|
+
"ucs2.encode": { fn: "punycode.ucs2Encode", params: [arrayOf(F64)], result: STRING },
|
|
1712
|
+
},
|
|
1713
|
+
// node:constants (deprecated) is one frozen object (Object.assign of
|
|
1714
|
+
// os.constants' groups, fs.constants and crypto.constants): bindings of
|
|
1715
|
+
// the module read it as a checked-dynamic value (builtinConstantsObject).
|
|
1716
|
+
constants: {},
|
|
1645
1717
|
// node:readline: createInterface's options are entirely special-cased
|
|
1646
1718
|
// (exactly { input: process.stdin, output?: process.stdout } — see
|
|
1647
1719
|
// lowerBuiltinModuleCall); the entry carries the canonical shape. The
|
|
@@ -1693,6 +1765,18 @@ export const BUILTIN_MODULE_FNS = {
|
|
|
1693
1765
|
// special-cased); the keys exist for the same reason net/http's do.
|
|
1694
1766
|
dgram: {},
|
|
1695
1767
|
dns: {},
|
|
1768
|
+
// node:dns/promises rides the same spoke (lookup's promise form).
|
|
1769
|
+
"dns/promises": {},
|
|
1770
|
+
// node:v8: getHeapStatistics answers allocator-derived figures in
|
|
1771
|
+
// Node's shape (builtins/v8.ts — the entry carries the canonical
|
|
1772
|
+
// shape); every other member fences with the by-design reason
|
|
1773
|
+
// (builtinFenceHintOf).
|
|
1774
|
+
v8: {
|
|
1775
|
+
getHeapStatistics: { fn: "process.memoryUsageTake", params: [], result: VOID },
|
|
1776
|
+
},
|
|
1777
|
+
// node:stream/web re-exports the web stream globals (the same objects);
|
|
1778
|
+
// its members lower through the globals' own paths.
|
|
1779
|
+
"stream/web": {},
|
|
1696
1780
|
// node:assert lowers ENTIRELY through the assert spoke (lower-assert.ts
|
|
1697
1781
|
// — every call shape is special-cased: optional messages complete, the
|
|
1698
1782
|
// comparisons pick per-type libCalls, deep equality synthesizes
|
|
@@ -1714,13 +1798,25 @@ export const BUILTIN_MODULE_FNS = {
|
|
|
1714
1798
|
// module-qualified with the pointed hint below.
|
|
1715
1799
|
"stream/consumers": {},
|
|
1716
1800
|
// node:timers/promises — the delay-only setTimeout and bare setImmediate
|
|
1717
|
-
// (void promises the shared timer heap settles)
|
|
1718
|
-
//
|
|
1719
|
-
//
|
|
1720
|
-
//
|
|
1801
|
+
// (void promises the shared timer heap settles), and scheduler.wait /
|
|
1802
|
+
// scheduler.yield, which Node defines as setTimeout(delay, undefined,
|
|
1803
|
+
// options) and setImmediate(). The arity completion (omitted delay =
|
|
1804
|
+
// Node's 1ms) and the value/options fences are special-cased in
|
|
1805
|
+
// lowerBuiltinModuleCall; these entries carry the canonical shapes and
|
|
1806
|
+
// route the dispatch.
|
|
1721
1807
|
"timers/promises": {
|
|
1722
1808
|
setTimeout: { fn: "tp.setTimeout", params: [F64], result: { kind: "promise", inner: VOID } },
|
|
1723
1809
|
setImmediate: { fn: "tp.setImmediate", params: [], result: { kind: "promise", inner: VOID } },
|
|
1810
|
+
"scheduler.wait": {
|
|
1811
|
+
fn: "tp.setTimeout",
|
|
1812
|
+
params: [F64],
|
|
1813
|
+
result: { kind: "promise", inner: VOID },
|
|
1814
|
+
},
|
|
1815
|
+
"scheduler.yield": {
|
|
1816
|
+
fn: "tp.setImmediate",
|
|
1817
|
+
params: [],
|
|
1818
|
+
result: { kind: "promise", inner: VOID },
|
|
1819
|
+
},
|
|
1724
1820
|
},
|
|
1725
1821
|
// node:diagnostics_channel — the pub/sub core. channel() answers an f64
|
|
1726
1822
|
// handle (type-mapper.ts maps Channel to F64); the subscriber arguments box
|
|
@@ -1755,6 +1851,7 @@ export const BUILTIN_MODULE_CONSTS = {
|
|
|
1755
1851
|
os: { EOL: "\n", devNull: "/dev/null" },
|
|
1756
1852
|
worker_threads: { isMainThread: true, threadId: 0 },
|
|
1757
1853
|
cluster: { isPrimary: true, isMaster: true, isWorker: false },
|
|
1854
|
+
punycode: { version: "2.1.0" },
|
|
1758
1855
|
// zlib's module-level copies of its constants (every member outside
|
|
1759
1856
|
// BROTLI_*, Node's own loop over zlib.constants).
|
|
1760
1857
|
zlib: Object.fromEntries(Object.entries(ZLIB_CONSTANTS).filter(([name]) => !name.startsWith("BROTLI"))),
|
|
@@ -1815,6 +1912,9 @@ export const BUILTIN_MODULE_FN_ALIASES = {
|
|
|
1815
1912
|
rmSync: ["fs.rmOptsSync", "fs.rmRetrySync"],
|
|
1816
1913
|
// The { withFileTypes: true } Dirent form.
|
|
1817
1914
|
readdirSync: ["fs.readdirTypesSync"],
|
|
1915
|
+
// The { throwIfNoEntry } probe form.
|
|
1916
|
+
statSync: ["fs.statProbeSync"],
|
|
1917
|
+
lstatSync: ["fs.lstatProbeSync"],
|
|
1818
1918
|
globSync: ["fs.globTypesSync"],
|
|
1819
1919
|
// The JS-source validation-ladder variant (lowerFsLadderCall): the
|
|
1820
1920
|
// real mkdtemp runs when the options leave utf8 semantics.
|
|
@@ -1842,8 +1942,13 @@ export const BUILTIN_MODULE_FN_ALIASES = {
|
|
|
1842
1942
|
crypto: {
|
|
1843
1943
|
// The composed randomBytes(n).toString(enc) chain keeps its one-libCall
|
|
1844
1944
|
// lowering (lowerCryptoComposedCall), while the callback overload has
|
|
1845
|
-
// its own adapter spelling. Both remain the randomBytes surface
|
|
1846
|
-
|
|
1945
|
+
// its own adapter spelling. Both remain the randomBytes surface, as does
|
|
1946
|
+
// the util.promisify form.
|
|
1947
|
+
randomBytes: [
|
|
1948
|
+
"crypto.randomBytesToString",
|
|
1949
|
+
"crypto.randomBytesCb",
|
|
1950
|
+
"crypto.randomBytesPromise",
|
|
1951
|
+
],
|
|
1847
1952
|
// Omitting size fills from offset through the rest of the Buffer and
|
|
1848
1953
|
// uses a separate runtime entry point for Node's exact bounds checks.
|
|
1849
1954
|
// Views of every kind return themselves; other buffers take the Dyn form.
|
|
@@ -1853,9 +1958,14 @@ export const BUILTIN_MODULE_FN_ALIASES = {
|
|
|
1853
1958
|
"crypto.randomFillViewRest",
|
|
1854
1959
|
"crypto.randomFillSyncDyn",
|
|
1855
1960
|
],
|
|
1856
|
-
randomFill: [
|
|
1961
|
+
randomFill: [
|
|
1962
|
+
"crypto.randomFillCbDyn",
|
|
1963
|
+
"crypto.randomFillPromise",
|
|
1964
|
+
"crypto.randomFillPromiseDyn",
|
|
1965
|
+
],
|
|
1857
1966
|
timingSafeEqual: ["crypto.timingSafeEqualDyn"],
|
|
1858
|
-
|
|
1967
|
+
getRandomValues: ["crypto.getRandomValuesDyn"],
|
|
1968
|
+
randomInt: ["crypto.randomIntMax", "crypto.randomIntCb", "crypto.randomIntPromise"],
|
|
1859
1969
|
randomUUID: ["crypto.randomUUIDOpts"],
|
|
1860
1970
|
},
|
|
1861
1971
|
os: {
|
|
@@ -1877,7 +1987,14 @@ export const AMBIENT_SURFACE_FNS = [
|
|
|
1877
1987
|
id: "node-builtin.worker_threads.metadata",
|
|
1878
1988
|
kind: "node-builtin",
|
|
1879
1989
|
name: "worker_threads metadata",
|
|
1880
|
-
fns: [
|
|
1990
|
+
fns: [
|
|
1991
|
+
"worker.isMainThread",
|
|
1992
|
+
"worker.threadId",
|
|
1993
|
+
"worker.data",
|
|
1994
|
+
"worker.parentPort",
|
|
1995
|
+
"worker.resourceLimits",
|
|
1996
|
+
"worker.threadName",
|
|
1997
|
+
],
|
|
1881
1998
|
note: "current-thread metadata and the worker's parent message port",
|
|
1882
1999
|
},
|
|
1883
2000
|
{
|
|
@@ -1901,6 +2018,20 @@ export const AMBIENT_SURFACE_FNS = [
|
|
|
1901
2018
|
fns: ["blob.fileNew"],
|
|
1902
2019
|
note: "a Blob with name and lastModified (Date.now() when absent)",
|
|
1903
2020
|
},
|
|
2021
|
+
{
|
|
2022
|
+
id: "stdlib.webcrypto.subtle",
|
|
2023
|
+
kind: "stdlib",
|
|
2024
|
+
name: "globalThis.crypto.subtle",
|
|
2025
|
+
fns: ["webcrypto.importKey", "webcrypto.sign", "webcrypto.verify", "webcrypto.digest"],
|
|
2026
|
+
note: "importKey('raw') for HMAC keys, HMAC sign and verify, and SHA-1/SHA-2 digest; other methods, algorithms and key formats are refused",
|
|
2027
|
+
},
|
|
2028
|
+
{
|
|
2029
|
+
id: "stdlib.webcrypto.CryptoKey",
|
|
2030
|
+
kind: "stdlib",
|
|
2031
|
+
name: "CryptoKey",
|
|
2032
|
+
fns: ["webcrypto.isCryptoKey"],
|
|
2033
|
+
note: "secret HMAC keys with type, extractable, algorithm and usages, and instanceof CryptoKey",
|
|
2034
|
+
},
|
|
1904
2035
|
{
|
|
1905
2036
|
id: "stdlib.atomics",
|
|
1906
2037
|
kind: "stdlib",
|
|
@@ -1929,14 +2060,22 @@ export const AMBIENT_SURFACE_FNS = [
|
|
|
1929
2060
|
kind: "stdlib",
|
|
1930
2061
|
name: "Date.parse",
|
|
1931
2062
|
fns: ["date.parse"],
|
|
1932
|
-
note: "one date string, using
|
|
2063
|
+
note: "one date string, using V8's date parser shared with new Date(dateString)",
|
|
1933
2064
|
},
|
|
1934
2065
|
{
|
|
1935
2066
|
id: "stdlib.date.constructor",
|
|
1936
2067
|
kind: "stdlib",
|
|
1937
2068
|
name: "Date constructor",
|
|
1938
|
-
fns: [
|
|
1939
|
-
|
|
2069
|
+
fns: [
|
|
2070
|
+
"date.newNow",
|
|
2071
|
+
"date.newMs",
|
|
2072
|
+
"date.newString",
|
|
2073
|
+
"date.nativeNew",
|
|
2074
|
+
"date.newLocal",
|
|
2075
|
+
"date.nativeNewFields",
|
|
2076
|
+
"date.nativeNewValue",
|
|
2077
|
+
],
|
|
2078
|
+
note: "zero arguments, one milliseconds/date-string argument, or local-time year/month fields; values are the read-only TimeClip scalar slice",
|
|
1940
2079
|
},
|
|
1941
2080
|
{
|
|
1942
2081
|
id: "stdlib.date.UTC",
|
|
@@ -1966,6 +2105,13 @@ export const AMBIENT_SURFACE_FNS = [
|
|
|
1966
2105
|
fns: ["date.toISOString", "date.toISOStringValue"],
|
|
1967
2106
|
note: "UTC ISO formatting over constructed and stored Date values",
|
|
1968
2107
|
},
|
|
2108
|
+
{
|
|
2109
|
+
id: "stdlib.date.toUTCString",
|
|
2110
|
+
kind: "stdlib",
|
|
2111
|
+
name: "Date.prototype.toUTCString",
|
|
2112
|
+
fns: ["date.toUTCString"],
|
|
2113
|
+
note: "RFC 7231 IMF-fixdate formatting over stored Date values",
|
|
2114
|
+
},
|
|
1969
2115
|
{
|
|
1970
2116
|
id: "stdlib.date.getFullYear",
|
|
1971
2117
|
kind: "stdlib",
|
|
@@ -2063,6 +2209,25 @@ export const AMBIENT_SURFACE_FNS = [
|
|
|
2063
2209
|
name: "Date.prototype.getTimezoneOffset",
|
|
2064
2210
|
fns: ["date.getTimezoneOffset"],
|
|
2065
2211
|
},
|
|
2212
|
+
{
|
|
2213
|
+
id: "stdlib.date.toString",
|
|
2214
|
+
kind: "stdlib",
|
|
2215
|
+
name: "Date.prototype.toString",
|
|
2216
|
+
fns: ["date.toString"],
|
|
2217
|
+
note: "local time with the host zone's long English name; String(date) and template literals use it",
|
|
2218
|
+
},
|
|
2219
|
+
{
|
|
2220
|
+
id: "stdlib.date.toDateString",
|
|
2221
|
+
kind: "stdlib",
|
|
2222
|
+
name: "Date.prototype.toDateString",
|
|
2223
|
+
fns: ["date.toDateString"],
|
|
2224
|
+
},
|
|
2225
|
+
{
|
|
2226
|
+
id: "stdlib.date.toTimeString",
|
|
2227
|
+
kind: "stdlib",
|
|
2228
|
+
name: "Date.prototype.toTimeString",
|
|
2229
|
+
fns: ["date.toTimeString"],
|
|
2230
|
+
},
|
|
2066
2231
|
// ── perf_hooks (lowerPerfHooksCall): the monotonic clock.
|
|
2067
2232
|
{
|
|
2068
2233
|
id: "node-builtin.perf_hooks.performance.now",
|
|
@@ -2113,6 +2278,27 @@ export const AMBIENT_SURFACE_FNS = [
|
|
|
2113
2278
|
name: "perf_hooks.performance.clearMeasures",
|
|
2114
2279
|
fns: ["perf.clearMeasures"],
|
|
2115
2280
|
},
|
|
2281
|
+
{
|
|
2282
|
+
id: "node-builtin.perf_hooks.performance.eventLoopUtilization",
|
|
2283
|
+
kind: "node-builtin",
|
|
2284
|
+
name: "perf_hooks.performance.eventLoopUtilization",
|
|
2285
|
+
fns: ["perf.loopStart", "perf.idleTime"],
|
|
2286
|
+
note: "active time is the main thread's CPU time since the loop started; the one- and two-argument difference forms are supported",
|
|
2287
|
+
},
|
|
2288
|
+
{
|
|
2289
|
+
id: "node-builtin.perf_hooks.monitorEventLoopDelay",
|
|
2290
|
+
kind: "node-builtin",
|
|
2291
|
+
name: "perf_hooks.monitorEventLoopDelay",
|
|
2292
|
+
fns: [
|
|
2293
|
+
"perf.eldNew",
|
|
2294
|
+
"perf.eldEnable",
|
|
2295
|
+
"perf.eldDisable",
|
|
2296
|
+
"perf.eldReset",
|
|
2297
|
+
"perf.eldPercentile",
|
|
2298
|
+
"perf.eldStat",
|
|
2299
|
+
],
|
|
2300
|
+
note: "an unref'd sampling interval records the delay histogram; enable, disable, reset, percentile and the min, max, mean, stddev, count and exceeds readings are supported",
|
|
2301
|
+
},
|
|
2116
2302
|
// ── the process global's ambient reads and authority calls
|
|
2117
2303
|
// (lowerProcessProperty/lowerProcessMethodCall — process is a
|
|
2118
2304
|
// provenance-checked global here, not an importable module).
|
|
@@ -2224,6 +2410,12 @@ export const AMBIENT_SURFACE_FNS = [
|
|
|
2224
2410
|
name: "process.argv0",
|
|
2225
2411
|
fns: ["process.argv0"],
|
|
2226
2412
|
},
|
|
2413
|
+
{
|
|
2414
|
+
id: "node-builtin.process.execArgv",
|
|
2415
|
+
kind: "node-builtin",
|
|
2416
|
+
name: "process.execArgv",
|
|
2417
|
+
fns: ["process.execArgv"],
|
|
2418
|
+
},
|
|
2227
2419
|
{
|
|
2228
2420
|
id: "node-builtin.process.execPath",
|
|
2229
2421
|
kind: "node-builtin",
|
|
@@ -2332,8 +2524,8 @@ export const AMBIENT_SURFACE_FNS = [
|
|
|
2332
2524
|
id: "node-builtin.process.exitCode",
|
|
2333
2525
|
kind: "node-builtin",
|
|
2334
2526
|
name: "process.exitCode",
|
|
2335
|
-
fns: ["process.setExitCode"],
|
|
2336
|
-
note: "numeric writes in statement position set the implicit exit status; process.exit() reads it",
|
|
2527
|
+
fns: ["process.setExitCode", "process.setExitCodeTracked", "process.hasExitCode"],
|
|
2528
|
+
note: "numeric writes in statement position set the implicit exit status; reads answer the assigned code or undefined; process.exit() reads it",
|
|
2337
2529
|
},
|
|
2338
2530
|
// ── the tls CA store (lowerTlsCaCall / lowerTlsRootCertificates): the
|
|
2339
2531
|
// host's trust anchors, read and replaced. Dedicated paths, and
|
|
@@ -2373,6 +2565,15 @@ export const AMBIENT_SURFACE_FNS = [
|
|
|
2373
2565
|
fns: ["os.constants"],
|
|
2374
2566
|
note: "the platform's dlopen, errno, signals and priority groups; members a platform lacks read as undefined",
|
|
2375
2567
|
},
|
|
2568
|
+
// fs.constants as a value, and its members beyond the baked access-mode
|
|
2569
|
+
// bits: the target libc's null-prototype constants object.
|
|
2570
|
+
{
|
|
2571
|
+
id: "node-builtin.fs.constants",
|
|
2572
|
+
kind: "node-builtin",
|
|
2573
|
+
name: "fs.constants",
|
|
2574
|
+
fns: ["fs.constants"],
|
|
2575
|
+
note: "node_constants.cc's fs group under the target libc's macros; members a platform lacks read as undefined",
|
|
2576
|
+
},
|
|
2376
2577
|
];
|
|
2377
2578
|
/** The win32-target overrides of the bare modules' constants: path's
|
|
2378
2579
|
* constants ARE the path/win32 namespace's, and os.EOL is CRLF (Node's
|
|
@@ -2455,7 +2656,11 @@ export const FS_CALLBACK_MEMBERS = new Set([
|
|
|
2455
2656
|
* inherited function into the diagnostic text). */
|
|
2456
2657
|
export function builtinFenceHintOf(module, member) {
|
|
2457
2658
|
const mod = ownEntry(BUILTIN_MODULE_FENCE_HINTS, module);
|
|
2458
|
-
|
|
2659
|
+
const hint = mod ? ownEntry(mod, member) : undefined;
|
|
2660
|
+
// node:v8's unlowered members observe the engine itself: the by-design
|
|
2661
|
+
// reason, not a pending-surface hint (kept out of the hint table so the
|
|
2662
|
+
// compatibility rows stay by-design rather than refused).
|
|
2663
|
+
return hint === undefined && module === "v8" ? V8_MEMBER_REASON : hint;
|
|
2459
2664
|
}
|
|
2460
2665
|
/** BUILTIN_MODULE_CONSTS with the win32-target overrides applied — the
|
|
2461
2666
|
* constants twin of builtinModuleFnsOf. */
|
|
@@ -2579,7 +2784,7 @@ export function builtinModulesArrayLit(loc) {
|
|
|
2579
2784
|
/** Member-specific hints for RECOGNIZED builtin modules whose member has
|
|
2580
2785
|
* no lowering. The default-options one-shot zlib/deflate-raw/gzip codecs
|
|
2581
2786
|
* lower for strings and Buffers; the remaining surface points at them. */
|
|
2582
|
-
const ZLIB_HINT = "the
|
|
2787
|
+
const ZLIB_HINT = "the deflate/inflate, raw, gzip/gunzip, and unzip sync/callback forms with Node's options, crc32, " +
|
|
2583
2788
|
"and the Deflate/Inflate/Gzip/Gunzip/DeflateRaw/InflateRaw/Unzip streams are the lowered zlib surface";
|
|
2584
2789
|
/** Brotli has no codec in the static runtime (zlib is the only vendored
|
|
2585
2790
|
* compression library). */
|
|
@@ -2602,7 +2807,7 @@ export const BUILTIN_MODULE_FENCE_HINTS = {
|
|
|
2602
2807
|
doesNotReject: ASSERT_MODULE_HINTS["doesNotReject"],
|
|
2603
2808
|
},
|
|
2604
2809
|
util: {
|
|
2605
|
-
promisify: "the lowered shapes are const bindings over child_process.execFile, child_process.exec and the fs callback functions with an fs/promises counterpart; call the bound function directly",
|
|
2810
|
+
promisify: "the lowered shapes are const bindings over child_process.execFile, child_process.exec, setTimeout, setImmediate, stream.finished, stream.pipeline, the zlib callback one-shots, the crypto callback functions, dns.lookup, dns.lookupService and the fs callback functions with an fs/promises counterpart, plus typed callback-last function values whose callback takes (error?: Error | null, value?); call the bound function directly",
|
|
2606
2811
|
},
|
|
2607
2812
|
"stream/consumers": {
|
|
2608
2813
|
blob: "collecting a stream into a Blob is not supported yet — " +
|
|
@@ -2614,7 +2819,7 @@ export const BUILTIN_MODULE_FENCE_HINTS = {
|
|
|
2614
2819
|
"relative .json documents and natively compiled npm packages resolve at build time; " +
|
|
2615
2820
|
"dynamic specifiers cannot exist in a compiled binary's fixed module graph",
|
|
2616
2821
|
isBuiltin: "the lowered call checks a string against the baked Node v24 list, including bare/node: aliases and prefix-only builtins",
|
|
2617
|
-
syncBuiltinESMExports: "the direct zero-argument call
|
|
2822
|
+
syncBuiltinESMExports: "the direct zero-argument call statement refreshes the ES module namespace copy of events.defaultMaxListeners, the one builtin export a program can change",
|
|
2618
2823
|
},
|
|
2619
2824
|
child_process: {
|
|
2620
2825
|
execFile: "the callback forms execFile(file, callback), execFile(file, args, callback), and execFile(file, args, { encoding: 'utf8', maxBuffer: N }, callback) lower; " +
|
|
@@ -2749,8 +2954,8 @@ export function stdlibMemberFence(lowerer, access) {
|
|
|
2749
2954
|
hint =
|
|
2750
2955
|
"'.groups' lowers when the match's regex is STATICALLY known — a regex literal, or a " +
|
|
2751
2956
|
"const initialized with one (the group-name table is built at compile time) — and the " +
|
|
2752
|
-
"
|
|
2753
|
-
"
|
|
2957
|
+
"match comes from exec, match, a for-of over matchAll, or the element parameter of an " +
|
|
2958
|
+
"array-method callback over matchAll rows";
|
|
2754
2959
|
}
|
|
2755
2960
|
else if (recvIr?.kind === "array" && member === "flat") {
|
|
2756
2961
|
hint =
|
|
@@ -2879,11 +3084,11 @@ export function isChildSurfaceMember(lowerer, access) {
|
|
|
2879
3084
|
if (isStdlibMember(lowerer, access))
|
|
2880
3085
|
return true;
|
|
2881
3086
|
const sym = lowerer.checker.getSymbolAtLocation(access.name);
|
|
2882
|
-
const decl = sym ?
|
|
3087
|
+
const decl = sym ? sym.declarations[0] : undefined;
|
|
2883
3088
|
const iface = decl?.parent;
|
|
2884
3089
|
if (!decl || !iface || !ts.isInterfaceDeclaration(iface))
|
|
2885
3090
|
return false;
|
|
2886
|
-
if (lowerer.isStdlibFile(
|
|
3091
|
+
if (lowerer.isStdlibFile(ts.getSourceFileOfNode(decl)))
|
|
2887
3092
|
return false;
|
|
2888
3093
|
return lowerer.mapTypeOf(lowerer.checker.getTypeAtLocation(iface.name))?.kind === "child";
|
|
2889
3094
|
}
|
|
@@ -2893,8 +3098,7 @@ export function isChildSurfaceMember(lowerer, access) {
|
|
|
2893
3098
|
* with lib interfaces, so a member can carry declarations from both. A
|
|
2894
3099
|
* user's own declaration is in neither, so shadowing never matches. */
|
|
2895
3100
|
export function isStdlibSymbol(lowerer, symbol) {
|
|
2896
|
-
return (!!symbol &&
|
|
2897
|
-
lowerer.checker.declarationsOf(symbol).some((d) => lowerer.isStdlibFile(d.getSourceFile())));
|
|
3101
|
+
return (!!symbol && symbol.declarations.some((d) => lowerer.isStdlibFile(ts.getSourceFileOfNode(d))));
|
|
2898
3102
|
}
|
|
2899
3103
|
/** The canonical stdlib-global name `expr` denotes, or null. Three
|
|
2900
3104
|
* spellings reach the same global (Node's own aliasing):
|
|
@@ -2907,7 +3111,9 @@ export function isStdlibSymbol(lowerer, symbol) {
|
|
|
2907
3111
|
* `global.process`) — `declare var` globals ARE properties of
|
|
2908
3112
|
* `typeof globalThis`, same symbol either way;
|
|
2909
3113
|
* - a local alias binding (`const process = globalThis.process`, the
|
|
2910
|
-
* tamper-guard prologue) registered in stdlibGlobalAliases
|
|
3114
|
+
* tamper-guard prologue) registered in stdlibGlobalAliases;
|
|
3115
|
+
* - a const binding of the Map or Set constructor (`const M = Map`,
|
|
3116
|
+
* builtinClassAliasOf). */
|
|
2911
3117
|
export function stdlibGlobalNameOf(lowerer, expr) {
|
|
2912
3118
|
if (ts.isParenthesizedExpression(expr))
|
|
2913
3119
|
return stdlibGlobalNameOf(lowerer, expr.expression);
|
|
@@ -2917,16 +3123,17 @@ export function stdlibGlobalNameOf(lowerer, expr) {
|
|
|
2917
3123
|
// global bindings, but local parameters can shadow it. Its special
|
|
2918
3124
|
// symbol has no ordinary declarations for the provenance check.
|
|
2919
3125
|
if (expr.text === "globalThis" &&
|
|
2920
|
-
(!symbol ||
|
|
2921
|
-
lowerer.checker.declarationsOf(symbol).length === 0 ||
|
|
2922
|
-
lowerer.isStdlibSymbol(symbol)))
|
|
3126
|
+
(!symbol || symbol.declarations.length === 0 || lowerer.isStdlibSymbol(symbol)))
|
|
2923
3127
|
return "globalThis";
|
|
2924
3128
|
if (!symbol)
|
|
2925
3129
|
return null;
|
|
2926
3130
|
const alias = lowerer.stdlibGlobalAliases.get(symbol);
|
|
2927
3131
|
if (alias !== undefined)
|
|
2928
3132
|
return alias;
|
|
2929
|
-
const
|
|
3133
|
+
const classAlias = lowerer.builtinClassAliasOf(symbol);
|
|
3134
|
+
if (classAlias?.kind === "collection")
|
|
3135
|
+
return classAlias.which;
|
|
3136
|
+
const decl = symbol.declarations[0];
|
|
2930
3137
|
if (decl !== undefined && ts.isImportClause(decl) && decl.name !== undefined) {
|
|
2931
3138
|
const importDecl = decl.parent;
|
|
2932
3139
|
if (ts.isImportDeclaration(importDecl) && ts.isStringLiteral(importDecl.moduleSpecifier)) {
|
|
@@ -2942,9 +3149,21 @@ export function stdlibGlobalNameOf(lowerer, expr) {
|
|
|
2942
3149
|
// the bare-global spelling. A user module re-exporting its own
|
|
2943
3150
|
// `Buffer` resolves to a user-file declaration and still misses.
|
|
2944
3151
|
const resolved = symbol.flags & ts.SymbolFlags.Alias ? lowerer.checker.getAliasedSymbol(symbol) : symbol;
|
|
2945
|
-
if (!lowerer.isStdlibSymbol(resolved))
|
|
3152
|
+
if (!lowerer.isStdlibSymbol(resolved)) {
|
|
3153
|
+
// A CommonJS binding of the buffer module's Buffer (`var Buffer =
|
|
3154
|
+
// require('buffer').Buffer`, `const { Buffer } = require('buffer')`
|
|
3155
|
+
// — safe-buffer and compression): the module member IS the global
|
|
3156
|
+
// constructor.
|
|
3157
|
+
if (decl !== undefined &&
|
|
3158
|
+
(ts.isVariableDeclaration(decl) || ts.isBindingElement(decl)) &&
|
|
3159
|
+
isJsSourceFile(ts.getSourceFileOfNode(decl))) {
|
|
3160
|
+
const imported = lowerer.builtinImportOf(expr);
|
|
3161
|
+
if (imported?.module === "buffer" && imported.member === "Buffer")
|
|
3162
|
+
return "Buffer";
|
|
3163
|
+
}
|
|
2946
3164
|
return null;
|
|
2947
|
-
|
|
3165
|
+
}
|
|
3166
|
+
return ts.symbolName(resolved) === "global" ? "globalThis" : ts.symbolName(resolved);
|
|
2948
3167
|
}
|
|
2949
3168
|
if (ts.isPropertyAccessExpression(expr) && !expr.questionDotToken) {
|
|
2950
3169
|
if (stdlibGlobalNameOf(lowerer, expr.expression) !== "globalThis")
|
|
@@ -2952,7 +3171,7 @@ export function stdlibGlobalNameOf(lowerer, expr) {
|
|
|
2952
3171
|
const symbol = lowerer.checker.getSymbolAtLocation(expr.name);
|
|
2953
3172
|
if (!symbol || !lowerer.isStdlibSymbol(symbol))
|
|
2954
3173
|
return null;
|
|
2955
|
-
return symbol
|
|
3174
|
+
return ts.symbolName(symbol) === "global" ? "globalThis" : ts.symbolName(symbol);
|
|
2956
3175
|
}
|
|
2957
3176
|
return null;
|
|
2958
3177
|
}
|
|
@@ -3010,7 +3229,9 @@ export function stdlibGlobalAliasNameOf(lowerer, init) {
|
|
|
3010
3229
|
const requireSpec = requireSpecOf(aliasExpr);
|
|
3011
3230
|
const name = requireSpec === "process" || requireSpec === "node:process"
|
|
3012
3231
|
? "process"
|
|
3013
|
-
:
|
|
3232
|
+
: bufferNamespaceMember(lowerer, aliasExpr)
|
|
3233
|
+
? "Buffer"
|
|
3234
|
+
: stdlibGlobalNameOf(lowerer, aliasExpr);
|
|
3014
3235
|
if (name === null)
|
|
3015
3236
|
return null;
|
|
3016
3237
|
// These globals have provenance-aware call or member lowering, so a
|
|
@@ -3027,10 +3248,22 @@ export function stdlibGlobalAliasNameOf(lowerer, init) {
|
|
|
3027
3248
|
"Number",
|
|
3028
3249
|
"String",
|
|
3029
3250
|
"Boolean",
|
|
3251
|
+
// Code generation from strings throws Node's EvalError at every call
|
|
3252
|
+
// (code-generation.ts); zod 4 probes `const F = Function; new F("")`.
|
|
3253
|
+
"Function",
|
|
3254
|
+
"eval",
|
|
3030
3255
|
].includes(name)
|
|
3031
3256
|
? name
|
|
3032
3257
|
: null;
|
|
3033
3258
|
}
|
|
3259
|
+
/** `buffer.Buffer` through a buffer-module namespace binding (`var buffer
|
|
3260
|
+
* = require('buffer')`): the module's Buffer IS the global constructor. */
|
|
3261
|
+
export function bufferNamespaceMember(lowerer, expr) {
|
|
3262
|
+
if (!ts.isPropertyAccessExpression(expr) || expr.name.text !== "Buffer")
|
|
3263
|
+
return false;
|
|
3264
|
+
const member = lowerer.builtinMemberOf(expr);
|
|
3265
|
+
return member?.module === "buffer" && member.member === "Buffer";
|
|
3266
|
+
}
|
|
3034
3267
|
export function stdlibGlobalAliasDecl(lowerer, nameNode, init) {
|
|
3035
3268
|
if (!ts.isIdentifier(nameNode))
|
|
3036
3269
|
return false;
|
|
@@ -3054,12 +3287,12 @@ export function stdlibGlobalAliasDecl(lowerer, nameNode, init) {
|
|
|
3054
3287
|
* the SC2020 fence's wording: "typed by @types/node", not "standard
|
|
3055
3288
|
* library". */
|
|
3056
3289
|
export function nodeTypesOnlySymbol(lowerer, sym) {
|
|
3057
|
-
const decls = sym ?
|
|
3290
|
+
const decls = sym ? sym.declarations : undefined;
|
|
3058
3291
|
if (!decls || decls.length === 0)
|
|
3059
3292
|
return false;
|
|
3060
3293
|
let viaNode = false;
|
|
3061
3294
|
for (const d of decls) {
|
|
3062
|
-
const sf =
|
|
3295
|
+
const sf = ts.getSourceFileOfNode(d);
|
|
3063
3296
|
if (sf.isDeclarationFile && isNodeTypesPath(sf.fileName))
|
|
3064
3297
|
viaNode = true;
|
|
3065
3298
|
else if (lowerer.isStdlibFile(sf))
|