@scriptc/compiler 0.3.0 → 0.3.2
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 +346 -17
- package/dist/backend/executable-features.js +1 -0
- package/dist/backend/executable-features.js.map +1 -1
- package/dist/backend/literals.d.ts +7 -0
- package/dist/backend/literals.js +32 -0
- package/dist/backend/literals.js.map +1 -1
- package/dist/backend/literals.test.js +17 -1
- package/dist/backend/literals.test.js.map +1 -1
- package/dist/backend/llvm/alloc.d.ts +15 -4
- package/dist/backend/llvm/alloc.js +39 -15
- package/dist/backend/llvm/alloc.js.map +1 -1
- package/dist/backend/llvm/alloc.test.js +15 -1
- package/dist/backend/llvm/alloc.test.js.map +1 -1
- package/dist/backend/llvm/appended-array-literals.d.ts +2 -0
- package/dist/backend/llvm/appended-array-literals.js +109 -0
- package/dist/backend/llvm/appended-array-literals.js.map +1 -0
- package/dist/backend/llvm/appended-array-literals.test.d.ts +1 -0
- package/dist/backend/llvm/appended-array-literals.test.js +90 -0
- package/dist/backend/llvm/appended-array-literals.test.js.map +1 -0
- package/dist/backend/llvm/bigint-wrap.d.ts +4 -0
- package/dist/backend/llvm/bigint-wrap.js +590 -0
- package/dist/backend/llvm/bigint-wrap.js.map +1 -0
- package/dist/backend/llvm/blocks.d.ts +2 -0
- package/dist/backend/llvm/blocks.js +4 -0
- package/dist/backend/llvm/blocks.js.map +1 -1
- package/dist/backend/llvm/call-lifetimes.d.ts +4 -1
- package/dist/backend/llvm/call-lifetimes.js +66 -7
- package/dist/backend/llvm/call-lifetimes.js.map +1 -1
- package/dist/backend/llvm/call-lifetimes.test.js +14 -3
- package/dist/backend/llvm/call-lifetimes.test.js.map +1 -1
- package/dist/backend/llvm/checked-narrows.test.js +1 -1
- package/dist/backend/llvm/checked-narrows.test.js.map +1 -1
- package/dist/backend/llvm/classes.js +67 -14
- package/dist/backend/llvm/classes.js.map +1 -1
- package/dist/backend/llvm/classes.test.js +6 -6
- package/dist/backend/llvm/classes.test.js.map +1 -1
- package/dist/backend/llvm/common.d.ts +7 -5
- package/dist/backend/llvm/common.js +7 -5
- package/dist/backend/llvm/common.js.map +1 -1
- package/dist/backend/llvm/constant-callbacks.js +10 -28
- package/dist/backend/llvm/constant-callbacks.js.map +1 -1
- package/dist/backend/llvm/dense-array-access.js +146 -53
- package/dist/backend/llvm/dense-array-access.js.map +1 -1
- package/dist/backend/llvm/dense-array-access.test.js +68 -3
- package/dist/backend/llvm/dense-array-access.test.js.map +1 -1
- package/dist/backend/llvm/dyn.d.ts +4 -0
- package/dist/backend/llvm/dyn.js +15 -2
- package/dist/backend/llvm/dyn.js.map +1 -1
- package/dist/backend/llvm/emitter.d.ts +163 -8
- package/dist/backend/llvm/emitter.js +973 -100
- package/dist/backend/llvm/emitter.js.map +1 -1
- package/dist/backend/llvm/emitter.test.js +14 -7
- package/dist/backend/llvm/emitter.test.js.map +1 -1
- package/dist/backend/llvm/expr-async.js +242 -49
- package/dist/backend/llvm/expr-async.js.map +1 -1
- package/dist/backend/llvm/expr-async.test.js +1 -1
- package/dist/backend/llvm/expr-async.test.js.map +1 -1
- package/dist/backend/llvm/expr-bytes.js +51 -36
- package/dist/backend/llvm/expr-bytes.js.map +1 -1
- package/dist/backend/llvm/expr-callbacks.d.ts +8 -0
- package/dist/backend/llvm/expr-callbacks.js +153 -4
- package/dist/backend/llvm/expr-callbacks.js.map +1 -1
- package/dist/backend/llvm/expr-calls.d.ts +12 -1
- package/dist/backend/llvm/expr-calls.js +279 -78
- package/dist/backend/llvm/expr-calls.js.map +1 -1
- package/dist/backend/llvm/expr-calls.test.d.ts +1 -0
- package/dist/backend/llvm/expr-calls.test.js +132 -0
- package/dist/backend/llvm/expr-calls.test.js.map +1 -0
- package/dist/backend/llvm/expr-containers.d.ts +7 -0
- package/dist/backend/llvm/expr-containers.js +49 -5
- package/dist/backend/llvm/expr-containers.js.map +1 -1
- package/dist/backend/llvm/expr-context.d.ts +4 -0
- package/dist/backend/llvm/expr-control.d.ts +8 -0
- package/dist/backend/llvm/expr-control.js +103 -69
- package/dist/backend/llvm/expr-control.js.map +1 -1
- package/dist/backend/llvm/expr-dispatch.js +3 -0
- package/dist/backend/llvm/expr-dispatch.js.map +1 -1
- package/dist/backend/llvm/expr-dynamic.js +28 -6
- package/dist/backend/llvm/expr-dynamic.js.map +1 -1
- package/dist/backend/llvm/expr-primitives.d.ts +14 -0
- package/dist/backend/llvm/expr-primitives.js +110 -48
- package/dist/backend/llvm/expr-primitives.js.map +1 -1
- package/dist/backend/llvm/expr-primitives.test.js +95 -5
- package/dist/backend/llvm/expr-primitives.test.js.map +1 -1
- package/dist/backend/llvm/expr-records.d.ts +9 -0
- package/dist/backend/llvm/expr-records.js +144 -16
- package/dist/backend/llvm/expr-records.js.map +1 -1
- package/dist/backend/llvm/expr-stream-bridges.d.ts +9 -1
- package/dist/backend/llvm/expr-stream-bridges.js +152 -4
- package/dist/backend/llvm/expr-stream-bridges.js.map +1 -1
- package/dist/backend/llvm/expr-stream-bridges.test.js +98 -1
- package/dist/backend/llvm/expr-stream-bridges.test.js.map +1 -1
- package/dist/backend/llvm/int32-abi.d.ts +47 -0
- package/dist/backend/llvm/int32-abi.js +83 -0
- package/dist/backend/llvm/int32-abi.js.map +1 -0
- package/dist/backend/llvm/int32-abi.test.d.ts +1 -0
- package/dist/backend/llvm/int32-abi.test.js +181 -0
- package/dist/backend/llvm/int32-abi.test.js.map +1 -0
- package/dist/backend/llvm/int32-locals.d.ts +30 -0
- package/dist/backend/llvm/int32-locals.js +95 -0
- package/dist/backend/llvm/int32-locals.js.map +1 -0
- package/dist/backend/llvm/integer-values.d.ts +4 -0
- package/dist/backend/llvm/integer-values.js +30 -1
- package/dist/backend/llvm/integer-values.js.map +1 -1
- package/dist/backend/llvm/integer-views.d.ts +8 -1
- package/dist/backend/llvm/integer-views.js +47 -2
- package/dist/backend/llvm/integer-views.js.map +1 -1
- package/dist/backend/llvm/lazy-captures.d.ts +16 -0
- package/dist/backend/llvm/lazy-captures.js +88 -2
- package/dist/backend/llvm/lazy-captures.js.map +1 -1
- package/dist/backend/llvm/lazy-captures.test.js +48 -0
- package/dist/backend/llvm/lazy-captures.test.js.map +1 -1
- package/dist/backend/llvm/lib-dispatch.js +21 -0
- package/dist/backend/llvm/lib-dispatch.js.map +1 -1
- package/dist/backend/llvm/lib-filesystem.js +61 -0
- package/dist/backend/llvm/lib-filesystem.js.map +1 -1
- package/dist/backend/llvm/lib-shared.js +83 -9
- package/dist/backend/llvm/lib-shared.js.map +1 -1
- package/dist/backend/llvm/local-array-reads.js +26 -5
- package/dist/backend/llvm/local-array-reads.js.map +1 -1
- package/dist/backend/llvm/local-array-reads.test.js +3 -2
- package/dist/backend/llvm/local-array-reads.test.js.map +1 -1
- package/dist/backend/llvm/local-union-storage.d.ts +24 -2
- package/dist/backend/llvm/local-union-storage.js +127 -12
- package/dist/backend/llvm/local-union-storage.js.map +1 -1
- package/dist/backend/llvm/local-union-storage.test.js +108 -3
- package/dist/backend/llvm/local-union-storage.test.js.map +1 -1
- package/dist/backend/llvm/map-read-lifetimes.test.js +2 -2
- package/dist/backend/llvm/map-read-lifetimes.test.js.map +1 -1
- package/dist/backend/llvm/record-results.d.ts +26 -0
- package/dist/backend/llvm/record-results.js +252 -0
- package/dist/backend/llvm/record-results.js.map +1 -0
- package/dist/backend/llvm/reference-effects.js +4 -0
- package/dist/backend/llvm/reference-effects.js.map +1 -1
- package/dist/backend/llvm/reference-writes.d.ts +3 -0
- package/dist/backend/llvm/reference-writes.js +25 -11
- package/dist/backend/llvm/reference-writes.js.map +1 -1
- package/dist/backend/llvm/regex-matchers.d.ts +39 -0
- package/dist/backend/llvm/regex-matchers.js +1649 -0
- package/dist/backend/llvm/regex-matchers.js.map +1 -0
- package/dist/backend/llvm/regex-matchers.test.d.ts +1 -0
- package/dist/backend/llvm/regex-matchers.test.js +96 -0
- package/dist/backend/llvm/regex-matchers.test.js.map +1 -0
- package/dist/backend/llvm/regions.d.ts +67 -0
- package/dist/backend/llvm/regions.js +309 -0
- package/dist/backend/llvm/regions.js.map +1 -0
- package/dist/backend/llvm/regions.test.d.ts +1 -0
- package/dist/backend/llvm/regions.test.js +173 -0
- package/dist/backend/llvm/regions.test.js.map +1 -0
- package/dist/backend/llvm/shapes.d.ts +70 -8
- package/dist/backend/llvm/shapes.js +157 -29
- package/dist/backend/llvm/shapes.js.map +1 -1
- package/dist/backend/llvm/shapes.test.js +7 -6
- package/dist/backend/llvm/shapes.test.js.map +1 -1
- package/dist/backend/llvm/split-loops.js +1 -1
- package/dist/backend/llvm/split-loops.js.map +1 -1
- package/dist/backend/llvm/stack-objects.d.ts +29 -0
- package/dist/backend/llvm/stack-objects.js +130 -0
- package/dist/backend/llvm/stack-objects.js.map +1 -0
- package/dist/backend/llvm/stack-objects.test.d.ts +1 -0
- package/dist/backend/llvm/stack-objects.test.js +252 -0
- package/dist/backend/llvm/stack-objects.test.js.map +1 -0
- package/dist/backend/llvm/stack-unions.test.js +1 -1
- package/dist/backend/llvm/stack-unions.test.js.map +1 -1
- package/dist/backend/llvm/string-construction.test.js +2 -2
- package/dist/backend/llvm/string-construction.test.js.map +1 -1
- package/dist/backend/llvm/string-lifetimes.test.js +5 -5
- package/dist/backend/llvm/string-lifetimes.test.js.map +1 -1
- package/dist/backend/llvm/string-literal-equality.d.ts +22 -0
- package/dist/backend/llvm/string-literal-equality.js +78 -0
- package/dist/backend/llvm/string-literal-equality.js.map +1 -0
- package/dist/backend/llvm/string-reads.d.ts +4 -1
- package/dist/backend/llvm/string-reads.js +89 -9
- package/dist/backend/llvm/string-reads.js.map +1 -1
- package/dist/backend/llvm/switch-dispatch.js +60 -13
- package/dist/backend/llvm/switch-dispatch.js.map +1 -1
- package/dist/backend/llvm/switch-dispatch.test.js +71 -6
- package/dist/backend/llvm/switch-dispatch.test.js.map +1 -1
- package/dist/backend/llvm/union-retype.test.d.ts +1 -0
- package/dist/backend/llvm/union-retype.test.js +229 -0
- package/dist/backend/llvm/union-retype.test.js.map +1 -0
- package/dist/backend/llvm/walkers.d.ts +2 -0
- package/dist/backend/llvm/walkers.js +4 -2
- package/dist/backend/llvm/walkers.js.map +1 -1
- package/dist/backend/llvm/wrapping-sums.d.ts +17 -0
- package/dist/backend/llvm/wrapping-sums.js +113 -0
- package/dist/backend/llvm/wrapping-sums.js.map +1 -0
- package/dist/backend/loop-polls.js +1 -0
- package/dist/backend/loop-polls.js.map +1 -1
- package/dist/backend/mangle.d.ts +9 -0
- package/dist/backend/mangle.js +15 -0
- package/dist/backend/mangle.js.map +1 -1
- package/dist/backend/may-throw.js +7 -3
- package/dist/backend/may-throw.js.map +1 -1
- package/dist/backend/native/contracts.d.ts +5 -0
- package/dist/backend/native/executable.js +16 -1
- package/dist/backend/native/executable.js.map +1 -1
- package/dist/backend/native/library.js +1 -1
- package/dist/backend/native/library.js.map +1 -1
- package/dist/backend/native/runtime-inputs.d.ts +1 -1
- package/dist/backend/native/runtime-inputs.js +2 -0
- package/dist/backend/native/runtime-inputs.js.map +1 -1
- package/dist/backend/native-link-info-core.d.ts +1 -0
- package/dist/backend/native-link-info-core.js.map +1 -1
- package/dist/backend/runtime-abi.d.ts +2 -2
- package/dist/backend/runtime-abi.js +2 -2
- package/dist/backend/runtime-pack-core.d.ts +1 -0
- package/dist/backend/runtime-pack-core.js +1 -0
- package/dist/backend/runtime-pack-core.js.map +1 -1
- package/dist/backend/runtime-pack-targets.test.js +1 -1
- package/dist/backend/runtime-pack.test.js +1 -1
- package/dist/backend/target-diagnostics.js +14 -0
- package/dist/backend/target-diagnostics.js.map +1 -1
- package/dist/backend/target-diagnostics.test.js +13 -0
- package/dist/backend/target-diagnostics.test.js.map +1 -1
- package/dist/contracts/check.js +4 -0
- package/dist/contracts/check.js.map +1 -1
- package/dist/executable/executable-cache.d.ts +1 -0
- package/dist/executable/executable-cache.js.map +1 -1
- package/dist/frontend/experimental-import.d.ts +12 -0
- package/dist/frontend/experimental-import.js +63 -0
- package/dist/frontend/experimental-import.js.map +1 -0
- package/dist/frontend/lowering/array-values.d.ts +14 -0
- package/dist/frontend/lowering/array-values.js +29 -0
- package/dist/frontend/lowering/array-values.js.map +1 -1
- package/dist/frontend/lowering/builtin-calls.d.ts +6 -1
- package/dist/frontend/lowering/builtin-calls.js +36 -0
- package/dist/frontend/lowering/builtin-calls.js.map +1 -1
- package/dist/frontend/lowering/builtins/console.d.ts +16 -6
- package/dist/frontend/lowering/builtins/console.js +33 -9
- package/dist/frontend/lowering/builtins/console.js.map +1 -1
- package/dist/frontend/lowering/builtins/errors.js +20 -0
- package/dist/frontend/lowering/builtins/errors.js.map +1 -1
- package/dist/frontend/lowering/builtins/json.d.ts +2 -2
- package/dist/frontend/lowering/builtins/json.js +13 -4
- package/dist/frontend/lowering/builtins/json.js.map +1 -1
- package/dist/frontend/lowering/builtins/module-calls.js +16 -1
- package/dist/frontend/lowering/builtins/module-calls.js.map +1 -1
- package/dist/frontend/lowering/builtins/numbers.d.ts +1 -0
- package/dist/frontend/lowering/builtins/numbers.js +17 -0
- package/dist/frontend/lowering/builtins/numbers.js.map +1 -1
- package/dist/frontend/lowering/builtins/operating-system.d.ts +18 -0
- package/dist/frontend/lowering/builtins/operating-system.js +361 -1
- package/dist/frontend/lowering/builtins/operating-system.js.map +1 -1
- package/dist/frontend/lowering/builtins/process.js +15 -3
- package/dist/frontend/lowering/builtins/process.js.map +1 -1
- package/dist/frontend/lowering/builtins/promises.js +109 -2
- package/dist/frontend/lowering/builtins/promises.js.map +1 -1
- package/dist/frontend/lowering/builtins/text-codecs.d.ts +3 -4
- package/dist/frontend/lowering/builtins/text-codecs.js +3 -4
- package/dist/frontend/lowering/builtins/text-codecs.js.map +1 -1
- package/dist/frontend/lowering/checked-promise-all.d.ts +10 -3
- package/dist/frontend/lowering/checked-promise-all.js +52 -6
- package/dist/frontend/lowering/checked-promise-all.js.map +1 -1
- package/dist/frontend/lowering/class-dynamic-dispatch.d.ts +6 -3
- package/dist/frontend/lowering/class-dynamic-dispatch.js +54 -31
- package/dist/frontend/lowering/class-dynamic-dispatch.js.map +1 -1
- package/dist/frontend/lowering/containers/array-callbacks.js +74 -4
- package/dist/frontend/lowering/containers/array-callbacks.js.map +1 -1
- package/dist/frontend/lowering/containers/array-construction.js +8 -4
- package/dist/frontend/lowering/containers/array-construction.js.map +1 -1
- package/dist/frontend/lowering/containers/array-pipelines.d.ts +54 -0
- package/dist/frontend/lowering/containers/array-pipelines.js +1827 -0
- package/dist/frontend/lowering/containers/array-pipelines.js.map +1 -0
- package/dist/frontend/lowering/containers/exec-result-uses.d.ts +10 -0
- package/dist/frontend/lowering/containers/exec-result-uses.js +88 -0
- package/dist/frontend/lowering/containers/exec-result-uses.js.map +1 -0
- package/dist/frontend/lowering/containers/string-and-regexp.js +106 -7
- package/dist/frontend/lowering/containers/string-and-regexp.js.map +1 -1
- package/dist/frontend/lowering/containers/string-replacement.d.ts +2 -1
- package/dist/frontend/lowering/containers/string-replacement.js +32 -136
- package/dist/frontend/lowering/containers/string-replacement.js.map +1 -1
- package/dist/frontend/lowering/cycle-initialization.d.ts +18 -2
- package/dist/frontend/lowering/cycle-initialization.js +166 -12
- package/dist/frontend/lowering/cycle-initialization.js.map +1 -1
- package/dist/frontend/lowering/deferred-module-initializers.js +7 -2
- package/dist/frontend/lowering/deferred-module-initializers.js.map +1 -1
- package/dist/frontend/lowering/deferred-module-initializers.test.js +28 -0
- package/dist/frontend/lowering/deferred-module-initializers.test.js.map +1 -1
- package/dist/frontend/lowering/devirtualize.d.ts +33 -0
- package/dist/frontend/lowering/devirtualize.js +199 -0
- package/dist/frontend/lowering/devirtualize.js.map +1 -0
- package/dist/frontend/lowering/expressions/nullish-assignment.js +55 -7
- package/dist/frontend/lowering/expressions/nullish-assignment.js.map +1 -1
- package/dist/frontend/lowering/expressions/object-literals.js +5 -56
- package/dist/frontend/lowering/expressions/object-literals.js.map +1 -1
- package/dist/frontend/lowering/generator-delegation.d.ts +8 -0
- package/dist/frontend/lowering/generator-delegation.js +231 -10
- package/dist/frontend/lowering/generator-delegation.js.map +1 -1
- package/dist/frontend/lowering/identifier-uses.d.ts +7 -0
- package/dist/frontend/lowering/identifier-uses.js +23 -0
- package/dist/frontend/lowering/identifier-uses.js.map +1 -0
- package/dist/frontend/lowering/iterator-adapters.js +51 -3
- package/dist/frontend/lowering/iterator-adapters.js.map +1 -1
- package/dist/frontend/lowering/lifetime-regions.d.ts +11 -0
- package/dist/frontend/lowering/lifetime-regions.js +216 -0
- package/dist/frontend/lowering/lifetime-regions.js.map +1 -0
- package/dist/frontend/lowering/lower-array-sort.d.ts +28 -2
- package/dist/frontend/lowering/lower-array-sort.js +112 -2
- package/dist/frontend/lowering/lower-array-sort.js.map +1 -1
- package/dist/frontend/lowering/lower-array-sort.test.js +99 -2
- package/dist/frontend/lowering/lower-array-sort.test.js.map +1 -1
- package/dist/frontend/lowering/lower-calls.js +135 -131
- package/dist/frontend/lowering/lower-calls.js.map +1 -1
- package/dist/frontend/lowering/lower-classes.d.ts +4 -3
- package/dist/frontend/lowering/lower-classes.js +117 -13
- package/dist/frontend/lowering/lower-classes.js.map +1 -1
- package/dist/frontend/lowering/lower-console.d.ts +27 -0
- package/dist/frontend/lowering/lower-console.js +651 -0
- package/dist/frontend/lowering/lower-console.js.map +1 -0
- package/dist/frontend/lowering/lower-event-emitter.d.ts +6 -0
- package/dist/frontend/lowering/lower-event-emitter.js +124 -38
- package/dist/frontend/lowering/lower-event-emitter.js.map +1 -1
- package/dist/frontend/lowering/lower-exprs.js +272 -25
- package/dist/frontend/lowering/lower-exprs.js.map +1 -1
- package/dist/frontend/lowering/lower-functions.js +7 -3
- package/dist/frontend/lowering/lower-functions.js.map +1 -1
- package/dist/frontend/lowering/lower-generators.d.ts +25 -7
- package/dist/frontend/lowering/lower-generators.js +264 -113
- package/dist/frontend/lowering/lower-generators.js.map +1 -1
- package/dist/frontend/lowering/lower-inspect.d.ts +8 -1
- package/dist/frontend/lowering/lower-inspect.js +119 -18
- package/dist/frontend/lowering/lower-inspect.js.map +1 -1
- package/dist/frontend/lowering/lower-modules.js +24 -14
- package/dist/frontend/lowering/lower-modules.js.map +1 -1
- package/dist/frontend/lowering/lower-stdlib.d.ts +4 -0
- package/dist/frontend/lowering/lower-stdlib.js +35 -1
- package/dist/frontend/lowering/lower-stdlib.js.map +1 -1
- package/dist/frontend/lowering/lower-stmts.js +66 -11
- package/dist/frontend/lowering/lower-stmts.js.map +1 -1
- package/dist/frontend/lowering/lower-stream.js +13 -10
- package/dist/frontend/lowering/lower-stream.js.map +1 -1
- package/dist/frontend/lowering/lowerer.d.ts +47 -5
- package/dist/frontend/lowering/lowerer.js +235 -54
- package/dist/frontend/lowering/lowerer.js.map +1 -1
- package/dist/frontend/lowering/nan-coded-reads.d.ts +16 -0
- package/dist/frontend/lowering/nan-coded-reads.js +108 -1
- package/dist/frontend/lowering/nan-coded-reads.js.map +1 -1
- package/dist/frontend/lowering/regex-span-reads.d.ts +12 -0
- package/dist/frontend/lowering/regex-span-reads.js +164 -0
- package/dist/frontend/lowering/regex-span-reads.js.map +1 -0
- package/dist/frontend/lowering/runtime-optional-bounds.d.ts +4 -0
- package/dist/frontend/lowering/runtime-optional-bounds.js +2 -0
- package/dist/frontend/lowering/runtime-optional-bounds.js.map +1 -1
- package/dist/frontend/lowering/runtime-optional-bounds.test.js +27 -0
- package/dist/frontend/lowering/runtime-optional-bounds.test.js.map +1 -1
- package/dist/frontend/lowering/split-consumers.js +2 -18
- package/dist/frontend/lowering/split-consumers.js.map +1 -1
- package/dist/frontend/lowering/surfaces.js +115 -18
- package/dist/frontend/lowering/surfaces.js.map +1 -1
- package/dist/frontend/lowering/union-retag.d.ts +6 -1
- package/dist/frontend/lowering/union-retag.js +64 -1
- package/dist/frontend/lowering/union-retag.js.map +1 -1
- package/dist/frontend/lowering/union-retag.test.js +46 -0
- package/dist/frontend/lowering/union-retag.test.js.map +1 -1
- package/dist/frontend/lowering/var-hoisting.d.ts +3 -0
- package/dist/frontend/lowering/var-hoisting.js +261 -0
- package/dist/frontend/lowering/var-hoisting.js.map +1 -0
- package/dist/frontend/pipeline.js +5 -3
- package/dist/frontend/pipeline.js.map +1 -1
- package/dist/frontend/program.d.ts +3 -2
- package/dist/frontend/program.js +23 -5
- package/dist/frontend/program.js.map +1 -1
- package/dist/frontend/program.test.js +13 -0
- package/dist/frontend/program.test.js.map +1 -1
- package/dist/frontend/type-mapper.d.ts +13 -1
- package/dist/frontend/type-mapper.js +160 -14
- package/dist/frontend/type-mapper.js.map +1 -1
- package/dist/index.js +1 -0
- package/dist/index.js.map +1 -1
- package/dist/ir/builtin-effects.js +31 -2
- package/dist/ir/builtin-effects.js.map +1 -1
- package/dist/ir/builtin-signatures.d.ts +1 -1
- package/dist/ir/builtin-signatures.js +157 -16
- package/dist/ir/builtin-signatures.js.map +1 -1
- package/dist/ir/function-references.d.ts +12 -0
- package/dist/ir/function-references.js +29 -0
- package/dist/ir/function-references.js.map +1 -0
- package/dist/ir/function-references.test.d.ts +1 -0
- package/dist/ir/function-references.test.js +277 -0
- package/dist/ir/function-references.test.js.map +1 -0
- package/dist/ir/int32-slots.d.ts +7 -4
- package/dist/ir/int32-slots.js +215 -49
- package/dist/ir/int32-slots.js.map +1 -1
- package/dist/ir/int32-slots.test.js +38 -1
- package/dist/ir/int32-slots.test.js.map +1 -1
- package/dist/ir/integer-ranges.d.ts +4 -4
- package/dist/ir/integer-ranges.js +89 -64
- package/dist/ir/integer-ranges.js.map +1 -1
- package/dist/ir/integer-ranges.test.js +71 -9
- package/dist/ir/integer-ranges.test.js.map +1 -1
- package/dist/ir/intrinsic-signatures.js +3 -0
- package/dist/ir/intrinsic-signatures.js.map +1 -1
- package/dist/ir/ir.d.ts +111 -20
- package/dist/ir/ir.js +6 -0
- package/dist/ir/ir.js.map +1 -1
- package/dist/ir/runtime-features.d.ts +1 -0
- package/dist/ir/runtime-features.js +38 -3
- package/dist/ir/runtime-features.js.map +1 -1
- package/dist/ir/scalar-records.js +1 -2
- package/dist/ir/scalar-records.js.map +1 -1
- package/dist/ir/traverse.js +4 -0
- package/dist/ir/traverse.js.map +1 -1
- package/dist/ir/validate.js +201 -25
- package/dist/ir/validate.js.map +1 -1
- package/dist/ir/validate.test.js +90 -7
- package/dist/ir/validate.test.js.map +1 -1
- package/dist/library/ir-policy.js +1 -0
- package/dist/library/ir-policy.js.map +1 -1
- package/dist/native/sanitizer.test.js +1 -0
- package/dist/native/sanitizer.test.js.map +1 -1
- package/package.json +20 -20
- package/surface-manifest.json +159 -17
|
@@ -17,6 +17,16 @@ export const LIB_FN_SIGS = defineLibFnSignatures({
|
|
|
17
17
|
"fetch.responseNew": { argTypes: [DYN, DYN], result: DYN },
|
|
18
18
|
"fetch.input": { argTypes: [DYN, DYN], result: { kind: "promise", inner: DYN } },
|
|
19
19
|
"abort.controllerNew": { argTypes: [], result: DYN },
|
|
20
|
+
/** EventTarget / Event / CustomEvent construction (scr_event_target.c):
|
|
21
|
+
* the Event constructors take the argument vector as one dyn array and
|
|
22
|
+
* throw Node's validation errors; `event.is` is `v instanceof Event`
|
|
23
|
+
* (kind 0), `CustomEvent` (1), `EventTarget` (2). addAbortListener
|
|
24
|
+
* answers the disposer (the Disposable's [Symbol.dispose]). */
|
|
25
|
+
"event.targetNew": { argTypes: [], result: DYN },
|
|
26
|
+
"event.new": { argTypes: [DYN], result: DYN },
|
|
27
|
+
"event.customNew": { argTypes: [DYN], result: DYN },
|
|
28
|
+
"event.is": { argTypes: [DYN, F64], result: BOOL },
|
|
29
|
+
"events.addAbortListener": { argTypes: [DYN, DYN], result: DYN },
|
|
20
30
|
"abort.timeout": { argTypes: [DYN], result: DYN },
|
|
21
31
|
"abort.now": { argTypes: [DYN], result: DYN },
|
|
22
32
|
"abort.any": { argTypes: [DYN], result: DYN },
|
|
@@ -102,6 +112,9 @@ export const LIB_FN_SIGS = defineLibFnSignatures({
|
|
|
102
112
|
* own-member presence, ARR answers 'length'/a valid index — exactly
|
|
103
113
|
* the literal-key dynHasKey path. Proxy has traps may throw. */
|
|
104
114
|
"dyn.hasKey": { argTypes: [DYN, STRING], result: BOOL },
|
|
115
|
+
/** The `in` operator with a runtime string key: dyn.hasKey plus the
|
|
116
|
+
* members inherited from builtin and compiled class prototypes. */
|
|
117
|
+
"dyn.in": { argTypes: [DYN, STRING], result: BOOL },
|
|
105
118
|
"dyn.freeze": { argTypes: [DYN], result: DYN },
|
|
106
119
|
"dyn.isFrozen": { argTypes: [DYN], result: BOOL },
|
|
107
120
|
"dyn.nativeSetNew": { argTypes: [DYN], result: DYN },
|
|
@@ -128,7 +141,14 @@ export const LIB_FN_SIGS = defineLibFnSignatures({
|
|
|
128
141
|
"dyn.defineProperty": { argTypes: [DYN, DYN, DYN], result: DYN },
|
|
129
142
|
"dyn.getOwnPropertyDescriptor": { argTypes: [DYN, DYN], result: DYN },
|
|
130
143
|
"dyn.arrayProtoCall": { argTypes: [DYN, STRING, DYN], result: DYN },
|
|
131
|
-
|
|
144
|
+
/** Promise.all / Promise.allSettled / Promise.any over a spread
|
|
145
|
+
* checked-dynamic array: the values, the settled-record array, or the
|
|
146
|
+
* first fulfillment (AggregateError once every entry rejects).
|
|
147
|
+
* Thenable elements adopt; the second argument reads a program class
|
|
148
|
+
* instance's `then` (the compiled property dispatch). */
|
|
149
|
+
"dyn.promiseAll": { argTypes: [DYN, DYN], result: { kind: "promise", inner: DYN } },
|
|
150
|
+
"dyn.promiseAllSettled": { argTypes: [DYN, DYN], result: { kind: "promise", inner: DYN } },
|
|
151
|
+
"dyn.promiseAny": { argTypes: [DYN, DYN], result: { kind: "promise", inner: DYN } },
|
|
132
152
|
/** Bare `typeof v` on a dyn value AS A STRING (arg: the dyn value,
|
|
133
153
|
* borrowed; result: an owned string) — the dyn kind's JS answer:
|
|
134
154
|
* undefined→"undefined", null/object/array/bytes→"object" (JS's oldest
|
|
@@ -342,6 +362,21 @@ export const LIB_FN_SIGS = defineLibFnSignatures({
|
|
|
342
362
|
"path.win32IsAbsolute": { argTypes: [STRING], result: BOOL },
|
|
343
363
|
"path.win32Relative": { argTypes: [STRING, STRING], result: STRING },
|
|
344
364
|
"path.win32ToNamespacedPath": { argTypes: [STRING], result: STRING },
|
|
365
|
+
/** path.parse: [root, dir, base, ext, name] as a fresh string[] (the
|
|
366
|
+
* frontend builds the ParsedPath record); path.format: the pathObject's
|
|
367
|
+
* root, dir, base, name and ext with undefined spelled "". */
|
|
368
|
+
"path.parse": { argTypes: [STRING], result: arrayOf(STRING) },
|
|
369
|
+
"path.win32Parse": { argTypes: [STRING], result: arrayOf(STRING) },
|
|
370
|
+
"path.format": { argTypes: [STRING, STRING, STRING, STRING, STRING], result: STRING },
|
|
371
|
+
"path.win32Format": { argTypes: [STRING, STRING, STRING, STRING, STRING], result: STRING },
|
|
372
|
+
/** path.matchesGlob(path, pattern): Node's matchGlobPattern over its
|
|
373
|
+
* bundled minimatch (scr_glob.c). Both families match case-insensitively
|
|
374
|
+
* on macOS and Windows hosts like Node's; win32 also accepts either
|
|
375
|
+
* separator. Throws TypeError for a pattern over 64 Ki code units,
|
|
376
|
+
* RangeError for a brace sequence too long to expand, and SyntaxError
|
|
377
|
+
* when a segment's regex is invalid under the u flag. */
|
|
378
|
+
"path.matchesGlob": { argTypes: [STRING, STRING], result: BOOL },
|
|
379
|
+
"path.win32MatchesGlob": { argTypes: [STRING, STRING], result: BOOL },
|
|
345
380
|
/** node:os: homedir is $HOME else getpwuid(3); tmpdir is Node's env
|
|
346
381
|
* cascade ($TMPDIR/$TMP/$TEMP else /tmp, one trailing slash trimmed).
|
|
347
382
|
* os.platform() lowers to process.platform — one implementation. */
|
|
@@ -357,6 +392,29 @@ export const LIB_FN_SIGS = defineLibFnSignatures({
|
|
|
357
392
|
"os.totalmem": { argTypes: [], result: F64 },
|
|
358
393
|
/** os.availableParallelism(): CPUs the process may use (libuv's answer), >= 1. Never throws. */
|
|
359
394
|
"os.availableParallelism": { argTypes: [], result: F64 },
|
|
395
|
+
/** os.hostname/machine/version/endianness, freemem, uptime and loadavg:
|
|
396
|
+
* libuv's answers (uname's machine and version fields, gethostname,
|
|
397
|
+
* "LE"/"BE", free memory in bytes, uptime in seconds, the three load
|
|
398
|
+
* averages). Fresh results; never throw. */
|
|
399
|
+
"os.hostname": { argTypes: [], result: STRING },
|
|
400
|
+
"os.machine": { argTypes: [], result: STRING },
|
|
401
|
+
"os.version": { argTypes: [], result: STRING },
|
|
402
|
+
"os.endianness": { argTypes: [], result: STRING },
|
|
403
|
+
"os.freemem": { argTypes: [], result: F64 },
|
|
404
|
+
"os.uptime": { argTypes: [], result: F64 },
|
|
405
|
+
"os.loadavg": { argTypes: [], result: arrayOf(F64) },
|
|
406
|
+
/** os.getPriority(pid): validateInt32 (RangeError ERR_OUT_OF_RANGE),
|
|
407
|
+
* then the priority; a failure throws Node's SystemError. */
|
|
408
|
+
"os.getPriority": { argTypes: [F64], result: F64 },
|
|
409
|
+
/** os.cpus(): cpusTake snapshots every CPU and answers the count;
|
|
410
|
+
* cpusModel(i) and cpusField(i, k) (k: 0 speed, 1 user, 2 nice, 3 sys,
|
|
411
|
+
* 4 idle, 5 irq) read the snapshot. Never throw. */
|
|
412
|
+
"os.cpusTake": { argTypes: [], result: F64 },
|
|
413
|
+
"os.cpusModel": { argTypes: [F64], result: STRING },
|
|
414
|
+
"os.cpusField": { argTypes: [F64, F64], result: F64 },
|
|
415
|
+
/** os.constants: the per-thread null-prototype constants object (dlopen,
|
|
416
|
+
* errno, signals, priority, UV_UDP_REUSEADDR). Never throws. */
|
|
417
|
+
"os.constants": { argTypes: [], result: DYN },
|
|
360
418
|
/** umask(2): arg < 0 reads without setting (umask has no read-only form
|
|
361
419
|
* — set 0, restore); otherwise sets and answers the PREVIOUS mask.
|
|
362
420
|
* Never throws. */
|
|
@@ -478,6 +536,10 @@ export const LIB_FN_SIGS = defineLibFnSignatures({
|
|
|
478
536
|
/** `a.localeCompare(b)`: -1/0/1 in Node's root-locale collation for
|
|
479
537
|
* Latin-script text (scr_str_locale_compare). Never throws. */
|
|
480
538
|
"str.localeCompare": { argTypes: [STRING, STRING], result: F64 },
|
|
539
|
+
"str.replaceLiteral": { argTypes: [STRING, STRING, STRING, BOOL], result: STRING },
|
|
540
|
+
// (subject, characters, NUL-separated replacement texts): the fused
|
|
541
|
+
// chain of global one-character replacements.
|
|
542
|
+
"str.replaceChars": { argTypes: [STRING, STRING, STRING], result: STRING },
|
|
481
543
|
/* ToNumber(string) — ECMA-262 7.1.4.1 StringToNumber (scr_string.c):
|
|
482
544
|
* trim the JS StrWhiteSpace set, empty/whitespace-only → +0, then the
|
|
483
545
|
* whole span must be one StrNumericLiteral — signed decimal (Infinity
|
|
@@ -493,8 +555,8 @@ export const LIB_FN_SIGS = defineLibFnSignatures({
|
|
|
493
555
|
* str.encodeUriComponent percent-encodes every byte outside the
|
|
494
556
|
* unreserved component set (ALPHA/DIGIT/- _ . ! ~ * ' ( )) as uppercase
|
|
495
557
|
* %XX — the spec's per-code-point UTF-8 encoding IS a byte scan here —
|
|
496
|
-
* and
|
|
497
|
-
*
|
|
558
|
+
* and THROWS the spec's URIError ("URI malformed") on a lone surrogate.
|
|
559
|
+
* str.decodeUriComponent
|
|
498
560
|
* decodes %XX escapes bytewise (raw non-escape bytes copy through) and
|
|
499
561
|
* requires the escaped bytes to form strictly valid UTF-8 (overlong
|
|
500
562
|
* forms, surrogate code points, and >U+10FFFF refused, per UTF8-decode
|
|
@@ -522,7 +584,7 @@ export const LIB_FN_SIGS = defineLibFnSignatures({
|
|
|
522
584
|
"str.decodeUriComponent": { argTypes: [STRING], result: STRING },
|
|
523
585
|
"str.decodeUri": { argTypes: [STRING], result: STRING },
|
|
524
586
|
/** encodeURI: the same Encode() keeping the reserved set and '#'
|
|
525
|
-
* unescaped —
|
|
587
|
+
* unescaped — throwing like the component encoder. Borrow; result +1. */
|
|
526
588
|
"str.encodeUri": { argTypes: [STRING], result: STRING },
|
|
527
589
|
/** RegExp.escape (ES2025): per-code-point EncodeForRegExpEscape —
|
|
528
590
|
* leading ASCII alphanumeric hex-escapes, syntax characters and '/'
|
|
@@ -699,9 +761,8 @@ export const LIB_FN_SIGS = defineLibFnSignatures({
|
|
|
699
761
|
/** node:querystring (scr_qs.c — link-gated by moduleUsesQs; NOT
|
|
700
762
|
* URLSearchParams: the legacy codec's escaping and '+' rules differ).
|
|
701
763
|
* qs.escape is Node's qsEscape, which encodes exactly the component
|
|
702
|
-
* unreserved set — it emits the always-linked
|
|
703
|
-
*
|
|
704
|
-
* unit. qs.unescape is Node's qsUnescape: strict decodeURIComponent
|
|
764
|
+
* unreserved set — it emits the always-linked scr_qs_escape, so
|
|
765
|
+
* escape-only programs never pull the unit. qs.unescape is Node's qsUnescape: strict decodeURIComponent
|
|
705
766
|
* first, the lenient legacy unescapeBuffer fallback on failure (never
|
|
706
767
|
* throws). qs.parse takes (str, sep, eq, maxKeys) — the frontend
|
|
707
768
|
* completes omitted/null sep/eq to "&"/"=" and the omitted maxKeys
|
|
@@ -716,7 +777,8 @@ export const LIB_FN_SIGS = defineLibFnSignatures({
|
|
|
716
777
|
* through) — Node's encodeStringified rules run in the runtime, so
|
|
717
778
|
* arrays expand to repeated keys and null/undefined/nested objects are
|
|
718
779
|
* empty values. Custom encoder/decoder options fence at compile time.
|
|
719
|
-
* All borrow; string results +1;
|
|
780
|
+
* All borrow; string results +1; escape and stringify throw URIError
|
|
781
|
+
* [ERR_INVALID_URI] on a lone surrogate. */
|
|
720
782
|
"qs.parse": { argTypes: [STRING, STRING, STRING, F64], result: VOID },
|
|
721
783
|
"qs.stringify": { argTypes: [DYN, STRING, STRING], result: STRING },
|
|
722
784
|
"qs.escape": { argTypes: [STRING], result: STRING },
|
|
@@ -734,6 +796,13 @@ export const LIB_FN_SIGS = defineLibFnSignatures({
|
|
|
734
796
|
"util.toUSVString": { argTypes: [DYN], result: STRING },
|
|
735
797
|
"util.isDeepStrictEqual": { argTypes: [DYN, DYN, DYN], result: BOOL },
|
|
736
798
|
"util.styleText": { argTypes: [DYN, DYN, DYN], result: STRING },
|
|
799
|
+
/** util.inherits/deprecate/callbackify/debuglog over checked-dynamic
|
|
800
|
+
* arguments (scr_util_callable.c). The function results are native dyn
|
|
801
|
+
* wrappers; call sites with a static function type check them back. */
|
|
802
|
+
"util.inherits": { argTypes: [DYN, DYN], result: VOID },
|
|
803
|
+
"util.deprecate": { argTypes: [DYN, DYN, DYN, DYN], result: DYN },
|
|
804
|
+
"util.callbackify": { argTypes: [DYN], result: DYN },
|
|
805
|
+
"util.debuglog": { argTypes: [DYN, DYN], result: DYN },
|
|
737
806
|
"util.typeIs": { argTypes: [DYN, STRING], result: BOOL },
|
|
738
807
|
"util.typeValue": { argTypes: [DYN, STRING], result: DYN },
|
|
739
808
|
/** fs.statSync → a Stats value (may throw, like the other sync fs
|
|
@@ -2446,6 +2515,40 @@ export const LIB_FN_SIGS = defineLibFnSignatures({
|
|
|
2446
2515
|
* unwind abandons — the value never exists). */
|
|
2447
2516
|
"global.undefRead": { argTypes: [STRING], result: VOID },
|
|
2448
2517
|
"console.native": { argTypes: [], result: DYN },
|
|
2518
|
+
/** node:console Console instances (scr_console_native.c): new mints the
|
|
2519
|
+
* handle over the stdout/stderr fds (1/2; 0 = a stream binds next) and
|
|
2520
|
+
* the ignoreErrors flag; bind attaches a borrowed writable stream to
|
|
2521
|
+
* target 0 (stdout) or 1 (stderr); write prints `text\n` to the
|
|
2522
|
+
* selected target of an instance or the global console handle. */
|
|
2523
|
+
"console.new": { argTypes: [F64, F64, BOOL], result: DYN },
|
|
2524
|
+
"console.bind": { argTypes: [DYN, F64, null], result: VOID },
|
|
2525
|
+
"console.write": { argTypes: [DYN, STRING, BOOL], result: VOID },
|
|
2526
|
+
/** The global console's remaining members (scr_console_native.c; the
|
|
2527
|
+
* group indentation itself lives with the writers in scr_console.c).
|
|
2528
|
+
* Arguments are borrowed; string results are owned. noop is the
|
|
2529
|
+
* emitter-dropped tail of a lowering whose effects sit in statements.
|
|
2530
|
+
* label is `${label}` over a defaulted label (undefined -> "default";
|
|
2531
|
+
* a Symbol throws Node's TypeError). count prints "label: n".
|
|
2532
|
+
* countReset answers the warning text for an unknown (or non-string)
|
|
2533
|
+
* label, "" otherwise. time answers the duplicate-label warning text
|
|
2534
|
+
* or ""; timeEnd/timeLog answer Node's formatted elapsed time, or ""
|
|
2535
|
+
* for an unknown label (timeEnd drops the timer). group adds (+1) or
|
|
2536
|
+
* removes (-1) one two-space indentation step. clear writes the
|
|
2537
|
+
* cursor-home and erase-down sequences when stdout is a terminal.
|
|
2538
|
+
* table renders and prints Node's table for a dyn value (undefined
|
|
2539
|
+
* properties = all). dirDyn is console.dir's inspect of a dyn value
|
|
2540
|
+
* (custom inspection off: a Buffer anywhere inside throws the fence). */
|
|
2541
|
+
"console.noop": { argTypes: [], result: VOID },
|
|
2542
|
+
"console.label": { argTypes: [DYN], result: STRING },
|
|
2543
|
+
"console.count": { argTypes: [STRING], result: VOID },
|
|
2544
|
+
"console.countReset": { argTypes: [DYN], result: STRING },
|
|
2545
|
+
"console.time": { argTypes: [STRING], result: STRING },
|
|
2546
|
+
"console.timeEnd": { argTypes: [STRING], result: STRING },
|
|
2547
|
+
"console.timeLog": { argTypes: [STRING], result: STRING },
|
|
2548
|
+
"console.group": { argTypes: [F64], result: VOID },
|
|
2549
|
+
"console.clear": { argTypes: [], result: VOID },
|
|
2550
|
+
"console.table": { argTypes: [DYN, DYN], result: VOID },
|
|
2551
|
+
"console.dirDyn": { argTypes: [DYN, F64], result: STRING },
|
|
2449
2552
|
/** A native reference to the global object; known names retain value fences. */
|
|
2450
2553
|
"global.native": { argTypes: [arrayOf(STRING)], result: DYN },
|
|
2451
2554
|
// `X.name` through a class value: the arg is a program-dependent
|
|
@@ -2503,6 +2606,18 @@ export const LIB_FN_SIGS = defineLibFnSignatures({
|
|
|
2503
2606
|
* list throws DataCloneError, nothing static is transferable). Result
|
|
2504
2607
|
* +1 %DOMException. */
|
|
2505
2608
|
"error.domClone": { argTypes: [null, DYN], result: VOID },
|
|
2609
|
+
/** `new AggregateError(errors, message?, options?)` (scr_json.c), in
|
|
2610
|
+
* spec order: newAggregate installs the message and cause (both dyn,
|
|
2611
|
+
* borrowed — the message conversion can throw) and returns an owned
|
|
2612
|
+
* %AggregateError; aggregateSetErrors then stores the iterated list
|
|
2613
|
+
* (borrowed receiver, the dyn array borrowed and retained).
|
|
2614
|
+
* aggregateErrors reads the list (+1, the same array every read). */
|
|
2615
|
+
"error.newAggregate": {
|
|
2616
|
+
argTypes: [DYN, DYN],
|
|
2617
|
+
result: { kind: "object", className: "%AggregateError" },
|
|
2618
|
+
},
|
|
2619
|
+
"error.aggregateSetErrors": { argTypes: [null, DYN], result: VOID },
|
|
2620
|
+
"error.aggregateErrors": { argTypes: [null], result: DYN },
|
|
2506
2621
|
/** `d instanceof TypeError` (and the other BUILTIN error classes) on a
|
|
2507
2622
|
* checked-dynamic value (scr_json.c): the from_error cache holds the
|
|
2508
2623
|
* dyn↔error identity edge, so the test resolves the runtime error and
|
|
@@ -2560,6 +2675,12 @@ export const LIB_FN_SIGS = defineLibFnSignatures({
|
|
|
2560
2675
|
* ("Cannot convert undefined or null to object"). */
|
|
2561
2676
|
"dyn.objKeys": { argTypes: [DYN], result: DYN },
|
|
2562
2677
|
"dyn.forInKeys": { argTypes: [DYN], result: DYN },
|
|
2678
|
+
"dyn.forInKeyStrings": { argTypes: [DYN], result: arrayOf(STRING) },
|
|
2679
|
+
"dyn.forInStable": { argTypes: [DYN], result: BOOL },
|
|
2680
|
+
"dyn.objKeyStrings": { argTypes: [DYN], result: arrayOf(STRING) },
|
|
2681
|
+
/** Object.entries as a native [string, any][] (VOID: the tuple row's
|
|
2682
|
+
* shape is program-dependent; the validator checks it). */
|
|
2683
|
+
"dyn.objEntryPairs": { argTypes: [DYN], result: VOID },
|
|
2563
2684
|
"dyn.hasOwn": { argTypes: [DYN, STRING], result: BOOL },
|
|
2564
2685
|
"dyn.propertyIsEnumerable": { argTypes: [DYN, STRING], result: BOOL },
|
|
2565
2686
|
"dyn.assign": { argTypes: [DYN, DYN], result: DYN },
|
|
@@ -2649,6 +2770,12 @@ export const LIB_FN_SIGS = defineLibFnSignatures({
|
|
|
2649
2770
|
"regex.resetLastIndex": { argTypes: [REGEX, F64], result: VOID },
|
|
2650
2771
|
"regex.newChecked": { argTypes: [DYN, DYN], result: REGEX },
|
|
2651
2772
|
"regex.replaceCallback": { argTypes: [STRING, REGEX, DYN, BOOL], result: STRING },
|
|
2773
|
+
// Reads of capture args[1] of an execSpans/matchGroups result:
|
|
2774
|
+
// `capture === args[2]`, Number(capture) and parseInt(capture,
|
|
2775
|
+
// args[2]). Borrowed; never throw.
|
|
2776
|
+
"regex.groupEquals": { argTypes: [arrayOf(STRING), F64, STRING], result: BOOL },
|
|
2777
|
+
"regex.groupNumber": { argTypes: [arrayOf(STRING), F64], result: F64 },
|
|
2778
|
+
"regex.groupParseInt": { argTypes: [arrayOf(STRING), F64, F64], result: F64 },
|
|
2652
2779
|
// node:events EventEmitter: receivers are emitter-hierarchy objects and
|
|
2653
2780
|
// the chaining forms (on/off/removeAll/setMax) return the receiver's
|
|
2654
2781
|
// own class — program-dependent object types, checked in the libCall
|
|
@@ -2709,6 +2836,9 @@ export const LIB_FN_SIGS = defineLibFnSignatures({
|
|
|
2709
2836
|
"emitter.getMax": { argTypes: [null], result: F64 },
|
|
2710
2837
|
"emitter.setDefaultMax": { argTypes: [F64], result: VOID },
|
|
2711
2838
|
"emitter.getDefaultMax": { argTypes: [], result: F64 },
|
|
2839
|
+
/** The events.errorMonitor event key: an immortal string the runtime
|
|
2840
|
+
* registry matches by identity, so no string event name reaches it. */
|
|
2841
|
+
"emitter.errorMonitor": { argTypes: [], result: STRING },
|
|
2712
2842
|
// node:stream: receivers are stream-hierarchy objects and several
|
|
2713
2843
|
// results are program-dependent (the receiver's class, unions) — the
|
|
2714
2844
|
// libCall case owns those checks. The constructors and a few methods
|
|
@@ -2791,11 +2921,13 @@ export const LIB_FN_SIGS = defineLibFnSignatures({
|
|
|
2791
2921
|
* machinery: (s) → a pending promise settled at the terminal point
|
|
2792
2922
|
* with the accumulated result (sc.text: the utf8 decode, sc.json: the
|
|
2793
2923
|
* parsed dyn — malformed input rejects with the parse's SyntaxError,
|
|
2794
|
-
* sc.buffer: the concatenated bytes
|
|
2924
|
+
* sc.buffer: the concatenated bytes, sc.arrayBuffer: an ArrayBuffer
|
|
2925
|
+
* dyn over them) or rejected with the stream's
|
|
2795
2926
|
* error / ERR_STREAM_PREMATURE_CLOSE. */
|
|
2796
2927
|
"sc.text": { argTypes: [null], result: { kind: "promise", inner: STRING } },
|
|
2797
2928
|
"sc.json": { argTypes: [null], result: { kind: "promise", inner: DYN } },
|
|
2798
2929
|
"sc.buffer": { argTypes: [null], result: { kind: "promise", inner: BYTES_U8 } },
|
|
2930
|
+
"sc.arrayBuffer": { argTypes: [null], result: { kind: "promise", inner: DYN } },
|
|
2799
2931
|
"readable.newDyn": { argTypes: [DYN], result: VOID },
|
|
2800
2932
|
"writable.newDyn": { argTypes: [DYN], result: VOID },
|
|
2801
2933
|
"duplex.newDyn": { argTypes: [DYN], result: VOID },
|
|
@@ -3148,14 +3280,23 @@ export const LIB_FN_SIGS = defineLibFnSignatures({
|
|
|
3148
3280
|
* Node's payload. */
|
|
3149
3281
|
"process.onRejectionHandled": { argTypes: [DYN, BOOL], result: VOID },
|
|
3150
3282
|
"process.offRejectionHandled": { argTypes: [DYN], result: VOID },
|
|
3151
|
-
/** process warnings (
|
|
3152
|
-
* listeners; emitWarning applies Node's full argument grammar over
|
|
3153
|
-
* call's dyn argument vector (ERR_INVALID_ARG_TYPE TypeErrors — MAY
|
|
3154
|
-
* THROW
|
|
3155
|
-
*
|
|
3283
|
+
/** process warnings (scr_async_dyn.c): onWarning/offWarning register
|
|
3284
|
+
* dyn listeners; emitWarning applies Node's full argument grammar over
|
|
3285
|
+
* the call's dyn argument vector (ERR_INVALID_ARG_TYPE TypeErrors — MAY
|
|
3286
|
+
* THROW) and emits on the next tick, like Node: Node's stderr report,
|
|
3287
|
+
* then the listeners. */
|
|
3156
3288
|
"process.onWarning": { argTypes: [DYN], result: VOID },
|
|
3157
3289
|
"process.offWarning": { argTypes: [DYN], result: VOID },
|
|
3158
3290
|
"process.emitWarning": { argTypes: [DYN], result: VOID },
|
|
3291
|
+
/** A Warning-typed process warning with this message (the console
|
|
3292
|
+
* members' warnings), emitted on the next tick as Node's emitWarning
|
|
3293
|
+
* does (so the loop runs); an empty message emits nothing. */
|
|
3294
|
+
"process.emitWarningText": { argTypes: [STRING], result: VOID },
|
|
3295
|
+
/** process.noDeprecation (0) / process.throwDeprecation (1): the stored
|
|
3296
|
+
* value (undefined until assigned) and its assignment. util.deprecate's
|
|
3297
|
+
* warnings and DeprecationWarning emissions read their truthiness. */
|
|
3298
|
+
"process.deprecationFlag": { argTypes: [F64], result: DYN },
|
|
3299
|
+
"process.setDeprecationFlag": { argTypes: [F64, DYN], result: VOID },
|
|
3159
3300
|
/** AsyncLocalStorage (node:async_hooks — scr_async.c): stores are f64
|
|
3160
3301
|
* handles; contexts are immutable fiber-carried snapshots (spawned
|
|
3161
3302
|
* fibers inherit the spawner's — Node's init-time capture). run/exit
|
|
@@ -3251,8 +3392,8 @@ export const LIB_FN_SIGS = defineLibFnSignatures({
|
|
|
3251
3392
|
* behavioral difference; ignoreBOM defaults to false). Inline calls
|
|
3252
3393
|
* lower directly; stored decoder records dispatch by encoding id.
|
|
3253
3394
|
* TextEncoder.encode needs no libFn: its matching forms
|
|
3254
|
-
* lower to buffer.fromStr(s, "utf8") (identical bytes —
|
|
3255
|
-
*
|
|
3395
|
+
* lower to buffer.fromStr(s, "utf8") (identical bytes — both write each
|
|
3396
|
+
* lone surrogate as U+FFFD). Borrowed arg; owned (+1) string; never throws. */
|
|
3256
3397
|
"text.decode": { argTypes: [BYTES_U8], result: STRING },
|
|
3257
3398
|
"bytes.bufferSource": { argTypes: [DYN], result: BYTES_U8 },
|
|
3258
3399
|
"text.decodeBufferSource": { argTypes: [DYN], result: STRING },
|