@scriptc/compiler 0.3.6 → 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 +682 -50
- 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 +293 -178
- 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 +547 -283
- package/dist/backend/llvm/emitter.js +689 -4643
- 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-dynamic.d.ts +3 -0
- package/dist/backend/llvm/expr-dynamic.js +67 -62
- package/dist/backend/llvm/expr-dynamic.js.map +1 -1
- package/dist/backend/llvm/expr-primitives.js +121 -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 +189 -23
- package/dist/backend/llvm/lib-dispatch.js.map +1 -1
- package/dist/backend/llvm/lib-filesystem.js +42 -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 +56 -22
- package/dist/backend/llvm/lib-network.js.map +1 -1
- package/dist/backend/llvm/lib-process.js +90 -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 +187 -6
- 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 +43 -7
- 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 +64 -6
- package/dist/backend/llvm/nullable-unions.js +103 -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 +12 -1
- package/dist/backend/llvm/record-results.js +64 -4
- 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 +142 -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 +66 -43
- package/dist/backend/llvm/shapes.js +280 -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/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 +4 -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 -137
- 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 +1 -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.test.js +5 -0
- 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 +24 -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 +16 -3
- 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 +10 -6
- package/dist/diagnostics/diagnostic.js +29 -21
- 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 +63 -5
- 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 +16 -5
- 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 +9 -0
- package/dist/frontend/lowering/builtins/compression.js +107 -44
- 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 +211 -37
- 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 +169 -3
- package/dist/frontend/lowering/builtins/errors.js.map +1 -1
- package/dist/frontend/lowering/builtins/filesystem-calls.js +128 -116
- package/dist/frontend/lowering/builtins/filesystem-calls.js.map +1 -1
- package/dist/frontend/lowering/builtins/filesystem.js +77 -77
- 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/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 +55 -44
- 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 +461 -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 +12 -2
- package/dist/frontend/lowering/builtins/readline.js +136 -39
- 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 +12 -0
- package/dist/frontend/lowering/builtins/workers.js +193 -8
- 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.js +25 -44
- 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 +6 -5
- package/dist/frontend/lowering/containers/array-from-async.js +159 -14
- package/dist/frontend/lowering/containers/array-from-async.js.map +1 -1
- 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 +217 -26
- package/dist/frontend/lowering/containers/collection-grouping.js.map +1 -1
- package/dist/frontend/lowering/containers/collection-methods.js +54 -25
- 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 +62 -125
- 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 +1239 -442
- 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 +1473 -468
- 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 +258 -70
- 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 +1481 -12489
- 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 +331 -96
- 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 +8 -1
- package/dist/frontend/lowering/lower-mock.js +185 -18
- package/dist/frontend/lowering/lower-mock.js.map +1 -1
- package/dist/frontend/lowering/lower-modules.js +267 -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 +488 -100
- 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 +1541 -391
- package/dist/frontend/lowering/lower-stmts.js.map +1 -1
- package/dist/frontend/lowering/lower-stream.d.ts +3 -0
- package/dist/frontend/lowering/lower-stream.js +398 -56
- 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 +437 -62
- 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 +399 -26
- package/dist/frontend/lowering/lowerer.js +1910 -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/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 +12 -3
- package/dist/frontend/lowering/surfaces.js +252 -41
- 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.js +13 -6
- 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 -255
- 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 +2545 -719
- 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 +29 -2
- 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 +103 -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 +494 -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 +9 -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 +97 -14
- package/dist/ir/int32-slots.js.map +1 -1
- package/dist/ir/int32-slots.test.js +1 -1
- package/dist/ir/integer-loop-facts.d.ts +2 -0
- package/dist/ir/integer-loop-facts.js +24 -3
- 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 +3 -1
- package/dist/ir/integer-ranges.js.map +1 -1
- package/dist/ir/integer-ranges.test.js +82 -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 +221 -58
- package/dist/ir/ir.js +119 -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 +148 -33
- package/dist/ir/runtime-features.js +629 -386
- package/dist/ir/runtime-features.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 +103 -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 +175 -68
- package/dist/ir/validate.js.map +1 -1
- package/dist/ir/validate.test.js +26 -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 +13 -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 +303 -19
|
@@ -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",
|
|
@@ -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
|
|
@@ -1345,6 +1349,9 @@ export const BUILTIN_MODULE_FNS = {
|
|
|
1345
1349
|
result: F64,
|
|
1346
1350
|
valueParams: [{ mode: "optional", type: F64, defaultValue: 0 }],
|
|
1347
1351
|
},
|
|
1352
|
+
// A one-argument call is setPriority(0, priority)
|
|
1353
|
+
// (lowerOsSetPriorityCall completes it).
|
|
1354
|
+
setPriority: { fn: "os.setPriority", params: [F64, F64], result: VOID },
|
|
1348
1355
|
// Special-cased (lowerOsCpusCall): the call site's CpuInfo[] assembles
|
|
1349
1356
|
// from one uv_cpu_info snapshot.
|
|
1350
1357
|
cpus: { fn: "os.cpusTake", params: [], result: VOID },
|
|
@@ -1357,7 +1364,15 @@ export const BUILTIN_MODULE_FNS = {
|
|
|
1357
1364
|
userInfo: { fn: "os.userName", params: [], result: VOID },
|
|
1358
1365
|
},
|
|
1359
1366
|
crypto: {
|
|
1360
|
-
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
|
+
},
|
|
1361
1376
|
// A real Buffer result. The composed randomBytes(n).toString(enc)
|
|
1362
1377
|
// form KEEPS its one-libCall lowering (lowerCryptoComposedCall runs
|
|
1363
1378
|
// first and the Buffer never materializes there); this entry covers
|
|
@@ -1376,9 +1391,15 @@ export const BUILTIN_MODULE_FNS = {
|
|
|
1376
1391
|
hash: { fn: "crypto.hashDigestStr", params: [STRING, STRING, STRING], result: STRING },
|
|
1377
1392
|
timingSafeEqual: { fn: "crypto.timingSafeEqual", params: [BYTES_U8, BYTES_U8], result: BOOL },
|
|
1378
1393
|
randomFillSync: { fn: "crypto.randomFill", params: [BYTES_U8, F64, F64], result: BYTES_U8 },
|
|
1394
|
+
getRandomValues: { fn: "crypto.getRandomValues", params: [BYTES_U8], result: BYTES_U8 },
|
|
1379
1395
|
randomInt: { fn: "crypto.randomInt", params: [F64, F64], result: F64 },
|
|
1380
1396
|
randomFill: { fn: "crypto.randomFillCb", params: [], result: VOID },
|
|
1381
|
-
randomUUIDv7: {
|
|
1397
|
+
randomUUIDv7: {
|
|
1398
|
+
fn: "crypto.randomUUIDv7",
|
|
1399
|
+
params: [DYN],
|
|
1400
|
+
result: STRING,
|
|
1401
|
+
valueParams: [{ mode: "optional", type: DYN, defaultValue: undefined }],
|
|
1402
|
+
},
|
|
1382
1403
|
createSecretKey: { fn: "crypto.createSecretKey", params: [DYN, DYN], result: DYN },
|
|
1383
1404
|
generateKeySync: { fn: "crypto.generateKeySync", params: [DYN, DYN], result: DYN },
|
|
1384
1405
|
generateKey: { fn: "crypto.generateKeyCb", params: [], result: VOID },
|
|
@@ -1618,6 +1639,22 @@ export const BUILTIN_MODULE_FNS = {
|
|
|
1618
1639
|
isAsyncFunction: { fn: "util.typeIs", params: [DYN], result: BOOL },
|
|
1619
1640
|
isGeneratorFunction: { fn: "util.typeIs", params: [DYN], result: BOOL },
|
|
1620
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 },
|
|
1621
1658
|
},
|
|
1622
1659
|
buffer: {
|
|
1623
1660
|
isAscii: { fn: "buffer.isAscii", params: [DYN], result: BOOL },
|
|
@@ -1661,6 +1698,22 @@ export const BUILTIN_MODULE_FNS = {
|
|
|
1661
1698
|
valueParams: [{ mode: "required", type: STRING }],
|
|
1662
1699
|
},
|
|
1663
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: {},
|
|
1664
1717
|
// node:readline: createInterface's options are entirely special-cased
|
|
1665
1718
|
// (exactly { input: process.stdin, output?: process.stdout } — see
|
|
1666
1719
|
// lowerBuiltinModuleCall); the entry carries the canonical shape. The
|
|
@@ -1712,6 +1765,18 @@ export const BUILTIN_MODULE_FNS = {
|
|
|
1712
1765
|
// special-cased); the keys exist for the same reason net/http's do.
|
|
1713
1766
|
dgram: {},
|
|
1714
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": {},
|
|
1715
1780
|
// node:assert lowers ENTIRELY through the assert spoke (lower-assert.ts
|
|
1716
1781
|
// — every call shape is special-cased: optional messages complete, the
|
|
1717
1782
|
// comparisons pick per-type libCalls, deep equality synthesizes
|
|
@@ -1733,13 +1798,25 @@ export const BUILTIN_MODULE_FNS = {
|
|
|
1733
1798
|
// module-qualified with the pointed hint below.
|
|
1734
1799
|
"stream/consumers": {},
|
|
1735
1800
|
// node:timers/promises — the delay-only setTimeout and bare setImmediate
|
|
1736
|
-
// (void promises the shared timer heap settles)
|
|
1737
|
-
//
|
|
1738
|
-
//
|
|
1739
|
-
//
|
|
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.
|
|
1740
1807
|
"timers/promises": {
|
|
1741
1808
|
setTimeout: { fn: "tp.setTimeout", params: [F64], result: { kind: "promise", inner: VOID } },
|
|
1742
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
|
+
},
|
|
1743
1820
|
},
|
|
1744
1821
|
// node:diagnostics_channel — the pub/sub core. channel() answers an f64
|
|
1745
1822
|
// handle (type-mapper.ts maps Channel to F64); the subscriber arguments box
|
|
@@ -1774,6 +1851,7 @@ export const BUILTIN_MODULE_CONSTS = {
|
|
|
1774
1851
|
os: { EOL: "\n", devNull: "/dev/null" },
|
|
1775
1852
|
worker_threads: { isMainThread: true, threadId: 0 },
|
|
1776
1853
|
cluster: { isPrimary: true, isMaster: true, isWorker: false },
|
|
1854
|
+
punycode: { version: "2.1.0" },
|
|
1777
1855
|
// zlib's module-level copies of its constants (every member outside
|
|
1778
1856
|
// BROTLI_*, Node's own loop over zlib.constants).
|
|
1779
1857
|
zlib: Object.fromEntries(Object.entries(ZLIB_CONSTANTS).filter(([name]) => !name.startsWith("BROTLI"))),
|
|
@@ -1864,8 +1942,13 @@ export const BUILTIN_MODULE_FN_ALIASES = {
|
|
|
1864
1942
|
crypto: {
|
|
1865
1943
|
// The composed randomBytes(n).toString(enc) chain keeps its one-libCall
|
|
1866
1944
|
// lowering (lowerCryptoComposedCall), while the callback overload has
|
|
1867
|
-
// its own adapter spelling. Both remain the randomBytes surface
|
|
1868
|
-
|
|
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
|
+
],
|
|
1869
1952
|
// Omitting size fills from offset through the rest of the Buffer and
|
|
1870
1953
|
// uses a separate runtime entry point for Node's exact bounds checks.
|
|
1871
1954
|
// Views of every kind return themselves; other buffers take the Dyn form.
|
|
@@ -1875,9 +1958,14 @@ export const BUILTIN_MODULE_FN_ALIASES = {
|
|
|
1875
1958
|
"crypto.randomFillViewRest",
|
|
1876
1959
|
"crypto.randomFillSyncDyn",
|
|
1877
1960
|
],
|
|
1878
|
-
randomFill: [
|
|
1961
|
+
randomFill: [
|
|
1962
|
+
"crypto.randomFillCbDyn",
|
|
1963
|
+
"crypto.randomFillPromise",
|
|
1964
|
+
"crypto.randomFillPromiseDyn",
|
|
1965
|
+
],
|
|
1879
1966
|
timingSafeEqual: ["crypto.timingSafeEqualDyn"],
|
|
1880
|
-
|
|
1967
|
+
getRandomValues: ["crypto.getRandomValuesDyn"],
|
|
1968
|
+
randomInt: ["crypto.randomIntMax", "crypto.randomIntCb", "crypto.randomIntPromise"],
|
|
1881
1969
|
randomUUID: ["crypto.randomUUIDOpts"],
|
|
1882
1970
|
},
|
|
1883
1971
|
os: {
|
|
@@ -1899,7 +1987,14 @@ export const AMBIENT_SURFACE_FNS = [
|
|
|
1899
1987
|
id: "node-builtin.worker_threads.metadata",
|
|
1900
1988
|
kind: "node-builtin",
|
|
1901
1989
|
name: "worker_threads metadata",
|
|
1902
|
-
fns: [
|
|
1990
|
+
fns: [
|
|
1991
|
+
"worker.isMainThread",
|
|
1992
|
+
"worker.threadId",
|
|
1993
|
+
"worker.data",
|
|
1994
|
+
"worker.parentPort",
|
|
1995
|
+
"worker.resourceLimits",
|
|
1996
|
+
"worker.threadName",
|
|
1997
|
+
],
|
|
1903
1998
|
note: "current-thread metadata and the worker's parent message port",
|
|
1904
1999
|
},
|
|
1905
2000
|
{
|
|
@@ -1923,6 +2018,20 @@ export const AMBIENT_SURFACE_FNS = [
|
|
|
1923
2018
|
fns: ["blob.fileNew"],
|
|
1924
2019
|
note: "a Blob with name and lastModified (Date.now() when absent)",
|
|
1925
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
|
+
},
|
|
1926
2035
|
{
|
|
1927
2036
|
id: "stdlib.atomics",
|
|
1928
2037
|
kind: "stdlib",
|
|
@@ -1951,14 +2060,22 @@ export const AMBIENT_SURFACE_FNS = [
|
|
|
1951
2060
|
kind: "stdlib",
|
|
1952
2061
|
name: "Date.parse",
|
|
1953
2062
|
fns: ["date.parse"],
|
|
1954
|
-
note: "one date string, using
|
|
2063
|
+
note: "one date string, using V8's date parser shared with new Date(dateString)",
|
|
1955
2064
|
},
|
|
1956
2065
|
{
|
|
1957
2066
|
id: "stdlib.date.constructor",
|
|
1958
2067
|
kind: "stdlib",
|
|
1959
2068
|
name: "Date constructor",
|
|
1960
|
-
fns: [
|
|
1961
|
-
|
|
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",
|
|
1962
2079
|
},
|
|
1963
2080
|
{
|
|
1964
2081
|
id: "stdlib.date.UTC",
|
|
@@ -1988,6 +2105,13 @@ export const AMBIENT_SURFACE_FNS = [
|
|
|
1988
2105
|
fns: ["date.toISOString", "date.toISOStringValue"],
|
|
1989
2106
|
note: "UTC ISO formatting over constructed and stored Date values",
|
|
1990
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
|
+
},
|
|
1991
2115
|
{
|
|
1992
2116
|
id: "stdlib.date.getFullYear",
|
|
1993
2117
|
kind: "stdlib",
|
|
@@ -2085,6 +2209,25 @@ export const AMBIENT_SURFACE_FNS = [
|
|
|
2085
2209
|
name: "Date.prototype.getTimezoneOffset",
|
|
2086
2210
|
fns: ["date.getTimezoneOffset"],
|
|
2087
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
|
+
},
|
|
2088
2231
|
// ── perf_hooks (lowerPerfHooksCall): the monotonic clock.
|
|
2089
2232
|
{
|
|
2090
2233
|
id: "node-builtin.perf_hooks.performance.now",
|
|
@@ -2135,6 +2278,27 @@ export const AMBIENT_SURFACE_FNS = [
|
|
|
2135
2278
|
name: "perf_hooks.performance.clearMeasures",
|
|
2136
2279
|
fns: ["perf.clearMeasures"],
|
|
2137
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
|
+
},
|
|
2138
2302
|
// ── the process global's ambient reads and authority calls
|
|
2139
2303
|
// (lowerProcessProperty/lowerProcessMethodCall — process is a
|
|
2140
2304
|
// provenance-checked global here, not an importable module).
|
|
@@ -2246,6 +2410,12 @@ export const AMBIENT_SURFACE_FNS = [
|
|
|
2246
2410
|
name: "process.argv0",
|
|
2247
2411
|
fns: ["process.argv0"],
|
|
2248
2412
|
},
|
|
2413
|
+
{
|
|
2414
|
+
id: "node-builtin.process.execArgv",
|
|
2415
|
+
kind: "node-builtin",
|
|
2416
|
+
name: "process.execArgv",
|
|
2417
|
+
fns: ["process.execArgv"],
|
|
2418
|
+
},
|
|
2249
2419
|
{
|
|
2250
2420
|
id: "node-builtin.process.execPath",
|
|
2251
2421
|
kind: "node-builtin",
|
|
@@ -2354,8 +2524,8 @@ export const AMBIENT_SURFACE_FNS = [
|
|
|
2354
2524
|
id: "node-builtin.process.exitCode",
|
|
2355
2525
|
kind: "node-builtin",
|
|
2356
2526
|
name: "process.exitCode",
|
|
2357
|
-
fns: ["process.setExitCode"],
|
|
2358
|
-
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",
|
|
2359
2529
|
},
|
|
2360
2530
|
// ── the tls CA store (lowerTlsCaCall / lowerTlsRootCertificates): the
|
|
2361
2531
|
// host's trust anchors, read and replaced. Dedicated paths, and
|
|
@@ -2395,6 +2565,15 @@ export const AMBIENT_SURFACE_FNS = [
|
|
|
2395
2565
|
fns: ["os.constants"],
|
|
2396
2566
|
note: "the platform's dlopen, errno, signals and priority groups; members a platform lacks read as undefined",
|
|
2397
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
|
+
},
|
|
2398
2577
|
];
|
|
2399
2578
|
/** The win32-target overrides of the bare modules' constants: path's
|
|
2400
2579
|
* constants ARE the path/win32 namespace's, and os.EOL is CRLF (Node's
|
|
@@ -2477,7 +2656,11 @@ export const FS_CALLBACK_MEMBERS = new Set([
|
|
|
2477
2656
|
* inherited function into the diagnostic text). */
|
|
2478
2657
|
export function builtinFenceHintOf(module, member) {
|
|
2479
2658
|
const mod = ownEntry(BUILTIN_MODULE_FENCE_HINTS, module);
|
|
2480
|
-
|
|
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;
|
|
2481
2664
|
}
|
|
2482
2665
|
/** BUILTIN_MODULE_CONSTS with the win32-target overrides applied — the
|
|
2483
2666
|
* constants twin of builtinModuleFnsOf. */
|
|
@@ -2624,7 +2807,7 @@ export const BUILTIN_MODULE_FENCE_HINTS = {
|
|
|
2624
2807
|
doesNotReject: ASSERT_MODULE_HINTS["doesNotReject"],
|
|
2625
2808
|
},
|
|
2626
2809
|
util: {
|
|
2627
|
-
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 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",
|
|
2628
2811
|
},
|
|
2629
2812
|
"stream/consumers": {
|
|
2630
2813
|
blob: "collecting a stream into a Blob is not supported yet — " +
|
|
@@ -2636,7 +2819,7 @@ export const BUILTIN_MODULE_FENCE_HINTS = {
|
|
|
2636
2819
|
"relative .json documents and natively compiled npm packages resolve at build time; " +
|
|
2637
2820
|
"dynamic specifiers cannot exist in a compiled binary's fixed module graph",
|
|
2638
2821
|
isBuiltin: "the lowered call checks a string against the baked Node v24 list, including bare/node: aliases and prefix-only builtins",
|
|
2639
|
-
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",
|
|
2640
2823
|
},
|
|
2641
2824
|
child_process: {
|
|
2642
2825
|
execFile: "the callback forms execFile(file, callback), execFile(file, args, callback), and execFile(file, args, { encoding: 'utf8', maxBuffer: N }, callback) lower; " +
|
|
@@ -2771,8 +2954,8 @@ export function stdlibMemberFence(lowerer, access) {
|
|
|
2771
2954
|
hint =
|
|
2772
2955
|
"'.groups' lowers when the match's regex is STATICALLY known — a regex literal, or a " +
|
|
2773
2956
|
"const initialized with one (the group-name table is built at compile time) — and the " +
|
|
2774
|
-
"
|
|
2775
|
-
"
|
|
2957
|
+
"match comes from exec, match, a for-of over matchAll, or the element parameter of an " +
|
|
2958
|
+
"array-method callback over matchAll rows";
|
|
2776
2959
|
}
|
|
2777
2960
|
else if (recvIr?.kind === "array" && member === "flat") {
|
|
2778
2961
|
hint =
|
|
@@ -2901,11 +3084,11 @@ export function isChildSurfaceMember(lowerer, access) {
|
|
|
2901
3084
|
if (isStdlibMember(lowerer, access))
|
|
2902
3085
|
return true;
|
|
2903
3086
|
const sym = lowerer.checker.getSymbolAtLocation(access.name);
|
|
2904
|
-
const decl = sym ?
|
|
3087
|
+
const decl = sym ? sym.declarations[0] : undefined;
|
|
2905
3088
|
const iface = decl?.parent;
|
|
2906
3089
|
if (!decl || !iface || !ts.isInterfaceDeclaration(iface))
|
|
2907
3090
|
return false;
|
|
2908
|
-
if (lowerer.isStdlibFile(
|
|
3091
|
+
if (lowerer.isStdlibFile(ts.getSourceFileOfNode(decl)))
|
|
2909
3092
|
return false;
|
|
2910
3093
|
return lowerer.mapTypeOf(lowerer.checker.getTypeAtLocation(iface.name))?.kind === "child";
|
|
2911
3094
|
}
|
|
@@ -2915,8 +3098,7 @@ export function isChildSurfaceMember(lowerer, access) {
|
|
|
2915
3098
|
* with lib interfaces, so a member can carry declarations from both. A
|
|
2916
3099
|
* user's own declaration is in neither, so shadowing never matches. */
|
|
2917
3100
|
export function isStdlibSymbol(lowerer, symbol) {
|
|
2918
|
-
return (!!symbol &&
|
|
2919
|
-
lowerer.checker.declarationsOf(symbol).some((d) => lowerer.isStdlibFile(d.getSourceFile())));
|
|
3101
|
+
return (!!symbol && symbol.declarations.some((d) => lowerer.isStdlibFile(ts.getSourceFileOfNode(d))));
|
|
2920
3102
|
}
|
|
2921
3103
|
/** The canonical stdlib-global name `expr` denotes, or null. Three
|
|
2922
3104
|
* spellings reach the same global (Node's own aliasing):
|
|
@@ -2929,7 +3111,9 @@ export function isStdlibSymbol(lowerer, symbol) {
|
|
|
2929
3111
|
* `global.process`) — `declare var` globals ARE properties of
|
|
2930
3112
|
* `typeof globalThis`, same symbol either way;
|
|
2931
3113
|
* - a local alias binding (`const process = globalThis.process`, the
|
|
2932
|
-
* 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). */
|
|
2933
3117
|
export function stdlibGlobalNameOf(lowerer, expr) {
|
|
2934
3118
|
if (ts.isParenthesizedExpression(expr))
|
|
2935
3119
|
return stdlibGlobalNameOf(lowerer, expr.expression);
|
|
@@ -2939,16 +3123,17 @@ export function stdlibGlobalNameOf(lowerer, expr) {
|
|
|
2939
3123
|
// global bindings, but local parameters can shadow it. Its special
|
|
2940
3124
|
// symbol has no ordinary declarations for the provenance check.
|
|
2941
3125
|
if (expr.text === "globalThis" &&
|
|
2942
|
-
(!symbol ||
|
|
2943
|
-
lowerer.checker.declarationsOf(symbol).length === 0 ||
|
|
2944
|
-
lowerer.isStdlibSymbol(symbol)))
|
|
3126
|
+
(!symbol || symbol.declarations.length === 0 || lowerer.isStdlibSymbol(symbol)))
|
|
2945
3127
|
return "globalThis";
|
|
2946
3128
|
if (!symbol)
|
|
2947
3129
|
return null;
|
|
2948
3130
|
const alias = lowerer.stdlibGlobalAliases.get(symbol);
|
|
2949
3131
|
if (alias !== undefined)
|
|
2950
3132
|
return alias;
|
|
2951
|
-
const
|
|
3133
|
+
const classAlias = lowerer.builtinClassAliasOf(symbol);
|
|
3134
|
+
if (classAlias?.kind === "collection")
|
|
3135
|
+
return classAlias.which;
|
|
3136
|
+
const decl = symbol.declarations[0];
|
|
2952
3137
|
if (decl !== undefined && ts.isImportClause(decl) && decl.name !== undefined) {
|
|
2953
3138
|
const importDecl = decl.parent;
|
|
2954
3139
|
if (ts.isImportDeclaration(importDecl) && ts.isStringLiteral(importDecl.moduleSpecifier)) {
|
|
@@ -2964,9 +3149,21 @@ export function stdlibGlobalNameOf(lowerer, expr) {
|
|
|
2964
3149
|
// the bare-global spelling. A user module re-exporting its own
|
|
2965
3150
|
// `Buffer` resolves to a user-file declaration and still misses.
|
|
2966
3151
|
const resolved = symbol.flags & ts.SymbolFlags.Alias ? lowerer.checker.getAliasedSymbol(symbol) : symbol;
|
|
2967
|
-
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
|
+
}
|
|
2968
3164
|
return null;
|
|
2969
|
-
|
|
3165
|
+
}
|
|
3166
|
+
return ts.symbolName(resolved) === "global" ? "globalThis" : ts.symbolName(resolved);
|
|
2970
3167
|
}
|
|
2971
3168
|
if (ts.isPropertyAccessExpression(expr) && !expr.questionDotToken) {
|
|
2972
3169
|
if (stdlibGlobalNameOf(lowerer, expr.expression) !== "globalThis")
|
|
@@ -2974,7 +3171,7 @@ export function stdlibGlobalNameOf(lowerer, expr) {
|
|
|
2974
3171
|
const symbol = lowerer.checker.getSymbolAtLocation(expr.name);
|
|
2975
3172
|
if (!symbol || !lowerer.isStdlibSymbol(symbol))
|
|
2976
3173
|
return null;
|
|
2977
|
-
return symbol
|
|
3174
|
+
return ts.symbolName(symbol) === "global" ? "globalThis" : ts.symbolName(symbol);
|
|
2978
3175
|
}
|
|
2979
3176
|
return null;
|
|
2980
3177
|
}
|
|
@@ -3032,7 +3229,9 @@ export function stdlibGlobalAliasNameOf(lowerer, init) {
|
|
|
3032
3229
|
const requireSpec = requireSpecOf(aliasExpr);
|
|
3033
3230
|
const name = requireSpec === "process" || requireSpec === "node:process"
|
|
3034
3231
|
? "process"
|
|
3035
|
-
:
|
|
3232
|
+
: bufferNamespaceMember(lowerer, aliasExpr)
|
|
3233
|
+
? "Buffer"
|
|
3234
|
+
: stdlibGlobalNameOf(lowerer, aliasExpr);
|
|
3036
3235
|
if (name === null)
|
|
3037
3236
|
return null;
|
|
3038
3237
|
// These globals have provenance-aware call or member lowering, so a
|
|
@@ -3049,10 +3248,22 @@ export function stdlibGlobalAliasNameOf(lowerer, init) {
|
|
|
3049
3248
|
"Number",
|
|
3050
3249
|
"String",
|
|
3051
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",
|
|
3052
3255
|
].includes(name)
|
|
3053
3256
|
? name
|
|
3054
3257
|
: null;
|
|
3055
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
|
+
}
|
|
3056
3267
|
export function stdlibGlobalAliasDecl(lowerer, nameNode, init) {
|
|
3057
3268
|
if (!ts.isIdentifier(nameNode))
|
|
3058
3269
|
return false;
|
|
@@ -3076,12 +3287,12 @@ export function stdlibGlobalAliasDecl(lowerer, nameNode, init) {
|
|
|
3076
3287
|
* the SC2020 fence's wording: "typed by @types/node", not "standard
|
|
3077
3288
|
* library". */
|
|
3078
3289
|
export function nodeTypesOnlySymbol(lowerer, sym) {
|
|
3079
|
-
const decls = sym ?
|
|
3290
|
+
const decls = sym ? sym.declarations : undefined;
|
|
3080
3291
|
if (!decls || decls.length === 0)
|
|
3081
3292
|
return false;
|
|
3082
3293
|
let viaNode = false;
|
|
3083
3294
|
for (const d of decls) {
|
|
3084
|
-
const sf =
|
|
3295
|
+
const sf = ts.getSourceFileOfNode(d);
|
|
3085
3296
|
if (sf.isDeclarationFile && isNodeTypesPath(sf.fileName))
|
|
3086
3297
|
viaNode = true;
|
|
3087
3298
|
else if (lowerer.isStdlibFile(sf))
|