@scriptc/compiler 0.2.4 → 0.2.5
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 +915 -215
- package/ambient/scriptc-overrides.d.ts +5 -1
- package/ambient/scriptc.d.ts +22 -2
- package/dist/backend/build-cache.d.ts +4 -0
- package/dist/backend/build-cache.js +16 -2
- package/dist/backend/build-cache.js.map +1 -1
- package/dist/backend/cycle-analysis.js +17 -5
- package/dist/backend/cycle-analysis.js.map +1 -1
- package/dist/backend/cycle-analysis.test.js +50 -11
- package/dist/backend/cycle-analysis.test.js.map +1 -1
- package/dist/backend/debug-symbols.js.map +1 -1
- package/dist/backend/executable-features.js +2 -1
- package/dist/backend/executable-features.js.map +1 -1
- package/dist/backend/external-c.d.ts +13 -6
- package/dist/backend/external-c.js +15 -3
- package/dist/backend/external-c.js.map +1 -1
- package/dist/backend/ffi-callbacks.js +6 -9
- package/dist/backend/ffi-callbacks.js.map +1 -1
- package/dist/backend/library-identity-markers.js.map +1 -1
- package/dist/backend/library-pack.d.ts +1 -1
- package/dist/backend/library-pack.js +81 -24
- package/dist/backend/library-pack.js.map +1 -1
- package/dist/backend/link-plan-core.js +9 -2
- package/dist/backend/link-plan-core.js.map +1 -1
- package/dist/backend/link-plan.d.ts +1 -1
- package/dist/backend/link-plan.js +4 -5
- package/dist/backend/link-plan.js.map +1 -1
- package/dist/backend/linker.d.ts +1 -1
- package/dist/backend/linker.js +42 -23
- package/dist/backend/linker.js.map +1 -1
- package/dist/backend/literals.js +5 -4
- package/dist/backend/literals.js.map +1 -1
- package/dist/backend/literals.test.js +30 -5
- package/dist/backend/literals.test.js.map +1 -1
- package/dist/backend/llvm/blocks.test.js +5 -2
- package/dist/backend/llvm/blocks.test.js.map +1 -1
- package/dist/backend/llvm/borrowed-inputs.js.map +1 -1
- package/dist/backend/llvm/borrowed-receivers.js +43 -19
- package/dist/backend/llvm/borrowed-receivers.js.map +1 -1
- package/dist/backend/llvm/byte-numbers.js +6 -1
- package/dist/backend/llvm/byte-numbers.js.map +1 -1
- package/dist/backend/llvm/bytes-bounds.js +73 -22
- package/dist/backend/llvm/bytes-bounds.js.map +1 -1
- package/dist/backend/llvm/call-lifetimes.d.ts +3 -0
- package/dist/backend/llvm/call-lifetimes.js +60 -17
- package/dist/backend/llvm/call-lifetimes.js.map +1 -1
- package/dist/backend/llvm/call-lifetimes.test.js +159 -28
- package/dist/backend/llvm/call-lifetimes.test.js.map +1 -1
- package/dist/backend/llvm/checked-value-lifetimes.d.ts +4 -0
- package/dist/backend/llvm/checked-value-lifetimes.js +14 -4
- package/dist/backend/llvm/checked-value-lifetimes.js.map +1 -1
- package/dist/backend/llvm/classes.js +16 -12
- package/dist/backend/llvm/classes.js.map +1 -1
- package/dist/backend/llvm/common.js +4 -1
- package/dist/backend/llvm/common.js.map +1 -1
- package/dist/backend/llvm/counted-loops.js +10 -3
- package/dist/backend/llvm/counted-loops.js.map +1 -1
- package/dist/backend/llvm/debug-info.js +33 -13
- package/dist/backend/llvm/debug-info.js.map +1 -1
- package/dist/backend/llvm/debug-info.test.js +28 -6
- package/dist/backend/llvm/debug-info.test.js.map +1 -1
- package/dist/backend/llvm/dyn.js +68 -22
- package/dist/backend/llvm/dyn.js.map +1 -1
- package/dist/backend/llvm/emitter.d.ts +9 -3
- package/dist/backend/llvm/emitter.js +238 -105
- package/dist/backend/llvm/emitter.js.map +1 -1
- package/dist/backend/llvm/emitter.test.js +233 -42
- package/dist/backend/llvm/emitter.test.js.map +1 -1
- package/dist/backend/llvm/expr-async.js +25 -6
- package/dist/backend/llvm/expr-async.js.map +1 -1
- package/dist/backend/llvm/expr-bytes.js +13 -4
- package/dist/backend/llvm/expr-bytes.js.map +1 -1
- package/dist/backend/llvm/expr-callbacks.js +10 -4
- package/dist/backend/llvm/expr-callbacks.js.map +1 -1
- package/dist/backend/llvm/expr-calls.js +20 -9
- package/dist/backend/llvm/expr-calls.js.map +1 -1
- package/dist/backend/llvm/expr-containers.d.ts +2 -0
- package/dist/backend/llvm/expr-containers.js +92 -33
- package/dist/backend/llvm/expr-containers.js.map +1 -1
- package/dist/backend/llvm/expr-control.js +1 -3
- package/dist/backend/llvm/expr-control.js.map +1 -1
- package/dist/backend/llvm/expr-dispatch.js +3 -1
- package/dist/backend/llvm/expr-dispatch.js.map +1 -1
- package/dist/backend/llvm/expr-dynamic.js +19 -4
- package/dist/backend/llvm/expr-dynamic.js.map +1 -1
- package/dist/backend/llvm/expr-island.js +26 -6
- package/dist/backend/llvm/expr-island.js.map +1 -1
- package/dist/backend/llvm/expr-primitives.js +88 -19
- package/dist/backend/llvm/expr-primitives.js.map +1 -1
- package/dist/backend/llvm/expr-primitives.test.js +43 -1
- package/dist/backend/llvm/expr-primitives.test.js.map +1 -1
- package/dist/backend/llvm/expr-records.js +10 -9
- package/dist/backend/llvm/expr-records.js.map +1 -1
- package/dist/backend/llvm/expr-stream-bridges.js +44 -26
- package/dist/backend/llvm/expr-stream-bridges.js.map +1 -1
- package/dist/backend/llvm/expr-stream-bridges.test.js +51 -14
- package/dist/backend/llvm/expr-stream-bridges.test.js.map +1 -1
- package/dist/backend/llvm/expr-stream-callbacks.js +34 -14
- package/dist/backend/llvm/expr-stream-callbacks.js.map +1 -1
- package/dist/backend/llvm/integer-values.js +15 -4
- package/dist/backend/llvm/integer-values.js.map +1 -1
- package/dist/backend/llvm/integer-views.js +23 -7
- package/dist/backend/llvm/integer-views.js.map +1 -1
- package/dist/backend/llvm/integer-views.test.js +42 -7
- package/dist/backend/llvm/integer-views.test.js.map +1 -1
- package/dist/backend/llvm/lib-abi.js +13 -4
- package/dist/backend/llvm/lib-abi.js.map +1 -1
- package/dist/backend/llvm/lib-connect.js +7 -1
- package/dist/backend/llvm/lib-connect.js.map +1 -1
- package/dist/backend/llvm/lib-datagram.js +35 -10
- package/dist/backend/llvm/lib-datagram.js.map +1 -1
- package/dist/backend/llvm/lib-dispatch.js +35 -16
- package/dist/backend/llvm/lib-dispatch.js.map +1 -1
- package/dist/backend/llvm/lib-filesystem.js +33 -18
- package/dist/backend/llvm/lib-filesystem.js.map +1 -1
- package/dist/backend/llvm/lib-http2.js +60 -15
- package/dist/backend/llvm/lib-http2.js.map +1 -1
- package/dist/backend/llvm/lib-lookup.js +12 -5
- package/dist/backend/llvm/lib-lookup.js.map +1 -1
- package/dist/backend/llvm/lib-network.js +97 -31
- package/dist/backend/llvm/lib-network.js.map +1 -1
- package/dist/backend/llvm/lib-process.js +57 -14
- package/dist/backend/llvm/lib-process.js.map +1 -1
- package/dist/backend/llvm/lib-shared.js +107 -31
- package/dist/backend/llvm/lib-shared.js.map +1 -1
- package/dist/backend/llvm/lib-stream.js +33 -14
- package/dist/backend/llvm/lib-stream.js.map +1 -1
- package/dist/backend/llvm/lib-test.js +21 -7
- package/dist/backend/llvm/lib-test.js.map +1 -1
- package/dist/backend/llvm/lib-tls.js +69 -20
- package/dist/backend/llvm/lib-tls.js.map +1 -1
- package/dist/backend/llvm/local-array-reads.d.ts +1 -0
- package/dist/backend/llvm/local-array-reads.js +96 -30
- package/dist/backend/llvm/local-array-reads.js.map +1 -1
- package/dist/backend/llvm/local-array-reads.test.js +368 -60
- package/dist/backend/llvm/local-array-reads.test.js.map +1 -1
- package/dist/backend/llvm/local-union-storage.d.ts +25 -0
- package/dist/backend/llvm/local-union-storage.js +109 -0
- package/dist/backend/llvm/local-union-storage.js.map +1 -0
- package/dist/backend/llvm/local-union-storage.test.d.ts +1 -0
- package/dist/backend/llvm/local-union-storage.test.js +210 -0
- package/dist/backend/llvm/local-union-storage.test.js.map +1 -0
- package/dist/backend/llvm/map-read-lifetimes.d.ts +6 -2
- package/dist/backend/llvm/map-read-lifetimes.js +44 -14
- package/dist/backend/llvm/map-read-lifetimes.js.map +1 -1
- package/dist/backend/llvm/map-read-lifetimes.test.js +89 -17
- package/dist/backend/llvm/map-read-lifetimes.test.js.map +1 -1
- package/dist/backend/llvm/reference-effects.d.ts +3 -2
- package/dist/backend/llvm/reference-effects.js +67 -36
- package/dist/backend/llvm/reference-effects.js.map +1 -1
- package/dist/backend/llvm/reference-effects.test.js +92 -9
- package/dist/backend/llvm/reference-effects.test.js.map +1 -1
- package/dist/backend/llvm/shapes.js +60 -17
- package/dist/backend/llvm/shapes.js.map +1 -1
- package/dist/backend/llvm/shapes.test.js +3 -1
- package/dist/backend/llvm/shapes.test.js.map +1 -1
- package/dist/backend/llvm/split.js +4 -4
- package/dist/backend/llvm/split.js.map +1 -1
- package/dist/backend/llvm/split.test.js +14 -6
- package/dist/backend/llvm/split.test.js.map +1 -1
- package/dist/backend/llvm/stack-unions.js +14 -5
- package/dist/backend/llvm/stack-unions.js.map +1 -1
- package/dist/backend/llvm/stack-unions.test.js +151 -32
- package/dist/backend/llvm/stack-unions.test.js.map +1 -1
- package/dist/backend/llvm/string-construction.js.map +1 -1
- package/dist/backend/llvm/string-construction.test.js +32 -7
- package/dist/backend/llvm/string-construction.test.js.map +1 -1
- package/dist/backend/llvm/string-lifetimes.js +14 -8
- package/dist/backend/llvm/string-lifetimes.js.map +1 -1
- package/dist/backend/llvm/string-lifetimes.test.js +112 -26
- package/dist/backend/llvm/string-lifetimes.test.js.map +1 -1
- package/dist/backend/llvm/switch-dispatch.d.ts +9 -0
- package/dist/backend/llvm/switch-dispatch.js +114 -0
- package/dist/backend/llvm/switch-dispatch.js.map +1 -0
- package/dist/backend/llvm/switch-dispatch.test.d.ts +1 -0
- package/dist/backend/llvm/switch-dispatch.test.js +83 -0
- package/dist/backend/llvm/switch-dispatch.test.js.map +1 -0
- package/dist/backend/llvm/unsupported.js.map +1 -1
- package/dist/backend/llvm/walkers.js +6 -3
- package/dist/backend/llvm/walkers.js.map +1 -1
- package/dist/backend/mangle.js +9 -3
- package/dist/backend/mangle.js.map +1 -1
- package/dist/backend/may-throw.js +18 -8
- package/dist/backend/may-throw.js.map +1 -1
- package/dist/backend/may-throw.test.js +118 -22
- package/dist/backend/may-throw.test.js.map +1 -1
- package/dist/backend/native/artifact-stamps.d.ts +39 -0
- package/dist/backend/native/artifact-stamps.js +371 -0
- package/dist/backend/native/artifact-stamps.js.map +1 -0
- package/dist/backend/native/cache-warm.d.ts +24 -0
- package/dist/backend/native/cache-warm.js +80 -0
- package/dist/backend/native/cache-warm.js.map +1 -0
- package/dist/backend/native/compiler-fingerprint.d.ts +19 -0
- package/dist/backend/native/compiler-fingerprint.js +357 -0
- package/dist/backend/native/compiler-fingerprint.js.map +1 -0
- package/dist/backend/native/contracts.d.ts +314 -0
- package/dist/backend/native/contracts.js +2 -0
- package/dist/backend/native/contracts.js.map +1 -0
- package/dist/backend/native/dependency-files.d.ts +5 -0
- package/dist/backend/native/dependency-files.js +83 -0
- package/dist/backend/native/dependency-files.js.map +1 -0
- package/dist/backend/native/driver.d.ts +50 -0
- package/dist/backend/native/driver.js +294 -0
- package/dist/backend/native/driver.js.map +1 -0
- package/dist/backend/native/executable.d.ts +18 -0
- package/dist/backend/native/executable.js +1267 -0
- package/dist/backend/native/executable.js.map +1 -0
- package/dist/backend/native/library.d.ts +2 -0
- package/dist/backend/native/library.js +614 -0
- package/dist/backend/native/library.js.map +1 -0
- package/dist/backend/native/linker-fingerprint.d.ts +8 -0
- package/dist/backend/native/linker-fingerprint.js +174 -0
- package/dist/backend/native/linker-fingerprint.js.map +1 -0
- package/dist/backend/native/object-merge.d.ts +2 -0
- package/dist/backend/native/object-merge.js +154 -0
- package/dist/backend/native/object-merge.js.map +1 -0
- package/dist/backend/native/process.d.ts +17 -0
- package/dist/backend/native/process.js +42 -0
- package/dist/backend/native/process.js.map +1 -0
- package/dist/backend/native/program-shards.d.ts +21 -0
- package/dist/backend/native/program-shards.js +99 -0
- package/dist/backend/native/program-shards.js.map +1 -0
- package/dist/backend/native/runtime-inputs.d.ts +12 -0
- package/dist/backend/native/runtime-inputs.js +163 -0
- package/dist/backend/native/runtime-inputs.js.map +1 -0
- package/dist/backend/native/runtime-inputs.test.d.ts +1 -0
- package/dist/backend/native/runtime-inputs.test.js +64 -0
- package/dist/backend/native/runtime-inputs.test.js.map +1 -0
- package/dist/backend/native/runtime-objects.d.ts +16 -0
- package/dist/backend/native/runtime-objects.js +122 -0
- package/dist/backend/native/runtime-objects.js.map +1 -0
- package/dist/backend/native/session.d.ts +12 -0
- package/dist/backend/native/session.js +31 -0
- package/dist/backend/native/session.js.map +1 -0
- package/dist/backend/native/tool-identity.d.ts +37 -0
- package/dist/backend/native/tool-identity.js +310 -0
- package/dist/backend/native/tool-identity.js.map +1 -0
- package/dist/backend/native/trace-paths.d.ts +12 -0
- package/dist/backend/native/trace-paths.js +73 -0
- package/dist/backend/native/trace-paths.js.map +1 -0
- package/dist/backend/native/vendor.d.ts +1 -0
- package/dist/backend/native/vendor.js +12 -0
- package/dist/backend/native/vendor.js.map +1 -0
- package/dist/backend/native-codegen-core.js +2 -1
- package/dist/backend/native-codegen-core.js.map +1 -1
- package/dist/backend/native-codegen.d.ts +1 -1
- package/dist/backend/native-codegen.js +24 -13
- package/dist/backend/native-codegen.js.map +1 -1
- package/dist/backend/native-codegen.test.js +12 -9
- package/dist/backend/native-codegen.test.js.map +1 -1
- package/dist/backend/native-link-info-core.js +9 -5
- package/dist/backend/native-link-info-core.js.map +1 -1
- package/dist/backend/native-link-info.js +14 -5
- package/dist/backend/native-link-info.js.map +1 -1
- package/dist/backend/native-link-info.test.js +58 -13
- package/dist/backend/native-link-info.test.js.map +1 -1
- package/dist/backend/native-toolchain.d.ts +17 -450
- package/dist/backend/native-toolchain.js +17 -3971
- package/dist/backend/native-toolchain.js.map +1 -1
- package/dist/backend/native-toolchain.test.js +103 -72
- package/dist/backend/native-toolchain.test.js.map +1 -1
- package/dist/backend/native-tools.js +27 -8
- package/dist/backend/native-tools.js.map +1 -1
- package/dist/backend/object-localize.js +17 -14
- package/dist/backend/object-localize.js.map +1 -1
- package/dist/backend/object-localize.test.js +59 -12
- package/dist/backend/object-localize.test.js.map +1 -1
- package/dist/backend/runtime-pack-core.js +96 -49
- package/dist/backend/runtime-pack-core.js.map +1 -1
- package/dist/backend/runtime-pack-native.js +5 -3
- package/dist/backend/runtime-pack-native.js.map +1 -1
- package/dist/backend/runtime-pack-targets.test.js +87 -15
- package/dist/backend/runtime-pack-targets.test.js.map +1 -1
- package/dist/backend/runtime-pack.d.ts +1 -1
- package/dist/backend/runtime-pack.js +11 -12
- package/dist/backend/runtime-pack.js.map +1 -1
- package/dist/backend/runtime-pack.test.js +40 -24
- package/dist/backend/runtime-pack.test.js.map +1 -1
- package/dist/backend/source-locations.js.map +1 -1
- package/dist/backend/source-locations.test.js +7 -2
- package/dist/backend/source-locations.test.js.map +1 -1
- package/dist/backend/target-diagnostics.js +44 -14
- package/dist/backend/target-diagnostics.js.map +1 -1
- package/dist/backend/target-diagnostics.test.js +93 -20
- package/dist/backend/target-diagnostics.test.js.map +1 -1
- package/dist/backend/targets.js +230 -86
- package/dist/backend/targets.js.map +1 -1
- package/dist/backend/targets.test.js +32 -18
- package/dist/backend/targets.test.js.map +1 -1
- package/dist/backend/toolchain-environment.js +5 -1
- package/dist/backend/toolchain-environment.js.map +1 -1
- package/dist/backend/vendor-archives.d.ts +2 -2
- package/dist/backend/vendor-archives.js +84 -35
- package/dist/backend/vendor-archives.js.map +1 -1
- package/dist/backend/vendor-inputs.js +13 -1
- package/dist/backend/vendor-inputs.js.map +1 -1
- package/dist/backend/warm-cache.d.ts +1 -1
- package/dist/backend/warm-cache.js +33 -9
- package/dist/backend/warm-cache.js.map +1 -1
- package/dist/cli/command.js +39 -9
- package/dist/cli/command.js.map +1 -1
- package/dist/cli/output-options.js +14 -4
- package/dist/cli/output-options.js.map +1 -1
- package/dist/cli/paths.js.map +1 -1
- package/dist/cli/wasi-runner.js.map +1 -1
- package/dist/compat/fetch-profile.js +36 -35
- package/dist/compat/fetch-profile.js.map +1 -1
- package/dist/coverage/report.js +16 -17
- package/dist/coverage/report.js.map +1 -1
- package/dist/coverage/surface-manifest.js +112 -26
- package/dist/coverage/surface-manifest.js.map +1 -1
- package/dist/diagnostics/diagnostic.js +55 -16
- package/dist/diagnostics/diagnostic.js.map +1 -1
- package/dist/executable/executable-cache.d.ts +1 -1
- package/dist/executable/executable-cache.js +78 -48
- package/dist/executable/executable-cache.js.map +1 -1
- package/dist/executable/executable-cache.test.js +75 -26
- package/dist/executable/executable-cache.test.js.map +1 -1
- package/dist/executable/prepare.js +2 -2
- package/dist/executable/prepare.js.map +1 -1
- package/dist/ffi/ffi-manifest.js +78 -20
- package/dist/ffi/ffi-manifest.js.map +1 -1
- package/dist/ffi/ffi-manifest.test.js +96 -16
- package/dist/ffi/ffi-manifest.test.js.map +1 -1
- package/dist/format-integer.js.map +1 -1
- package/dist/frontend/analysis.js +12 -2
- package/dist/frontend/analysis.js.map +1 -1
- package/dist/frontend/arguments-usage.js.map +1 -1
- package/dist/frontend/binding-source.js +9 -3
- package/dist/frontend/binding-source.js.map +1 -1
- package/dist/frontend/builtin-modules.js +46 -2
- package/dist/frontend/builtin-modules.js.map +1 -1
- package/dist/frontend/cjs-resolve.js +40 -17
- package/dist/frontend/cjs-resolve.js.map +1 -1
- package/dist/frontend/cjs-syntax.js +31 -10
- package/dist/frontend/cjs-syntax.js.map +1 -1
- package/dist/frontend/comptime-node.test.js +10 -11
- package/dist/frontend/comptime-node.test.js.map +1 -1
- package/dist/frontend/dts-paths.js +7 -3
- package/dist/frontend/dts-paths.js.map +1 -1
- package/dist/frontend/fork-target.js +17 -12
- package/dist/frontend/fork-target.js.map +1 -1
- package/dist/frontend/function-completion.js +11 -6
- package/dist/frontend/function-completion.js.map +1 -1
- package/dist/frontend/helper-tokens.js +53 -6
- package/dist/frontend/helper-tokens.js.map +1 -1
- package/dist/frontend/helper-tokens.test.js +18 -2
- package/dist/frontend/helper-tokens.test.js.map +1 -1
- package/dist/frontend/inferred-js-diagnostics.js +32 -12
- package/dist/frontend/inferred-js-diagnostics.js.map +1 -1
- package/dist/frontend/inferred-js-diagnostics.test.js +11 -15
- package/dist/frontend/inferred-js-diagnostics.test.js.map +1 -1
- package/dist/frontend/input-tracker.js +11 -11
- package/dist/frontend/input-tracker.js.map +1 -1
- package/dist/frontend/input-tracker.test.js +4 -1
- package/dist/frontend/input-tracker.test.js.map +1 -1
- package/dist/frontend/lib-contract.js +38 -9
- package/dist/frontend/lib-contract.js.map +1 -1
- package/dist/frontend/literal-values.js.map +1 -1
- package/dist/frontend/literal-values.test.js +28 -8
- package/dist/frontend/literal-values.test.js.map +1 -1
- package/dist/frontend/lowering/abstract-equality.js +53 -10
- package/dist/frontend/lowering/abstract-equality.js.map +1 -1
- package/dist/frontend/lowering/array-indexed-mutation.d.ts +1 -1
- package/dist/frontend/lowering/array-indexed-mutation.js +108 -106
- package/dist/frontend/lowering/array-indexed-mutation.js.map +1 -1
- package/dist/frontend/lowering/array-values.js +37 -14
- package/dist/frontend/lowering/array-values.js.map +1 -1
- package/dist/frontend/lowering/binding-analysis.d.ts +50 -0
- package/dist/frontend/lowering/binding-analysis.js +376 -0
- package/dist/frontend/lowering/binding-analysis.js.map +1 -0
- package/dist/frontend/lowering/builtin-calls.d.ts +9 -0
- package/dist/frontend/lowering/builtin-calls.js +60 -0
- package/dist/frontend/lowering/builtin-calls.js.map +1 -0
- package/dist/frontend/lowering/builtins/arguments.d.ts +43 -0
- package/dist/frontend/lowering/builtins/arguments.js +247 -0
- package/dist/frontend/lowering/builtins/arguments.js.map +1 -0
- package/dist/frontend/lowering/builtins/async-context.d.ts +52 -0
- package/dist/frontend/lowering/builtins/async-context.js +436 -0
- package/dist/frontend/lowering/builtins/async-context.js.map +1 -0
- package/dist/frontend/lowering/builtins/atomics.d.ts +15 -0
- package/dist/frontend/lowering/builtins/atomics.js +46 -0
- package/dist/frontend/lowering/builtins/atomics.js.map +1 -0
- package/dist/frontend/lowering/builtins/callable-aliases.d.ts +13 -0
- package/dist/frontend/lowering/builtins/callable-aliases.js +87 -0
- package/dist/frontend/lowering/builtins/callable-aliases.js.map +1 -0
- package/dist/frontend/lowering/builtins/child-process-async.d.ts +18 -0
- package/dist/frontend/lowering/builtins/child-process-async.js +245 -0
- package/dist/frontend/lowering/builtins/child-process-async.js.map +1 -0
- package/dist/frontend/lowering/builtins/child-process-methods.d.ts +21 -0
- package/dist/frontend/lowering/builtins/child-process-methods.js +362 -0
- package/dist/frontend/lowering/builtins/child-process-methods.js.map +1 -0
- package/dist/frontend/lowering/builtins/child-process-sync.d.ts +4 -0
- package/dist/frontend/lowering/builtins/child-process-sync.js +639 -0
- package/dist/frontend/lowering/builtins/child-process-sync.js.map +1 -0
- package/dist/frontend/lowering/builtins/child-process.d.ts +55 -0
- package/dist/frontend/lowering/builtins/child-process.js +669 -0
- package/dist/frontend/lowering/builtins/child-process.js.map +1 -0
- package/dist/frontend/lowering/builtins/compression.d.ts +7 -0
- package/dist/frontend/lowering/builtins/compression.js +115 -0
- package/dist/frontend/lowering/builtins/compression.js.map +1 -0
- package/dist/frontend/lowering/builtins/console.d.ts +10 -0
- package/dist/frontend/lowering/builtins/console.js +38 -0
- package/dist/frontend/lowering/builtins/console.js.map +1 -0
- package/dist/frontend/lowering/builtins/constants.d.ts +24 -0
- package/dist/frontend/lowering/builtins/constants.js +141 -0
- package/dist/frontend/lowering/builtins/constants.js.map +1 -0
- package/dist/frontend/lowering/builtins/crypto.d.ts +22 -0
- package/dist/frontend/lowering/builtins/crypto.js +517 -0
- package/dist/frontend/lowering/builtins/crypto.js.map +1 -0
- package/dist/frontend/lowering/builtins/dates.d.ts +7 -0
- package/dist/frontend/lowering/builtins/dates.js +101 -0
- package/dist/frontend/lowering/builtins/dates.js.map +1 -0
- package/dist/frontend/lowering/builtins/environment.d.ts +34 -0
- package/dist/frontend/lowering/builtins/environment.js +95 -0
- package/dist/frontend/lowering/builtins/environment.js.map +1 -0
- package/dist/frontend/lowering/builtins/errors.d.ts +14 -0
- package/dist/frontend/lowering/builtins/errors.js +83 -0
- package/dist/frontend/lowering/builtins/errors.js.map +1 -0
- package/dist/frontend/lowering/builtins/filesystem-calls.d.ts +32 -0
- package/dist/frontend/lowering/builtins/filesystem-calls.js +678 -0
- package/dist/frontend/lowering/builtins/filesystem-calls.js.map +1 -0
- package/dist/frontend/lowering/builtins/filesystem.d.ts +108 -0
- package/dist/frontend/lowering/builtins/filesystem.js +1061 -0
- package/dist/frontend/lowering/builtins/filesystem.js.map +1 -0
- package/dist/frontend/lowering/builtins/ipc.d.ts +8 -0
- package/dist/frontend/lowering/builtins/ipc.js +76 -0
- package/dist/frontend/lowering/builtins/ipc.js.map +1 -0
- package/dist/frontend/lowering/builtins/json.d.ts +12 -0
- package/dist/frontend/lowering/builtins/json.js +387 -0
- package/dist/frontend/lowering/builtins/json.js.map +1 -0
- package/dist/frontend/lowering/builtins/module-bindings.d.ts +85 -0
- package/dist/frontend/lowering/builtins/module-bindings.js +346 -0
- package/dist/frontend/lowering/builtins/module-bindings.js.map +1 -0
- package/dist/frontend/lowering/builtins/module-calls.d.ts +8 -0
- package/dist/frontend/lowering/builtins/module-calls.js +303 -0
- package/dist/frontend/lowering/builtins/module-calls.js.map +1 -0
- package/dist/frontend/lowering/builtins/module-resolution.d.ts +38 -0
- package/dist/frontend/lowering/builtins/module-resolution.js +344 -0
- package/dist/frontend/lowering/builtins/module-resolution.js.map +1 -0
- package/dist/frontend/lowering/builtins/numbers.d.ts +15 -0
- package/dist/frontend/lowering/builtins/numbers.js +124 -0
- package/dist/frontend/lowering/builtins/numbers.js.map +1 -0
- package/dist/frontend/lowering/builtins/operating-system.d.ts +13 -0
- package/dist/frontend/lowering/builtins/operating-system.js +148 -0
- package/dist/frontend/lowering/builtins/operating-system.js.map +1 -0
- package/dist/frontend/lowering/builtins/performance.d.ts +13 -0
- package/dist/frontend/lowering/builtins/performance.js +100 -0
- package/dist/frontend/lowering/builtins/performance.js.map +1 -0
- package/dist/frontend/lowering/builtins/process.d.ts +50 -0
- package/dist/frontend/lowering/builtins/process.js +1138 -0
- package/dist/frontend/lowering/builtins/process.js.map +1 -0
- package/dist/frontend/lowering/builtins/promises.d.ts +14 -0
- package/dist/frontend/lowering/builtins/promises.js +356 -0
- package/dist/frontend/lowering/builtins/promises.js.map +1 -0
- package/dist/frontend/lowering/builtins/properties.d.ts +11 -0
- package/dist/frontend/lowering/builtins/properties.js +186 -0
- package/dist/frontend/lowering/builtins/properties.js.map +1 -0
- package/dist/frontend/lowering/builtins/querystring.d.ts +19 -0
- package/dist/frontend/lowering/builtins/querystring.js +150 -0
- package/dist/frontend/lowering/builtins/querystring.js.map +1 -0
- package/dist/frontend/lowering/builtins/readline.d.ts +13 -0
- package/dist/frontend/lowering/builtins/readline.js +138 -0
- package/dist/frontend/lowering/builtins/readline.js.map +1 -0
- package/dist/frontend/lowering/builtins/receiver-types.d.ts +5 -0
- package/dist/frontend/lowering/builtins/receiver-types.js +15 -0
- package/dist/frontend/lowering/builtins/receiver-types.js.map +1 -0
- package/dist/frontend/lowering/builtins/reflection.d.ts +13 -0
- package/dist/frontend/lowering/builtins/reflection.js +95 -0
- package/dist/frontend/lowering/builtins/reflection.js.map +1 -0
- package/dist/frontend/lowering/builtins/strings.d.ts +14 -0
- package/dist/frontend/lowering/builtins/strings.js +121 -0
- package/dist/frontend/lowering/builtins/strings.js.map +1 -0
- package/dist/frontend/lowering/builtins/text-codecs.d.ts +29 -0
- package/dist/frontend/lowering/builtins/text-codecs.js +590 -0
- package/dist/frontend/lowering/builtins/text-codecs.js.map +1 -0
- package/dist/frontend/lowering/builtins/timers.d.ts +22 -0
- package/dist/frontend/lowering/builtins/timers.js +180 -0
- package/dist/frontend/lowering/builtins/timers.js.map +1 -0
- package/dist/frontend/lowering/builtins/url.d.ts +37 -0
- package/dist/frontend/lowering/builtins/url.js +596 -0
- package/dist/frontend/lowering/builtins/url.js.map +1 -0
- package/dist/frontend/lowering/builtins/util-types.d.ts +7 -0
- package/dist/frontend/lowering/builtins/util-types.js +31 -0
- package/dist/frontend/lowering/builtins/util-types.js.map +1 -0
- package/dist/frontend/lowering/call-arguments.d.ts +72 -0
- package/dist/frontend/lowering/call-arguments.js +618 -0
- package/dist/frontend/lowering/call-arguments.js.map +1 -0
- package/dist/frontend/lowering/call-signatures.d.ts +115 -0
- package/dist/frontend/lowering/call-signatures.js +719 -0
- package/dist/frontend/lowering/call-signatures.js.map +1 -0
- package/dist/frontend/lowering/callback-arg.js.map +1 -1
- package/dist/frontend/lowering/checked-iterable-spread.js +53 -10
- package/dist/frontend/lowering/checked-iterable-spread.js.map +1 -1
- package/dist/frontend/lowering/checked-promise-all.js +41 -9
- package/dist/frontend/lowering/checked-promise-all.js.map +1 -1
- package/dist/frontend/lowering/class-callbacks.d.ts +1 -1
- package/dist/frontend/lowering/class-callbacks.js +130 -27
- package/dist/frontend/lowering/class-callbacks.js.map +1 -1
- package/dist/frontend/lowering/class-construction.d.ts +1 -1
- package/dist/frontend/lowering/class-construction.js +247 -50
- package/dist/frontend/lowering/class-construction.js.map +1 -1
- package/dist/frontend/lowering/class-descriptors.js +109 -29
- package/dist/frontend/lowering/class-descriptors.js.map +1 -1
- package/dist/frontend/lowering/class-dynamic-dispatch.d.ts +6 -1
- package/dist/frontend/lowering/class-dynamic-dispatch.js +2471 -465
- package/dist/frontend/lowering/class-dynamic-dispatch.js.map +1 -1
- package/dist/frontend/lowering/class-dynamic-dispatch.test.js +284 -44
- package/dist/frontend/lowering/class-dynamic-dispatch.test.js.map +1 -1
- package/dist/frontend/lowering/class-instance-constructor.js +17 -5
- package/dist/frontend/lowering/class-instance-constructor.js.map +1 -1
- package/dist/frontend/lowering/class-method-values.js +199 -51
- package/dist/frontend/lowering/class-method-values.js.map +1 -1
- package/dist/frontend/lowering/class-prototypes.js +345 -86
- package/dist/frontend/lowering/class-prototypes.js.map +1 -1
- package/dist/frontend/lowering/class-runtime-statics.d.ts +1 -1
- package/dist/frontend/lowering/class-runtime-statics.js +80 -17
- package/dist/frontend/lowering/class-runtime-statics.js.map +1 -1
- package/dist/frontend/lowering/class-static-data.js +76 -16
- package/dist/frontend/lowering/class-static-data.js.map +1 -1
- package/dist/frontend/lowering/coercions/builders.d.ts +13 -0
- package/dist/frontend/lowering/coercions/builders.js +77 -0
- package/dist/frontend/lowering/coercions/builders.js.map +1 -0
- package/dist/frontend/lowering/coercions/function-adapters.d.ts +58 -0
- package/dist/frontend/lowering/coercions/function-adapters.js +430 -0
- package/dist/frontend/lowering/coercions/function-adapters.js.map +1 -0
- package/dist/frontend/lowering/coercions/island.d.ts +37 -0
- package/dist/frontend/lowering/coercions/island.js +350 -0
- package/dist/frontend/lowering/coercions/island.js.map +1 -0
- package/dist/frontend/lowering/coercions/state.d.ts +14 -0
- package/dist/frontend/lowering/coercions/state.js +16 -0
- package/dist/frontend/lowering/coercions/state.js.map +1 -0
- package/dist/frontend/lowering/coercions/structural-plans.d.ts +40 -0
- package/dist/frontend/lowering/coercions/structural-plans.js +447 -0
- package/dist/frontend/lowering/coercions/structural-plans.js.map +1 -0
- package/dist/frontend/lowering/coercions/structural.d.ts +63 -0
- package/dist/frontend/lowering/coercions/structural.js +616 -0
- package/dist/frontend/lowering/coercions/structural.js.map +1 -0
- package/dist/frontend/lowering/coercions/unions.d.ts +65 -0
- package/dist/frontend/lowering/coercions/unions.js +318 -0
- package/dist/frontend/lowering/coercions/unions.js.map +1 -0
- package/dist/frontend/lowering/collection-ingestion.js +355 -72
- package/dist/frontend/lowering/collection-ingestion.js.map +1 -1
- package/dist/frontend/lowering/containers/array-callbacks.d.ts +92 -0
- package/dist/frontend/lowering/containers/array-callbacks.js +1646 -0
- package/dist/frontend/lowering/containers/array-callbacks.js.map +1 -0
- package/dist/frontend/lowering/containers/array-construction.d.ts +42 -0
- package/dist/frontend/lowering/containers/array-construction.js +1044 -0
- package/dist/frontend/lowering/containers/array-construction.js.map +1 -0
- package/dist/frontend/lowering/containers/array-iteration.d.ts +16 -0
- package/dist/frontend/lowering/containers/array-iteration.js +95 -0
- package/dist/frontend/lowering/containers/array-iteration.js.map +1 -0
- package/dist/frontend/lowering/containers/array-methods.d.ts +27 -0
- package/dist/frontend/lowering/containers/array-methods.js +1854 -0
- package/dist/frontend/lowering/containers/array-methods.js.map +1 -0
- package/dist/frontend/lowering/containers/bytes.d.ts +17 -17
- package/dist/frontend/lowering/containers/bytes.js +419 -105
- package/dist/frontend/lowering/containers/bytes.js.map +1 -1
- package/dist/frontend/lowering/containers/callback-arguments.d.ts +26 -0
- package/dist/frontend/lowering/containers/callback-arguments.js +179 -0
- package/dist/frontend/lowering/containers/callback-arguments.js.map +1 -0
- package/dist/frontend/lowering/containers/collection-grouping.d.ts +19 -0
- package/dist/frontend/lowering/containers/collection-grouping.js +297 -0
- package/dist/frontend/lowering/containers/collection-grouping.js.map +1 -0
- package/dist/frontend/lowering/containers/collection-methods.d.ts +57 -0
- package/dist/frontend/lowering/containers/collection-methods.js +1314 -0
- package/dist/frontend/lowering/containers/collection-methods.js.map +1 -0
- package/dist/frontend/lowering/containers/dynamic-receivers.d.ts +18 -0
- package/dist/frontend/lowering/containers/dynamic-receivers.js +114 -0
- package/dist/frontend/lowering/containers/dynamic-receivers.js.map +1 -0
- package/dist/frontend/lowering/containers/for-of.d.ts +60 -0
- package/dist/frontend/lowering/containers/for-of.js +643 -0
- package/dist/frontend/lowering/containers/for-of.js.map +1 -0
- package/dist/frontend/lowering/containers/indexed-objects.d.ts +132 -0
- package/dist/frontend/lowering/containers/indexed-objects.js +1743 -0
- package/dist/frontend/lowering/containers/indexed-objects.js.map +1 -0
- package/dist/frontend/lowering/containers/iterator-helpers.d.ts +20 -0
- package/dist/frontend/lowering/containers/iterator-helpers.js +809 -0
- package/dist/frontend/lowering/containers/iterator-helpers.js.map +1 -0
- package/dist/frontend/lowering/containers/string-and-regexp.js +580 -158
- package/dist/frontend/lowering/containers/string-and-regexp.js.map +1 -1
- package/dist/frontend/lowering/containers/string-replacement.js +213 -63
- package/dist/frontend/lowering/containers/string-replacement.js.map +1 -1
- package/dist/frontend/lowering/crypto-tables.js +263 -64
- package/dist/frontend/lowering/crypto-tables.js.map +1 -1
- package/dist/frontend/lowering/deferred-module-initializers.js +172 -68
- package/dist/frontend/lowering/deferred-module-initializers.js.map +1 -1
- package/dist/frontend/lowering/deferred-module-initializers.test.js +41 -8
- package/dist/frontend/lowering/deferred-module-initializers.test.js.map +1 -1
- package/dist/frontend/lowering/error-methods.js +339 -65
- package/dist/frontend/lowering/error-methods.js.map +1 -1
- package/dist/frontend/lowering/expressions/evaluation-safety.js +3 -2
- package/dist/frontend/lowering/expressions/evaluation-safety.js.map +1 -1
- package/dist/frontend/lowering/expressions/global-symbols.js +2 -1
- package/dist/frontend/lowering/expressions/global-symbols.js.map +1 -1
- package/dist/frontend/lowering/expressions/native-proxy.js +11 -5
- package/dist/frontend/lowering/expressions/native-proxy.js.map +1 -1
- package/dist/frontend/lowering/expressions/nullish-assignment.js +67 -13
- package/dist/frontend/lowering/expressions/nullish-assignment.js.map +1 -1
- package/dist/frontend/lowering/expressions/object-literals.js +589 -162
- package/dist/frontend/lowering/expressions/object-literals.js.map +1 -1
- package/dist/frontend/lowering/expressions/optional-chains.d.ts +1 -1
- package/dist/frontend/lowering/expressions/optional-chains.js +68 -17
- package/dist/frontend/lowering/expressions/optional-chains.js.map +1 -1
- package/dist/frontend/lowering/expressions/union-field-write.js +45 -18
- package/dist/frontend/lowering/expressions/union-field-write.js.map +1 -1
- package/dist/frontend/lowering/function-context.js +5 -1
- package/dist/frontend/lowering/function-context.js.map +1 -1
- package/dist/frontend/lowering/function-returns.d.ts +67 -0
- package/dist/frontend/lowering/function-returns.js +392 -0
- package/dist/frontend/lowering/function-returns.js.map +1 -0
- package/dist/frontend/lowering/generator-delegation.d.ts +1 -1
- package/dist/frontend/lowering/generator-delegation.js +171 -39
- package/dist/frontend/lowering/generator-delegation.js.map +1 -1
- package/dist/frontend/lowering/generator-dynamic-dispatch.d.ts +1 -1
- package/dist/frontend/lowering/generator-dynamic-dispatch.js +176 -36
- package/dist/frontend/lowering/generator-dynamic-dispatch.js.map +1 -1
- package/dist/frontend/lowering/generic-functions.d.ts +274 -0
- package/dist/frontend/lowering/generic-functions.js +1727 -0
- package/dist/frontend/lowering/generic-functions.js.map +1 -0
- package/dist/frontend/lowering/import-meta.d.ts +1 -1
- package/dist/frontend/lowering/import-meta.js +37 -14
- package/dist/frontend/lowering/import-meta.js.map +1 -1
- package/dist/frontend/lowering/indexed-comparison.js +6 -2
- package/dist/frontend/lowering/indexed-comparison.js.map +1 -1
- package/dist/frontend/lowering/iterator-consumption.d.ts +9 -0
- package/dist/frontend/lowering/iterator-consumption.js +91 -0
- package/dist/frontend/lowering/iterator-consumption.js.map +1 -0
- package/dist/frontend/lowering/lib-boundary.js +40 -17
- package/dist/frontend/lowering/lib-boundary.js.map +1 -1
- package/dist/frontend/lowering/lib-boundary.test.js +49 -11
- package/dist/frontend/lowering/lib-boundary.test.js.map +1 -1
- package/dist/frontend/lowering/lower-array-sort.d.ts +0 -19
- package/dist/frontend/lowering/lower-array-sort.js +331 -566
- package/dist/frontend/lowering/lower-array-sort.js.map +1 -1
- package/dist/frontend/lowering/lower-assert.js +248 -43
- package/dist/frontend/lowering/lower-assert.js.map +1 -1
- package/dist/frontend/lowering/lower-async-iteration.js +71 -16
- package/dist/frontend/lowering/lower-async-iteration.js.map +1 -1
- package/dist/frontend/lowering/lower-builtin-values.js +420 -71
- package/dist/frontend/lowering/lower-builtin-values.js.map +1 -1
- package/dist/frontend/lowering/lower-calls.d.ts +39 -558
- package/dist/frontend/lowering/lower-calls.js +2593 -5667
- package/dist/frontend/lowering/lower-calls.js.map +1 -1
- package/dist/frontend/lowering/lower-classes.d.ts +243 -242
- package/dist/frontend/lowering/lower-classes.js +1701 -724
- package/dist/frontend/lowering/lower-classes.js.map +1 -1
- package/dist/frontend/lowering/lower-comptime.d.ts +35 -35
- package/dist/frontend/lowering/lower-comptime.js +39 -37
- package/dist/frontend/lowering/lower-comptime.js.map +1 -1
- package/dist/frontend/lowering/lower-dgram.js +59 -31
- package/dist/frontend/lowering/lower-dgram.js.map +1 -1
- package/dist/frontend/lowering/lower-enums.js +5 -2
- package/dist/frontend/lowering/lower-enums.js.map +1 -1
- package/dist/frontend/lowering/lower-event-emitter.js +322 -85
- package/dist/frontend/lowering/lower-event-emitter.js.map +1 -1
- package/dist/frontend/lowering/lower-expando.js +19 -7
- package/dist/frontend/lowering/lower-expando.js.map +1 -1
- package/dist/frontend/lowering/lower-exprs.d.ts +194 -194
- package/dist/frontend/lowering/lower-exprs.js +3446 -1154
- package/dist/frontend/lowering/lower-exprs.js.map +1 -1
- package/dist/frontend/lowering/lower-functions.d.ts +23 -0
- package/dist/frontend/lowering/lower-functions.js +449 -0
- package/dist/frontend/lowering/lower-functions.js.map +1 -0
- package/dist/frontend/lowering/lower-generators.js +121 -32
- package/dist/frontend/lowering/lower-generators.js.map +1 -1
- package/dist/frontend/lowering/lower-global-value.js +15 -4
- package/dist/frontend/lowering/lower-global-value.js.map +1 -1
- package/dist/frontend/lowering/lower-inspect.js +479 -89
- package/dist/frontend/lowering/lower-inspect.js.map +1 -1
- package/dist/frontend/lowering/lower-island.d.ts +79 -79
- package/dist/frontend/lowering/lower-island.js +365 -273
- package/dist/frontend/lowering/lower-island.js.map +1 -1
- package/dist/frontend/lowering/lower-island.test.js +7 -2
- package/dist/frontend/lowering/lower-island.test.js.map +1 -1
- package/dist/frontend/lowering/lower-mixins.js +17 -8
- package/dist/frontend/lowering/lower-mixins.js.map +1 -1
- package/dist/frontend/lowering/lower-modules.d.ts +94 -94
- package/dist/frontend/lowering/lower-modules.js +612 -321
- package/dist/frontend/lowering/lower-modules.js.map +1 -1
- package/dist/frontend/lowering/lower-modules.test.js +91 -20
- package/dist/frontend/lowering/lower-modules.test.js.map +1 -1
- package/dist/frontend/lowering/lower-namespaces.js +25 -8
- package/dist/frontend/lowering/lower-namespaces.js.map +1 -1
- package/dist/frontend/lowering/lower-node-module.js +115 -34
- package/dist/frontend/lowering/lower-node-module.js.map +1 -1
- package/dist/frontend/lowering/lower-server.js +1210 -290
- package/dist/frontend/lowering/lower-server.js.map +1 -1
- package/dist/frontend/lowering/lower-stmts.d.ts +148 -148
- package/dist/frontend/lowering/lower-stmts.js +2312 -984
- package/dist/frontend/lowering/lower-stmts.js.map +1 -1
- package/dist/frontend/lowering/lower-stmts.test.js +13 -5
- package/dist/frontend/lowering/lower-stmts.test.js.map +1 -1
- package/dist/frontend/lowering/lower-stream.js +362 -90
- package/dist/frontend/lowering/lower-stream.js.map +1 -1
- package/dist/frontend/lowering/lower-system-errors.js +30 -8
- package/dist/frontend/lowering/lower-system-errors.js.map +1 -1
- package/dist/frontend/lowering/lower-test.js +40 -13
- package/dist/frontend/lowering/lower-test.js.map +1 -1
- package/dist/frontend/lowering/lower-timers.d.ts +31 -0
- package/dist/frontend/lowering/lower-timers.js +336 -0
- package/dist/frontend/lowering/lower-timers.js.map +1 -0
- package/dist/frontend/lowering/lower-url.d.ts +1 -1
- package/dist/frontend/lowering/lower-url.js +46 -13
- package/dist/frontend/lowering/lower-url.js.map +1 -1
- package/dist/frontend/lowering/lowerer.d.ts +21 -351
- package/dist/frontend/lowering/lowerer.js +1024 -2704
- package/dist/frontend/lowering/lowerer.js.map +1 -1
- package/dist/frontend/lowering/lowerer.test.js +85 -17
- package/dist/frontend/lowering/lowerer.test.js.map +1 -1
- package/dist/frontend/lowering/module-namespace-elements.js +43 -8
- package/dist/frontend/lowering/module-namespace-elements.js.map +1 -1
- package/dist/frontend/lowering/native-ffi.d.ts +21 -1
- package/dist/frontend/lowering/native-ffi.js +487 -18
- package/dist/frontend/lowering/native-ffi.js.map +1 -1
- package/dist/frontend/lowering/object-enumeration-receiver.js +55 -10
- package/dist/frontend/lowering/object-enumeration-receiver.js.map +1 -1
- package/dist/frontend/lowering/object-factory-new.d.ts +1 -1
- package/dist/frontend/lowering/object-factory-new.js +36 -11
- package/dist/frontend/lowering/object-factory-new.js.map +1 -1
- package/dist/frontend/lowering/optional-arguments.js +49 -20
- package/dist/frontend/lowering/optional-arguments.js.map +1 -1
- package/dist/frontend/lowering/pairs-snapshot.js +66 -14
- package/dist/frontend/lowering/pairs-snapshot.js.map +1 -1
- package/dist/frontend/lowering/runtime-optional-locals.js +3 -1
- package/dist/frontend/lowering/runtime-optional-locals.js.map +1 -1
- package/dist/frontend/lowering/runtime-optional-locals.test.js.map +1 -1
- package/dist/frontend/lowering/sanitize-class-types.js +4 -1
- package/dist/frontend/lowering/sanitize-class-types.js.map +1 -1
- package/dist/frontend/lowering/sanitize-class-types.test.js +86 -18
- package/dist/frontend/lowering/sanitize-class-types.test.js.map +1 -1
- package/dist/frontend/lowering/static-this.js +13 -6
- package/dist/frontend/lowering/static-this.js.map +1 -1
- package/dist/frontend/lowering/string-index.js +32 -10
- package/dist/frontend/lowering/string-index.js.map +1 -1
- package/dist/frontend/lowering/surfaces.d.ts +42 -42
- package/dist/frontend/lowering/surfaces.js +1094 -249
- package/dist/frontend/lowering/surfaces.js.map +1 -1
- package/dist/frontend/lowering/symbol-fields.js +40 -15
- package/dist/frontend/lowering/symbol-fields.js.map +1 -1
- package/dist/frontend/lowering/symbol-methods.js.map +1 -1
- package/dist/frontend/lowering/text-decoder-encoding.js +236 -24
- package/dist/frontend/lowering/text-decoder-encoding.js.map +1 -1
- package/dist/frontend/lowering/text-decoder-encoding.test.js +84 -12
- package/dist/frontend/lowering/text-decoder-encoding.test.js.map +1 -1
- package/dist/frontend/lowering/union-narrow.js +59 -16
- package/dist/frontend/lowering/union-narrow.js.map +1 -1
- package/dist/frontend/lowering/union-narrow.test.js +24 -7
- package/dist/frontend/lowering/union-narrow.test.js.map +1 -1
- package/dist/frontend/lowering/union-retag.js +155 -40
- package/dist/frontend/lowering/union-retag.js.map +1 -1
- package/dist/frontend/lowering/union-retag.test.js +131 -33
- package/dist/frontend/lowering/union-retag.test.js.map +1 -1
- package/dist/frontend/lowering/unregistered-class-types.js.map +1 -1
- package/dist/frontend/lowering/unregistered-class-types.test.js +34 -8
- package/dist/frontend/lowering/unregistered-class-types.test.js.map +1 -1
- package/dist/frontend/module-syntax.js +21 -8
- package/dist/frontend/module-syntax.js.map +1 -1
- package/dist/frontend/module-syntax.test.js +37 -13
- package/dist/frontend/module-syntax.test.js.map +1 -1
- package/dist/frontend/npm-fetch-analysis.js +13 -4
- package/dist/frontend/npm-fetch-analysis.js.map +1 -1
- package/dist/frontend/npm-fetch-analysis.test.js +33 -10
- package/dist/frontend/npm-fetch-analysis.test.js.map +1 -1
- package/dist/frontend/npm-fetch-node.js.map +1 -1
- package/dist/frontend/npm-fetch-syntax.js +4 -9
- package/dist/frontend/npm-fetch-syntax.js.map +1 -1
- package/dist/frontend/npm-node.js +3 -1
- package/dist/frontend/npm-node.js.map +1 -1
- package/dist/frontend/npm-static-bundled-cjs.js +88 -29
- package/dist/frontend/npm-static-bundled-cjs.js.map +1 -1
- package/dist/frontend/npm-static-bundled-cjs.test.js +29 -10
- package/dist/frontend/npm-static-bundled-cjs.test.js.map +1 -1
- package/dist/frontend/npm-static-declaration-syntax.js +148 -56
- package/dist/frontend/npm-static-declaration-syntax.js.map +1 -1
- package/dist/frontend/npm-static-declarations.d.ts +1 -1
- package/dist/frontend/npm-static-declarations.js.map +1 -1
- package/dist/frontend/npm-static-declarations.test.js +33 -7
- package/dist/frontend/npm-static-declarations.test.js.map +1 -1
- package/dist/frontend/npm-static-prune.js +26 -12
- package/dist/frontend/npm-static-prune.js.map +1 -1
- package/dist/frontend/npm-static-prune.test.js +17 -3
- package/dist/frontend/npm-static-prune.test.js.map +1 -1
- package/dist/frontend/npm-static-rewrite-host.js +2 -3
- package/dist/frontend/npm-static-rewrite-host.js.map +1 -1
- package/dist/frontend/npm-static-rewrite-syntax.js +64 -21
- package/dist/frontend/npm-static-rewrite-syntax.js.map +1 -1
- package/dist/frontend/npm-static-rewrite.js.map +1 -1
- package/dist/frontend/npm-static-subtyping.js +9 -4
- package/dist/frontend/npm-static-subtyping.js.map +1 -1
- package/dist/frontend/npm-static-subtyping.test.js +30 -6
- package/dist/frontend/npm-static-subtyping.test.js.map +1 -1
- package/dist/frontend/npm-static.js +15 -4
- package/dist/frontend/npm-static.js.map +1 -1
- package/dist/frontend/npm.js +122 -36
- package/dist/frontend/npm.js.map +1 -1
- package/dist/frontend/npm.test.js +30 -10
- package/dist/frontend/npm.test.js.map +1 -1
- package/dist/frontend/pipeline-native.js.map +1 -1
- package/dist/frontend/pipeline.js +25 -8
- package/dist/frontend/pipeline.js.map +1 -1
- package/dist/frontend/pipeline.test.js +21 -7
- package/dist/frontend/pipeline.test.js.map +1 -1
- package/dist/frontend/program-node.js +5 -3
- package/dist/frontend/program-node.js.map +1 -1
- package/dist/frontend/program.d.ts +2 -2
- package/dist/frontend/program.js +234 -101
- package/dist/frontend/program.js.map +1 -1
- package/dist/frontend/program.test.js +27 -27
- package/dist/frontend/program.test.js.map +1 -1
- package/dist/frontend/provenance-core.js +8 -4
- package/dist/frontend/provenance-core.js.map +1 -1
- package/dist/frontend/provenance-registry.js +1 -4
- package/dist/frontend/provenance-registry.js.map +1 -1
- package/dist/frontend/resolve.js +32 -20
- package/dist/frontend/resolve.js.map +1 -1
- package/dist/frontend/resolve.test.js +1 -1
- package/dist/frontend/resolve.test.js.map +1 -1
- package/dist/frontend/runtime-resolve.js +13 -4
- package/dist/frontend/runtime-resolve.js.map +1 -1
- package/dist/frontend/runtime-resolve.test.js +25 -9
- package/dist/frontend/runtime-resolve.test.js.map +1 -1
- package/dist/frontend/services-node.js +6 -2
- package/dist/frontend/services-node.js.map +1 -1
- package/dist/frontend/services-node.test.js +18 -6
- package/dist/frontend/services-node.test.js.map +1 -1
- package/dist/frontend/services.js +8 -4
- package/dist/frontend/services.js.map +1 -1
- package/dist/frontend/services.test.js +6 -2
- package/dist/frontend/services.test.js.map +1 -1
- package/dist/frontend/ts7/api.js +12 -4
- package/dist/frontend/ts7/api.js.map +1 -1
- package/dist/frontend/ts7/ast-bytes.js +10 -3
- package/dist/frontend/ts7/ast-bytes.js.map +1 -1
- package/dist/frontend/ts7/ast-bytes.test.js +23 -4
- package/dist/frontend/ts7/ast-bytes.test.js.map +1 -1
- package/dist/frontend/ts7/ast-guards.test.js +14 -5
- package/dist/frontend/ts7/ast-guards.test.js.map +1 -1
- package/dist/frontend/ts7/ast-node.d.ts +6 -1
- package/dist/frontend/ts7/ast-node.js +484 -164
- package/dist/frontend/ts7/ast-node.js.map +1 -1
- package/dist/frontend/ts7/ast-node.test.js +109 -36
- package/dist/frontend/ts7/ast-node.test.js.map +1 -1
- package/dist/frontend/ts7/ast-text.js +13 -3
- package/dist/frontend/ts7/ast-text.js.map +1 -1
- package/dist/frontend/ts7/ast-text.test.js.map +1 -1
- package/dist/frontend/ts7/ast-types.js.map +1 -1
- package/dist/frontend/ts7/ast-wire.d.ts +1 -1
- package/dist/frontend/ts7/ast-wire.js +55 -20
- package/dist/frontend/ts7/ast-wire.js.map +1 -1
- package/dist/frontend/ts7/ast-wire.test.js +53 -8
- package/dist/frontend/ts7/ast-wire.test.js.map +1 -1
- package/dist/frontend/ts7/ast.js +47 -28
- package/dist/frontend/ts7/ast.js.map +1 -1
- package/dist/frontend/ts7/census-check.js +1 -1
- package/dist/frontend/ts7/census-check.js.map +1 -1
- package/dist/frontend/ts7/checker-cache.js.map +1 -1
- package/dist/frontend/ts7/checker.js +5 -3
- package/dist/frontend/ts7/checker.js.map +1 -1
- package/dist/frontend/ts7/checker.test.js +54 -17
- package/dist/frontend/ts7/checker.test.js.map +1 -1
- package/dist/frontend/ts7/enums.test.js +9 -4
- package/dist/frontend/ts7/enums.test.js.map +1 -1
- package/dist/frontend/ts7/native-api.js.map +1 -1
- package/dist/frontend/ts7/native-host.js.map +1 -1
- package/dist/frontend/ts7/native-process.js +9 -3
- package/dist/frontend/ts7/native-process.js.map +1 -1
- package/dist/frontend/ts7/program-adapter.js +1 -1
- package/dist/frontend/ts7/program-adapter.js.map +1 -1
- package/dist/frontend/ts7/program-host.js +7 -4
- package/dist/frontend/ts7/program-host.js.map +1 -1
- package/dist/frontend/ts7/program-host.test.js +43 -11
- package/dist/frontend/ts7/program-host.test.js.map +1 -1
- package/dist/frontend/ts7/rpc-api.js +3 -1
- package/dist/frontend/ts7/rpc-api.js.map +1 -1
- package/dist/frontend/ts7/rpc-client.js +15 -5
- package/dist/frontend/ts7/rpc-client.js.map +1 -1
- package/dist/frontend/ts7/rpc-client.test.js +26 -8
- package/dist/frontend/ts7/rpc-client.test.js.map +1 -1
- package/dist/frontend/ts7/rpc-filesystem.js.map +1 -1
- package/dist/frontend/ts7/rpc-filesystem.test.js +43 -10
- package/dist/frontend/ts7/rpc-filesystem.test.js.map +1 -1
- package/dist/frontend/ts7/rpc-process.js +16 -6
- package/dist/frontend/ts7/rpc-process.js.map +1 -1
- package/dist/frontend/ts7/rpc-process.test.js.map +1 -1
- package/dist/frontend/ts7/rpc-wire.d.ts +1 -0
- package/dist/frontend/ts7/rpc-wire.js +41 -14
- package/dist/frontend/ts7/rpc-wire.js.map +1 -1
- package/dist/frontend/ts7/rpc-wire.test.js +36 -6
- package/dist/frontend/ts7/rpc-wire.test.js.map +1 -1
- package/dist/frontend/ts7/semantic-checker.js +209 -68
- package/dist/frontend/ts7/semantic-checker.js.map +1 -1
- package/dist/frontend/ts7/semantic-checker.test.js +29 -14
- package/dist/frontend/ts7/semantic-checker.test.js.map +1 -1
- package/dist/frontend/ts7/semantic-json.js +7 -1
- package/dist/frontend/ts7/semantic-json.js.map +1 -1
- package/dist/frontend/ts7/semantic-json.test.js +17 -3
- package/dist/frontend/ts7/semantic-json.test.js.map +1 -1
- package/dist/frontend/ts7/semantic-model.js +147 -51
- package/dist/frontend/ts7/semantic-model.js.map +1 -1
- package/dist/frontend/ts7/semantic-model.test.js +72 -19
- package/dist/frontend/ts7/semantic-model.test.js.map +1 -1
- package/dist/frontend/ts7/semantic-types.d.ts +2 -2
- package/dist/frontend/ts7/session-cache.js +10 -3
- package/dist/frontend/ts7/session-cache.js.map +1 -1
- package/dist/frontend/ts7/session-cache.test.js +13 -4
- package/dist/frontend/ts7/session-cache.test.js.map +1 -1
- package/dist/frontend/ts7/session-path.js +25 -10
- package/dist/frontend/ts7/session-path.js.map +1 -1
- package/dist/frontend/ts7/session-path.test.js +47 -4
- package/dist/frontend/ts7/session-path.test.js.map +1 -1
- package/dist/frontend/ts7/session-timing.js +22 -3
- package/dist/frontend/ts7/session-timing.js.map +1 -1
- package/dist/frontend/ts7/session-timing.test.js +12 -3
- package/dist/frontend/ts7/session-timing.test.js.map +1 -1
- package/dist/frontend/ts7/session.d.ts +1 -0
- package/dist/frontend/ts7/session.js +109 -35
- package/dist/frontend/ts7/session.js.map +1 -1
- package/dist/frontend/ts7/session.test.js +69 -15
- package/dist/frontend/ts7/session.test.js.map +1 -1
- package/dist/frontend/ts7/source-parser.js +17 -6
- package/dist/frontend/ts7/source-parser.js.map +1 -1
- package/dist/frontend/ts7/source-parser.test.js +32 -9
- package/dist/frontend/ts7/source-parser.test.js.map +1 -1
- package/dist/frontend/tsc-codes.js +56 -11
- package/dist/frontend/tsc-codes.js.map +1 -1
- package/dist/frontend/tsc-codes.test.d.ts +1 -0
- package/dist/frontend/tsc-codes.test.js +16 -0
- package/dist/frontend/tsc-codes.test.js.map +1 -0
- package/dist/frontend/type-mapper.js +545 -204
- package/dist/frontend/type-mapper.js.map +1 -1
- package/dist/frontend/type-mapper.test.js +108 -33
- package/dist/frontend/type-mapper.test.js.map +1 -1
- package/dist/frontend/union-discriminants.js +8 -2
- package/dist/frontend/union-discriminants.js.map +1 -1
- package/dist/frontend/union-discriminants.test.js +77 -20
- package/dist/frontend/union-discriminants.test.js.map +1 -1
- package/dist/index.d.ts +9 -8
- package/dist/index.js +150 -81
- package/dist/index.js.map +1 -1
- package/dist/ir/analysis.js +95 -38
- package/dist/ir/analysis.js.map +1 -1
- package/dist/ir/analysis.test.js +91 -15
- package/dist/ir/analysis.test.js.map +1 -1
- package/dist/ir/api.d.ts +4 -0
- package/dist/ir/api.js +6 -0
- package/dist/ir/api.js.map +1 -0
- package/dist/ir/build.d.ts +7 -0
- package/dist/ir/build.js +27 -1
- package/dist/ir/build.js.map +1 -1
- package/dist/ir/builtin-effects.d.ts +9 -0
- package/dist/ir/builtin-effects.js +631 -0
- package/dist/ir/builtin-effects.js.map +1 -0
- package/dist/ir/builtin-signatures.d.ts +15 -0
- package/dist/ir/builtin-signatures.js +3396 -0
- package/dist/ir/builtin-signatures.js.map +1 -0
- package/dist/ir/byte-numbers.js +67 -16
- package/dist/ir/byte-numbers.js.map +1 -1
- package/dist/ir/byte-numbers.test.js +17 -4
- package/dist/ir/byte-numbers.test.js.map +1 -1
- package/dist/ir/constant-tables.js +13 -5
- package/dist/ir/constant-tables.js.map +1 -1
- package/dist/ir/constant-tables.test.js +47 -7
- package/dist/ir/constant-tables.test.js.map +1 -1
- package/dist/ir/control-flow.js +2 -1
- package/dist/ir/control-flow.js.map +1 -1
- package/dist/ir/control-flow.test.js +35 -11
- package/dist/ir/control-flow.test.js.map +1 -1
- package/dist/ir/initializer-bindings.d.ts +9 -0
- package/dist/ir/initializer-bindings.js +115 -0
- package/dist/ir/initializer-bindings.js.map +1 -0
- package/dist/ir/initializer-bindings.test.d.ts +1 -0
- package/dist/ir/initializer-bindings.test.js +118 -0
- package/dist/ir/initializer-bindings.test.js.map +1 -0
- package/dist/ir/integer-loop-facts.d.ts +12 -0
- package/dist/ir/integer-loop-facts.js +137 -0
- package/dist/ir/integer-loop-facts.js.map +1 -0
- package/dist/ir/integer-loops.js +85 -30
- package/dist/ir/integer-loops.js.map +1 -1
- package/dist/ir/integer-loops.test.js +76 -13
- package/dist/ir/integer-loops.test.js.map +1 -1
- package/dist/ir/integer-ranges.js +93 -21
- package/dist/ir/integer-ranges.js.map +1 -1
- package/dist/ir/integer-ranges.test.js +199 -21
- package/dist/ir/integer-ranges.test.js.map +1 -1
- package/dist/ir/intrinsic-signatures.d.ts +20 -0
- package/dist/ir/intrinsic-signatures.js +57 -0
- package/dist/ir/intrinsic-signatures.js.map +1 -0
- package/dist/ir/ir.d.ts +6 -2150
- package/dist/ir/ir.js +160 -1396
- package/dist/ir/ir.js.map +1 -1
- package/dist/ir/ir.test.js +98 -77
- package/dist/ir/ir.test.js.map +1 -1
- package/dist/ir/runtime-features.d.ts +221 -0
- package/dist/ir/runtime-features.js +551 -0
- package/dist/ir/runtime-features.js.map +1 -0
- package/dist/ir/runtime-features.test.d.ts +1 -0
- package/dist/ir/runtime-features.test.js +98 -0
- package/dist/ir/runtime-features.test.js.map +1 -0
- package/dist/ir/scalar-records.js +130 -40
- package/dist/ir/scalar-records.js.map +1 -1
- package/dist/ir/scalar-records.test.js +146 -27
- package/dist/ir/scalar-records.test.js.map +1 -1
- package/dist/ir/serialize.js +4 -2
- package/dist/ir/serialize.js.map +1 -1
- package/dist/ir/serialize.test.js +44 -9
- package/dist/ir/serialize.test.js.map +1 -1
- package/dist/ir/traverse.js +156 -43
- package/dist/ir/traverse.js.map +1 -1
- package/dist/ir/traverse.test.js +99 -24
- package/dist/ir/traverse.test.js.map +1 -1
- package/dist/ir/validate.d.ts +1 -31
- package/dist/ir/validate.js +782 -1889
- package/dist/ir/validate.js.map +1 -1
- package/dist/ir/validate.test.js +610 -114
- package/dist/ir/validate.test.js.map +1 -1
- package/dist/library/cache-primitives.js +9 -10
- package/dist/library/cache-primitives.js.map +1 -1
- package/dist/library/cache-reset.test.js +2 -1
- package/dist/library/cache-reset.test.js.map +1 -1
- package/dist/library/compiler-self-identity.js +11 -5
- package/dist/library/compiler-self-identity.js.map +1 -1
- package/dist/library/compiler-self-identity.test.js +10 -3
- package/dist/library/compiler-self-identity.test.js.map +1 -1
- package/dist/library/fence-eval.js +24 -7
- package/dist/library/fence-eval.js.map +1 -1
- package/dist/library/fence-eval.test.js +31 -7
- package/dist/library/fence-eval.test.js.map +1 -1
- package/dist/library/int-infer.js +199 -59
- package/dist/library/int-infer.js.map +1 -1
- package/dist/library/int-infer.test.js +133 -57
- package/dist/library/int-infer.test.js.map +1 -1
- package/dist/library/ir-policy.d.ts +27 -0
- package/dist/library/ir-policy.js +232 -0
- package/dist/library/ir-policy.js.map +1 -0
- package/dist/library/library-cache.js +40 -17
- package/dist/library/library-cache.js.map +1 -1
- package/dist/library/library-cache.test.js +24 -13
- package/dist/library/library-cache.test.js.map +1 -1
- package/dist/library/library-profile.js +68 -13
- package/dist/library/library-profile.js.map +1 -1
- package/dist/library/prepare.js +48 -20
- package/dist/library/prepare.js.map +1 -1
- package/dist/library/semantic-source.js +16 -14
- package/dist/library/semantic-source.js.map +1 -1
- package/dist/library/semantic-source.test.js +9 -14
- package/dist/library/semantic-source.test.js.map +1 -1
- package/dist/library/sidecar-validate.js +53 -12
- package/dist/library/sidecar-validate.js.map +1 -1
- package/dist/library/sidecar.js +85 -24
- package/dist/library/sidecar.js.map +1 -1
- package/dist/library/trap-teaching.js +11 -2
- package/dist/library/trap-teaching.js.map +1 -1
- package/dist/native/cache.js +10 -4
- package/dist/native/cache.js.map +1 -1
- package/dist/native/cli.js +34 -9
- package/dist/native/cli.js.map +1 -1
- package/dist/native/compiler.js +167 -43
- package/dist/native/compiler.js.map +1 -1
- package/dist/native/compiler.test.js +129 -32
- package/dist/native/compiler.test.js.map +1 -1
- package/dist/native/comptime.js +23 -7
- package/dist/native/comptime.js.map +1 -1
- package/dist/native/comptime.test.js +26 -6
- package/dist/native/comptime.test.js.map +1 -1
- package/dist/native/executable-cache.js +77 -27
- package/dist/native/executable-cache.js.map +1 -1
- package/dist/native/executable-cache.test.js +41 -6
- package/dist/native/executable-cache.test.js.map +1 -1
- package/dist/native/file-identity.js +9 -2
- package/dist/native/file-identity.js.map +1 -1
- package/dist/native/file-identity.test.js.map +1 -1
- package/dist/native/library.js +50 -12
- package/dist/native/library.js.map +1 -1
- package/dist/native/prepare.js +119 -34
- package/dist/native/prepare.js.map +1 -1
- package/dist/native/prepare.test.js +22 -6
- package/dist/native/prepare.test.js.map +1 -1
- package/dist/native/runtime-typescript.js +24 -11
- package/dist/native/runtime-typescript.js.map +1 -1
- package/dist/native/runtime-typescript.test.js.map +1 -1
- package/dist/native/sanitizer.js +71 -18
- package/dist/native/sanitizer.js.map +1 -1
- package/dist/native/sanitizer.test.js +77 -20
- package/dist/native/sanitizer.test.js.map +1 -1
- package/dist/native/task.js.map +1 -1
- package/dist/native/task.test.js +7 -2
- package/dist/native/task.test.js.map +1 -1
- package/dist/native/toolchain.js +68 -26
- package/dist/native/toolchain.js.map +1 -1
- package/dist/native/toolchain.test.js +59 -20
- package/dist/native/toolchain.test.js.map +1 -1
- package/dist/startup-cache.d.ts +1 -1
- package/dist/startup-cache.js +1 -1
- package/dist/startup-cache.js.map +1 -1
- package/dist/timing.js.map +1 -1
- package/package.json +20 -20
- package/surface-manifest.json +1 -1
- package/dist/frontend/lowering/lower-builtins.d.ts +0 -601
- package/dist/frontend/lowering/lower-builtins.js +0 -8986
- package/dist/frontend/lowering/lower-builtins.js.map +0 -1
- package/dist/frontend/lowering/lower-containers.d.ts +0 -382
- package/dist/frontend/lowering/lower-containers.js +0 -7344
- package/dist/frontend/lowering/lower-containers.js.map +0 -1
|
@@ -6,7 +6,7 @@
|
|
|
6
6
|
* (ambient scriptc.d.ts / standard lib / @types/node provenance). */
|
|
7
7
|
import * as ts from "../ts7/adapter.js";
|
|
8
8
|
import { UNSUPPORTED } from "../../diagnostics/diagnostic.js";
|
|
9
|
-
import { BOOL, BYTES_U8, CHILD_T, CRYPTOHASH_T, CRYPTOHMAC_T, DYN, F64, FILEHANDLE_T, SPAWNRES_T, STATS_T, STRING, URL_T, VOID, arrayOf } from "../../ir/ir.js";
|
|
9
|
+
import { BOOL, BYTES_U8, CHILD_T, CRYPTOHASH_T, CRYPTOHMAC_T, DYN, F64, FILEHANDLE_T, SPAWNRES_T, STATS_T, STRING, URL_T, VOID, arrayOf, } from "../../ir/ir.js";
|
|
10
10
|
import { isJsSourceFile, isNodeTypesPath, requireSpecOf } from "../program.js";
|
|
11
11
|
/** Statement-level constructs rejected wholesale, keyed by syntax kind. */
|
|
12
12
|
export const UNSUPPORTED_STMT = {
|
|
@@ -96,19 +96,22 @@ export function sideEffectFreeOptionValue(node) {
|
|
|
96
96
|
return true; // includes `undefined`
|
|
97
97
|
if (ts.isStringLiteralLike(e) || ts.isNumericLiteral(e) || ts.isBigIntLiteral(e))
|
|
98
98
|
return true;
|
|
99
|
-
if (e.kind === ts.SyntaxKind.TrueKeyword ||
|
|
99
|
+
if (e.kind === ts.SyntaxKind.TrueKeyword ||
|
|
100
|
+
e.kind === ts.SyntaxKind.FalseKeyword ||
|
|
100
101
|
e.kind === ts.SyntaxKind.NullKeyword)
|
|
101
102
|
return true;
|
|
102
103
|
if (ts.isArrowFunction(e) || ts.isFunctionExpression(e))
|
|
103
104
|
return true;
|
|
104
105
|
if (ts.isPrefixUnaryExpression(e) &&
|
|
105
|
-
(e.operator === ts.SyntaxKind.MinusToken ||
|
|
106
|
+
(e.operator === ts.SyntaxKind.MinusToken ||
|
|
107
|
+
e.operator === ts.SyntaxKind.PlusToken ||
|
|
106
108
|
e.operator === ts.SyntaxKind.ExclamationToken)) {
|
|
107
109
|
return sideEffectFreeOptionValue(e.operand);
|
|
108
110
|
}
|
|
109
111
|
if (ts.isObjectLiteralExpression(e)) {
|
|
110
112
|
return e.properties.every((p) => ts.isShorthandPropertyAssignment(p) ||
|
|
111
|
-
(ts.isPropertyAssignment(p) &&
|
|
113
|
+
(ts.isPropertyAssignment(p) &&
|
|
114
|
+
!ts.isComputedPropertyName(p.name) &&
|
|
112
115
|
sideEffectFreeOptionValue(p.initializer)));
|
|
113
116
|
}
|
|
114
117
|
if (ts.isArrayLiteralExpression(e)) {
|
|
@@ -158,11 +161,31 @@ export function fenceOrDropOptionKey(lowerer, prop, key, api, documented, suppor
|
|
|
158
161
|
* `http.request(options)` and `net.socket.connect` tables); everything
|
|
159
162
|
* else on a client options literal is undocumented and drops. */
|
|
160
163
|
export const HTTP_CLIENT_DOCUMENTED_OPTIONS = new Set([
|
|
161
|
-
"agent",
|
|
162
|
-
"
|
|
163
|
-
"
|
|
164
|
-
"
|
|
165
|
-
"
|
|
164
|
+
"agent",
|
|
165
|
+
"auth",
|
|
166
|
+
"createConnection",
|
|
167
|
+
"defaultPort",
|
|
168
|
+
"family",
|
|
169
|
+
"headers",
|
|
170
|
+
"hints",
|
|
171
|
+
"host",
|
|
172
|
+
"hostname",
|
|
173
|
+
"insecureHTTPParser",
|
|
174
|
+
"joinDuplicateHeaders",
|
|
175
|
+
"localAddress",
|
|
176
|
+
"localPort",
|
|
177
|
+
"lookup",
|
|
178
|
+
"maxHeaderSize",
|
|
179
|
+
"method",
|
|
180
|
+
"path",
|
|
181
|
+
"port",
|
|
182
|
+
"protocol",
|
|
183
|
+
"setDefaultHeaders",
|
|
184
|
+
"setHost",
|
|
185
|
+
"signal",
|
|
186
|
+
"socketPath",
|
|
187
|
+
"timeout",
|
|
188
|
+
"uniqueHeaders",
|
|
166
189
|
]);
|
|
167
190
|
/** http.createServer / http.Server's documented option keys (Node v24 —
|
|
168
191
|
* http.createServer options + the net.Server knobs it forwards). The
|
|
@@ -170,11 +193,25 @@ export const HTTP_CLIENT_DOCUMENTED_OPTIONS = new Set([
|
|
|
170
193
|
* keepAliveTimeoutBuffer storage; the rest fence by name here, and
|
|
171
194
|
* unknown keys drop like Node drops them. */
|
|
172
195
|
export const HTTP_SERVER_DOCUMENTED_OPTIONS = new Set([
|
|
173
|
-
"IncomingMessage",
|
|
174
|
-
"
|
|
175
|
-
"
|
|
176
|
-
"
|
|
177
|
-
"
|
|
196
|
+
"IncomingMessage",
|
|
197
|
+
"ServerResponse",
|
|
198
|
+
"allowHalfOpen",
|
|
199
|
+
"connectionsCheckingInterval",
|
|
200
|
+
"headersTimeout",
|
|
201
|
+
"highWaterMark",
|
|
202
|
+
"insecureHTTPParser",
|
|
203
|
+
"joinDuplicateHeaders",
|
|
204
|
+
"keepAlive",
|
|
205
|
+
"keepAliveInitialDelay",
|
|
206
|
+
"keepAliveTimeout",
|
|
207
|
+
"keepAliveTimeoutBuffer",
|
|
208
|
+
"maxHeaderSize",
|
|
209
|
+
"noDelay",
|
|
210
|
+
"pauseOnConnect",
|
|
211
|
+
"rejectNonStandardBodyWrites",
|
|
212
|
+
"requestTimeout",
|
|
213
|
+
"requireHostHeader",
|
|
214
|
+
"uniqueHeaders",
|
|
178
215
|
]);
|
|
179
216
|
/** new http.Agent(options)'s documented keys (Node v24 — the Agent
|
|
180
217
|
* constructor table plus the socket.connect() options it forwards into
|
|
@@ -182,73 +219,161 @@ export const HTTP_SERVER_DOCUMENTED_OPTIONS = new Set([
|
|
|
182
219
|
* maxFreeSockets/timeout/port (+ scheduling, dropped: no free pool
|
|
183
220
|
* exists); the rest fence by name and unknown keys drop like Node. */
|
|
184
221
|
export const AGENT_DOCUMENTED_OPTIONS = new Set([
|
|
185
|
-
"family",
|
|
186
|
-
"
|
|
222
|
+
"family",
|
|
223
|
+
"hints",
|
|
224
|
+
"host",
|
|
225
|
+
"keepAliveInitialDelay",
|
|
226
|
+
"localAddress",
|
|
227
|
+
"localPort",
|
|
228
|
+
"lookup",
|
|
229
|
+
"maxTotalSockets",
|
|
230
|
+
"noDelay",
|
|
231
|
+
"path",
|
|
187
232
|
]);
|
|
188
233
|
/** https.request adds tls.connect's client-side TLS knobs. */
|
|
189
234
|
export const HTTPS_CLIENT_DOCUMENTED_OPTIONS = new Set([
|
|
190
235
|
...HTTP_CLIENT_DOCUMENTED_OPTIONS,
|
|
191
|
-
"ca",
|
|
192
|
-
"
|
|
193
|
-
"
|
|
194
|
-
"
|
|
195
|
-
"
|
|
196
|
-
"
|
|
236
|
+
"ca",
|
|
237
|
+
"cert",
|
|
238
|
+
"checkServerIdentity",
|
|
239
|
+
"ciphers",
|
|
240
|
+
"clientCertEngine",
|
|
241
|
+
"crl",
|
|
242
|
+
"dhparam",
|
|
243
|
+
"ecdhCurve",
|
|
244
|
+
"highWaterMark",
|
|
245
|
+
"honorCipherOrder",
|
|
246
|
+
"key",
|
|
247
|
+
"maxVersion",
|
|
248
|
+
"minVersion",
|
|
249
|
+
"passphrase",
|
|
250
|
+
"pfx",
|
|
251
|
+
"privateKeyEngine",
|
|
252
|
+
"privateKeyIdentifier",
|
|
253
|
+
"rejectUnauthorized",
|
|
254
|
+
"secureOptions",
|
|
255
|
+
"secureProtocol",
|
|
256
|
+
"servername",
|
|
257
|
+
"session",
|
|
258
|
+
"sessionIdContext",
|
|
259
|
+
"sessionTimeout",
|
|
260
|
+
"sigalgs",
|
|
261
|
+
"ticketKeys",
|
|
197
262
|
]);
|
|
198
263
|
/** tls.createServer / tls.createSecureContext / https.createServer /
|
|
199
264
|
* http2.createSecureServer's documented TLS-side option keys (Node v24 —
|
|
200
265
|
* tls.createSecureContext + tls.createServer + net.createServer). */
|
|
201
266
|
export const TLS_SERVER_DOCUMENTED_OPTIONS = new Set([
|
|
202
|
-
"ALPNProtocols",
|
|
203
|
-
"
|
|
204
|
-
"
|
|
205
|
-
"
|
|
206
|
-
"
|
|
207
|
-
"
|
|
208
|
-
"
|
|
209
|
-
"
|
|
210
|
-
"
|
|
267
|
+
"ALPNProtocols",
|
|
268
|
+
"ALPNCallback",
|
|
269
|
+
"SNICallback",
|
|
270
|
+
"allowHalfOpen",
|
|
271
|
+
"ca",
|
|
272
|
+
"cert",
|
|
273
|
+
"ciphers",
|
|
274
|
+
"clientCertEngine",
|
|
275
|
+
"crl",
|
|
276
|
+
"dhparam",
|
|
277
|
+
"ecdhCurve",
|
|
278
|
+
"enableTrace",
|
|
279
|
+
"handshakeTimeout",
|
|
280
|
+
"highWaterMark",
|
|
281
|
+
"honorCipherOrder",
|
|
282
|
+
"keepAlive",
|
|
283
|
+
"keepAliveInitialDelay",
|
|
284
|
+
"key",
|
|
285
|
+
"maxVersion",
|
|
286
|
+
"minVersion",
|
|
287
|
+
"noDelay",
|
|
288
|
+
"passphrase",
|
|
289
|
+
"pauseOnConnect",
|
|
290
|
+
"pfx",
|
|
291
|
+
"privateKeyEngine",
|
|
292
|
+
"privateKeyIdentifier",
|
|
293
|
+
"pskCallback",
|
|
294
|
+
"pskIdentityHint",
|
|
295
|
+
"rejectUnauthorized",
|
|
296
|
+
"requestCert",
|
|
297
|
+
"requestOCSP",
|
|
298
|
+
"secureContext",
|
|
299
|
+
"secureOptions",
|
|
300
|
+
"secureProtocol",
|
|
301
|
+
"sessionIdContext",
|
|
302
|
+
"sessionTimeout",
|
|
303
|
+
"sigalgs",
|
|
304
|
+
"ticketKeys",
|
|
211
305
|
]);
|
|
212
306
|
/** http2.createSecureServer's documented keys: the h2 knobs on top of the
|
|
213
307
|
* TLS server set. */
|
|
214
308
|
export const HTTP2_SECURE_SERVER_DOCUMENTED_OPTIONS = new Set([
|
|
215
309
|
...TLS_SERVER_DOCUMENTED_OPTIONS,
|
|
216
|
-
"allowHTTP1",
|
|
217
|
-
"
|
|
218
|
-
"
|
|
219
|
-
"
|
|
220
|
-
"
|
|
310
|
+
"allowHTTP1",
|
|
311
|
+
"maxDeflateDynamicTableSize",
|
|
312
|
+
"maxSettings",
|
|
313
|
+
"maxSessionMemory",
|
|
314
|
+
"maxHeaderListPairs",
|
|
315
|
+
"maxOutstandingPings",
|
|
316
|
+
"maxSendHeaderBlockLength",
|
|
317
|
+
"origins",
|
|
318
|
+
"paddingStrategy",
|
|
319
|
+
"peerMaxConcurrentStreams",
|
|
320
|
+
"remoteCustomSettings",
|
|
321
|
+
"selectPadding",
|
|
322
|
+
"settings",
|
|
323
|
+
"streamResetBurst",
|
|
324
|
+
"streamResetRate",
|
|
221
325
|
"unknownProtocolTimeout",
|
|
222
326
|
]);
|
|
223
327
|
/** fs.watch's documented option keys. */
|
|
224
328
|
export const FS_WATCH_DOCUMENTED_OPTIONS = new Set([
|
|
225
|
-
"persistent",
|
|
329
|
+
"persistent",
|
|
330
|
+
"recursive",
|
|
331
|
+
"encoding",
|
|
332
|
+
"signal",
|
|
226
333
|
]);
|
|
227
334
|
/** fs.readdirSync's documented option keys. */
|
|
228
335
|
export const FS_READDIR_DOCUMENTED_OPTIONS = new Set([
|
|
229
|
-
"encoding",
|
|
336
|
+
"encoding",
|
|
337
|
+
"withFileTypes",
|
|
338
|
+
"recursive",
|
|
230
339
|
]);
|
|
231
340
|
/** fs.writeFileSync's documented option keys. */
|
|
232
341
|
export const FS_WRITE_FILE_DOCUMENTED_OPTIONS = new Set([
|
|
233
|
-
"encoding",
|
|
342
|
+
"encoding",
|
|
343
|
+
"mode",
|
|
344
|
+
"flag",
|
|
345
|
+
"flush",
|
|
346
|
+
"signal",
|
|
234
347
|
]);
|
|
235
348
|
/** dns.lookup's documented option keys. */
|
|
236
349
|
export const DNS_LOOKUP_DOCUMENTED_OPTIONS = new Set([
|
|
237
|
-
"family",
|
|
350
|
+
"family",
|
|
351
|
+
"hints",
|
|
352
|
+
"all",
|
|
353
|
+
"order",
|
|
354
|
+
"verbatim",
|
|
238
355
|
]);
|
|
239
356
|
/** querystring.parse's documented option keys (Node v24). */
|
|
240
357
|
export const QS_PARSE_DOCUMENTED_OPTIONS = new Set([
|
|
241
|
-
"maxKeys",
|
|
358
|
+
"maxKeys",
|
|
359
|
+
"decodeURIComponent",
|
|
242
360
|
]);
|
|
243
361
|
/** querystring.stringify's documented option keys (Node v24). */
|
|
244
|
-
export const QS_STRINGIFY_DOCUMENTED_OPTIONS = new Set([
|
|
245
|
-
"encodeURIComponent",
|
|
246
|
-
]);
|
|
362
|
+
export const QS_STRINGIFY_DOCUMENTED_OPTIONS = new Set(["encodeURIComponent"]);
|
|
247
363
|
/** readline.createInterface's documented option keys. */
|
|
248
364
|
export const READLINE_DOCUMENTED_OPTIONS = new Set([
|
|
249
|
-
"input",
|
|
250
|
-
"
|
|
251
|
-
"
|
|
365
|
+
"input",
|
|
366
|
+
"output",
|
|
367
|
+
"completer",
|
|
368
|
+
"terminal",
|
|
369
|
+
"history",
|
|
370
|
+
"historySize",
|
|
371
|
+
"removeHistoryDuplicates",
|
|
372
|
+
"prompt",
|
|
373
|
+
"crlfDelay",
|
|
374
|
+
"escapeCodeTimeout",
|
|
375
|
+
"tabSize",
|
|
376
|
+
"signal",
|
|
252
377
|
]);
|
|
253
378
|
/** The lowered Array<T> method surface. Like STR_METHODS, membership is
|
|
254
379
|
* only half the check — the resolved symbol must be declared by the
|
|
@@ -291,10 +416,25 @@ export const ARRAY_METHODS = new Set([
|
|
|
291
416
|
* standard library (isStdlibMember). `size` is a property, handled in
|
|
292
417
|
* property-access position. */
|
|
293
418
|
export const COLLECTION_ITERATOR_METHODS = new Set(["keys", "values", "entries"]);
|
|
294
|
-
export const MAP_METHODS = new Set([
|
|
419
|
+
export const MAP_METHODS = new Set([
|
|
420
|
+
"get",
|
|
421
|
+
"set",
|
|
422
|
+
"has",
|
|
423
|
+
"delete",
|
|
424
|
+
"clear",
|
|
425
|
+
"forEach",
|
|
426
|
+
...COLLECTION_ITERATOR_METHODS,
|
|
427
|
+
]);
|
|
295
428
|
/** The lowered Set<T> method surface — Map's minus get/set plus add.
|
|
296
429
|
* `size` is a property, handled in property-access position. */
|
|
297
|
-
export const SET_METHODS = new Set([
|
|
430
|
+
export const SET_METHODS = new Set([
|
|
431
|
+
"add",
|
|
432
|
+
"has",
|
|
433
|
+
"delete",
|
|
434
|
+
"clear",
|
|
435
|
+
"forEach",
|
|
436
|
+
...COLLECTION_ITERATOR_METHODS,
|
|
437
|
+
]);
|
|
298
438
|
/** The ES2025 Set composition surface (union/intersection/…): desugared
|
|
299
439
|
* to interned helper loops over the set iteration primitives — no user
|
|
300
440
|
* code runs mid-loop, so the walks need no enter/exit bracketing. The
|
|
@@ -413,13 +553,37 @@ export const ISLAND_SURFACE = {
|
|
|
413
553
|
math: {
|
|
414
554
|
// The static table below handles these methods at its admitted arities.
|
|
415
555
|
fns: {
|
|
416
|
-
abs: ISL_N1,
|
|
417
|
-
|
|
418
|
-
|
|
419
|
-
|
|
420
|
-
|
|
556
|
+
abs: ISL_N1,
|
|
557
|
+
acos: ISL_N1,
|
|
558
|
+
asin: ISL_N1,
|
|
559
|
+
atan: ISL_N1,
|
|
560
|
+
atan2: ISL_N2,
|
|
561
|
+
acosh: ISL_N1,
|
|
562
|
+
asinh: ISL_N1,
|
|
563
|
+
atanh: ISL_N1,
|
|
564
|
+
cbrt: ISL_N1,
|
|
565
|
+
ceil: ISL_N1,
|
|
566
|
+
clz32: ISL_N1,
|
|
567
|
+
cos: ISL_N1,
|
|
568
|
+
cosh: ISL_N1,
|
|
569
|
+
exp: ISL_N1,
|
|
570
|
+
expm1: ISL_N1,
|
|
571
|
+
fround: ISL_N1,
|
|
572
|
+
hypot: ISL_N2,
|
|
573
|
+
imul: ISL_N2,
|
|
574
|
+
log: ISL_N1,
|
|
575
|
+
log1p: ISL_N1,
|
|
576
|
+
log2: ISL_N1,
|
|
577
|
+
log10: ISL_N1,
|
|
578
|
+
pow: ISL_N2,
|
|
421
579
|
round: ISL_N1,
|
|
422
|
-
sign: ISL_N1,
|
|
580
|
+
sign: ISL_N1,
|
|
581
|
+
sin: ISL_N1,
|
|
582
|
+
sinh: ISL_N1,
|
|
583
|
+
sqrt: ISL_N1,
|
|
584
|
+
tan: ISL_N1,
|
|
585
|
+
tanh: ISL_N1,
|
|
586
|
+
trunc: ISL_N1,
|
|
423
587
|
},
|
|
424
588
|
// Math constants are compile-time literals, not island properties.
|
|
425
589
|
props: {},
|
|
@@ -530,19 +694,69 @@ function exactValueParams(...types) {
|
|
|
530
694
|
/** Object helpers whose checked-native ABI is also their stored value ABI.
|
|
531
695
|
* These adapters operate on the live checked object/property table. */
|
|
532
696
|
export const OBJECT_CALLABLE_VALUES = {
|
|
533
|
-
is: {
|
|
534
|
-
|
|
535
|
-
|
|
536
|
-
|
|
537
|
-
|
|
538
|
-
|
|
697
|
+
is: {
|
|
698
|
+
fn: "dyn.sameValue",
|
|
699
|
+
params: [DYN, DYN],
|
|
700
|
+
result: BOOL,
|
|
701
|
+
valueParams: exactValueParams(DYN, DYN),
|
|
702
|
+
},
|
|
703
|
+
create: {
|
|
704
|
+
fn: "dyn.objCreateWithProperties",
|
|
705
|
+
params: [DYN, DYN],
|
|
706
|
+
result: DYN,
|
|
707
|
+
valueParams: exactValueParams(DYN, DYN),
|
|
708
|
+
},
|
|
709
|
+
defineProperty: {
|
|
710
|
+
fn: "dyn.defineProperty",
|
|
711
|
+
params: [DYN, DYN, DYN],
|
|
712
|
+
result: DYN,
|
|
713
|
+
valueParams: exactValueParams(DYN, DYN, DYN),
|
|
714
|
+
},
|
|
715
|
+
getOwnPropertyDescriptor: {
|
|
716
|
+
fn: "dyn.getOwnPropertyDescriptor",
|
|
717
|
+
params: [DYN, DYN],
|
|
718
|
+
result: DYN,
|
|
719
|
+
valueParams: exactValueParams(DYN, DYN),
|
|
720
|
+
},
|
|
721
|
+
getOwnPropertyDescriptors: {
|
|
722
|
+
fn: "dyn.getOwnPropertyDescriptors",
|
|
723
|
+
params: [DYN],
|
|
724
|
+
result: DYN,
|
|
725
|
+
valueParams: exactValueParams(DYN),
|
|
726
|
+
},
|
|
727
|
+
defineProperties: {
|
|
728
|
+
fn: "dyn.defineProps",
|
|
729
|
+
params: [DYN, DYN],
|
|
730
|
+
result: DYN,
|
|
731
|
+
valueParams: exactValueParams(DYN, DYN),
|
|
732
|
+
},
|
|
539
733
|
keys: { fn: "dyn.objKeys", params: [DYN], result: DYN, valueParams: exactValueParams(DYN) },
|
|
540
734
|
values: { fn: "dyn.objValues", params: [DYN], result: DYN, valueParams: exactValueParams(DYN) },
|
|
541
735
|
entries: { fn: "dyn.objEntries", params: [DYN], result: DYN, valueParams: exactValueParams(DYN) },
|
|
542
|
-
fromEntries: {
|
|
543
|
-
|
|
544
|
-
|
|
545
|
-
|
|
736
|
+
fromEntries: {
|
|
737
|
+
fn: "dyn.fromEntries",
|
|
738
|
+
params: [DYN],
|
|
739
|
+
result: DYN,
|
|
740
|
+
valueParams: exactValueParams(DYN),
|
|
741
|
+
},
|
|
742
|
+
getOwnPropertySymbols: {
|
|
743
|
+
fn: "dyn.getOwnPropertySymbols",
|
|
744
|
+
params: [DYN],
|
|
745
|
+
result: DYN,
|
|
746
|
+
valueParams: exactValueParams(DYN),
|
|
747
|
+
},
|
|
748
|
+
getOwnPropertyNames: {
|
|
749
|
+
fn: "dyn.getOwnPropertyNames",
|
|
750
|
+
params: [DYN],
|
|
751
|
+
result: DYN,
|
|
752
|
+
valueParams: exactValueParams(DYN),
|
|
753
|
+
},
|
|
754
|
+
getPrototypeOf: {
|
|
755
|
+
fn: "dyn.getPrototype",
|
|
756
|
+
params: [DYN],
|
|
757
|
+
result: DYN,
|
|
758
|
+
valueParams: exactValueParams(DYN),
|
|
759
|
+
},
|
|
546
760
|
};
|
|
547
761
|
/** The lowerable surface of the supported node builtin modules, keyed by
|
|
548
762
|
* CANONICAL module name (both "fs" and "node:fs" land on "fs" — see
|
|
@@ -557,29 +771,137 @@ export const OBJECT_CALLABLE_VALUES = {
|
|
|
557
771
|
* platform's rules on any host). toNamespacedPath is the posix identity
|
|
558
772
|
* (Node: a non-op on posix systems). */
|
|
559
773
|
const PATH_MODULE_FNS = {
|
|
560
|
-
join: {
|
|
561
|
-
|
|
562
|
-
|
|
563
|
-
|
|
564
|
-
|
|
565
|
-
|
|
566
|
-
|
|
567
|
-
|
|
568
|
-
|
|
774
|
+
join: {
|
|
775
|
+
fn: "path.join",
|
|
776
|
+
params: [STRING],
|
|
777
|
+
result: STRING,
|
|
778
|
+
variadicPack: true,
|
|
779
|
+
valueParams: [{ mode: "rest", type: STRING }],
|
|
780
|
+
},
|
|
781
|
+
resolve: {
|
|
782
|
+
fn: "path.resolve",
|
|
783
|
+
params: [STRING],
|
|
784
|
+
result: STRING,
|
|
785
|
+
variadicPack: true,
|
|
786
|
+
valueParams: [{ mode: "rest", type: STRING }],
|
|
787
|
+
},
|
|
788
|
+
normalize: {
|
|
789
|
+
fn: "path.normalize",
|
|
790
|
+
params: [STRING],
|
|
791
|
+
result: STRING,
|
|
792
|
+
valueParams: [{ mode: "required", type: STRING }],
|
|
793
|
+
},
|
|
794
|
+
dirname: {
|
|
795
|
+
fn: "path.dirname",
|
|
796
|
+
params: [STRING],
|
|
797
|
+
result: STRING,
|
|
798
|
+
valueParams: [{ mode: "required", type: STRING }],
|
|
799
|
+
},
|
|
800
|
+
basename: {
|
|
801
|
+
fn: "path.basename",
|
|
802
|
+
params: [STRING, STRING],
|
|
803
|
+
result: STRING,
|
|
804
|
+
defaults: [""],
|
|
805
|
+
valueParams: [
|
|
806
|
+
{ mode: "required", type: STRING },
|
|
807
|
+
{ mode: "optional", type: STRING, defaultValue: "" },
|
|
808
|
+
],
|
|
809
|
+
},
|
|
810
|
+
extname: {
|
|
811
|
+
fn: "path.extname",
|
|
812
|
+
params: [STRING],
|
|
813
|
+
result: STRING,
|
|
814
|
+
valueParams: [{ mode: "required", type: STRING }],
|
|
815
|
+
},
|
|
816
|
+
isAbsolute: {
|
|
817
|
+
fn: "path.isAbsolute",
|
|
818
|
+
params: [STRING],
|
|
819
|
+
result: BOOL,
|
|
820
|
+
valueParams: [{ mode: "required", type: STRING }],
|
|
821
|
+
},
|
|
822
|
+
relative: {
|
|
823
|
+
fn: "path.relative",
|
|
824
|
+
params: [STRING, STRING],
|
|
825
|
+
result: STRING,
|
|
826
|
+
valueParams: [
|
|
827
|
+
{ mode: "required", type: STRING },
|
|
828
|
+
{ mode: "required", type: STRING },
|
|
829
|
+
],
|
|
830
|
+
},
|
|
831
|
+
toNamespacedPath: {
|
|
832
|
+
fn: "path.toNamespacedPath",
|
|
833
|
+
params: [STRING],
|
|
834
|
+
result: STRING,
|
|
835
|
+
valueParams: [{ mode: "required", type: STRING }],
|
|
836
|
+
},
|
|
569
837
|
};
|
|
570
838
|
/** The win32 twins (scr_path.c's Node-v24 path.win32 port, byte-for-byte):
|
|
571
839
|
* "path/win32" everywhere, and the bare-module table when the build
|
|
572
840
|
* TARGETS win32 — Node on Windows is path.win32. */
|
|
573
841
|
const PATH_WIN32_MODULE_FNS = {
|
|
574
|
-
join: {
|
|
575
|
-
|
|
576
|
-
|
|
577
|
-
|
|
578
|
-
|
|
579
|
-
|
|
580
|
-
|
|
581
|
-
|
|
582
|
-
|
|
842
|
+
join: {
|
|
843
|
+
fn: "path.win32Join",
|
|
844
|
+
params: [STRING],
|
|
845
|
+
result: STRING,
|
|
846
|
+
variadicPack: true,
|
|
847
|
+
valueParams: [{ mode: "rest", type: STRING }],
|
|
848
|
+
},
|
|
849
|
+
resolve: {
|
|
850
|
+
fn: "path.win32Resolve",
|
|
851
|
+
params: [STRING],
|
|
852
|
+
result: STRING,
|
|
853
|
+
variadicPack: true,
|
|
854
|
+
valueParams: [{ mode: "rest", type: STRING }],
|
|
855
|
+
},
|
|
856
|
+
normalize: {
|
|
857
|
+
fn: "path.win32Normalize",
|
|
858
|
+
params: [STRING],
|
|
859
|
+
result: STRING,
|
|
860
|
+
valueParams: [{ mode: "required", type: STRING }],
|
|
861
|
+
},
|
|
862
|
+
dirname: {
|
|
863
|
+
fn: "path.win32Dirname",
|
|
864
|
+
params: [STRING],
|
|
865
|
+
result: STRING,
|
|
866
|
+
valueParams: [{ mode: "required", type: STRING }],
|
|
867
|
+
},
|
|
868
|
+
basename: {
|
|
869
|
+
fn: "path.win32Basename",
|
|
870
|
+
params: [STRING, STRING],
|
|
871
|
+
result: STRING,
|
|
872
|
+
defaults: [""],
|
|
873
|
+
valueParams: [
|
|
874
|
+
{ mode: "required", type: STRING },
|
|
875
|
+
{ mode: "optional", type: STRING, defaultValue: "" },
|
|
876
|
+
],
|
|
877
|
+
},
|
|
878
|
+
extname: {
|
|
879
|
+
fn: "path.win32Extname",
|
|
880
|
+
params: [STRING],
|
|
881
|
+
result: STRING,
|
|
882
|
+
valueParams: [{ mode: "required", type: STRING }],
|
|
883
|
+
},
|
|
884
|
+
isAbsolute: {
|
|
885
|
+
fn: "path.win32IsAbsolute",
|
|
886
|
+
params: [STRING],
|
|
887
|
+
result: BOOL,
|
|
888
|
+
valueParams: [{ mode: "required", type: STRING }],
|
|
889
|
+
},
|
|
890
|
+
relative: {
|
|
891
|
+
fn: "path.win32Relative",
|
|
892
|
+
params: [STRING, STRING],
|
|
893
|
+
result: STRING,
|
|
894
|
+
valueParams: [
|
|
895
|
+
{ mode: "required", type: STRING },
|
|
896
|
+
{ mode: "required", type: STRING },
|
|
897
|
+
],
|
|
898
|
+
},
|
|
899
|
+
toNamespacedPath: {
|
|
900
|
+
fn: "path.win32ToNamespacedPath",
|
|
901
|
+
params: [STRING],
|
|
902
|
+
result: STRING,
|
|
903
|
+
valueParams: [{ mode: "required", type: STRING }],
|
|
904
|
+
},
|
|
583
905
|
};
|
|
584
906
|
export const BUILTIN_MODULE_FNS = {
|
|
585
907
|
fs: {
|
|
@@ -590,7 +912,12 @@ export const BUILTIN_MODULE_FNS = {
|
|
|
590
912
|
// options before entering the fixed runtime call.
|
|
591
913
|
writeFileSync: { fn: "fs.writeFileSync", params: [STRING, STRING], result: VOID },
|
|
592
914
|
appendFileSync: { fn: "fs.appendFileSync", params: [STRING, STRING], result: VOID },
|
|
593
|
-
existsSync: {
|
|
915
|
+
existsSync: {
|
|
916
|
+
fn: "fs.existsSync",
|
|
917
|
+
params: [STRING],
|
|
918
|
+
result: BOOL,
|
|
919
|
+
valueParams: exactValueParams(STRING),
|
|
920
|
+
},
|
|
594
921
|
mkdirSync: { fn: "fs.mkdirSync", params: [STRING], result: VOID },
|
|
595
922
|
rmSync: { fn: "fs.rmSync", params: [STRING], result: VOID },
|
|
596
923
|
rmdirSync: { fn: "fs.rmdirSync", params: [STRING], result: VOID },
|
|
@@ -600,9 +927,24 @@ export const BUILTIN_MODULE_FNS = {
|
|
|
600
927
|
// accessSync's omitted mode completes to 0 (F_OK) in the special case
|
|
601
928
|
// in lowerBuiltinModuleCall — string `defaults` can't spell a number.
|
|
602
929
|
accessSync: { fn: "fs.accessSync", params: [STRING, F64], result: VOID },
|
|
603
|
-
unlinkSync: {
|
|
604
|
-
|
|
605
|
-
|
|
930
|
+
unlinkSync: {
|
|
931
|
+
fn: "fs.unlinkSync",
|
|
932
|
+
params: [STRING],
|
|
933
|
+
result: VOID,
|
|
934
|
+
valueParams: exactValueParams(STRING),
|
|
935
|
+
},
|
|
936
|
+
chmodSync: {
|
|
937
|
+
fn: "fs.chmodSync",
|
|
938
|
+
params: [STRING, F64],
|
|
939
|
+
result: VOID,
|
|
940
|
+
valueParams: exactValueParams(STRING, F64),
|
|
941
|
+
},
|
|
942
|
+
chownSync: {
|
|
943
|
+
fn: "fs.chownSync",
|
|
944
|
+
params: [STRING, F64, F64],
|
|
945
|
+
result: VOID,
|
|
946
|
+
valueParams: exactValueParams(STRING, F64, F64),
|
|
947
|
+
},
|
|
606
948
|
// The 2-argument form only: Node's mode flags (COPYFILE_EXCL, ...)
|
|
607
949
|
// land on the arity fence.
|
|
608
950
|
copyFileSync: { fn: "fs.copyFileSync", params: [STRING, STRING], result: VOID },
|
|
@@ -611,30 +953,78 @@ export const BUILTIN_MODULE_FNS = {
|
|
|
611
953
|
// adapter. The row still projects the static surface and routes the
|
|
612
954
|
// dispatch.
|
|
613
955
|
rename: { fn: "fs.renameCb", params: [], result: VOID },
|
|
614
|
-
renameSync: {
|
|
956
|
+
renameSync: {
|
|
957
|
+
fn: "fs.renameSync",
|
|
958
|
+
params: [STRING, STRING],
|
|
959
|
+
result: VOID,
|
|
960
|
+
valueParams: exactValueParams(STRING, STRING),
|
|
961
|
+
},
|
|
615
962
|
// statSync's no-follow sibling; stats.isSymbolicLink answers what the
|
|
616
963
|
// follow-free snapshot saw.
|
|
617
964
|
lstatSync: { fn: "fs.lstatSync", params: [STRING], result: STATS_T },
|
|
618
|
-
fstatSync: {
|
|
619
|
-
|
|
620
|
-
|
|
621
|
-
|
|
965
|
+
fstatSync: {
|
|
966
|
+
fn: "fs.fstatSync",
|
|
967
|
+
params: [F64],
|
|
968
|
+
result: STATS_T,
|
|
969
|
+
valueParams: exactValueParams(F64),
|
|
970
|
+
},
|
|
971
|
+
fchmodSync: {
|
|
972
|
+
fn: "fs.fchmodSync",
|
|
973
|
+
params: [F64, F64],
|
|
974
|
+
result: VOID,
|
|
975
|
+
valueParams: exactValueParams(F64, F64),
|
|
976
|
+
},
|
|
977
|
+
fsyncSync: {
|
|
978
|
+
fn: "fs.fsyncSync",
|
|
979
|
+
params: [F64],
|
|
980
|
+
result: VOID,
|
|
981
|
+
valueParams: exactValueParams(F64),
|
|
982
|
+
},
|
|
983
|
+
fdatasyncSync: {
|
|
984
|
+
fn: "fs.fdatasyncSync",
|
|
985
|
+
params: [F64],
|
|
986
|
+
result: VOID,
|
|
987
|
+
valueParams: exactValueParams(F64),
|
|
988
|
+
},
|
|
622
989
|
ftruncateSync: { fn: "fs.ftruncateSync", params: [F64, F64], result: VOID },
|
|
623
990
|
utimesSync: { fn: "fs.utimesSync", params: [DYN, DYN, DYN], result: VOID },
|
|
624
991
|
futimesSync: { fn: "fs.futimesSync", params: [DYN, DYN, DYN], result: VOID },
|
|
625
992
|
lutimesSync: { fn: "fs.lutimesSync", params: [DYN, DYN, DYN], result: VOID },
|
|
626
993
|
readvSync: { fn: "fs.readvSync", params: [F64, arrayOf(BYTES_U8), F64], result: F64 },
|
|
627
994
|
writevSync: { fn: "fs.writevSync", params: [F64, arrayOf(BYTES_U8), F64], result: F64 },
|
|
628
|
-
linkSync: {
|
|
629
|
-
|
|
630
|
-
|
|
631
|
-
|
|
632
|
-
|
|
633
|
-
|
|
634
|
-
|
|
635
|
-
|
|
636
|
-
|
|
637
|
-
|
|
995
|
+
linkSync: {
|
|
996
|
+
fn: "fs.linkSync",
|
|
997
|
+
params: [DYN, DYN],
|
|
998
|
+
result: VOID,
|
|
999
|
+
valueParams: exactValueParams(DYN, DYN),
|
|
1000
|
+
},
|
|
1001
|
+
symlinkSync: {
|
|
1002
|
+
fn: "fs.symlinkSync",
|
|
1003
|
+
params: [DYN, DYN, DYN],
|
|
1004
|
+
result: VOID,
|
|
1005
|
+
valueParams: [
|
|
1006
|
+
...exactValueParams(DYN, DYN),
|
|
1007
|
+
{ mode: "optional", type: DYN, defaultValue: undefined },
|
|
1008
|
+
],
|
|
1009
|
+
},
|
|
1010
|
+
readlinkSync: {
|
|
1011
|
+
fn: "fs.readlinkSync",
|
|
1012
|
+
params: [DYN, DYN],
|
|
1013
|
+
result: DYN,
|
|
1014
|
+
valueParams: [
|
|
1015
|
+
...exactValueParams(DYN),
|
|
1016
|
+
{ mode: "optional", type: DYN, defaultValue: undefined },
|
|
1017
|
+
],
|
|
1018
|
+
},
|
|
1019
|
+
statfsSync: {
|
|
1020
|
+
fn: "fs.statfsSync",
|
|
1021
|
+
params: [DYN, DYN],
|
|
1022
|
+
result: DYN,
|
|
1023
|
+
valueParams: [
|
|
1024
|
+
...exactValueParams(DYN),
|
|
1025
|
+
{ mode: "optional", type: DYN, defaultValue: undefined },
|
|
1026
|
+
],
|
|
1027
|
+
},
|
|
638
1028
|
// realpath(3) — Node's realpathSync (failures spell syscall "lstat",
|
|
639
1029
|
// Node's own message shape).
|
|
640
1030
|
realpathSync: { fn: "fs.realpathSync", params: [STRING], result: STRING },
|
|
@@ -654,7 +1044,12 @@ export const BUILTIN_MODULE_FNS = {
|
|
|
654
1044
|
// overloads lower to separate fixed-width runtime ABIs. As with
|
|
655
1045
|
// readSync, -1 is the current-offset sentinel.
|
|
656
1046
|
writeSync: { fn: "fs.writeSync", params: [F64, BYTES_U8, F64, F64, F64], result: F64 },
|
|
657
|
-
closeSync: {
|
|
1047
|
+
closeSync: {
|
|
1048
|
+
fn: "fs.closeSync",
|
|
1049
|
+
params: [F64],
|
|
1050
|
+
result: VOID,
|
|
1051
|
+
valueParams: exactValueParams(F64),
|
|
1052
|
+
},
|
|
658
1053
|
// Entirely special-cased (lowerFsWatchCall — the callback needs an
|
|
659
1054
|
// adapter per listener shape); this entry only routes the dispatch.
|
|
660
1055
|
watch: { fn: "fs.watch", params: [], result: VOID },
|
|
@@ -663,37 +1058,96 @@ export const BUILTIN_MODULE_FNS = {
|
|
|
663
1058
|
// The sync operations behind already-settled promises: failures
|
|
664
1059
|
// REJECT (catchable at the await) instead of throwing. readFile is
|
|
665
1060
|
// utf8-fenced exactly like readFileSync (same special case below).
|
|
666
|
-
readFile: {
|
|
667
|
-
|
|
1061
|
+
readFile: {
|
|
1062
|
+
fn: "fsp.readFile",
|
|
1063
|
+
params: [STRING, STRING],
|
|
1064
|
+
result: { kind: "promise", inner: STRING },
|
|
1065
|
+
},
|
|
1066
|
+
writeFile: {
|
|
1067
|
+
fn: "fsp.writeFile",
|
|
1068
|
+
params: [STRING, STRING],
|
|
1069
|
+
result: { kind: "promise", inner: VOID },
|
|
1070
|
+
},
|
|
668
1071
|
mkdir: { fn: "fsp.mkdir", params: [STRING], result: { kind: "promise", inner: VOID } },
|
|
669
|
-
readdir: {
|
|
1072
|
+
readdir: {
|
|
1073
|
+
fn: "fsp.readdir",
|
|
1074
|
+
params: [STRING],
|
|
1075
|
+
result: { kind: "promise", inner: arrayOf(STRING) },
|
|
1076
|
+
},
|
|
670
1077
|
rm: { fn: "fsp.rm", params: [STRING], result: { kind: "promise", inner: VOID } },
|
|
671
1078
|
stat: { fn: "fsp.stat", params: [STRING], result: { kind: "promise", inner: STATS_T } },
|
|
672
1079
|
realpath: { fn: "fsp.realpath", params: [STRING], result: { kind: "promise", inner: STRING } },
|
|
673
1080
|
lstat: { fn: "fsp.lstat", params: [STRING], result: { kind: "promise", inner: STATS_T } },
|
|
674
|
-
unlink: {
|
|
675
|
-
|
|
676
|
-
|
|
677
|
-
|
|
678
|
-
|
|
679
|
-
|
|
680
|
-
|
|
681
|
-
|
|
682
|
-
|
|
683
|
-
|
|
684
|
-
|
|
685
|
-
|
|
1081
|
+
unlink: {
|
|
1082
|
+
fn: "fsp.unlink",
|
|
1083
|
+
params: [STRING],
|
|
1084
|
+
result: { kind: "promise", inner: VOID },
|
|
1085
|
+
valueParams: exactValueParams(STRING),
|
|
1086
|
+
},
|
|
1087
|
+
chmod: {
|
|
1088
|
+
fn: "fsp.chmod",
|
|
1089
|
+
params: [STRING, F64],
|
|
1090
|
+
result: { kind: "promise", inner: VOID },
|
|
1091
|
+
valueParams: exactValueParams(STRING, F64),
|
|
1092
|
+
},
|
|
1093
|
+
link: {
|
|
1094
|
+
fn: "fsp.link",
|
|
1095
|
+
params: [DYN, DYN],
|
|
1096
|
+
result: { kind: "promise", inner: VOID },
|
|
1097
|
+
valueParams: exactValueParams(DYN, DYN),
|
|
1098
|
+
},
|
|
1099
|
+
symlink: {
|
|
1100
|
+
fn: "fsp.symlink",
|
|
1101
|
+
params: [DYN, DYN, DYN],
|
|
1102
|
+
result: { kind: "promise", inner: VOID },
|
|
1103
|
+
valueParams: [
|
|
1104
|
+
...exactValueParams(DYN, DYN),
|
|
1105
|
+
{ mode: "optional", type: DYN, defaultValue: undefined },
|
|
1106
|
+
],
|
|
1107
|
+
},
|
|
1108
|
+
readlink: {
|
|
1109
|
+
fn: "fsp.readlink",
|
|
1110
|
+
params: [DYN, DYN],
|
|
1111
|
+
result: { kind: "promise", inner: DYN },
|
|
1112
|
+
valueParams: [
|
|
1113
|
+
...exactValueParams(DYN),
|
|
1114
|
+
{ mode: "optional", type: DYN, defaultValue: undefined },
|
|
1115
|
+
],
|
|
1116
|
+
},
|
|
1117
|
+
statfs: {
|
|
1118
|
+
fn: "fsp.statfs",
|
|
1119
|
+
params: [DYN, DYN],
|
|
1120
|
+
result: { kind: "promise", inner: DYN },
|
|
1121
|
+
valueParams: [
|
|
1122
|
+
...exactValueParams(DYN),
|
|
1123
|
+
{ mode: "optional", type: DYN, defaultValue: undefined },
|
|
1124
|
+
],
|
|
1125
|
+
},
|
|
686
1126
|
utimes: { fn: "fsp.utimes", params: [DYN, DYN, DYN], result: { kind: "promise", inner: VOID } },
|
|
687
|
-
lutimes: {
|
|
688
|
-
|
|
1127
|
+
lutimes: {
|
|
1128
|
+
fn: "fsp.lutimes",
|
|
1129
|
+
params: [DYN, DYN, DYN],
|
|
1130
|
+
result: { kind: "promise", inner: VOID },
|
|
1131
|
+
},
|
|
1132
|
+
rename: {
|
|
1133
|
+
fn: "fsp.rename",
|
|
1134
|
+
params: [STRING, STRING],
|
|
1135
|
+
result: { kind: "promise", inner: VOID },
|
|
1136
|
+
valueParams: exactValueParams(STRING, STRING),
|
|
1137
|
+
},
|
|
689
1138
|
// open's optional flags/mode completion is special-cased in
|
|
690
1139
|
// lowerBuiltinModuleCall; this row routes all import spellings and
|
|
691
1140
|
// gives coverage the static member.
|
|
692
|
-
open: {
|
|
1141
|
+
open: {
|
|
1142
|
+
fn: "fsp.open",
|
|
1143
|
+
params: [STRING, STRING, F64],
|
|
1144
|
+
result: { kind: "promise", inner: FILEHANDLE_T },
|
|
1145
|
+
valueParams: [
|
|
693
1146
|
{ mode: "required", type: STRING },
|
|
694
1147
|
{ mode: "optional", type: STRING, defaultValue: "r" },
|
|
695
1148
|
{ mode: "optional", type: F64, defaultValue: 0o666 },
|
|
696
|
-
]
|
|
1149
|
+
],
|
|
1150
|
+
},
|
|
697
1151
|
},
|
|
698
1152
|
// The bare module's POSIX-target binding; a win32 target rebinds it to
|
|
699
1153
|
// the win32 table (builtinModuleFnsOf — Node on Windows IS path.win32).
|
|
@@ -733,7 +1187,12 @@ export const BUILTIN_MODULE_FNS = {
|
|
|
733
1187
|
// form KEEPS its one-libCall lowering (lowerCryptoComposedCall runs
|
|
734
1188
|
// first and the Buffer never materializes there); this entry covers
|
|
735
1189
|
// the bare calls and non-composed uses.
|
|
736
|
-
randomBytes: {
|
|
1190
|
+
randomBytes: {
|
|
1191
|
+
fn: "crypto.randomBytes",
|
|
1192
|
+
params: [F64],
|
|
1193
|
+
result: BYTES_U8,
|
|
1194
|
+
valueParams: exactValueParams(F64),
|
|
1195
|
+
},
|
|
737
1196
|
// The crypto utility surface is special-cased for overloads and
|
|
738
1197
|
// string/Buffer splits in lowerCryptoModuleCall. These rows carry the
|
|
739
1198
|
// canonical signatures for manifest projection and fallback dispatch.
|
|
@@ -743,9 +1202,17 @@ export const BUILTIN_MODULE_FNS = {
|
|
|
743
1202
|
timingSafeEqual: { fn: "crypto.timingSafeEqual", params: [BYTES_U8, BYTES_U8], result: BOOL },
|
|
744
1203
|
randomFillSync: { fn: "crypto.randomFill", params: [BYTES_U8, F64, F64], result: BYTES_U8 },
|
|
745
1204
|
randomInt: { fn: "crypto.randomInt", params: [F64, F64], result: F64 },
|
|
746
|
-
pbkdf2Sync: {
|
|
1205
|
+
pbkdf2Sync: {
|
|
1206
|
+
fn: "crypto.pbkdf2",
|
|
1207
|
+
params: [BYTES_U8, BYTES_U8, F64, F64, STRING],
|
|
1208
|
+
result: BYTES_U8,
|
|
1209
|
+
},
|
|
747
1210
|
pbkdf2: { fn: "crypto.pbkdf2Cb", params: [], result: VOID },
|
|
748
|
-
hkdfSync: {
|
|
1211
|
+
hkdfSync: {
|
|
1212
|
+
fn: "crypto.hkdf",
|
|
1213
|
+
params: [STRING, BYTES_U8, BYTES_U8, BYTES_U8, F64],
|
|
1214
|
+
result: DYN,
|
|
1215
|
+
},
|
|
749
1216
|
hkdf: { fn: "crypto.hkdfCb", params: [], result: VOID },
|
|
750
1217
|
scryptSync: { fn: "crypto.scrypt", params: [BYTES_U8, BYTES_U8, F64, DYN], result: BYTES_U8 },
|
|
751
1218
|
scrypt: { fn: "crypto.scryptCb", params: [], result: VOID },
|
|
@@ -772,9 +1239,33 @@ export const BUILTIN_MODULE_FNS = {
|
|
|
772
1239
|
crc32: { fn: "zlib.crc32", params: [], result: F64 },
|
|
773
1240
|
},
|
|
774
1241
|
url: {
|
|
775
|
-
fileURLToPath: {
|
|
776
|
-
|
|
777
|
-
|
|
1242
|
+
fileURLToPath: {
|
|
1243
|
+
fn: "url.fileURLToPathOptions",
|
|
1244
|
+
params: [DYN, DYN],
|
|
1245
|
+
result: STRING,
|
|
1246
|
+
valueParams: [
|
|
1247
|
+
{ mode: "required", type: DYN },
|
|
1248
|
+
{ mode: "optional", type: DYN, defaultValue: undefined },
|
|
1249
|
+
],
|
|
1250
|
+
},
|
|
1251
|
+
fileURLToPathBuffer: {
|
|
1252
|
+
fn: "url.fileURLToPathBuffer",
|
|
1253
|
+
params: [DYN, DYN],
|
|
1254
|
+
result: BYTES_U8,
|
|
1255
|
+
valueParams: [
|
|
1256
|
+
{ mode: "required", type: DYN },
|
|
1257
|
+
{ mode: "optional", type: DYN, defaultValue: undefined },
|
|
1258
|
+
],
|
|
1259
|
+
},
|
|
1260
|
+
pathToFileURL: {
|
|
1261
|
+
fn: "url.pathToFileURLChecked",
|
|
1262
|
+
params: [DYN, DYN],
|
|
1263
|
+
result: URL_T,
|
|
1264
|
+
valueParams: [
|
|
1265
|
+
{ mode: "required", type: DYN },
|
|
1266
|
+
{ mode: "optional", type: DYN, defaultValue: undefined },
|
|
1267
|
+
],
|
|
1268
|
+
},
|
|
778
1269
|
},
|
|
779
1270
|
child_process: {
|
|
780
1271
|
// spawnSync's and spawn's call completions are entirely special-cased
|
|
@@ -804,15 +1295,53 @@ export const BUILTIN_MODULE_FNS = {
|
|
|
804
1295
|
// the dedicated static member; the spoke owns its optional arity and
|
|
805
1296
|
// call-site-specific result type before this canonical signature is used.
|
|
806
1297
|
util: {
|
|
807
|
-
styleText: {
|
|
808
|
-
|
|
1298
|
+
styleText: {
|
|
1299
|
+
fn: "util.styleText",
|
|
1300
|
+
params: [DYN, DYN, DYN],
|
|
1301
|
+
result: STRING,
|
|
1302
|
+
valueParams: [
|
|
1303
|
+
{ mode: "required", type: DYN },
|
|
1304
|
+
{ mode: "required", type: DYN },
|
|
1305
|
+
{ mode: "optional", type: DYN, defaultValue: undefined },
|
|
1306
|
+
],
|
|
1307
|
+
},
|
|
1308
|
+
isDeepStrictEqual: {
|
|
1309
|
+
fn: "util.isDeepStrictEqual",
|
|
1310
|
+
params: [DYN, DYN, DYN],
|
|
1311
|
+
result: BOOL,
|
|
1312
|
+
valueParams: [
|
|
1313
|
+
{ mode: "required", type: DYN },
|
|
1314
|
+
{ mode: "required", type: DYN },
|
|
1315
|
+
{ mode: "optional", type: DYN, defaultValue: undefined },
|
|
1316
|
+
],
|
|
1317
|
+
},
|
|
809
1318
|
parseArgs: { fn: "util.parseArgs", params: [DYN], result: DYN },
|
|
810
1319
|
parseEnv: { fn: "util.parseEnv", params: [DYN], result: DYN },
|
|
811
|
-
getSystemErrorName: {
|
|
812
|
-
|
|
1320
|
+
getSystemErrorName: {
|
|
1321
|
+
fn: "util.getSystemErrorName",
|
|
1322
|
+
params: [DYN],
|
|
1323
|
+
result: STRING,
|
|
1324
|
+
valueParams: exactValueParams(DYN),
|
|
1325
|
+
},
|
|
1326
|
+
getSystemErrorMessage: {
|
|
1327
|
+
fn: "util.getSystemErrorMessage",
|
|
1328
|
+
params: [DYN],
|
|
1329
|
+
result: STRING,
|
|
1330
|
+
valueParams: exactValueParams(DYN),
|
|
1331
|
+
},
|
|
813
1332
|
getSystemErrorMap: { fn: "util.systemErrorEntries", params: [], result: DYN },
|
|
814
|
-
stripVTControlCharacters: {
|
|
815
|
-
|
|
1333
|
+
stripVTControlCharacters: {
|
|
1334
|
+
fn: "util.stripVTControlCharacters",
|
|
1335
|
+
params: [DYN],
|
|
1336
|
+
result: STRING,
|
|
1337
|
+
valueParams: exactValueParams(DYN),
|
|
1338
|
+
},
|
|
1339
|
+
toUSVString: {
|
|
1340
|
+
fn: "util.toUSVString",
|
|
1341
|
+
params: [DYN],
|
|
1342
|
+
result: STRING,
|
|
1343
|
+
valueParams: exactValueParams(DYN),
|
|
1344
|
+
},
|
|
816
1345
|
},
|
|
817
1346
|
// The util/types spoke supplies the probe name to the shared brand check.
|
|
818
1347
|
"util/types": {
|
|
@@ -868,8 +1397,18 @@ export const BUILTIN_MODULE_FNS = {
|
|
|
868
1397
|
decode: { fn: "qs.parse", params: [STRING], result: VOID },
|
|
869
1398
|
stringify: { fn: "qs.stringify", params: [DYN], result: STRING },
|
|
870
1399
|
encode: { fn: "qs.stringify", params: [DYN], result: STRING },
|
|
871
|
-
escape: {
|
|
872
|
-
|
|
1400
|
+
escape: {
|
|
1401
|
+
fn: "qs.escape",
|
|
1402
|
+
params: [STRING],
|
|
1403
|
+
result: STRING,
|
|
1404
|
+
valueParams: [{ mode: "required", type: STRING }],
|
|
1405
|
+
},
|
|
1406
|
+
unescape: {
|
|
1407
|
+
fn: "qs.unescape",
|
|
1408
|
+
params: [STRING],
|
|
1409
|
+
result: STRING,
|
|
1410
|
+
valueParams: [{ mode: "required", type: STRING }],
|
|
1411
|
+
},
|
|
873
1412
|
},
|
|
874
1413
|
// node:readline: createInterface's options are entirely special-cased
|
|
875
1414
|
// (exactly { input: process.stdin, output?: process.stdout } — see
|
|
@@ -889,8 +1428,16 @@ export const BUILTIN_MODULE_FNS = {
|
|
|
889
1428
|
// The process-wide happy-eyeballs attempt budget: one runtime double
|
|
890
1429
|
// in the core unit (never links scr_net.c by itself), default 250ms
|
|
891
1430
|
// like Node's.
|
|
892
|
-
getDefaultAutoSelectFamilyAttemptTimeout: {
|
|
893
|
-
|
|
1431
|
+
getDefaultAutoSelectFamilyAttemptTimeout: {
|
|
1432
|
+
fn: "net.getAutoSelTimeout",
|
|
1433
|
+
params: [],
|
|
1434
|
+
result: F64,
|
|
1435
|
+
},
|
|
1436
|
+
setDefaultAutoSelectFamilyAttemptTimeout: {
|
|
1437
|
+
fn: "net.setAutoSelTimeout",
|
|
1438
|
+
params: [F64],
|
|
1439
|
+
result: VOID,
|
|
1440
|
+
},
|
|
894
1441
|
},
|
|
895
1442
|
http: {},
|
|
896
1443
|
// node:tls and node:https ride the same spoke (tls.createServer's
|
|
@@ -939,7 +1486,7 @@ export const BUILTIN_MODULE_FNS = {
|
|
|
939
1486
|
// handle (type-mapper.ts maps Channel to F64); the subscriber arguments box
|
|
940
1487
|
// into the checked-dynamic tree (special-cased in lowerBuiltinModuleCall — the entries
|
|
941
1488
|
// carry canonical shapes and route the dispatch). The Channel method
|
|
942
|
-
// surface lowers through
|
|
1489
|
+
// surface lowers through lowerDiagnosticsChannelMethodCall/lowerDiagnosticsChannelProperty.
|
|
943
1490
|
diagnostics_channel: {
|
|
944
1491
|
channel: { fn: "dc.channel", params: [STRING], result: F64 },
|
|
945
1492
|
subscribe: { fn: "dc.subscribe", params: [STRING, DYN], result: VOID },
|
|
@@ -985,7 +1532,13 @@ export const BUILTIN_MODULE_FN_ALIASES = {
|
|
|
985
1532
|
openSync: ["fs.openNumericSync"],
|
|
986
1533
|
// The Buffer form (no encoding), the fd forms (readFileSync(fd[,
|
|
987
1534
|
// "utf8"])), and the checked-dynamic encoding form.
|
|
988
|
-
readFileSync: [
|
|
1535
|
+
readFileSync: [
|
|
1536
|
+
"fs.readFileSyncBuf",
|
|
1537
|
+
"fs.readFileSyncBytes",
|
|
1538
|
+
"fs.readFileSyncDyn",
|
|
1539
|
+
"fs.readFdSync",
|
|
1540
|
+
"fs.readFdSyncBytes",
|
|
1541
|
+
],
|
|
989
1542
|
readlinkSync: ["fs.readlinkSyncStr", "fs.readlinkSyncBuffer"],
|
|
990
1543
|
// The bytes-data form and the { mode } options form.
|
|
991
1544
|
writeFileSync: ["fs.writeFileSyncBytes", "fs.writeFileModeSync"],
|
|
@@ -1091,23 +1644,103 @@ export const AMBIENT_SURFACE_FNS = [
|
|
|
1091
1644
|
fns: ["date.toISOString", "date.toISOStringValue"],
|
|
1092
1645
|
note: "UTC ISO formatting over constructed and stored Date values",
|
|
1093
1646
|
},
|
|
1094
|
-
{
|
|
1095
|
-
|
|
1096
|
-
|
|
1097
|
-
|
|
1098
|
-
|
|
1099
|
-
|
|
1647
|
+
{
|
|
1648
|
+
id: "stdlib.date.getFullYear",
|
|
1649
|
+
kind: "stdlib",
|
|
1650
|
+
name: "Date.prototype.getFullYear",
|
|
1651
|
+
fns: ["date.getFullYear"],
|
|
1652
|
+
},
|
|
1653
|
+
{
|
|
1654
|
+
id: "stdlib.date.getUTCFullYear",
|
|
1655
|
+
kind: "stdlib",
|
|
1656
|
+
name: "Date.prototype.getUTCFullYear",
|
|
1657
|
+
fns: ["date.getUTCFullYear"],
|
|
1658
|
+
},
|
|
1659
|
+
{
|
|
1660
|
+
id: "stdlib.date.getMonth",
|
|
1661
|
+
kind: "stdlib",
|
|
1662
|
+
name: "Date.prototype.getMonth",
|
|
1663
|
+
fns: ["date.getMonth"],
|
|
1664
|
+
},
|
|
1665
|
+
{
|
|
1666
|
+
id: "stdlib.date.getUTCMonth",
|
|
1667
|
+
kind: "stdlib",
|
|
1668
|
+
name: "Date.prototype.getUTCMonth",
|
|
1669
|
+
fns: ["date.getUTCMonth"],
|
|
1670
|
+
},
|
|
1671
|
+
{
|
|
1672
|
+
id: "stdlib.date.getDate",
|
|
1673
|
+
kind: "stdlib",
|
|
1674
|
+
name: "Date.prototype.getDate",
|
|
1675
|
+
fns: ["date.getDate"],
|
|
1676
|
+
},
|
|
1677
|
+
{
|
|
1678
|
+
id: "stdlib.date.getUTCDate",
|
|
1679
|
+
kind: "stdlib",
|
|
1680
|
+
name: "Date.prototype.getUTCDate",
|
|
1681
|
+
fns: ["date.getUTCDate"],
|
|
1682
|
+
},
|
|
1100
1683
|
{ id: "stdlib.date.getDay", kind: "stdlib", name: "Date.prototype.getDay", fns: ["date.getDay"] },
|
|
1101
|
-
{
|
|
1102
|
-
|
|
1103
|
-
|
|
1104
|
-
|
|
1105
|
-
|
|
1106
|
-
|
|
1107
|
-
{
|
|
1108
|
-
|
|
1109
|
-
|
|
1110
|
-
|
|
1684
|
+
{
|
|
1685
|
+
id: "stdlib.date.getUTCDay",
|
|
1686
|
+
kind: "stdlib",
|
|
1687
|
+
name: "Date.prototype.getUTCDay",
|
|
1688
|
+
fns: ["date.getUTCDay"],
|
|
1689
|
+
},
|
|
1690
|
+
{
|
|
1691
|
+
id: "stdlib.date.getHours",
|
|
1692
|
+
kind: "stdlib",
|
|
1693
|
+
name: "Date.prototype.getHours",
|
|
1694
|
+
fns: ["date.getHours"],
|
|
1695
|
+
},
|
|
1696
|
+
{
|
|
1697
|
+
id: "stdlib.date.getUTCHours",
|
|
1698
|
+
kind: "stdlib",
|
|
1699
|
+
name: "Date.prototype.getUTCHours",
|
|
1700
|
+
fns: ["date.getUTCHours"],
|
|
1701
|
+
},
|
|
1702
|
+
{
|
|
1703
|
+
id: "stdlib.date.getMinutes",
|
|
1704
|
+
kind: "stdlib",
|
|
1705
|
+
name: "Date.prototype.getMinutes",
|
|
1706
|
+
fns: ["date.getMinutes"],
|
|
1707
|
+
},
|
|
1708
|
+
{
|
|
1709
|
+
id: "stdlib.date.getUTCMinutes",
|
|
1710
|
+
kind: "stdlib",
|
|
1711
|
+
name: "Date.prototype.getUTCMinutes",
|
|
1712
|
+
fns: ["date.getUTCMinutes"],
|
|
1713
|
+
},
|
|
1714
|
+
{
|
|
1715
|
+
id: "stdlib.date.getSeconds",
|
|
1716
|
+
kind: "stdlib",
|
|
1717
|
+
name: "Date.prototype.getSeconds",
|
|
1718
|
+
fns: ["date.getSeconds"],
|
|
1719
|
+
},
|
|
1720
|
+
{
|
|
1721
|
+
id: "stdlib.date.getUTCSeconds",
|
|
1722
|
+
kind: "stdlib",
|
|
1723
|
+
name: "Date.prototype.getUTCSeconds",
|
|
1724
|
+
fns: ["date.getUTCSeconds"],
|
|
1725
|
+
},
|
|
1726
|
+
{
|
|
1727
|
+
id: "stdlib.date.getMilliseconds",
|
|
1728
|
+
kind: "stdlib",
|
|
1729
|
+
name: "Date.prototype.getMilliseconds",
|
|
1730
|
+
fns: ["date.getMilliseconds"],
|
|
1731
|
+
},
|
|
1732
|
+
{
|
|
1733
|
+
id: "stdlib.date.getUTCMilliseconds",
|
|
1734
|
+
kind: "stdlib",
|
|
1735
|
+
name: "Date.prototype.getUTCMilliseconds",
|
|
1736
|
+
fns: ["date.getUTCMilliseconds"],
|
|
1737
|
+
},
|
|
1738
|
+
{
|
|
1739
|
+
id: "stdlib.date.getTimezoneOffset",
|
|
1740
|
+
kind: "stdlib",
|
|
1741
|
+
name: "Date.prototype.getTimezoneOffset",
|
|
1742
|
+
fns: ["date.getTimezoneOffset"],
|
|
1743
|
+
},
|
|
1111
1744
|
// ── perf_hooks (lowerPerfHooksCall): the monotonic clock.
|
|
1112
1745
|
{
|
|
1113
1746
|
id: "node-builtin.perf_hooks.performance.now",
|
|
@@ -1126,25 +1759,75 @@ export const AMBIENT_SURFACE_FNS = [
|
|
|
1126
1759
|
fns: ["process.envGet", "process.envSet", "process.envUnset", "process.envPairs"],
|
|
1127
1760
|
note: "reads, writes, deletes, and enumeration of the process environment (the process global)",
|
|
1128
1761
|
},
|
|
1129
|
-
{ id: "node-builtin.process.argv", kind: "node-builtin", name: "process.argv", fns: ["process.argv"] },
|
|
1130
|
-
{ id: "node-builtin.process.hrtime", kind: "node-builtin", name: "process.hrtime", fns: ["process.hrtimeValue"], note: "native monotonic tuple clock and bigint member; direct calls and stored JavaScript callable values" },
|
|
1131
1762
|
{
|
|
1132
|
-
id: "node-builtin.process.
|
|
1763
|
+
id: "node-builtin.process.argv",
|
|
1764
|
+
kind: "node-builtin",
|
|
1765
|
+
name: "process.argv",
|
|
1766
|
+
fns: ["process.argv"],
|
|
1767
|
+
},
|
|
1768
|
+
{
|
|
1769
|
+
id: "node-builtin.process.hrtime",
|
|
1770
|
+
kind: "node-builtin",
|
|
1771
|
+
name: "process.hrtime",
|
|
1772
|
+
fns: ["process.hrtimeValue"],
|
|
1773
|
+
note: "native monotonic tuple clock and bigint member; direct calls and stored JavaScript callable values",
|
|
1774
|
+
},
|
|
1775
|
+
{
|
|
1776
|
+
id: "node-builtin.process.getBuiltinModule",
|
|
1777
|
+
kind: "node-builtin",
|
|
1778
|
+
name: "process.getBuiltinModule",
|
|
1133
1779
|
fns: ["process.builtinId", "process.builtinModule", "process.builtinUnsupported"],
|
|
1134
1780
|
note: "native path and os export subsets plus main-thread worker_threads metadata; other modules and exports throw SC2020",
|
|
1135
1781
|
},
|
|
1136
1782
|
{
|
|
1137
|
-
id: "node-builtin.process.versions",
|
|
1783
|
+
id: "node-builtin.process.versions",
|
|
1784
|
+
kind: "node-builtin",
|
|
1785
|
+
name: "process.versions",
|
|
1138
1786
|
fns: ["process.versions"],
|
|
1139
1787
|
note: "shared version dictionary containing node and openssl; other components are absent unless defined by the program",
|
|
1140
1788
|
},
|
|
1141
|
-
{
|
|
1142
|
-
|
|
1143
|
-
|
|
1144
|
-
|
|
1145
|
-
|
|
1146
|
-
|
|
1147
|
-
{
|
|
1789
|
+
{
|
|
1790
|
+
id: "node-builtin.process.cwd",
|
|
1791
|
+
kind: "node-builtin",
|
|
1792
|
+
name: "process.cwd",
|
|
1793
|
+
fns: ["process.cwd"],
|
|
1794
|
+
},
|
|
1795
|
+
{
|
|
1796
|
+
id: "node-builtin.process.chdir",
|
|
1797
|
+
kind: "node-builtin",
|
|
1798
|
+
name: "process.chdir",
|
|
1799
|
+
fns: ["process.chdir"],
|
|
1800
|
+
},
|
|
1801
|
+
{
|
|
1802
|
+
id: "node-builtin.process.pid",
|
|
1803
|
+
kind: "node-builtin",
|
|
1804
|
+
name: "process.pid",
|
|
1805
|
+
fns: ["process.pid"],
|
|
1806
|
+
},
|
|
1807
|
+
{
|
|
1808
|
+
id: "node-builtin.process.getuid",
|
|
1809
|
+
kind: "node-builtin",
|
|
1810
|
+
name: "process.getuid",
|
|
1811
|
+
fns: ["process.getuid"],
|
|
1812
|
+
},
|
|
1813
|
+
{
|
|
1814
|
+
id: "node-builtin.process.getgid",
|
|
1815
|
+
kind: "node-builtin",
|
|
1816
|
+
name: "process.getgid",
|
|
1817
|
+
fns: ["process.getgid"],
|
|
1818
|
+
},
|
|
1819
|
+
{
|
|
1820
|
+
id: "node-builtin.process.execPath",
|
|
1821
|
+
kind: "node-builtin",
|
|
1822
|
+
name: "process.execPath",
|
|
1823
|
+
fns: ["process.execPath"],
|
|
1824
|
+
},
|
|
1825
|
+
{
|
|
1826
|
+
id: "node-builtin.process.uptime",
|
|
1827
|
+
kind: "node-builtin",
|
|
1828
|
+
name: "process.uptime",
|
|
1829
|
+
fns: ["process.uptime"],
|
|
1830
|
+
},
|
|
1148
1831
|
{
|
|
1149
1832
|
id: "node-builtin.process.availableMemory",
|
|
1150
1833
|
kind: "node-builtin",
|
|
@@ -1168,14 +1851,25 @@ export const AMBIENT_SURFACE_FNS = [
|
|
|
1168
1851
|
id: "node-builtin.process.cpuUsage",
|
|
1169
1852
|
kind: "node-builtin",
|
|
1170
1853
|
name: "process.cpuUsage",
|
|
1171
|
-
fns: [
|
|
1854
|
+
fns: [
|
|
1855
|
+
"process.cpuUser",
|
|
1856
|
+
"process.cpuSystem",
|
|
1857
|
+
"process.cpuUserDiff",
|
|
1858
|
+
"process.cpuSystemDiff",
|
|
1859
|
+
"process.cpuPrevValidate",
|
|
1860
|
+
],
|
|
1172
1861
|
note: "the plain-sample and previous-value diff forms are one surface",
|
|
1173
1862
|
},
|
|
1174
1863
|
{
|
|
1175
1864
|
id: "node-builtin.process.threadCpuUsage",
|
|
1176
1865
|
kind: "node-builtin",
|
|
1177
1866
|
name: "process.threadCpuUsage",
|
|
1178
|
-
fns: [
|
|
1867
|
+
fns: [
|
|
1868
|
+
"process.threadCpuUser",
|
|
1869
|
+
"process.threadCpuSystem",
|
|
1870
|
+
"process.threadCpuUserDiff",
|
|
1871
|
+
"process.threadCpuSystemDiff",
|
|
1872
|
+
],
|
|
1179
1873
|
note: "the plain-sample and previous-value diff forms are one surface",
|
|
1180
1874
|
},
|
|
1181
1875
|
{
|
|
@@ -1206,7 +1900,12 @@ export const AMBIENT_SURFACE_FNS = [
|
|
|
1206
1900
|
fns: ["process.kill", "process.killNum"],
|
|
1207
1901
|
note: "the signal-name and signal-number forms are one surface",
|
|
1208
1902
|
},
|
|
1209
|
-
{
|
|
1903
|
+
{
|
|
1904
|
+
id: "node-builtin.process.umask",
|
|
1905
|
+
kind: "node-builtin",
|
|
1906
|
+
name: "process.umask",
|
|
1907
|
+
fns: ["process.umask"],
|
|
1908
|
+
},
|
|
1210
1909
|
{
|
|
1211
1910
|
id: "node-builtin.process.exit",
|
|
1212
1911
|
kind: "node-builtin",
|
|
@@ -1287,9 +1986,44 @@ export function builtinModuleFnOf(lowerer, module, member) {
|
|
|
1287
1986
|
}
|
|
1288
1987
|
/** Native error-first function values used by platform service adapters. */
|
|
1289
1988
|
export const FS_CALLBACK_MEMBERS = new Set([
|
|
1290
|
-
"access",
|
|
1291
|
-
"
|
|
1292
|
-
"
|
|
1989
|
+
"access",
|
|
1990
|
+
"cp",
|
|
1991
|
+
"copyFile",
|
|
1992
|
+
"chmod",
|
|
1993
|
+
"chown",
|
|
1994
|
+
"glob",
|
|
1995
|
+
"link",
|
|
1996
|
+
"mkdir",
|
|
1997
|
+
"mkdtemp",
|
|
1998
|
+
"rm",
|
|
1999
|
+
"rmdir",
|
|
2000
|
+
"unlink",
|
|
2001
|
+
"open",
|
|
2002
|
+
"close",
|
|
2003
|
+
"fstat",
|
|
2004
|
+
"ftruncate",
|
|
2005
|
+
"fsync",
|
|
2006
|
+
"fdatasync",
|
|
2007
|
+
"fchmod",
|
|
2008
|
+
"read",
|
|
2009
|
+
"write",
|
|
2010
|
+
"readv",
|
|
2011
|
+
"writev",
|
|
2012
|
+
"readlink",
|
|
2013
|
+
"realpath",
|
|
2014
|
+
"rename",
|
|
2015
|
+
"stat",
|
|
2016
|
+
"lstat",
|
|
2017
|
+
"symlink",
|
|
2018
|
+
"statfs",
|
|
2019
|
+
"truncate",
|
|
2020
|
+
"utimes",
|
|
2021
|
+
"futimes",
|
|
2022
|
+
"lutimes",
|
|
2023
|
+
"readFile",
|
|
2024
|
+
"writeFile",
|
|
2025
|
+
"appendFile",
|
|
2026
|
+
"readdir",
|
|
1293
2027
|
]);
|
|
1294
2028
|
/** One member's fence hint, own-property-safe (a collision would print an
|
|
1295
2029
|
* inherited function into the diagnostic text). */
|
|
@@ -1327,20 +2061,78 @@ export function builtinConstLit(value, loc) {
|
|
|
1327
2061
|
* array — a divergence only mutation could observe, and mutating Node's
|
|
1328
2062
|
* frozen array throws anyway. */
|
|
1329
2063
|
export const NODE_BUILTIN_MODULES_V24 = [
|
|
1330
|
-
"_http_agent",
|
|
1331
|
-
"
|
|
1332
|
-
"
|
|
1333
|
-
"
|
|
1334
|
-
"
|
|
1335
|
-
"
|
|
1336
|
-
"
|
|
1337
|
-
"
|
|
1338
|
-
"
|
|
1339
|
-
"
|
|
1340
|
-
"
|
|
1341
|
-
"
|
|
1342
|
-
"
|
|
1343
|
-
"
|
|
2064
|
+
"_http_agent",
|
|
2065
|
+
"_http_client",
|
|
2066
|
+
"_http_common",
|
|
2067
|
+
"_http_incoming",
|
|
2068
|
+
"_http_outgoing",
|
|
2069
|
+
"_http_server",
|
|
2070
|
+
"_stream_duplex",
|
|
2071
|
+
"_stream_passthrough",
|
|
2072
|
+
"_stream_readable",
|
|
2073
|
+
"_stream_transform",
|
|
2074
|
+
"_stream_wrap",
|
|
2075
|
+
"_stream_writable",
|
|
2076
|
+
"_tls_common",
|
|
2077
|
+
"_tls_wrap",
|
|
2078
|
+
"assert",
|
|
2079
|
+
"assert/strict",
|
|
2080
|
+
"async_hooks",
|
|
2081
|
+
"buffer",
|
|
2082
|
+
"child_process",
|
|
2083
|
+
"cluster",
|
|
2084
|
+
"console",
|
|
2085
|
+
"constants",
|
|
2086
|
+
"crypto",
|
|
2087
|
+
"dgram",
|
|
2088
|
+
"diagnostics_channel",
|
|
2089
|
+
"dns",
|
|
2090
|
+
"dns/promises",
|
|
2091
|
+
"domain",
|
|
2092
|
+
"events",
|
|
2093
|
+
"fs",
|
|
2094
|
+
"fs/promises",
|
|
2095
|
+
"http",
|
|
2096
|
+
"http2",
|
|
2097
|
+
"https",
|
|
2098
|
+
"inspector",
|
|
2099
|
+
"inspector/promises",
|
|
2100
|
+
"module",
|
|
2101
|
+
"net",
|
|
2102
|
+
"os",
|
|
2103
|
+
"path",
|
|
2104
|
+
"path/posix",
|
|
2105
|
+
"path/win32",
|
|
2106
|
+
"perf_hooks",
|
|
2107
|
+
"process",
|
|
2108
|
+
"punycode",
|
|
2109
|
+
"querystring",
|
|
2110
|
+
"readline",
|
|
2111
|
+
"readline/promises",
|
|
2112
|
+
"repl",
|
|
2113
|
+
"stream",
|
|
2114
|
+
"stream/consumers",
|
|
2115
|
+
"stream/promises",
|
|
2116
|
+
"stream/web",
|
|
2117
|
+
"string_decoder",
|
|
2118
|
+
"sys",
|
|
2119
|
+
"timers",
|
|
2120
|
+
"timers/promises",
|
|
2121
|
+
"tls",
|
|
2122
|
+
"trace_events",
|
|
2123
|
+
"tty",
|
|
2124
|
+
"url",
|
|
2125
|
+
"util",
|
|
2126
|
+
"util/types",
|
|
2127
|
+
"v8",
|
|
2128
|
+
"vm",
|
|
2129
|
+
"wasi",
|
|
2130
|
+
"worker_threads",
|
|
2131
|
+
"zlib",
|
|
2132
|
+
"node:sea",
|
|
2133
|
+
"node:sqlite",
|
|
2134
|
+
"node:test",
|
|
2135
|
+
"node:test/reporters",
|
|
1344
2136
|
];
|
|
1345
2137
|
/** The array-literal read of module.builtinModules — both value paths
|
|
1346
2138
|
* (the named-import binding and the namespace member read) mint the
|
|
@@ -1348,7 +2140,12 @@ export const NODE_BUILTIN_MODULES_V24 = [
|
|
|
1348
2140
|
export function builtinModulesArrayLit(loc) {
|
|
1349
2141
|
return {
|
|
1350
2142
|
kind: "arrayLit",
|
|
1351
|
-
elems: NODE_BUILTIN_MODULES_V24.map((m) => ({
|
|
2143
|
+
elems: NODE_BUILTIN_MODULES_V24.map((m) => ({
|
|
2144
|
+
kind: "strLit",
|
|
2145
|
+
value: m,
|
|
2146
|
+
type: STRING,
|
|
2147
|
+
loc,
|
|
2148
|
+
})),
|
|
1352
2149
|
type: arrayOf(STRING),
|
|
1353
2150
|
loc,
|
|
1354
2151
|
};
|
|
@@ -1367,7 +2164,7 @@ const ASSERT_MODULE_HINTS = {
|
|
|
1367
2164
|
ifError: "test explicitly instead: assert.strictEqual(err, null) / " +
|
|
1368
2165
|
"assert.strictEqual(err, undefined)",
|
|
1369
2166
|
rejects: "await the promise inside assert.throws's callback story instead: " +
|
|
1370
|
-
|
|
2167
|
+
'try { await p; assert.fail("expected rejection") } catch { ... }',
|
|
1371
2168
|
doesNotReject: "await the promise directly — an unexpected rejection already fails the test",
|
|
1372
2169
|
AssertionError: "the class itself has no lowering — catch and test err.name === " +
|
|
1373
2170
|
'"AssertionError" or err.code === "ERR_ASSERTION"',
|
|
@@ -1409,12 +2206,26 @@ export const BUILTIN_MODULE_FENCE_HINTS = {
|
|
|
1409
2206
|
},
|
|
1410
2207
|
crypto: {
|
|
1411
2208
|
...Object.fromEntries([
|
|
1412
|
-
"generateKeyPair",
|
|
1413
|
-
"
|
|
1414
|
-
"
|
|
1415
|
-
"
|
|
1416
|
-
"
|
|
1417
|
-
"
|
|
2209
|
+
"generateKeyPair",
|
|
2210
|
+
"generateKeyPairSync",
|
|
2211
|
+
"generateKey",
|
|
2212
|
+
"generateKeySync",
|
|
2213
|
+
"createPrivateKey",
|
|
2214
|
+
"createPublicKey",
|
|
2215
|
+
"createSecretKey",
|
|
2216
|
+
"createSign",
|
|
2217
|
+
"createVerify",
|
|
2218
|
+
"sign",
|
|
2219
|
+
"verify",
|
|
2220
|
+
"createDiffieHellman",
|
|
2221
|
+
"createDiffieHellmanGroup",
|
|
2222
|
+
"getDiffieHellman",
|
|
2223
|
+
"createECDH",
|
|
2224
|
+
"diffieHellman",
|
|
2225
|
+
"publicEncrypt",
|
|
2226
|
+
"publicDecrypt",
|
|
2227
|
+
"privateEncrypt",
|
|
2228
|
+
"privateDecrypt",
|
|
1418
2229
|
].map((m) => [
|
|
1419
2230
|
m,
|
|
1420
2231
|
"asymmetric-key operations need a public-key stack (bignum, RSA/EC/EdDSA math) and a " +
|
|
@@ -1451,12 +2262,12 @@ export const BUILTIN_MODULE_FENCE_HINTS = {
|
|
|
1451
2262
|
},
|
|
1452
2263
|
};
|
|
1453
2264
|
/** The MEMBER chokepoint of the lib fence: called from the property-read
|
|
1454
|
-
|
|
1455
|
-
|
|
1456
|
-
|
|
1457
|
-
|
|
1458
|
-
|
|
1459
|
-
|
|
2265
|
+
* and method-call fallbacks after every lowering has passed. When the
|
|
2266
|
+
* accessed member is stdlib-declared, the use is standard-library surface
|
|
2267
|
+
* with no lowering — report SC2020 naming `<container>.<member>` (the
|
|
2268
|
+
* receiver's global name when it IS a stdlib global like Math or Promise,
|
|
2269
|
+
* its widened type text otherwise). Returns silently for non-stdlib
|
|
2270
|
+
* members so the caller's generic rejection applies. */
|
|
1460
2271
|
export function stdlibMemberFence(lowerer, access) {
|
|
1461
2272
|
const sym = lowerer.checker.getSymbolAtLocation(access.name);
|
|
1462
2273
|
if (!sym || !lowerer.isStdlibSymbol(sym))
|
|
@@ -1490,13 +2301,15 @@ export function stdlibMemberFence(lowerer, access) {
|
|
|
1490
2301
|
lowerer.checker.typeToString(lowerer.checker.getBaseTypeOfLiteralType(lowerer.typeOf(recv)));
|
|
1491
2302
|
let hint;
|
|
1492
2303
|
const recvIr = lowerer.mapTypeOf(lowerer.typeOf(recv));
|
|
1493
|
-
if (recvIr?.kind === "promise" &&
|
|
2304
|
+
if (recvIr?.kind === "promise" &&
|
|
2305
|
+
(member === "then" || member === "catch" || member === "finally")) {
|
|
1494
2306
|
hint =
|
|
1495
2307
|
"'await' is the supported way to chain (p.then(f) with one fulfillment handler, p.catch " +
|
|
1496
2308
|
"with an INLINE handler, and p.finally(cb) compile) — try { await p } catch (e) is the general form";
|
|
1497
2309
|
}
|
|
1498
2310
|
else if (recvIr?.kind === "f64" && member === "toString") {
|
|
1499
|
-
hint =
|
|
2311
|
+
hint =
|
|
2312
|
+
"radix-free conversion is a template literal away: `${x}`; toString(radix) runs under --dynamic";
|
|
1500
2313
|
}
|
|
1501
2314
|
else if (container === "Math" && (member === "min" || member === "max")) {
|
|
1502
2315
|
hint =
|
|
@@ -1581,11 +2394,24 @@ export function stdlibMemberFence(lowerer, access) {
|
|
|
1581
2394
|
"no shared-memory threads exist in a compiled program — Uint8Array is the byte storage " +
|
|
1582
2395
|
"(a fixed-length allocation: grow has nothing to share it with)";
|
|
1583
2396
|
}
|
|
1584
|
-
else if (container === "Intl" ||
|
|
1585
|
-
|
|
1586
|
-
|
|
1587
|
-
|
|
1588
|
-
|
|
2397
|
+
else if (container === "Intl" ||
|
|
2398
|
+
container.startsWith("Intl.") ||
|
|
2399
|
+
[
|
|
2400
|
+
"NumberFormat",
|
|
2401
|
+
"DateTimeFormat",
|
|
2402
|
+
"DurationFormat",
|
|
2403
|
+
"PluralRules",
|
|
2404
|
+
"Collator",
|
|
2405
|
+
"Locale",
|
|
2406
|
+
"RelativeTimeFormat",
|
|
2407
|
+
"ListFormat",
|
|
2408
|
+
"Segmenter",
|
|
2409
|
+
"DisplayNames",
|
|
2410
|
+
].includes(container) ||
|
|
2411
|
+
member === "toLocaleString" ||
|
|
2412
|
+
member === "toLocaleDateString" ||
|
|
2413
|
+
member === "toLocaleTimeString" ||
|
|
2414
|
+
member === "toLocaleLowerCase" ||
|
|
1589
2415
|
member === "toLocaleUpperCase") {
|
|
1590
2416
|
hint =
|
|
1591
2417
|
"locale- and ICU-backed behavior lives outside the static runtime (the localeCompare " +
|
|
@@ -1605,7 +2431,7 @@ export function stdlibMemberFence(lowerer, access) {
|
|
|
1605
2431
|
lowerer.noLowering(`${container}.${member}`, access, hint, sym);
|
|
1606
2432
|
}
|
|
1607
2433
|
/** True iff the accessed member is declared by the standard library —
|
|
1608
|
-
|
|
2434
|
+
* the same technique as isConsoleLog: trust declarations, not names. */
|
|
1609
2435
|
export function isStdlibMember(lowerer, access) {
|
|
1610
2436
|
const direct = lowerer.checker.getSymbolAtLocation(access.name);
|
|
1611
2437
|
if (direct)
|
|
@@ -1624,11 +2450,11 @@ export function isStdlibMember(lowerer, access) {
|
|
|
1624
2450
|
return false;
|
|
1625
2451
|
}
|
|
1626
2452
|
/** The provenance check the CHILD receiver lowerings use: a stdlib
|
|
1627
|
-
|
|
1628
|
-
|
|
1629
|
-
|
|
1630
|
-
|
|
1631
|
-
|
|
2453
|
+
* member, OR a member the user's own child-shaped interface declares
|
|
2454
|
+
* (the NgrokChildProcess idiom — mapType's duck rule admits an
|
|
2455
|
+
* interface only when EVERY member names the lowered ChildProcess
|
|
2456
|
+
* surface, so accepting its members here cannot widen the surface;
|
|
2457
|
+
* the receiver-kind gate already proved the type maps to child). */
|
|
1632
2458
|
export function isChildSurfaceMember(lowerer, access) {
|
|
1633
2459
|
if (isStdlibMember(lowerer, access))
|
|
1634
2460
|
return true;
|
|
@@ -1642,12 +2468,13 @@ export function isChildSurfaceMember(lowerer, access) {
|
|
|
1642
2468
|
return lowerer.mapTypeOf(lowerer.checker.getTypeAtLocation(iface.name))?.kind === "child";
|
|
1643
2469
|
}
|
|
1644
2470
|
/** True iff some declaration of the symbol lives in the standard library
|
|
1645
|
-
|
|
1646
|
-
|
|
1647
|
-
|
|
1648
|
-
|
|
2471
|
+
* (shipped ambient or default lib — the provenance half of every
|
|
2472
|
+
* supported-surface check). `some`, not `[0]`: divergence overrides merge
|
|
2473
|
+
* with lib interfaces, so a member can carry declarations from both. A
|
|
2474
|
+
* user's own declaration is in neither, so shadowing never matches. */
|
|
1649
2475
|
export function isStdlibSymbol(lowerer, symbol) {
|
|
1650
|
-
return !!symbol &&
|
|
2476
|
+
return (!!symbol &&
|
|
2477
|
+
lowerer.checker.declarationsOf(symbol).some((d) => lowerer.isStdlibFile(d.getSourceFile())));
|
|
1651
2478
|
}
|
|
1652
2479
|
/** The canonical stdlib-global name `expr` denotes, or null. Three
|
|
1653
2480
|
* spellings reach the same global (Node's own aliasing):
|
|
@@ -1655,12 +2482,12 @@ export function isStdlibSymbol(lowerer, symbol) {
|
|
|
1655
2482
|
* - the default import from `process`/`node:process`, whose value is
|
|
1656
2483
|
* exactly the global process object;
|
|
1657
2484
|
* - the `global` identifier — Node's alias of globalThis — and
|
|
1658
|
-
|
|
1659
|
-
|
|
1660
|
-
|
|
1661
|
-
|
|
1662
|
-
|
|
1663
|
-
|
|
2485
|
+
* `globalThis` itself both canonicalize to "globalThis";
|
|
2486
|
+
* - a property read off globalThis (`globalThis.process`,
|
|
2487
|
+
* `global.process`) — `declare var` globals ARE properties of
|
|
2488
|
+
* `typeof globalThis`, same symbol either way;
|
|
2489
|
+
* - a local alias binding (`const process = globalThis.process`, the
|
|
2490
|
+
* tamper-guard prologue) registered in stdlibGlobalAliases. */
|
|
1664
2491
|
export function stdlibGlobalNameOf(lowerer, expr) {
|
|
1665
2492
|
if (ts.isParenthesizedExpression(expr))
|
|
1666
2493
|
return stdlibGlobalNameOf(lowerer, expr.expression);
|
|
@@ -1669,7 +2496,10 @@ export function stdlibGlobalNameOf(lowerer, expr) {
|
|
|
1669
2496
|
// `globalThis` itself: a reserved intrinsic — tsc rejects user
|
|
1670
2497
|
// global bindings, but local parameters can shadow it. Its special
|
|
1671
2498
|
// symbol has no ordinary declarations for the provenance check.
|
|
1672
|
-
if (expr.text === "globalThis" &&
|
|
2499
|
+
if (expr.text === "globalThis" &&
|
|
2500
|
+
(!symbol ||
|
|
2501
|
+
lowerer.checker.declarationsOf(symbol).length === 0 ||
|
|
2502
|
+
lowerer.isStdlibSymbol(symbol)))
|
|
1673
2503
|
return "globalThis";
|
|
1674
2504
|
if (!symbol)
|
|
1675
2505
|
return null;
|
|
@@ -1707,32 +2537,32 @@ export function stdlibGlobalNameOf(lowerer, expr) {
|
|
|
1707
2537
|
return null;
|
|
1708
2538
|
}
|
|
1709
2539
|
/** True iff `expr` denotes THE standard-library global `name` — name AND
|
|
1710
|
-
|
|
1711
|
-
|
|
1712
|
-
|
|
1713
|
-
|
|
1714
|
-
|
|
2540
|
+
* provenance, because neither alone suffices: several globals share
|
|
2541
|
+
* member names (Math.log must never lower as console.log), and a user
|
|
2542
|
+
* binding shadowing a global's name has a different, non-stdlib symbol.
|
|
2543
|
+
* All of stdlibGlobalNameOf's spellings answer (globalThis.process is
|
|
2544
|
+
* process; `const process = globalThis.process` aliases through). */
|
|
1715
2545
|
export function isStdlibGlobal(lowerer, expr, name) {
|
|
1716
2546
|
return stdlibGlobalNameOf(lowerer, expr) === name;
|
|
1717
2547
|
}
|
|
1718
2548
|
/** The member name of a `<global>.<member>` access whose receiver is THE
|
|
1719
|
-
|
|
1720
|
-
|
|
1721
|
-
|
|
2549
|
+
* standard-library global `name` (console, JSON, process, Math). Null for
|
|
2550
|
+
* anything else, so property-lowering chains keep trying other
|
|
2551
|
+
* receivers. */
|
|
1722
2552
|
export function stdlibGlobalMember(lowerer, access, name) {
|
|
1723
2553
|
if (lowerer.chainBlocked(access))
|
|
1724
2554
|
return null;
|
|
1725
2555
|
return lowerer.isStdlibGlobal(access.expression, name) ? access.name.text : null;
|
|
1726
2556
|
}
|
|
1727
2557
|
/** `const process = globalThis.process` (and any `const x = <stdlib
|
|
1728
|
-
|
|
1729
|
-
|
|
1730
|
-
|
|
1731
|
-
|
|
1732
|
-
|
|
1733
|
-
|
|
1734
|
-
|
|
1735
|
-
|
|
2558
|
+
* global>` snapshot — the suite harness's tamper-guard prologue): the
|
|
2559
|
+
* binding is pure alias plumbing. Nothing in a compiled program can
|
|
2560
|
+
* reassign a stdlib global, so the snapshot IS the global: the symbol
|
|
2561
|
+
* registers in stdlibGlobalAliases (every receiver check resolves
|
|
2562
|
+
* through it — see stdlibGlobalNameOf) and the declaration emits
|
|
2563
|
+
* nothing. Only the globals with lowered member surfaces alias this
|
|
2564
|
+
* way; aliasing, say, `Math` would change nothing (its members lower
|
|
2565
|
+
* by receiver too). Returns true when recognized. */
|
|
1736
2566
|
export function stdlibGlobalAliasNameOf(lowerer, init) {
|
|
1737
2567
|
if (!init)
|
|
1738
2568
|
return null;
|
|
@@ -1770,15 +2600,29 @@ export function stdlibGlobalAliasNameOf(lowerer, init) {
|
|
|
1770
2600
|
let directInit = init;
|
|
1771
2601
|
while (ts.isParenthesizedExpression(directInit))
|
|
1772
2602
|
directInit = directInit.expression;
|
|
1773
|
-
if (name === "globalThis" &&
|
|
1774
|
-
|
|
2603
|
+
if (name === "globalThis" &&
|
|
2604
|
+
lowerer.dynamic &&
|
|
2605
|
+
!isJsSourceFile(init.getSourceFile()) &&
|
|
2606
|
+
ts.isIdentifier(directInit) &&
|
|
2607
|
+
directInit.text === "globalThis" &&
|
|
1775
2608
|
ts.isVariableDeclaration(init.parent) &&
|
|
1776
2609
|
(lowerer.typeOf(init.parent.name).flags & ts.TypeFlags.Any) !== 0)
|
|
1777
2610
|
return null;
|
|
1778
2611
|
// These globals have provenance-aware call or member lowering, so a
|
|
1779
2612
|
// stable snapshot keeps the same dispatch as the original global.
|
|
1780
2613
|
// Other callable globals still use their ordinary value paths.
|
|
1781
|
-
return [
|
|
2614
|
+
return [
|
|
2615
|
+
"process",
|
|
2616
|
+
"console",
|
|
2617
|
+
"globalThis",
|
|
2618
|
+
"performance",
|
|
2619
|
+
"Array",
|
|
2620
|
+
"Buffer",
|
|
2621
|
+
"BigInt",
|
|
2622
|
+
"Number",
|
|
2623
|
+
"String",
|
|
2624
|
+
"Boolean",
|
|
2625
|
+
].includes(name)
|
|
1782
2626
|
? name
|
|
1783
2627
|
: null;
|
|
1784
2628
|
}
|
|
@@ -1790,7 +2634,8 @@ export function stdlibGlobalAliasDecl(lowerer, nameNode, init) {
|
|
|
1790
2634
|
return false;
|
|
1791
2635
|
// Mutable global-object bindings keep real storage, even when never
|
|
1792
2636
|
// reassigned: var can be observed before initialization and let has TDZ.
|
|
1793
|
-
if (name === "globalThis" &&
|
|
2637
|
+
if (name === "globalThis" &&
|
|
2638
|
+
ts.isVariableDeclaration(nameNode.parent) &&
|
|
1794
2639
|
(ts.getCombinedNodeFlags(nameNode.parent) & ts.NodeFlags.Const) === 0)
|
|
1795
2640
|
return false;
|
|
1796
2641
|
const symbol = lowerer.checker.getSymbolAtLocation(nameNode);
|
|
@@ -1800,9 +2645,9 @@ export function stdlibGlobalAliasDecl(lowerer, nameNode, init) {
|
|
|
1800
2645
|
return true;
|
|
1801
2646
|
}
|
|
1802
2647
|
/** True iff the symbol is declared ONLY by the adopted @types/node
|
|
1803
|
-
|
|
1804
|
-
|
|
1805
|
-
|
|
2648
|
+
* surface (no es-lib or shipped-ambient declaration merges in) — chooses
|
|
2649
|
+
* the SC2020 fence's wording: "typed by @types/node", not "standard
|
|
2650
|
+
* library". */
|
|
1806
2651
|
export function nodeTypesOnlySymbol(lowerer, sym) {
|
|
1807
2652
|
const decls = sym ? lowerer.checker.declarationsOf(sym) : undefined;
|
|
1808
2653
|
if (!decls || decls.length === 0)
|