@scriptc/compiler 0.3.2 → 0.3.4
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 +1202 -64
- package/dist/backend/cycle-analysis.js +6 -1
- package/dist/backend/cycle-analysis.js.map +1 -1
- package/dist/backend/cycle-mutability.d.ts +5 -0
- package/dist/backend/cycle-mutability.js +62 -3
- package/dist/backend/cycle-mutability.js.map +1 -1
- package/dist/backend/executable-features.js +1 -0
- package/dist/backend/executable-features.js.map +1 -1
- package/dist/backend/library-pack.js +1 -0
- package/dist/backend/library-pack.js.map +1 -1
- package/dist/backend/llvm/alloc.js +24 -10
- package/dist/backend/llvm/alloc.js.map +1 -1
- package/dist/backend/llvm/alloc.test.js +47 -1
- package/dist/backend/llvm/alloc.test.js.map +1 -1
- package/dist/backend/llvm/array-search.d.ts +8 -0
- package/dist/backend/llvm/array-search.js +52 -0
- package/dist/backend/llvm/array-search.js.map +1 -0
- package/dist/backend/llvm/array-search.test.d.ts +1 -0
- package/dist/backend/llvm/array-search.test.js +72 -0
- package/dist/backend/llvm/array-search.test.js.map +1 -0
- package/dist/backend/llvm/call-lifetimes.d.ts +12 -1
- package/dist/backend/llvm/call-lifetimes.js +41 -11
- package/dist/backend/llvm/call-lifetimes.js.map +1 -1
- package/dist/backend/llvm/call-lifetimes.test.js +85 -1
- package/dist/backend/llvm/call-lifetimes.test.js.map +1 -1
- package/dist/backend/llvm/classes.js +87 -36
- package/dist/backend/llvm/classes.js.map +1 -1
- package/dist/backend/llvm/common.d.ts +6 -1
- package/dist/backend/llvm/common.js +8 -1
- package/dist/backend/llvm/common.js.map +1 -1
- package/dist/backend/llvm/dense-array-access.d.ts +5 -0
- package/dist/backend/llvm/dense-array-access.js +3 -3
- package/dist/backend/llvm/dense-array-access.js.map +1 -1
- package/dist/backend/llvm/dyn.d.ts +44 -1
- package/dist/backend/llvm/dyn.js +251 -36
- package/dist/backend/llvm/dyn.js.map +1 -1
- package/dist/backend/llvm/emitter.d.ts +77 -14
- package/dist/backend/llvm/emitter.js +461 -108
- package/dist/backend/llvm/emitter.js.map +1 -1
- package/dist/backend/llvm/emitter.test.js +26 -3
- package/dist/backend/llvm/emitter.test.js.map +1 -1
- package/dist/backend/llvm/expr-async.js +52 -1
- package/dist/backend/llvm/expr-async.js.map +1 -1
- package/dist/backend/llvm/expr-bytes.d.ts +9 -0
- package/dist/backend/llvm/expr-bytes.js +169 -63
- package/dist/backend/llvm/expr-bytes.js.map +1 -1
- package/dist/backend/llvm/expr-callbacks.js +16 -2
- package/dist/backend/llvm/expr-callbacks.js.map +1 -1
- package/dist/backend/llvm/expr-calls.d.ts +3 -1
- package/dist/backend/llvm/expr-calls.js +57 -2
- package/dist/backend/llvm/expr-calls.js.map +1 -1
- package/dist/backend/llvm/expr-containers.js +57 -19
- package/dist/backend/llvm/expr-containers.js.map +1 -1
- package/dist/backend/llvm/expr-dynamic.js +19 -8
- package/dist/backend/llvm/expr-dynamic.js.map +1 -1
- package/dist/backend/llvm/expr-primitives.js +28 -30
- package/dist/backend/llvm/expr-primitives.js.map +1 -1
- package/dist/backend/llvm/expr-records.js +8 -4
- package/dist/backend/llvm/expr-records.js.map +1 -1
- package/dist/backend/llvm/expr-stream-bridges.js +35 -32
- package/dist/backend/llvm/expr-stream-bridges.js.map +1 -1
- package/dist/backend/llvm/expr-stream-callbacks.d.ts +13 -2
- package/dist/backend/llvm/expr-stream-callbacks.js +80 -5
- package/dist/backend/llvm/expr-stream-callbacks.js.map +1 -1
- package/dist/backend/llvm/inline-unions.d.ts +48 -0
- package/dist/backend/llvm/inline-unions.js +134 -0
- package/dist/backend/llvm/inline-unions.js.map +1 -0
- package/dist/backend/llvm/inline-unions.test.d.ts +1 -0
- package/dist/backend/llvm/inline-unions.test.js +124 -0
- package/dist/backend/llvm/inline-unions.test.js.map +1 -0
- package/dist/backend/llvm/integer-remainder.d.ts +28 -5
- package/dist/backend/llvm/integer-remainder.js +80 -9
- package/dist/backend/llvm/integer-remainder.js.map +1 -1
- package/dist/backend/llvm/intern-tables.test.d.ts +1 -0
- package/dist/backend/llvm/intern-tables.test.js +77 -0
- package/dist/backend/llvm/intern-tables.test.js.map +1 -0
- package/dist/backend/llvm/lib-datagram.js +10 -0
- package/dist/backend/llvm/lib-datagram.js.map +1 -1
- package/dist/backend/llvm/lib-dispatch.js +255 -29
- package/dist/backend/llvm/lib-dispatch.js.map +1 -1
- package/dist/backend/llvm/lib-filesystem.js +176 -7
- package/dist/backend/llvm/lib-filesystem.js.map +1 -1
- package/dist/backend/llvm/lib-network.js +25 -6
- package/dist/backend/llvm/lib-network.js.map +1 -1
- package/dist/backend/llvm/lib-process.js +2 -2
- package/dist/backend/llvm/lib-process.js.map +1 -1
- package/dist/backend/llvm/lib-shared.d.ts +5 -0
- package/dist/backend/llvm/lib-shared.js +212 -1
- package/dist/backend/llvm/lib-shared.js.map +1 -1
- package/dist/backend/llvm/lib-stream.js +184 -0
- package/dist/backend/llvm/lib-stream.js.map +1 -1
- package/dist/backend/llvm/lib-test.js +9 -0
- package/dist/backend/llvm/lib-test.js.map +1 -1
- package/dist/backend/llvm/local-array-reads.js +7 -3
- package/dist/backend/llvm/local-array-reads.js.map +1 -1
- package/dist/backend/llvm/local-array-reads.test.js +6 -3
- package/dist/backend/llvm/local-array-reads.test.js.map +1 -1
- package/dist/backend/llvm/local-union-storage.d.ts +2 -0
- package/dist/backend/llvm/local-union-storage.js +5 -0
- package/dist/backend/llvm/local-union-storage.js.map +1 -1
- package/dist/backend/llvm/local-union-storage.test.js +1 -0
- package/dist/backend/llvm/local-union-storage.test.js.map +1 -1
- package/dist/backend/llvm/loop-array-borrows.d.ts +8 -2
- package/dist/backend/llvm/loop-array-borrows.js +93 -13
- package/dist/backend/llvm/loop-array-borrows.js.map +1 -1
- package/dist/backend/llvm/map-number-lookup.d.ts +24 -0
- package/dist/backend/llvm/map-number-lookup.js +88 -0
- package/dist/backend/llvm/map-number-lookup.js.map +1 -1
- package/dist/backend/llvm/map-number-lookup.test.d.ts +1 -0
- package/dist/backend/llvm/map-number-lookup.test.js +158 -0
- package/dist/backend/llvm/map-number-lookup.test.js.map +1 -0
- package/dist/backend/llvm/map-read-lifetimes.d.ts +9 -0
- package/dist/backend/llvm/map-read-lifetimes.js +90 -1
- package/dist/backend/llvm/map-read-lifetimes.js.map +1 -1
- package/dist/backend/llvm/map-read-lifetimes.test.js +129 -1
- package/dist/backend/llvm/map-read-lifetimes.test.js.map +1 -1
- package/dist/backend/llvm/publish.d.ts +9 -0
- package/dist/backend/llvm/publish.js +25 -4
- package/dist/backend/llvm/publish.js.map +1 -1
- package/dist/backend/llvm/record-results.d.ts +8 -5
- package/dist/backend/llvm/record-results.js +20 -12
- package/dist/backend/llvm/record-results.js.map +1 -1
- package/dist/backend/llvm/reference-effects.js +13 -0
- package/dist/backend/llvm/reference-effects.js.map +1 -1
- package/dist/backend/llvm/reference-writes.js +19 -2
- package/dist/backend/llvm/reference-writes.js.map +1 -1
- package/dist/backend/llvm/regions.d.ts +5 -1
- package/dist/backend/llvm/regions.js +24 -10
- package/dist/backend/llvm/regions.js.map +1 -1
- package/dist/backend/llvm/serialized-ir-emission.test.js +2 -0
- package/dist/backend/llvm/serialized-ir-emission.test.js.map +1 -1
- package/dist/backend/llvm/shapes.d.ts +56 -10
- package/dist/backend/llvm/shapes.js +178 -39
- package/dist/backend/llvm/shapes.js.map +1 -1
- package/dist/backend/llvm/shapes.test.js +61 -3
- package/dist/backend/llvm/shapes.test.js.map +1 -1
- package/dist/backend/llvm/stack-objects.js +16 -4
- package/dist/backend/llvm/stack-objects.js.map +1 -1
- package/dist/backend/llvm/stack-objects.test.js +3 -0
- package/dist/backend/llvm/stack-objects.test.js.map +1 -1
- package/dist/backend/llvm/string-reads.js +2 -2
- package/dist/backend/llvm/string-reads.js.map +1 -1
- package/dist/backend/llvm/string-slices.js +2 -2
- package/dist/backend/llvm/string-slices.js.map +1 -1
- package/dist/backend/llvm/walkers.d.ts +11 -0
- package/dist/backend/llvm/walkers.js +106 -10
- package/dist/backend/llvm/walkers.js.map +1 -1
- package/dist/backend/may-throw.js +13 -4
- package/dist/backend/may-throw.js.map +1 -1
- package/dist/backend/native/contracts.d.ts +5 -2
- package/dist/backend/native/executable.js +27 -8
- package/dist/backend/native/executable.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-codegen-core.d.ts +4 -4
- package/dist/backend/native-codegen-core.js +4 -6
- package/dist/backend/native-codegen-core.js.map +1 -1
- package/dist/backend/native-codegen.test.js +7 -8
- package/dist/backend/native-codegen.test.js.map +1 -1
- package/dist/backend/native-link-info-core.d.ts +3 -0
- package/dist/backend/native-link-info-core.js.map +1 -1
- package/dist/backend/native-toolchain.test.js +1 -1
- package/dist/backend/native-toolchain.test.js.map +1 -1
- package/dist/backend/publication.js +3 -1
- package/dist/backend/publication.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-targets.test.js +2 -1
- package/dist/backend/runtime-pack-targets.test.js.map +1 -1
- package/dist/backend/runtime-pack.test.js +2 -1
- package/dist/backend/runtime-pack.test.js.map +1 -1
- package/dist/backend/target-diagnostics.js +11 -1
- package/dist/backend/target-diagnostics.js.map +1 -1
- package/dist/backend/target-diagnostics.test.js +4 -1
- package/dist/backend/target-diagnostics.test.js.map +1 -1
- package/dist/backend/warm-cache.js +1 -0
- package/dist/backend/warm-cache.js.map +1 -1
- package/dist/compat/fetch-profile.js +4 -4
- package/dist/compat/fetch-profile.js.map +1 -1
- package/dist/contracts/check.js +2 -0
- package/dist/contracts/check.js.map +1 -1
- package/dist/coverage/report.js +1 -1
- package/dist/coverage/report.js.map +1 -1
- package/dist/diagnostics/diagnostic.d.ts +6 -5
- package/dist/diagnostics/diagnostic.js +7 -6
- package/dist/diagnostics/diagnostic.js.map +1 -1
- package/dist/executable/executable-cache.d.ts +1 -0
- package/dist/executable/executable-cache.js +1 -0
- package/dist/executable/executable-cache.js.map +1 -1
- package/dist/executable/executable-cache.test.js +1 -0
- package/dist/executable/executable-cache.test.js.map +1 -1
- package/dist/frontend/builtin-modules.d.ts +1 -1
- package/dist/frontend/builtin-modules.js +1 -0
- package/dist/frontend/builtin-modules.js.map +1 -1
- package/dist/frontend/comptime-node.js +2 -2
- package/dist/frontend/comptime-node.js.map +1 -1
- package/dist/frontend/experimental-import.d.ts +5 -1
- package/dist/frontend/experimental-import.js +28 -3
- package/dist/frontend/experimental-import.js.map +1 -1
- package/dist/frontend/lowering/assert-instances.d.ts +38 -0
- package/dist/frontend/lowering/assert-instances.js +269 -0
- package/dist/frontend/lowering/assert-instances.js.map +1 -0
- package/dist/frontend/lowering/binding-analysis.d.ts +1 -1
- package/dist/frontend/lowering/binding-analysis.js +1 -1
- package/dist/frontend/lowering/builtins/arguments.d.ts +4 -0
- package/dist/frontend/lowering/builtins/arguments.js +8 -4
- package/dist/frontend/lowering/builtins/arguments.js.map +1 -1
- package/dist/frontend/lowering/builtins/blob.d.ts +20 -0
- package/dist/frontend/lowering/builtins/blob.js +167 -0
- package/dist/frontend/lowering/builtins/blob.js.map +1 -0
- package/dist/frontend/lowering/builtins/child-process-async.d.ts +2 -2
- package/dist/frontend/lowering/builtins/child-process-async.js +2 -2
- package/dist/frontend/lowering/builtins/child-process-methods.js +1 -1
- package/dist/frontend/lowering/builtins/child-process-methods.js.map +1 -1
- package/dist/frontend/lowering/builtins/child-process-sync.js +1 -1
- package/dist/frontend/lowering/builtins/child-process-sync.js.map +1 -1
- package/dist/frontend/lowering/builtins/compression.d.ts +18 -0
- package/dist/frontend/lowering/builtins/compression.js +178 -4
- package/dist/frontend/lowering/builtins/compression.js.map +1 -1
- package/dist/frontend/lowering/builtins/constants.js +7 -2
- package/dist/frontend/lowering/builtins/constants.js.map +1 -1
- package/dist/frontend/lowering/builtins/crypto.d.ts +6 -0
- package/dist/frontend/lowering/builtins/crypto.js +526 -121
- package/dist/frontend/lowering/builtins/crypto.js.map +1 -1
- package/dist/frontend/lowering/builtins/errors.js +23 -0
- package/dist/frontend/lowering/builtins/errors.js.map +1 -1
- package/dist/frontend/lowering/builtins/filesystem-calls.d.ts +10 -0
- package/dist/frontend/lowering/builtins/filesystem-calls.js +89 -1
- package/dist/frontend/lowering/builtins/filesystem-calls.js.map +1 -1
- package/dist/frontend/lowering/builtins/filesystem.d.ts +16 -7
- package/dist/frontend/lowering/builtins/filesystem.js +97 -15
- package/dist/frontend/lowering/builtins/filesystem.js.map +1 -1
- package/dist/frontend/lowering/builtins/fs-glob.d.ts +23 -0
- package/dist/frontend/lowering/builtins/fs-glob.js +224 -0
- package/dist/frontend/lowering/builtins/fs-glob.js.map +1 -0
- package/dist/frontend/lowering/builtins/key-object.d.ts +13 -0
- package/dist/frontend/lowering/builtins/key-object.js +56 -0
- package/dist/frontend/lowering/builtins/key-object.js.map +1 -0
- package/dist/frontend/lowering/builtins/module-calls.js +44 -11
- package/dist/frontend/lowering/builtins/module-calls.js.map +1 -1
- package/dist/frontend/lowering/builtins/performance.d.ts +25 -3
- package/dist/frontend/lowering/builtins/performance.js +340 -5
- package/dist/frontend/lowering/builtins/performance.js.map +1 -1
- package/dist/frontend/lowering/builtins/process.d.ts +2 -2
- package/dist/frontend/lowering/builtins/process.js +107 -14
- package/dist/frontend/lowering/builtins/process.js.map +1 -1
- package/dist/frontend/lowering/builtins/properties.d.ts +0 -7
- package/dist/frontend/lowering/builtins/properties.js +39 -11
- package/dist/frontend/lowering/builtins/properties.js.map +1 -1
- package/dist/frontend/lowering/builtins/readline.d.ts +23 -8
- package/dist/frontend/lowering/builtins/readline.js +266 -90
- package/dist/frontend/lowering/builtins/readline.js.map +1 -1
- package/dist/frontend/lowering/builtins/timers.d.ts +3 -0
- package/dist/frontend/lowering/builtins/timers.js +109 -23
- package/dist/frontend/lowering/builtins/timers.js.map +1 -1
- package/dist/frontend/lowering/builtins/url.d.ts +8 -0
- package/dist/frontend/lowering/builtins/url.js +36 -0
- package/dist/frontend/lowering/builtins/url.js.map +1 -1
- package/dist/frontend/lowering/call-arguments.js +1 -1
- package/dist/frontend/lowering/call-arguments.js.map +1 -1
- package/dist/frontend/lowering/call-signatures.js +26 -2
- package/dist/frontend/lowering/call-signatures.js.map +1 -1
- package/dist/frontend/lowering/class-dynamic-dispatch.d.ts +2 -0
- package/dist/frontend/lowering/class-dynamic-dispatch.js +171 -13
- package/dist/frontend/lowering/class-dynamic-dispatch.js.map +1 -1
- package/dist/frontend/lowering/class-dynamic-dispatch.test.js +1 -0
- package/dist/frontend/lowering/class-dynamic-dispatch.test.js.map +1 -1
- package/dist/frontend/lowering/class-protocol-dispatch.d.ts +45 -0
- package/dist/frontend/lowering/class-protocol-dispatch.js +516 -0
- package/dist/frontend/lowering/class-protocol-dispatch.js.map +1 -0
- package/dist/frontend/lowering/coercions/structural-plans.js +2 -1
- package/dist/frontend/lowering/coercions/structural-plans.js.map +1 -1
- package/dist/frontend/lowering/coercions/structural.js +3 -3
- package/dist/frontend/lowering/coercions/structural.js.map +1 -1
- package/dist/frontend/lowering/collation-repertoire.js +6 -5
- package/dist/frontend/lowering/collation-repertoire.js.map +1 -1
- package/dist/frontend/lowering/containers/array-callbacks.js +4 -7
- package/dist/frontend/lowering/containers/array-callbacks.js.map +1 -1
- package/dist/frontend/lowering/containers/array-methods.d.ts +0 -7
- package/dist/frontend/lowering/containers/array-methods.js +43 -2
- package/dist/frontend/lowering/containers/array-methods.js.map +1 -1
- package/dist/frontend/lowering/containers/bytes.js +38 -26
- package/dist/frontend/lowering/containers/bytes.js.map +1 -1
- package/dist/frontend/lowering/containers/for-of.d.ts +1 -1
- package/dist/frontend/lowering/containers/for-of.js +5 -1
- package/dist/frontend/lowering/containers/for-of.js.map +1 -1
- package/dist/frontend/lowering/containers/indexed-objects.js +1 -1
- package/dist/frontend/lowering/containers/indexed-objects.js.map +1 -1
- package/dist/frontend/lowering/crypto-tables.d.ts +3 -3
- package/dist/frontend/lowering/crypto-tables.js +77 -12
- package/dist/frontend/lowering/crypto-tables.js.map +1 -1
- package/dist/frontend/lowering/expressions/nullish-assignment.js +10 -0
- package/dist/frontend/lowering/expressions/nullish-assignment.js.map +1 -1
- package/dist/frontend/lowering/expressions/object-literals.js +16 -12
- package/dist/frontend/lowering/expressions/object-literals.js.map +1 -1
- package/dist/frontend/lowering/generic-functions.d.ts +2 -2
- package/dist/frontend/lowering/generic-functions.js +2 -2
- package/dist/frontend/lowering/generic-functions.js.map +1 -1
- package/dist/frontend/lowering/http2-constants.js +1 -1
- package/dist/frontend/lowering/intern-tables.d.ts +13 -0
- package/dist/frontend/lowering/intern-tables.js +536 -0
- package/dist/frontend/lowering/intern-tables.js.map +1 -0
- package/dist/frontend/lowering/lower-array-sort.d.ts +12 -1
- package/dist/frontend/lowering/lower-array-sort.js +561 -191
- package/dist/frontend/lowering/lower-array-sort.js.map +1 -1
- package/dist/frontend/lowering/lower-array-sort.test.js +4 -2
- package/dist/frontend/lowering/lower-array-sort.test.js.map +1 -1
- package/dist/frontend/lowering/lower-assert.js +702 -63
- package/dist/frontend/lowering/lower-assert.js.map +1 -1
- package/dist/frontend/lowering/lower-async-iteration.d.ts +6 -3
- package/dist/frontend/lowering/lower-async-iteration.js +259 -4
- package/dist/frontend/lowering/lower-async-iteration.js.map +1 -1
- package/dist/frontend/lowering/lower-calls.js +118 -12
- package/dist/frontend/lowering/lower-calls.js.map +1 -1
- package/dist/frontend/lowering/lower-classes.d.ts +11 -2
- package/dist/frontend/lowering/lower-classes.js +76 -9
- package/dist/frontend/lowering/lower-classes.js.map +1 -1
- package/dist/frontend/lowering/lower-comptime.d.ts +1 -1
- package/dist/frontend/lowering/lower-comptime.js +4 -4
- package/dist/frontend/lowering/lower-comptime.js.map +1 -1
- package/dist/frontend/lowering/lower-dgram.js +77 -52
- package/dist/frontend/lowering/lower-dgram.js.map +1 -1
- package/dist/frontend/lowering/lower-event-target.d.ts +63 -0
- package/dist/frontend/lowering/lower-event-target.js +362 -0
- package/dist/frontend/lowering/lower-event-target.js.map +1 -0
- package/dist/frontend/lowering/lower-expando.js +2 -2
- package/dist/frontend/lowering/lower-exprs.js +124 -22
- package/dist/frontend/lowering/lower-exprs.js.map +1 -1
- package/dist/frontend/lowering/lower-inspect.d.ts +6 -0
- package/dist/frontend/lowering/lower-inspect.js +240 -49
- package/dist/frontend/lowering/lower-inspect.js.map +1 -1
- package/dist/frontend/lowering/lower-mixins.js +1 -1
- package/dist/frontend/lowering/lower-mock.d.ts +11 -0
- package/dist/frontend/lowering/lower-mock.js +504 -0
- package/dist/frontend/lowering/lower-mock.js.map +1 -0
- package/dist/frontend/lowering/lower-modules.d.ts +1 -1
- package/dist/frontend/lowering/lower-modules.js +14 -3
- package/dist/frontend/lowering/lower-modules.js.map +1 -1
- package/dist/frontend/lowering/lower-namespaces.d.ts +2 -2
- package/dist/frontend/lowering/lower-namespaces.js +2 -2
- package/dist/frontend/lowering/lower-server.d.ts +3 -0
- package/dist/frontend/lowering/lower-server.js +419 -44
- package/dist/frontend/lowering/lower-server.js.map +1 -1
- package/dist/frontend/lowering/lower-stdlib.d.ts +7 -1
- package/dist/frontend/lowering/lower-stdlib.js +10 -3
- package/dist/frontend/lowering/lower-stdlib.js.map +1 -1
- package/dist/frontend/lowering/lower-stmts.d.ts +2 -2
- package/dist/frontend/lowering/lower-stmts.js +69 -14
- package/dist/frontend/lowering/lower-stmts.js.map +1 -1
- package/dist/frontend/lowering/lower-stream.d.ts +10 -6
- package/dist/frontend/lowering/lower-stream.js +1020 -49
- package/dist/frontend/lowering/lower-stream.js.map +1 -1
- package/dist/frontend/lowering/lower-test.js +86 -8
- package/dist/frontend/lowering/lower-test.js.map +1 -1
- package/dist/frontend/lowering/lower-timers.js +1 -1
- package/dist/frontend/lowering/lowerer.d.ts +45 -5
- package/dist/frontend/lowering/lowerer.js +317 -48
- package/dist/frontend/lowering/lowerer.js.map +1 -1
- package/dist/frontend/lowering/native-ffi.js +2 -2
- package/dist/frontend/lowering/native-ffi.js.map +1 -1
- package/dist/frontend/lowering/pairs-snapshot.d.ts +6 -0
- package/dist/frontend/lowering/pairs-snapshot.js +49 -0
- package/dist/frontend/lowering/pairs-snapshot.js.map +1 -1
- package/dist/frontend/lowering/runtime-optional-records.d.ts +115 -0
- package/dist/frontend/lowering/runtime-optional-records.js +715 -0
- package/dist/frontend/lowering/runtime-optional-records.js.map +1 -0
- package/dist/frontend/lowering/runtime-optional-records.test.d.ts +1 -0
- package/dist/frontend/lowering/runtime-optional-records.test.js +175 -0
- package/dist/frontend/lowering/runtime-optional-records.test.js.map +1 -0
- package/dist/frontend/lowering/surfaces.d.ts +11 -3
- package/dist/frontend/lowering/surfaces.js +334 -37
- package/dist/frontend/lowering/surfaces.js.map +1 -1
- package/dist/frontend/lowering/zlib-constants.d.ts +1 -0
- package/dist/frontend/lowering/zlib-constants.js +181 -0
- package/dist/frontend/lowering/zlib-constants.js.map +1 -0
- package/dist/frontend/mock-shapes.d.ts +10 -0
- package/dist/frontend/mock-shapes.js +76 -0
- package/dist/frontend/mock-shapes.js.map +1 -0
- package/dist/frontend/module-syntax.d.ts +1 -1
- package/dist/frontend/module-syntax.js +1 -1
- package/dist/frontend/npm-static-prune.js +1 -1
- package/dist/frontend/npm-static-prune.js.map +1 -1
- package/dist/frontend/npm-static-rewrite-syntax.js +4 -3
- package/dist/frontend/npm-static-rewrite-syntax.js.map +1 -1
- package/dist/frontend/pipeline.js +6 -4
- package/dist/frontend/pipeline.js.map +1 -1
- package/dist/frontend/program.d.ts +3 -3
- package/dist/frontend/program.js +25 -18
- package/dist/frontend/program.js.map +1 -1
- package/dist/frontend/resolve.d.ts +4 -0
- package/dist/frontend/resolve.js +15 -1
- package/dist/frontend/resolve.js.map +1 -1
- package/dist/frontend/ts7/adapter.js +1 -1
- package/dist/frontend/ts7/ast-bytes.d.ts +1 -1
- package/dist/frontend/ts7/ast-bytes.js +1 -1
- package/dist/frontend/ts7/semantic-json.d.ts +1 -1
- package/dist/frontend/ts7/semantic-json.js +1 -1
- package/dist/frontend/ts7/semantic-json.js.map +1 -1
- package/dist/frontend/ts7/world-check.js +1 -1
- package/dist/frontend/tsc-codes.js +3 -2
- package/dist/frontend/tsc-codes.js.map +1 -1
- package/dist/frontend/type-mapper.d.ts +21 -1
- package/dist/frontend/type-mapper.js +245 -27
- package/dist/frontend/type-mapper.js.map +1 -1
- package/dist/index.js +7 -5
- package/dist/index.js.map +1 -1
- package/dist/ir/analysis.d.ts +12 -6
- package/dist/ir/analysis.js +26 -10
- package/dist/ir/analysis.js.map +1 -1
- package/dist/ir/analysis.test.js +15 -3
- package/dist/ir/analysis.test.js.map +1 -1
- package/dist/ir/builtin-effects.js +115 -0
- package/dist/ir/builtin-effects.js.map +1 -1
- package/dist/ir/builtin-signatures.d.ts +1 -1
- package/dist/ir/builtin-signatures.js +438 -46
- package/dist/ir/builtin-signatures.js.map +1 -1
- package/dist/ir/int32-slots.js +1 -0
- package/dist/ir/int32-slots.js.map +1 -1
- package/dist/ir/ir.d.ts +84 -17
- package/dist/ir/ir.js +54 -1
- package/dist/ir/ir.js.map +1 -1
- package/dist/ir/runtime-features.d.ts +1 -0
- package/dist/ir/runtime-features.js +111 -7
- package/dist/ir/runtime-features.js.map +1 -1
- package/dist/ir/serialize.js +1 -1
- package/dist/ir/serialize.js.map +1 -1
- package/dist/ir/traverse.js +1 -0
- package/dist/ir/traverse.js.map +1 -1
- package/dist/ir/validate.js +295 -14
- package/dist/ir/validate.js.map +1 -1
- package/dist/ir/validate.test.js +60 -0
- package/dist/ir/validate.test.js.map +1 -1
- package/dist/library/fence-eval.d.ts +1 -1
- package/dist/library/fence-eval.js +5 -4
- package/dist/library/fence-eval.js.map +1 -1
- package/dist/library/ir-policy.js +11 -4
- package/dist/library/ir-policy.js.map +1 -1
- package/dist/library/library-profile.js +13 -13
- package/dist/library/library-profile.js.map +1 -1
- package/dist/library/prepare.js +1 -1
- package/dist/library/prepare.js.map +1 -1
- package/dist/library/sidecar.js +3 -3
- package/dist/library/sidecar.js.map +1 -1
- package/dist/native/cli.js +1 -0
- package/dist/native/cli.js.map +1 -1
- package/dist/native/compiler.js +1 -3
- package/dist/native/compiler.js.map +1 -1
- package/dist/native/prepare.js +4 -2
- package/dist/native/prepare.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 +1279 -221
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import { BIGINT_T } from "./ir.js";
|
|
2
|
-
import { arrayOf, BOOL, BYTES_U8, bytesOf, CHILD_T, CHILDSTREAM_T, CHILDWRITER_T, CRYPTOHASH_T, CRYPTOHMAC_T, DATE_T, DGRAMSOCK_T, DYN, F64, FILEHANDLE_T, FSWATCHER_T, HTTP2SESSION_T, HTTP2STREAM_T, HTTPCLIENTREQ_T, HTTPREQ_T, HTTPRES_T, NETSERVER_T, NETSOCKET_T, PROCSTREAM_T, REGEX, SEARCH_PARAMS_T, SECURECTX_T, SPAWNRES_T, STATS_T, STRING, SYMBOL_T, TESTCTX_T, URL_T, VOID, } from "./ir.js";
|
|
2
|
+
import { arrayOf, BOOL, BYTES_U8, bytesOf, CHILD_T, CHILDSTREAM_T, CHILDWRITER_T, CRYPTOHASH_T, CRYPTOHMAC_T, DATE_T, DIR_T, DGRAMSOCK_T, DYN, F64, FILEHANDLE_T, FSWATCHER_T, HTTP2SESSION_T, HTTP2STREAM_T, HTTPCLIENTREQ_T, HTTPREQ_T, HTTPRES_T, NETSERVER_T, NETSOCKET_T, PROCSTREAM_T, REGEX, SEARCH_PARAMS_T, SECURECTX_T, SPAWNRES_T, STATS_T, STRING, SYMBOL_T, TESTCTX_T, URL_T, VOID, } from "./ir.js";
|
|
3
3
|
/** Preserve the closed names while giving every entry the same slot type. */
|
|
4
4
|
function defineLibFnSignatures(signatures) {
|
|
5
5
|
return signatures;
|
|
@@ -26,7 +26,37 @@ export const LIB_FN_SIGS = defineLibFnSignatures({
|
|
|
26
26
|
"event.new": { argTypes: [DYN], result: DYN },
|
|
27
27
|
"event.customNew": { argTypes: [DYN], result: DYN },
|
|
28
28
|
"event.is": { argTypes: [DYN, F64], result: BOOL },
|
|
29
|
+
/** Compiled EventTarget and Event subclasses: the receiver is the
|
|
30
|
+
* instance (an object rooted at %EventTarget / %Event). targetInit and
|
|
31
|
+
* init are super() (init takes the argument vector as one dyn array
|
|
32
|
+
* and throws the constructor's validation errors; initType is the
|
|
33
|
+
* super(type) form with a string); targetCall runs an EventTarget method
|
|
34
|
+
* with the instance's own capsule as `self` (targetDispatch is its
|
|
35
|
+
* dispatchEvent(event) form, answering the bool); call, get and set
|
|
36
|
+
* reach the Event members. */
|
|
37
|
+
"event.targetInit": { argTypes: [null], result: VOID },
|
|
38
|
+
"event.init": { argTypes: [null, DYN], result: VOID },
|
|
39
|
+
"event.initType": { argTypes: [null, STRING], result: VOID },
|
|
40
|
+
/** %main hands the engine the compiled `listener.handleEvent` reader
|
|
41
|
+
* (lower-event-target.ts noteEventListeners). */
|
|
42
|
+
"event.handleEventReader": { argTypes: [DYN], result: VOID },
|
|
43
|
+
"event.targetDispatch": { argTypes: [null, DYN, DYN], result: BOOL },
|
|
44
|
+
"event.targetCall": { argTypes: [null, DYN, STRING, DYN], result: DYN },
|
|
45
|
+
"event.call": { argTypes: [null, STRING, DYN], result: DYN },
|
|
46
|
+
"event.get": { argTypes: [null, STRING], result: DYN },
|
|
47
|
+
"event.set": { argTypes: [null, STRING, DYN], result: VOID },
|
|
29
48
|
"events.addAbortListener": { argTypes: [DYN, DYN], result: DYN },
|
|
49
|
+
/** Blob / File (scr_blob.c): the constructors and slice() take their
|
|
50
|
+
* argument vector as one dyn array and throw Node's validation errors;
|
|
51
|
+
* the readers settle on Node's microtask turn for the Blob's parts.
|
|
52
|
+
* `blob.is` is `v instanceof Blob` (kind 0) or `File` (1). */
|
|
53
|
+
"blob.new": { argTypes: [DYN], result: DYN },
|
|
54
|
+
"blob.fileNew": { argTypes: [DYN], result: DYN },
|
|
55
|
+
"blob.slice": { argTypes: [DYN, DYN], result: DYN },
|
|
56
|
+
"blob.text": { argTypes: [DYN], result: { kind: "promise", inner: STRING } },
|
|
57
|
+
"blob.bytes": { argTypes: [DYN], result: { kind: "promise", inner: BYTES_U8 } },
|
|
58
|
+
"blob.arrayBuffer": { argTypes: [DYN], result: { kind: "promise", inner: DYN } },
|
|
59
|
+
"blob.is": { argTypes: [DYN, F64], result: BOOL },
|
|
30
60
|
"abort.timeout": { argTypes: [DYN], result: DYN },
|
|
31
61
|
"abort.now": { argTypes: [DYN], result: DYN },
|
|
32
62
|
"abort.any": { argTypes: [DYN], result: DYN },
|
|
@@ -62,8 +92,8 @@ export const LIB_FN_SIGS = defineLibFnSignatures({
|
|
|
62
92
|
* "Cannot set properties of undefined (setting 'k')"; every other kind
|
|
63
93
|
* throws Node's STRICT-mode "Cannot create property 'k' on <kind>" —
|
|
64
94
|
* primitives quoting their rendering, V8's "on number '5'"
|
|
65
|
-
* (sloppy mode would
|
|
66
|
-
* SEMANTICS.md notes the sloppy divergence:
|
|
95
|
+
* (sloppy mode would ignore the write — suite tests are 'use strict';
|
|
96
|
+
* SEMANTICS.md notes the sloppy divergence: the write throws). Void
|
|
67
97
|
* result; in the may-throw seed set. */
|
|
68
98
|
"dyn.keySet": { argTypes: [DYN, STRING, DYN], result: VOID },
|
|
69
99
|
"dyn.keySetComputed": { argTypes: [DYN, DYN, DYN], result: VOID },
|
|
@@ -81,6 +111,10 @@ export const LIB_FN_SIGS = defineLibFnSignatures({
|
|
|
81
111
|
"dyn.globalSymbolDelete": { argTypes: [SYMBOL_T], result: VOID },
|
|
82
112
|
/** Exact native class capsule identity, without materializing its fields. */
|
|
83
113
|
"dyn.typedRefIs": { argTypes: [DYN, STRING], result: BOOL },
|
|
114
|
+
/** A capsule boxed by this program from exactly this class: one key
|
|
115
|
+
* pointer test, false for equal keys boxed elsewhere. Guards fast paths
|
|
116
|
+
* whose fallback handles every other value. The key is a literal. */
|
|
117
|
+
"dyn.typedRefKeyIs": { argTypes: [DYN, STRING], result: BOOL },
|
|
84
118
|
"dyn.classIs": { argTypes: [DYN, STRING], result: BOOL },
|
|
85
119
|
/** Destructuring pack over a dyn source — `const [a, b] = d`, a
|
|
86
120
|
* destructured dyn callback param (args: the source and the STATIC
|
|
@@ -135,7 +169,7 @@ export const LIB_FN_SIGS = defineLibFnSignatures({
|
|
|
135
169
|
* Value descriptors become own properties on OBJ and FUNC targets;
|
|
136
170
|
* OBJ targets preserve data attributes. get/set
|
|
137
171
|
* descriptors and non-object targets/descriptors throw catchably
|
|
138
|
-
* (Node's TypeError texts; accessors the
|
|
172
|
+
* (Node's TypeError texts; accessors the "not supported yet" Error). In
|
|
139
173
|
* the may-throw seed set. */
|
|
140
174
|
"dyn.defineProps": { argTypes: [DYN, DYN], result: DYN },
|
|
141
175
|
"dyn.defineProperty": { argTypes: [DYN, DYN, DYN], result: DYN },
|
|
@@ -251,6 +285,34 @@ export const LIB_FN_SIGS = defineLibFnSignatures({
|
|
|
251
285
|
"process.uptime": { argTypes: [], result: F64 },
|
|
252
286
|
/** perf_hooks performance.now(): fractional ms since process start. */
|
|
253
287
|
"perf.now": { argTypes: [], result: F64 },
|
|
288
|
+
/** perf_hooks user timing over the thread's performance timeline. The
|
|
289
|
+
* producing calls take the call's whole argument vector as one dyn
|
|
290
|
+
* array (Node's validation and errors run in the runtime, MAY THROW):
|
|
291
|
+
* mark/measure answer 1, entries(args, which) the entry count of
|
|
292
|
+
* getEntries (0), getEntriesByName (1) or getEntriesByType (2). The
|
|
293
|
+
* entryName/Type/Start/Duration/Detail accessors read entry i of that
|
|
294
|
+
* answer; the frontend builds a new entry's record from them and hands
|
|
295
|
+
* it to entryKeep (a typed reference capsule), and the getters read the
|
|
296
|
+
* kept records back through entryRef, so entries keep their identity. */
|
|
297
|
+
"perf.mark": { argTypes: [DYN], result: F64 },
|
|
298
|
+
"perf.measure": { argTypes: [DYN], result: F64 },
|
|
299
|
+
"perf.entries": { argTypes: [DYN, F64], result: F64 },
|
|
300
|
+
"perf.clearMarks": { argTypes: [DYN], result: VOID },
|
|
301
|
+
"perf.clearMeasures": { argTypes: [DYN], result: VOID },
|
|
302
|
+
"perf.entryName": { argTypes: [F64], result: STRING },
|
|
303
|
+
"perf.entryType": { argTypes: [F64], result: STRING },
|
|
304
|
+
"perf.entryStart": { argTypes: [F64], result: F64 },
|
|
305
|
+
"perf.entryDuration": { argTypes: [F64], result: F64 },
|
|
306
|
+
"perf.entryDetail": { argTypes: [F64], result: DYN },
|
|
307
|
+
"perf.entryKeep": { argTypes: [DYN], result: VOID },
|
|
308
|
+
"perf.entryRef": { argTypes: [F64], result: DYN },
|
|
309
|
+
/** process.memoryUsage(): memoryUsageTake samples the resident set and
|
|
310
|
+
* the runtime heap once (MAY THROW Node's uv_resident_set_memory error)
|
|
311
|
+
* and memoryUsageField(k) reads that sample (0 rss, 1 heapTotal, 2
|
|
312
|
+
* heapUsed, 3 external, 4 arrayBuffers). rss is memoryUsage.rss(). */
|
|
313
|
+
"process.memoryUsageTake": { argTypes: [], result: VOID },
|
|
314
|
+
"process.memoryUsageField": { argTypes: [F64], result: F64 },
|
|
315
|
+
"process.rss": { argTypes: [], result: F64 },
|
|
254
316
|
"process.availableMemory": { argTypes: [], result: F64 },
|
|
255
317
|
"process.constrainedMemory": { argTypes: [], result: F64 },
|
|
256
318
|
"process.cpuUser": { argTypes: [], result: F64 },
|
|
@@ -268,8 +330,8 @@ export const LIB_FN_SIGS = defineLibFnSignatures({
|
|
|
268
330
|
"timers.immediateRef": { argTypes: [F64], result: F64 },
|
|
269
331
|
"timers.immediateHasRef": { argTypes: [F64], result: BOOL },
|
|
270
332
|
/** The tolerated non-handle clear (`clearTimeout(null)`,
|
|
271
|
-
* `clearInterval({})`, zero-argument forms): Node
|
|
272
|
-
*
|
|
333
|
+
* `clearInterval({})`, zero-argument forms): Node ignores anything
|
|
334
|
+
* that is not a live handle without an error — a VOID no-op the emitter drops
|
|
273
335
|
* (only syntactically side-effect-free arguments take this path). */
|
|
274
336
|
"timers.clearNoop": { argTypes: [], result: VOID },
|
|
275
337
|
// Signal listeners are zero-param (the ambient shape); exit/stdin
|
|
@@ -314,7 +376,8 @@ export const LIB_FN_SIGS = defineLibFnSignatures({
|
|
|
314
376
|
"fs.readFileSyncBuf": { argTypes: [STRING], result: BYTES_U8 },
|
|
315
377
|
/** readFileSync(path, enc) with a RUNTIME encoding (an untyped JS
|
|
316
378
|
* parameter): undefined/null answer Buffers, utf8 a string, other real
|
|
317
|
-
* encodings
|
|
379
|
+
* encodings throw the "not supported yet" Error, unknown names throw
|
|
380
|
+
* ERR_UNKNOWN_ENCODING. */
|
|
318
381
|
"fs.readFileSyncDyn": { argTypes: [STRING, DYN], result: DYN },
|
|
319
382
|
"fs.writeFileSync": { argTypes: [STRING, STRING], result: VOID },
|
|
320
383
|
"fs.appendFileSync": { argTypes: [STRING, STRING], result: VOID },
|
|
@@ -330,12 +393,40 @@ export const LIB_FN_SIGS = defineLibFnSignatures({
|
|
|
330
393
|
* to lstat, Node's getDirents rule). The result type is the call site's
|
|
331
394
|
* interned Dirent record array (name, parentPath, hidden %dtype in
|
|
332
395
|
* libuv's UV_DIRENT encoding) — verified by the frontend; the emitter
|
|
333
|
-
* assembles the rows from the snapshot.
|
|
396
|
+
* assembles the rows from the snapshot. Byte order on POSIX (libuv
|
|
397
|
+
* sorts), the directory's order on Windows; no "."/"..". Throws
|
|
334
398
|
* Node's scandir errno error (may-throw seed set); fresh +1 array. */
|
|
335
399
|
"fs.readdirTypesSync": { argTypes: [STRING], result: VOID },
|
|
400
|
+
/** fs.globSync / fs.glob / fs/promises glob (scr_glob.c, Node's
|
|
401
|
+
* lib/internal/fs/glob.js walk): pattern and options are dyn values the
|
|
402
|
+
* runtime validates in Node's order. The string forms answer string[];
|
|
403
|
+
* the Dirent forms answer the call site's Dirent record array (validated
|
|
404
|
+
* in validate.ts) assembled from the snapshot; fs.callbackGlob takes the
|
|
405
|
+
* argument vector and calls back with string[]. */
|
|
406
|
+
"fs.globSync": { argTypes: [DYN, DYN], result: arrayOf(STRING) },
|
|
407
|
+
"fs.globTypesSync": { argTypes: [DYN, DYN], result: VOID },
|
|
408
|
+
"fs.callbackGlob": { argTypes: [DYN], result: VOID },
|
|
409
|
+
"fsp.globStrings": { argTypes: [DYN, DYN], result: arrayOf(STRING) },
|
|
410
|
+
"fsp.globTypes": { argTypes: [DYN, DYN], result: VOID },
|
|
411
|
+
/** The error an fs/promises glob walk ended with (undefined when none),
|
|
412
|
+
* read once right after fsp.globStrings / fsp.globTypes. */
|
|
413
|
+
"fsp.globError": { argTypes: [], result: DYN },
|
|
414
|
+
/** fs.Dir (scr_lib.c): opendirSync(path, bufferSize) throws Node's
|
|
415
|
+
* opendir error (or the options.bufferSize RangeError); dir.readSync
|
|
416
|
+
* answers the call site's `Dirent | null` (VOID here — the emitter builds
|
|
417
|
+
* the row like readdirTypesSync) and dir.read is its promise twin;
|
|
418
|
+
* readSync and closeSync throw ERR_DIR_CLOSED on a closed Dir, read and
|
|
419
|
+
* close reject with it. */
|
|
420
|
+
"fs.opendirSync": { argTypes: [STRING, F64], result: DIR_T },
|
|
421
|
+
"fsp.opendir": { argTypes: [STRING, F64], result: { kind: "promise", inner: DIR_T } },
|
|
422
|
+
"dir.path": { argTypes: [DIR_T], result: STRING },
|
|
423
|
+
"dir.readSync": { argTypes: [DIR_T], result: VOID },
|
|
424
|
+
"dir.read": { argTypes: [DIR_T], result: { kind: "promise", inner: VOID } },
|
|
425
|
+
"dir.closeSync": { argTypes: [DIR_T], result: VOID },
|
|
426
|
+
"dir.close": { argTypes: [DIR_T], result: { kind: "promise", inner: VOID } },
|
|
336
427
|
/** node:path (scr_path.c ports BOTH of Node's implementations
|
|
337
428
|
* function-by-function): the `path.*` family is posix, the
|
|
338
|
-
* `path.win32*` family is Node v24's path.win32
|
|
429
|
+
* `path.win32*` family is Node v24's path.win32 ported exactly — the
|
|
339
430
|
* frontend binds the bare module to the TARGET platform's family
|
|
340
431
|
* (Node on Windows IS path.win32) and the path.posix / path.win32
|
|
341
432
|
* namespaces to their own family everywhere. join and resolve take ONE
|
|
@@ -699,6 +790,18 @@ export const LIB_FN_SIGS = defineLibFnSignatures({
|
|
|
699
790
|
"url.fileURLToPathUrl": { argTypes: [URL_T], result: STRING },
|
|
700
791
|
"url.fileURLToPathChecked": { argTypes: [DYN], result: STRING },
|
|
701
792
|
"url.fileURLToPathOptions": { argTypes: [DYN, DYN], result: STRING },
|
|
793
|
+
/** node:url's legacy API (scr_url_legacy.c): parse(url, parseQueryString,
|
|
794
|
+
* slashesDenoteHost) answers the checked-dynamic Url instance; format
|
|
795
|
+
* takes the urlObject (a Url-shaped object, a string, or a URL) and the
|
|
796
|
+
* URL form's options; resolve takes (from, to). The trailing bool says
|
|
797
|
+
* whether the call site emits DEP0169. domainToASCII/domainToUnicode
|
|
798
|
+
* take the domain and whether it was omitted. Node's validation errors
|
|
799
|
+
* throw catchably. */
|
|
800
|
+
"url.legacyParse": { argTypes: [DYN, DYN, DYN, BOOL], result: DYN },
|
|
801
|
+
"url.legacyFormat": { argTypes: [DYN, DYN, BOOL], result: STRING },
|
|
802
|
+
"url.legacyResolve": { argTypes: [DYN, DYN, BOOL], result: STRING },
|
|
803
|
+
"url.domainToASCII": { argTypes: [DYN, BOOL], result: STRING },
|
|
804
|
+
"url.domainToUnicode": { argTypes: [DYN, BOOL], result: STRING },
|
|
702
805
|
"url.fileURLToPathBuffer": { argTypes: [DYN, DYN], result: BYTES_U8 },
|
|
703
806
|
"url.pathToFileURLChecked": { argTypes: [DYN, DYN], result: URL_T },
|
|
704
807
|
"url.fileURLToPathStr": { argTypes: [STRING], result: STRING },
|
|
@@ -883,6 +986,21 @@ export const LIB_FN_SIGS = defineLibFnSignatures({
|
|
|
883
986
|
"stats.atimeMs": { argTypes: [STATS_T], result: F64 },
|
|
884
987
|
"stats.mtimeMs": { argTypes: [STATS_T], result: F64 },
|
|
885
988
|
"stats.ctimeMs": { argTypes: [STATS_T], result: F64 },
|
|
989
|
+
"stats.birthtimeMs": { argTypes: [STATS_T], result: F64 },
|
|
990
|
+
"stats.mode": { argTypes: [STATS_T], result: F64 },
|
|
991
|
+
"stats.uid": { argTypes: [STATS_T], result: F64 },
|
|
992
|
+
"stats.gid": { argTypes: [STATS_T], result: F64 },
|
|
993
|
+
"stats.rdev": { argTypes: [STATS_T], result: F64 },
|
|
994
|
+
"stats.blksize": { argTypes: [STATS_T], result: F64 },
|
|
995
|
+
"stats.isBlockDevice": { argTypes: [STATS_T], result: BOOL },
|
|
996
|
+
"stats.isCharacterDevice": { argTypes: [STATS_T], result: BOOL },
|
|
997
|
+
"stats.isFIFO": { argTypes: [STATS_T], result: BOOL },
|
|
998
|
+
"stats.isSocket": { argTypes: [STATS_T], result: BOOL },
|
|
999
|
+
/** The Date fields: the *Ms value rounded (Node's dateFromMs). */
|
|
1000
|
+
"stats.atime": { argTypes: [STATS_T], result: DATE_T },
|
|
1001
|
+
"stats.mtime": { argTypes: [STATS_T], result: DATE_T },
|
|
1002
|
+
"stats.ctime": { argTypes: [STATS_T], result: DATE_T },
|
|
1003
|
+
"stats.birthtime": { argTypes: [STATS_T], result: DATE_T },
|
|
886
1004
|
// The wider sync fs slice (unlink/chmod/chown/copyfile and the
|
|
887
1005
|
// mode-carrying write/mkdir forms).
|
|
888
1006
|
/** The wider sync fs slice (scr_lib.c), all throwing catchably with
|
|
@@ -905,6 +1023,11 @@ export const LIB_FN_SIGS = defineLibFnSignatures({
|
|
|
905
1023
|
"fs.unlinkSync": { argTypes: [STRING], result: VOID },
|
|
906
1024
|
"fs.chmodSync": { argTypes: [STRING, F64], result: VOID },
|
|
907
1025
|
"fs.chownSync": { argTypes: [STRING, F64, F64], result: VOID },
|
|
1026
|
+
"fs.lchownSync": { argTypes: [STRING, F64, F64], result: VOID },
|
|
1027
|
+
"fs.fchownSync": { argTypes: [F64, F64, F64], result: VOID },
|
|
1028
|
+
/** truncateSync opens the path with 'r+', then truncates (len checked and
|
|
1029
|
+
* clamped like ftruncateSync's) and closes it. */
|
|
1030
|
+
"fs.truncateSync": { argTypes: [STRING, F64], result: VOID },
|
|
908
1031
|
"fs.copyFileSync": { argTypes: [STRING, STRING], result: VOID },
|
|
909
1032
|
/** renameSync is the direct two-path syscall wrapper. renameCb defers
|
|
910
1033
|
* the operation to the loop and fires a program-shaped Error | null
|
|
@@ -1013,6 +1136,10 @@ export const LIB_FN_SIGS = defineLibFnSignatures({
|
|
|
1013
1136
|
},
|
|
1014
1137
|
"net.serverPort": { argTypes: [NETSERVER_T], result: F64 },
|
|
1015
1138
|
"net.serverListening": { argTypes: [NETSERVER_T], result: BOOL },
|
|
1139
|
+
/** socket.ref()/unref() and server.ref()/unref(): whether the handle
|
|
1140
|
+
* keeps the event loop alive. */
|
|
1141
|
+
"net.sockSetRef": { argTypes: [NETSOCKET_T, BOOL], result: VOID },
|
|
1142
|
+
"net.serverSetRef": { argTypes: [NETSERVER_T, BOOL], result: VOID },
|
|
1016
1143
|
// net.serverAddress's record result is shape-checked in the libCall case
|
|
1017
1144
|
// (the dgram.address sentinel pattern).
|
|
1018
1145
|
/** server.address() as the full AddressInfo record (the dgram.address
|
|
@@ -1165,6 +1292,13 @@ export const LIB_FN_SIGS = defineLibFnSignatures({
|
|
|
1165
1292
|
result: VOID,
|
|
1166
1293
|
},
|
|
1167
1294
|
"dns.lookup": { argTypes: [STRING, F64, null], result: VOID },
|
|
1295
|
+
/** Node's argument forms with dyn callbacks: lookup(hostname, options,
|
|
1296
|
+
* callback) and lookupService(address, port, callback). */
|
|
1297
|
+
"dns.lookupDyn": { argTypes: [DYN, DYN, DYN, BOOL], result: VOID },
|
|
1298
|
+
"dns.lookupService": { argTypes: [DYN, DYN, DYN, BOOL], result: VOID },
|
|
1299
|
+
"dns.getServers": { argTypes: [], result: DYN },
|
|
1300
|
+
"dns.getDefaultResultOrder": { argTypes: [], result: STRING },
|
|
1301
|
+
"dns.setDefaultResultOrder": { argTypes: [DYN], result: VOID },
|
|
1168
1302
|
// node:test (scr_test.c). Bodies are program-dependent closures (0 or
|
|
1169
1303
|
// 1 testCtx param, void or Promise<void> result — the spoke pinned the
|
|
1170
1304
|
// shape): null slots. sub's result is the settled Promise<void> the
|
|
@@ -1184,7 +1318,7 @@ export const LIB_FN_SIGS = defineLibFnSignatures({
|
|
|
1184
1318
|
"test.register": { argTypes: [STRING, F64, STRING, null, F64, STRING], result: VOID },
|
|
1185
1319
|
"test.registerEmpty": { argTypes: [STRING, F64, STRING, F64, STRING], result: VOID },
|
|
1186
1320
|
"test.suite": {
|
|
1187
|
-
argTypes: [STRING, F64, STRING, { kind: "func", params: [], ret: VOID }, STRING],
|
|
1321
|
+
argTypes: [STRING, F64, STRING, { kind: "func", params: [], ret: VOID }, STRING, F64],
|
|
1188
1322
|
result: VOID,
|
|
1189
1323
|
},
|
|
1190
1324
|
"test.hook": { argTypes: [F64, null, F64], result: VOID },
|
|
@@ -1197,6 +1331,13 @@ export const LIB_FN_SIGS = defineLibFnSignatures({
|
|
|
1197
1331
|
"test.ctxTodo": { argTypes: [TESTCTX_T, STRING], result: VOID },
|
|
1198
1332
|
"test.ctxDiagnostic": { argTypes: [TESTCTX_T, STRING], result: VOID },
|
|
1199
1333
|
"test.ctxName": { argTypes: [TESTCTX_T], result: STRING },
|
|
1334
|
+
"test.ctxFullName": { argTypes: [TESTCTX_T], result: STRING },
|
|
1335
|
+
// t.before/t.after/t.beforeEach/t.afterEach (which: 0 before, 1 after,
|
|
1336
|
+
// 2 beforeEach, 3 afterEach); a throwing t.before is captured on the test.
|
|
1337
|
+
"test.ctxHook": { argTypes: [TESTCTX_T, F64, null, F64], result: VOID },
|
|
1338
|
+
// t.plan(count), and the count of one t.assert call.
|
|
1339
|
+
"test.ctxPlan": { argTypes: [TESTCTX_T, F64], result: VOID },
|
|
1340
|
+
"test.ctxCount": { argTypes: [TESTCTX_T], result: VOID },
|
|
1200
1341
|
// node:http (scr_http.c over scr_net.c). The handler and the data
|
|
1201
1342
|
// listeners are program-dependent closures (null slots, checked in the
|
|
1202
1343
|
// libCall case); reqHeader's result is the interned string|undefined
|
|
@@ -1242,8 +1383,9 @@ export const LIB_FN_SIGS = defineLibFnSignatures({
|
|
|
1242
1383
|
/** The ServerResponse member surface: statusCode/statusMessage reads
|
|
1243
1384
|
* and assignments (Node's writable properties), the header CRUD trio
|
|
1244
1385
|
* (getHeader answers `string | undefined` like reqHeader), and
|
|
1245
|
-
* end(cb)'s
|
|
1246
|
-
* the callback fires deferred, Node's 'finish'
|
|
1386
|
+
* end(cb)'s callback slot (resOnEndCallback registers, the end call
|
|
1387
|
+
* follows — the callback fires deferred, just before Node's 'finish'
|
|
1388
|
+
* emit; resOnFinish is the 'finish' listener slot). writeHead's
|
|
1247
1389
|
* statusMessage forms compose in interned helpers: resStatusMsgSet
|
|
1248
1390
|
* then the ordinary writeHead entry. */
|
|
1249
1391
|
"http.resStatusGet": { argTypes: [HTTPRES_T], result: F64 },
|
|
@@ -1265,6 +1407,9 @@ export const LIB_FN_SIGS = defineLibFnSignatures({
|
|
|
1265
1407
|
// resGetHeader answers the interned `string | undefined` union — the
|
|
1266
1408
|
// reqHeader/envGet sentinel pattern (VOID here, checked specially).
|
|
1267
1409
|
"http.resGetHeader": { argTypes: [HTTPRES_T, STRING], result: VOID },
|
|
1410
|
+
/** getHeader as Node answers it: the number, string or string[] that was
|
|
1411
|
+
* set, or undefined, as a checked-dynamic value. */
|
|
1412
|
+
"http.resGetHeaderDyn": { argTypes: [HTTPRES_T, STRING], result: DYN },
|
|
1268
1413
|
"http.resGetHeaderNames": { argTypes: [HTTPRES_T], result: arrayOf(STRING) },
|
|
1269
1414
|
"http.resGetRawHeaderNames": { argTypes: [HTTPRES_T], result: arrayOf(STRING) },
|
|
1270
1415
|
"http.resGetHeaders": { argTypes: [HTTPRES_T], result: DYN },
|
|
@@ -1274,6 +1419,10 @@ export const LIB_FN_SIGS = defineLibFnSignatures({
|
|
|
1274
1419
|
argTypes: [HTTPRES_T, { kind: "func", params: [], ret: VOID }],
|
|
1275
1420
|
result: VOID,
|
|
1276
1421
|
},
|
|
1422
|
+
"http.resOnEndCallback": {
|
|
1423
|
+
argTypes: [HTTPRES_T, { kind: "func", params: [], ret: VOID }],
|
|
1424
|
+
result: VOID,
|
|
1425
|
+
},
|
|
1277
1426
|
"http.reqUrl": { argTypes: [HTTPREQ_T], result: STRING },
|
|
1278
1427
|
"http.reqMethod": { argTypes: [HTTPREQ_T], result: STRING },
|
|
1279
1428
|
"http.reqHeader": { argTypes: [HTTPREQ_T, STRING], result: VOID },
|
|
@@ -1286,6 +1435,10 @@ export const LIB_FN_SIGS = defineLibFnSignatures({
|
|
|
1286
1435
|
result: VOID,
|
|
1287
1436
|
},
|
|
1288
1437
|
"http.resSetHeader": { argTypes: [HTTPRES_T, STRING, STRING], result: VOID },
|
|
1438
|
+
/** setHeader / appendHeader with a number, string or array value; the
|
|
1439
|
+
* stored value keeps its type for getHeader/getHeaders. MAY THROW. */
|
|
1440
|
+
"http.resSetHeaderDyn": { argTypes: [HTTPRES_T, STRING, DYN], result: VOID },
|
|
1441
|
+
"http.resAppendHeader": { argTypes: [HTTPRES_T, STRING, DYN], result: VOID },
|
|
1289
1442
|
"http.resWriteHead": { argTypes: [HTTPRES_T, F64], result: VOID },
|
|
1290
1443
|
"http.resWriteHeadN": {
|
|
1291
1444
|
argTypes: [HTTPRES_T, F64, arrayOf(STRING), arrayOf(STRING)],
|
|
@@ -1344,6 +1497,9 @@ export const LIB_FN_SIGS = defineLibFnSignatures({
|
|
|
1344
1497
|
* ...] pairs in arrival order — the interned %headers.snapshot helper
|
|
1345
1498
|
* builds the record over it, exactly the process.envPairs pattern. */
|
|
1346
1499
|
"http.reqHeaderPairs": { argTypes: [HTTPREQ_T], result: arrayOf(STRING) },
|
|
1500
|
+
/** Every value of one header in arrival order (empty when absent): the
|
|
1501
|
+
* set-cookie array of a `{ ...req.headers }` snapshot. */
|
|
1502
|
+
"http.reqHeaderList": { argTypes: [HTTPREQ_T, STRING], result: arrayOf(STRING) },
|
|
1347
1503
|
"http.reqRawTrailers": { argTypes: [HTTPREQ_T], result: arrayOf(STRING) },
|
|
1348
1504
|
"http.reqTrailerPairs": { argTypes: [HTTPREQ_T], result: arrayOf(STRING) },
|
|
1349
1505
|
"net.sockDestroyed": { argTypes: [NETSOCKET_T], result: BOOL },
|
|
@@ -1407,11 +1563,11 @@ export const LIB_FN_SIGS = defineLibFnSignatures({
|
|
|
1407
1563
|
},
|
|
1408
1564
|
"http.resWriteHeadPairs": { argTypes: [HTTPRES_T, F64, arrayOf(STRING)], result: VOID },
|
|
1409
1565
|
/** writeHead(status, headers) with a checked-dynamic headers value —
|
|
1410
|
-
* the runtime OBJ walk (string/number values;
|
|
1411
|
-
* may throw). */
|
|
1566
|
+
* the runtime OBJ walk (string/number values; other values throw
|
|
1567
|
+
* Node's invalid-argument TypeError; may throw). */
|
|
1412
1568
|
"http.resWriteHeadDyn": { argTypes: [HTTPRES_T, F64, DYN], result: VOID },
|
|
1413
1569
|
"net.sockSetTimeout": { argTypes: [NETSOCKET_T, F64], result: VOID },
|
|
1414
|
-
/** setEncoding('utf8') — 'data' delivers strings inside the chunk-encoding window; other real encodings
|
|
1570
|
+
/** setEncoding('utf8') — 'data' delivers strings inside the chunk-encoding window; other real encodings throw the "not supported yet" Error, unknown names throw ERR_UNKNOWN_ENCODING (may throw). */
|
|
1415
1571
|
"net.sockSetEncoding": { argTypes: [NETSOCKET_T, STRING], result: VOID },
|
|
1416
1572
|
"http.reqSetEncoding": { argTypes: [HTTPREQ_T, STRING], result: VOID },
|
|
1417
1573
|
"net.sockOnTimeout": {
|
|
@@ -1505,6 +1661,38 @@ export const LIB_FN_SIGS = defineLibFnSignatures({
|
|
|
1505
1661
|
"net.sockSetNoDelay": { argTypes: [NETSOCKET_T, BOOL], result: NETSOCKET_T },
|
|
1506
1662
|
"net.sockDestroySoon": { argTypes: [NETSOCKET_T], result: VOID },
|
|
1507
1663
|
"net.sockBytesWritten": { argTypes: [NETSOCKET_T], result: F64 },
|
|
1664
|
+
/** remotePort (0), remoteFamily (1), localAddress (2), localPort (3),
|
|
1665
|
+
* localFamily (4): dyn values, undefined when unknown. */
|
|
1666
|
+
"net.sockAddrField": { argTypes: [NETSOCKET_T, F64], result: DYN },
|
|
1667
|
+
"net.sockBytesRead": { argTypes: [NETSOCKET_T], result: F64 },
|
|
1668
|
+
"net.sockConnecting": { argTypes: [NETSOCKET_T], result: BOOL },
|
|
1669
|
+
"net.sockPending": { argTypes: [NETSOCKET_T], result: BOOL },
|
|
1670
|
+
"net.sockReadyState": { argTypes: [NETSOCKET_T], result: STRING },
|
|
1671
|
+
"net.sockSetKeepAlive": { argTypes: [NETSOCKET_T, BOOL, F64], result: NETSOCKET_T },
|
|
1672
|
+
"net.sockOnReady": {
|
|
1673
|
+
argTypes: [NETSOCKET_T, { kind: "func", params: [], ret: VOID }, BOOL],
|
|
1674
|
+
result: VOID,
|
|
1675
|
+
},
|
|
1676
|
+
/** Listeners with a parameter, as dyn functions: close(hadError),
|
|
1677
|
+
* write's cb(err) and end's cb. */
|
|
1678
|
+
"net.sockOnCloseDyn": { argTypes: [NETSOCKET_T, DYN, BOOL], result: VOID },
|
|
1679
|
+
"net.sockOnWriteFlush": {
|
|
1680
|
+
argTypes: [NETSOCKET_T, { kind: "func", params: [], ret: VOID }],
|
|
1681
|
+
result: VOID,
|
|
1682
|
+
},
|
|
1683
|
+
"net.sockOnWriteFlushDyn": { argTypes: [NETSOCKET_T, DYN], result: VOID },
|
|
1684
|
+
"net.sockOnFinishDyn": { argTypes: [NETSOCKET_T, DYN], result: VOID },
|
|
1685
|
+
"net.sockSetTimeoutCb": {
|
|
1686
|
+
argTypes: [NETSOCKET_T, F64, { kind: "func", params: [], ret: VOID }],
|
|
1687
|
+
result: VOID,
|
|
1688
|
+
},
|
|
1689
|
+
"net.isIP": { argTypes: [DYN], result: F64 },
|
|
1690
|
+
"net.isIPv4": { argTypes: [DYN], result: BOOL },
|
|
1691
|
+
"net.isIPv6": { argTypes: [DYN], result: BOOL },
|
|
1692
|
+
"net.serverMaxConnectionsGet": { argTypes: [NETSERVER_T], result: DYN },
|
|
1693
|
+
"net.serverMaxConnectionsSet": { argTypes: [NETSERVER_T, DYN], result: VOID },
|
|
1694
|
+
"net.serverOnDrop": { argTypes: [NETSERVER_T, DYN, BOOL], result: VOID },
|
|
1695
|
+
"net.serverGetConnections": { argTypes: [NETSERVER_T, DYN], result: VOID },
|
|
1508
1696
|
"net.sockReadable": { argTypes: [NETSOCKET_T], result: BOOL },
|
|
1509
1697
|
/** socket.on('finish', cb) / end(cb): fires once when the FIN goes out
|
|
1510
1698
|
* (sweep-deferred, never the registering stack). */
|
|
@@ -1638,7 +1826,7 @@ export const LIB_FN_SIGS = defineLibFnSignatures({
|
|
|
1638
1826
|
* for the server_name extension BEFORE the TLS handshake begins, calls
|
|
1639
1827
|
* the callback with (servername, answer-closure), and resumes the
|
|
1640
1828
|
* handshake when the answer arrives — cb(err) tears the socket down
|
|
1641
|
-
*
|
|
1829
|
+
* without an error event (Node's 'tlsClientError' default), cb(null, ctx) serves
|
|
1642
1830
|
* ctx's cert/key, cb(null, undefined) serves the default pair. */
|
|
1643
1831
|
"http2.createSecureServerSni": { argTypes: [null, null, null, BOOL], result: NETSERVER_T },
|
|
1644
1832
|
// The ALPN=h2 server (createSecureServer without allowHTTP1): the real
|
|
@@ -2113,11 +2301,15 @@ export const LIB_FN_SIGS = defineLibFnSignatures({
|
|
|
2113
2301
|
"crypto.hashDigestStr": { argTypes: [STRING, STRING, STRING], result: STRING },
|
|
2114
2302
|
"crypto.hashDigestBytes": { argTypes: [STRING, BYTES_U8, STRING], result: STRING },
|
|
2115
2303
|
/** First-class static Hash/Hmac handles. Constructors validate the
|
|
2116
|
-
* runtime algorithm string (
|
|
2304
|
+
* runtime algorithm string (every digest Node 24 lists); update returns the same
|
|
2117
2305
|
* handle by retained identity, copy snapshots Hash state, and digest
|
|
2118
2306
|
* finalizes the handle and returns either a Buffer or encoded string. */
|
|
2119
2307
|
"crypto.native": { argTypes: [], result: DYN },
|
|
2120
2308
|
"crypto.hashNew": { argTypes: [STRING], result: CRYPTOHASH_T },
|
|
2309
|
+
/** createCipheriv (false) / createDecipheriv (true) over checked-dynamic
|
|
2310
|
+
* cipher, key, iv and options arguments (scr_cipher.c): a native
|
|
2311
|
+
* Cipheriv/Decipheriv handle whose methods dispatch through dynInvoke. */
|
|
2312
|
+
"crypto.cipherNew": { argTypes: [BOOL, DYN, DYN, DYN, DYN], result: DYN },
|
|
2121
2313
|
"crypto.hmacNewStr": { argTypes: [STRING, STRING], result: CRYPTOHMAC_T },
|
|
2122
2314
|
"crypto.hmacNewBytes": { argTypes: [STRING, BYTES_U8], result: CRYPTOHMAC_T },
|
|
2123
2315
|
"crypto.hashUpdateStr": { argTypes: [CRYPTOHASH_T, STRING], result: CRYPTOHASH_T },
|
|
@@ -2129,10 +2321,46 @@ export const LIB_FN_SIGS = defineLibFnSignatures({
|
|
|
2129
2321
|
"crypto.hashDigestBuffer": { argTypes: [CRYPTOHASH_T], result: BYTES_U8 },
|
|
2130
2322
|
"crypto.hmacDigestString": { argTypes: [CRYPTOHMAC_T, STRING], result: STRING },
|
|
2131
2323
|
"crypto.hmacDigestBuffer": { argTypes: [CRYPTOHMAC_T], result: BYTES_U8 },
|
|
2132
|
-
|
|
2324
|
+
/** The option and any-value forms, with Node's checks at run time. The
|
|
2325
|
+
* Dyn digests return a string or a Buffer, and crypto.hash's Dyn form
|
|
2326
|
+
* either one by its outputEncoding. */
|
|
2327
|
+
"crypto.hashNewOpts": { argTypes: [STRING, DYN], result: CRYPTOHASH_T },
|
|
2328
|
+
"crypto.hmacNewDyn": { argTypes: [STRING, DYN, DYN], result: CRYPTOHMAC_T },
|
|
2329
|
+
"crypto.hashCopyOpts": { argTypes: [CRYPTOHASH_T, DYN], result: CRYPTOHASH_T },
|
|
2330
|
+
"crypto.hashUpdateEnc": { argTypes: [CRYPTOHASH_T, STRING, STRING], result: CRYPTOHASH_T },
|
|
2331
|
+
"crypto.hmacUpdateEnc": { argTypes: [CRYPTOHMAC_T, STRING, STRING], result: CRYPTOHMAC_T },
|
|
2332
|
+
"crypto.hashUpdateDyn": { argTypes: [CRYPTOHASH_T, DYN, DYN], result: CRYPTOHASH_T },
|
|
2333
|
+
"crypto.hmacUpdateDyn": { argTypes: [CRYPTOHMAC_T, DYN, DYN], result: CRYPTOHMAC_T },
|
|
2334
|
+
"crypto.hashDigestDyn": { argTypes: [CRYPTOHASH_T, DYN], result: DYN },
|
|
2335
|
+
"crypto.hmacDigestDyn": { argTypes: [CRYPTOHMAC_T, DYN], result: DYN },
|
|
2336
|
+
"crypto.hashOneshot": { argTypes: [STRING, DYN, DYN], result: DYN },
|
|
2337
|
+
/** Views of any element kind (the validator checks both are views). */
|
|
2338
|
+
"crypto.timingSafeEqual": { argTypes: [null, null], result: BOOL },
|
|
2339
|
+
"crypto.timingSafeEqualDyn": { argTypes: [DYN, DYN], result: BOOL },
|
|
2133
2340
|
"crypto.randomFill": { argTypes: [BYTES_U8, F64, F64], result: BYTES_U8 },
|
|
2134
2341
|
"crypto.randomFillRest": { argTypes: [BYTES_U8, F64], result: BYTES_U8 },
|
|
2135
2342
|
"crypto.randomInt": { argTypes: [F64, F64], result: F64 },
|
|
2343
|
+
"crypto.randomIntMax": { argTypes: [F64], result: F64 },
|
|
2344
|
+
/** randomFillSync over any view returns that view at its own type (the
|
|
2345
|
+
* validator checks the result against the first argument). The Dyn form
|
|
2346
|
+
* takes ArrayBuffers and other values. The callback forms carry
|
|
2347
|
+
* randomFill's argument count before the callback; randomIntCb carries
|
|
2348
|
+
* whether min was given. */
|
|
2349
|
+
"crypto.randomFillView": { argTypes: [null, F64, F64], result: BYTES_U8 },
|
|
2350
|
+
"crypto.randomFillViewRest": { argTypes: [null, F64], result: BYTES_U8 },
|
|
2351
|
+
"crypto.randomFillSyncDyn": { argTypes: [DYN, DYN, DYN], result: DYN },
|
|
2352
|
+
"crypto.randomFillCb": { argTypes: [null, F64, F64, F64, null], result: VOID },
|
|
2353
|
+
"crypto.randomFillCbDyn": { argTypes: [DYN, DYN, DYN, F64, null], result: VOID },
|
|
2354
|
+
"crypto.randomIntCb": { argTypes: [F64, F64, F64, null], result: VOID },
|
|
2355
|
+
"crypto.randomUUIDOpts": { argTypes: [DYN], result: STRING },
|
|
2356
|
+
/** Secret KeyObjects: native handles whose getters and methods dispatch
|
|
2357
|
+
* through the handle. keyObjectInput reads a key's bytes for hkdf. */
|
|
2358
|
+
"crypto.createSecretKey": { argTypes: [DYN, DYN], result: DYN },
|
|
2359
|
+
"crypto.generateKeySync": { argTypes: [DYN, DYN], result: DYN },
|
|
2360
|
+
"crypto.generateKeyCb": { argTypes: [DYN, DYN, null], result: VOID },
|
|
2361
|
+
"crypto.keyObjectInput": { argTypes: [DYN], result: BYTES_U8 },
|
|
2362
|
+
"crypto.isKeyObject": { argTypes: [DYN], result: BOOL },
|
|
2363
|
+
"crypto.randomUUIDv7": { argTypes: [DYN], result: STRING },
|
|
2136
2364
|
"crypto.pbkdf2": { argTypes: [BYTES_U8, BYTES_U8, F64, F64, STRING], result: BYTES_U8 },
|
|
2137
2365
|
"crypto.randomBytesCb": { argTypes: [F64, null], result: VOID },
|
|
2138
2366
|
"crypto.pbkdf2Cb": { argTypes: [BYTES_U8, BYTES_U8, F64, F64, STRING, null], result: VOID },
|
|
@@ -2263,6 +2491,21 @@ export const LIB_FN_SIGS = defineLibFnSignatures({
|
|
|
2263
2491
|
"zlib.gunzipCb": { argTypes: [BYTES_U8, null], result: VOID },
|
|
2264
2492
|
"zlib.unzipCb": { argTypes: [BYTES_U8, null], result: VOID },
|
|
2265
2493
|
"zlib.crc32": { argTypes: [BYTES_U8, F64], result: F64 },
|
|
2494
|
+
/** The stream classes (scr_zlib_stream.c, linked with the stream unit):
|
|
2495
|
+
* streamNew takes Node's node_zlib_mode number and the options value
|
|
2496
|
+
* (undefined when absent), validates it with Node's ladder, and answers
|
|
2497
|
+
* the +1 %Transform stream. flush takes the kind value, params the level
|
|
2498
|
+
* and strategy values; the Cb forms move their () => void callback. The
|
|
2499
|
+
* receivers are borrowed. */
|
|
2500
|
+
"zlib.streamNew": { argTypes: [F64, DYN], result: VOID },
|
|
2501
|
+
"zlib.streamBytesWritten": { argTypes: [null], result: F64 },
|
|
2502
|
+
"zlib.streamFlush": { argTypes: [null, DYN], result: VOID },
|
|
2503
|
+
"zlib.streamFlushCb": { argTypes: [null, DYN, null], result: VOID },
|
|
2504
|
+
"zlib.streamParams": { argTypes: [null, DYN, DYN], result: VOID },
|
|
2505
|
+
"zlib.streamParamsCb": { argTypes: [null, DYN, DYN, null], result: VOID },
|
|
2506
|
+
"zlib.streamClose": { argTypes: [null], result: VOID },
|
|
2507
|
+
"zlib.streamCloseCb": { argTypes: [null, null], result: VOID },
|
|
2508
|
+
"zlib.streamReset": { argTypes: [null], result: VOID },
|
|
2266
2509
|
/** The Buffer overloads of the raw stream writes — same promptly
|
|
2267
2510
|
* submitted streams as process.stdoutWrite/stderrWrite, constantly true.
|
|
2268
2511
|
* The encoding arg is evaluated but ignored for bytes, like Node. The Cb
|
|
@@ -2291,6 +2534,17 @@ export const LIB_FN_SIGS = defineLibFnSignatures({
|
|
|
2291
2534
|
"fsp.mkdirRecursiveMode": { argTypes: [STRING, F64], result: { kind: "promise", inner: VOID } },
|
|
2292
2535
|
"fsp.unlink": { argTypes: [STRING], result: { kind: "promise", inner: VOID } },
|
|
2293
2536
|
"fsp.chmod": { argTypes: [STRING, F64], result: { kind: "promise", inner: VOID } },
|
|
2537
|
+
"fsp.chown": { argTypes: [STRING, F64, F64], result: { kind: "promise", inner: VOID } },
|
|
2538
|
+
"fsp.lchown": { argTypes: [STRING, F64, F64], result: { kind: "promise", inner: VOID } },
|
|
2539
|
+
"fsp.access": { argTypes: [STRING, F64], result: { kind: "promise", inner: VOID } },
|
|
2540
|
+
"fsp.truncate": { argTypes: [STRING, F64], result: { kind: "promise", inner: VOID } },
|
|
2541
|
+
"fsp.appendFile": { argTypes: [STRING, STRING], result: { kind: "promise", inner: VOID } },
|
|
2542
|
+
"fsp.appendFileBytes": { argTypes: [STRING, BYTES_U8], result: { kind: "promise", inner: VOID } },
|
|
2543
|
+
"fsp.copyFile": { argTypes: [STRING, STRING], result: { kind: "promise", inner: VOID } },
|
|
2544
|
+
"fsp.mkdtemp": { argTypes: [STRING], result: { kind: "promise", inner: STRING } },
|
|
2545
|
+
/** readFile(path, encoding | { encoding }) for any runtime encoding name. */
|
|
2546
|
+
"fsp.readFileEncoded": { argTypes: [STRING, STRING], result: { kind: "promise", inner: STRING } },
|
|
2547
|
+
"fsp.rmdir": { argTypes: [STRING], result: { kind: "promise", inner: VOID } },
|
|
2294
2548
|
"fsp.link": { argTypes: [DYN, DYN], result: { kind: "promise", inner: VOID } },
|
|
2295
2549
|
"fsp.symlink": { argTypes: [DYN, DYN, DYN], result: { kind: "promise", inner: VOID } },
|
|
2296
2550
|
"fsp.readlink": { argTypes: [DYN, DYN], result: { kind: "promise", inner: DYN } },
|
|
@@ -2410,6 +2664,24 @@ export const LIB_FN_SIGS = defineLibFnSignatures({
|
|
|
2410
2664
|
"dyn.generatorThis": { argTypes: [], result: DYN },
|
|
2411
2665
|
"process.getuid": { argTypes: [], result: F64 },
|
|
2412
2666
|
"process.getgid": { argTypes: [], result: F64 },
|
|
2667
|
+
/** geteuid(2) / getegid(2) / getgroups(2) (the effective gid appended
|
|
2668
|
+
* when the list lacks it, like Node). Windows has no such members: the
|
|
2669
|
+
* calls throw the TypeError a missing member does (MAY THROW). */
|
|
2670
|
+
"process.geteuid": { argTypes: [], result: F64 },
|
|
2671
|
+
"process.getegid": { argTypes: [], result: F64 },
|
|
2672
|
+
"process.getgroups": { argTypes: [], result: arrayOf(F64) },
|
|
2673
|
+
/** process.ppid: the parent's pid at the read. Never throws. */
|
|
2674
|
+
"process.ppid": { argTypes: [], result: F64 },
|
|
2675
|
+
/** process.title: libuv's process title (argv[0] until set); setTitle
|
|
2676
|
+
* writes it (truncated to the original argument area on POSIX, the
|
|
2677
|
+
* console title on Windows). Never throw. */
|
|
2678
|
+
"process.title": { argTypes: [], result: STRING },
|
|
2679
|
+
"process.setTitle": { argTypes: [STRING], result: VOID },
|
|
2680
|
+
/** process.argv0: the original argv[0]. Never throws. */
|
|
2681
|
+
"process.argv0": { argTypes: [], result: STRING },
|
|
2682
|
+
/** process.release: the compatibility target's stable release object
|
|
2683
|
+
* (name, lts, sourceUrl, headersUrl, and libUrl on Windows). +1. */
|
|
2684
|
+
"process.release": { argTypes: [], result: DYN },
|
|
2413
2685
|
/** process.execPath: the compiled binary's own resolved absolute path
|
|
2414
2686
|
* (one interned string, +1 per read) — the honest answer where Node's
|
|
2415
2687
|
* is the node executable's (SEMANTICS.md divergence 12). Never throws. */
|
|
@@ -2738,6 +3010,9 @@ export const LIB_FN_SIGS = defineLibFnSignatures({
|
|
|
2738
3010
|
"dyn.seal": { argTypes: [DYN], result: DYN },
|
|
2739
3011
|
"dyn.isSealed": { argTypes: [DYN], result: BOOL },
|
|
2740
3012
|
"dyn.objValues": { argTypes: [DYN], result: DYN },
|
|
3013
|
+
/** Object.values as a native vector of checked values, for results the
|
|
3014
|
+
* program consumes directly (for-of, index reads, read-only methods). */
|
|
3015
|
+
"dyn.objValueList": { argTypes: [DYN], result: arrayOf(DYN) },
|
|
2741
3016
|
"dyn.objEntries": { argTypes: [DYN], result: DYN },
|
|
2742
3017
|
/** structuredClone over the checked-dynamic tree (scr_json.c): the JSON-safe subset plus
|
|
2743
3018
|
* bytes (a fresh copy — a Buffer clones as a plain Uint8Array, like
|
|
@@ -2906,17 +3181,62 @@ export const LIB_FN_SIGS = defineLibFnSignatures({
|
|
|
2906
3181
|
* propagates the first error by destroying the rest, calls cb after the
|
|
2907
3182
|
* last 'close'; answers the destination +1. The Dyn twins take the
|
|
2908
3183
|
* callback as a checked-dynamic VALUE (mustCall wrappers). */
|
|
3184
|
+
/** stream.addAbortSignal: [stream, signal] — the constructors' signal
|
|
3185
|
+
* option, chained over the fresh stream (falsy signals are ignored);
|
|
3186
|
+
* stream.addAbortSignalFn: [signal, stream] — addAbortSignal(signal,
|
|
3187
|
+
* stream). Both answer the stream (+1) and throw ERR_INVALID_ARG_TYPE
|
|
3188
|
+
* for a value that is not an AbortSignal; they link the event-target
|
|
3189
|
+
* unit (addAbortListener). */
|
|
3190
|
+
"stream.addAbortSignal": { argTypes: [null, DYN], result: VOID },
|
|
3191
|
+
"stream.addAbortSignalFn": { argTypes: [DYN, null], result: VOID },
|
|
2909
3192
|
"stream.finished": { argTypes: [null, null], result: VOID },
|
|
2910
3193
|
"stream.finishedDyn": { argTypes: [null, DYN], result: VOID },
|
|
2911
3194
|
"stream.pipeline": { argTypes: [F64], result: VOID },
|
|
2912
3195
|
"stream.pipelineDyn": { argTypes: [F64], result: VOID },
|
|
3196
|
+
"stream.pipelineStages": { argTypes: [F64, F64, F64, F64, F64], result: VOID },
|
|
3197
|
+
"stream.pipelineStagesDyn": { argTypes: [F64, F64, F64, F64, F64], result: VOID },
|
|
3198
|
+
/** stream.compose(count, s1..sn): the Duplex over a pipeline of the
|
|
3199
|
+
* streams (+1). MAY THROW (ERR_INVALID_ARG_VALUE for a stream that is
|
|
3200
|
+
* no longer readable or writable). */
|
|
3201
|
+
"stream.compose": { argTypes: [F64], result: VOID },
|
|
2913
3202
|
/** node:stream/promises — the promise forms over the same machinery:
|
|
2914
3203
|
* sp.finished: (s) → a pending void promise the terminal watcher
|
|
2915
3204
|
* settles; sp.pipeline: (count, s1..sn) → the callback pipeline's
|
|
2916
3205
|
* chaining/destroyer semantics settling a void promise (fulfilled on a
|
|
2917
3206
|
* clean finish, rejected with the finish status otherwise). */
|
|
2918
3207
|
"sp.finished": { argTypes: [null], result: { kind: "promise", inner: VOID } },
|
|
3208
|
+
/** The options forms: finished(s, { readable, writable, error, cleanup,
|
|
3209
|
+
* signal }) as [s, readable, writable, error, cleanup, signal?] —
|
|
3210
|
+
* readable/writable -1 (absent), 0 or 1 — and pipeline(...streams,
|
|
3211
|
+
* { signal, end }) as [count, s1..sn, end, signal?]. The Signal forms
|
|
3212
|
+
* link the event-target unit (addAbortListener). The callback form
|
|
3213
|
+
* stream.finishedOpts: [s, readable, writable, error, signal?, cb] →
|
|
3214
|
+
* the cleanup closure. */
|
|
3215
|
+
"sp.finishedOpts": {
|
|
3216
|
+
argTypes: [null, F64, F64, BOOL, BOOL],
|
|
3217
|
+
result: { kind: "promise", inner: VOID },
|
|
3218
|
+
},
|
|
3219
|
+
"sp.finishedOptsSignal": {
|
|
3220
|
+
argTypes: [null, F64, F64, BOOL, BOOL, DYN],
|
|
3221
|
+
result: { kind: "promise", inner: VOID },
|
|
3222
|
+
},
|
|
3223
|
+
"sp.pipelineOpts": { argTypes: [F64], result: { kind: "promise", inner: VOID } },
|
|
3224
|
+
"sp.pipelineOptsSignal": { argTypes: [F64], result: { kind: "promise", inner: VOID } },
|
|
3225
|
+
"stream.finishedOpts": { argTypes: [null, F64, F64, BOOL, null], result: VOID },
|
|
3226
|
+
"stream.finishedOptsSignal": { argTypes: [null, F64, F64, BOOL, DYN, null], result: VOID },
|
|
2919
3227
|
"sp.pipeline": { argTypes: [F64], result: { kind: "promise", inner: VOID } },
|
|
3228
|
+
/** pipeline with a run of function stages: [n, at, k, flags, mask,
|
|
3229
|
+
* s1..sn, stage1..stagek, (next, read, return)?, box?, (signal,
|
|
3230
|
+
* abort)?] (+ the callback for the stream.* forms): the user's stage
|
|
3231
|
+
* functions, the frontend's helpers over the pumped generator or a
|
|
3232
|
+
* promise destination's box, and the pipeline's AbortSignal with its
|
|
3233
|
+
* abort closure; flags names which groups are present
|
|
3234
|
+
* (scr_stream_pipeline_stages). A promise destination's promise type is
|
|
3235
|
+
* sp.pipelineStages' result. */
|
|
3236
|
+
"sp.pipelineStages": {
|
|
3237
|
+
argTypes: [F64, F64, F64, F64, F64],
|
|
3238
|
+
result: { kind: "promise", inner: VOID },
|
|
3239
|
+
},
|
|
2920
3240
|
/** node:stream/consumers — the promise consumers over the readable
|
|
2921
3241
|
* machinery: (s) → a pending promise settled at the terminal point
|
|
2922
3242
|
* with the accumulated result (sc.text: the utf8 decode, sc.json: the
|
|
@@ -2973,11 +3293,40 @@ export const LIB_FN_SIGS = defineLibFnSignatures({
|
|
|
2973
3293
|
* +1 promise of the next chunk — buffered content, the EOF sentinel
|
|
2974
3294
|
* (empty Buffer / dyn undefined), or a rejection with the stream's
|
|
2975
3295
|
* error. The Dyn twin boxes chunks by runtime tag (the JS lane).
|
|
2976
|
-
* readable.fromArr is Readable.from
|
|
2977
|
-
*
|
|
3296
|
+
* readable.fromArr is Readable.from over a typed array, string or
|
|
3297
|
+
* Buffer: [array, SCR_FROM_* flags, highWaterMark]. readable.fromDyn is
|
|
3298
|
+
* the JS lane's [source, options]. */
|
|
2978
3299
|
"readable.nextChunk": { argTypes: [null], result: VOID },
|
|
2979
3300
|
"readable.nextChunkDyn": { argTypes: [null], result: VOID },
|
|
2980
|
-
"readable.fromArr": { argTypes: [null,
|
|
3301
|
+
"readable.fromArr": { argTypes: [null, F64, F64], result: VOID },
|
|
3302
|
+
"readable.fromDyn": { argTypes: [DYN, DYN], result: VOID },
|
|
3303
|
+
/** Readable.from over a compiled generator: [generator, next, return,
|
|
3304
|
+
* throw, flags, highWaterMark] (sync) or [generator, next, read,
|
|
3305
|
+
* return, throw, flags, highWaterMark] (async), the helpers being the
|
|
3306
|
+
* frontend's interned closures. readable.fromDone is the done marker
|
|
3307
|
+
* the helpers answer. */
|
|
3308
|
+
"readable.fromGen": { argTypes: [null, null, null, null, F64, F64], result: VOID },
|
|
3309
|
+
"readable.fromAsyncGen": { argTypes: [null, null, null, null, null, F64, F64], result: VOID },
|
|
3310
|
+
"readable.fromDone": { argTypes: [], result: DYN },
|
|
3311
|
+
/** The Readable operators (scr_stream_ops.c): [stream, ...] with every
|
|
3312
|
+
* other argument a checked-dynamic value (the callback, the count, the
|
|
3313
|
+
* options). map/filter/flatMap/drop/take answer the object-mode output
|
|
3314
|
+
* stream (validated as a stream class; THROW Node's validation errors);
|
|
3315
|
+
* toArray settles a dyn array, find a dyn value, some/every a boolean,
|
|
3316
|
+
* forEach nothing; reduce: [stream, fn, init, hasInit, options, kind]
|
|
3317
|
+
* with the payload kind (0 dyn, 1 number, 2 boolean, 3 string). The
|
|
3318
|
+
* promise-returning ones reject instead of throwing. */
|
|
3319
|
+
"readable.opMap": { argTypes: [null, DYN, DYN], result: VOID },
|
|
3320
|
+
"readable.opFilter": { argTypes: [null, DYN, DYN], result: VOID },
|
|
3321
|
+
"readable.opFlatMap": { argTypes: [null, DYN, DYN], result: VOID },
|
|
3322
|
+
"readable.opDrop": { argTypes: [null, DYN, DYN], result: VOID },
|
|
3323
|
+
"readable.opTake": { argTypes: [null, DYN, DYN], result: VOID },
|
|
3324
|
+
"readable.opToArray": { argTypes: [null, DYN], result: { kind: "promise", inner: DYN } },
|
|
3325
|
+
"readable.opForEach": { argTypes: [null, DYN, DYN], result: { kind: "promise", inner: VOID } },
|
|
3326
|
+
"readable.opSome": { argTypes: [null, DYN, DYN], result: { kind: "promise", inner: BOOL } },
|
|
3327
|
+
"readable.opEvery": { argTypes: [null, DYN, DYN], result: { kind: "promise", inner: BOOL } },
|
|
3328
|
+
"readable.opFind": { argTypes: [null, DYN, DYN], result: { kind: "promise", inner: DYN } },
|
|
3329
|
+
"readable.opReduce": { argTypes: [null, DYN, DYN, BOOL, DYN, F64], result: VOID },
|
|
2981
3330
|
"readable.resume": { argTypes: [null], result: VOID },
|
|
2982
3331
|
"readable.isPaused": { argTypes: [null], result: BOOL },
|
|
2983
3332
|
"readable.pipe": { argTypes: [null, null, BOOL], result: VOID },
|
|
@@ -3051,7 +3400,7 @@ export const LIB_FN_SIGS = defineLibFnSignatures({
|
|
|
3051
3400
|
* the rendering enumerable) or the custom message.
|
|
3052
3401
|
* assert.throwsRegex: (regex, error, msg, hasMsg) — the
|
|
3053
3402
|
* assert.throws(fn, /re/) check over String(error), Node's
|
|
3054
|
-
* regex-mismatch message. assert.regexErrTest: doesNotReject's
|
|
3403
|
+
* regex-mismatch message. assert.regexErrTest: doesNotReject's
|
|
3055
3404
|
* regex predicate over String(error) (never throws).
|
|
3056
3405
|
* assert.unwantedRejection: (error, msg, hasMsg) — doesNotReject's
|
|
3057
3406
|
* "Got unwanted rejection" throw.
|
|
@@ -3060,12 +3409,22 @@ export const LIB_FN_SIGS = defineLibFnSignatures({
|
|
|
3060
3409
|
* the value's inspection) — the frontend routes null/undefined to a
|
|
3061
3410
|
* no-op and everything else here (Node throws for falsy values too).
|
|
3062
3411
|
* All arguments are borrowed. */
|
|
3063
|
-
"assert.ok": { argTypes: [BOOL, STRING], result: VOID },
|
|
3412
|
+
"assert.ok": { argTypes: [BOOL, STRING, BOOL], result: VOID },
|
|
3413
|
+
/** The next AssertionError's actual, expected and operator, recorded on
|
|
3414
|
+
* a failure branch. */
|
|
3415
|
+
"assert.record": { argTypes: [DYN, DYN, STRING], result: VOID },
|
|
3416
|
+
"assert.errorNew": { argTypes: [DYN], result: { kind: "object", className: "%AssertionError" } },
|
|
3064
3417
|
"assert.eqF64": { argTypes: [F64, F64, BOOL, BOOL, STRING, BOOL], result: VOID },
|
|
3065
3418
|
"assert.eqBigInt": { argTypes: [BIGINT_T, BIGINT_T, BOOL, BOOL, STRING, BOOL], result: VOID },
|
|
3066
3419
|
"assert.eqStr": { argTypes: [STRING, STRING, BOOL, BOOL, STRING, BOOL], result: VOID },
|
|
3067
3420
|
"assert.eqBool": { argTypes: [BOOL, BOOL, BOOL, BOOL, STRING, BOOL], result: VOID },
|
|
3068
3421
|
"assert.deepResult": { argTypes: [BOOL, BOOL, STRING, BOOL], result: VOID },
|
|
3422
|
+
"assert.looseDeepResult": { argTypes: [BOOL, BOOL, STRING, BOOL], result: VOID },
|
|
3423
|
+
"assert.looseDeepDyn": { argTypes: [DYN, DYN, BOOL, STRING, BOOL], result: VOID },
|
|
3424
|
+
"assert.partialDeepDyn": { argTypes: [DYN, DYN, STRING, BOOL], result: VOID },
|
|
3425
|
+
"assert.partialDeepResult": { argTypes: [BOOL, BOOL, STRING, BOOL], result: VOID },
|
|
3426
|
+
"assert.partialEqDyn": { argTypes: [DYN, DYN], result: BOOL },
|
|
3427
|
+
"assert.looseF64Eq": { argTypes: [F64, F64], result: BOOL },
|
|
3069
3428
|
"assert.sameValue": { argTypes: [F64, F64], result: BOOL },
|
|
3070
3429
|
// The deep-equality pair memo: both slots are program-dependent
|
|
3071
3430
|
// (any cycle-capable record/array/map type).
|
|
@@ -3077,11 +3436,11 @@ export const LIB_FN_SIGS = defineLibFnSignatures({
|
|
|
3077
3436
|
"assert.match": { argTypes: [STRING, REGEX, BOOL, STRING, BOOL], result: VOID },
|
|
3078
3437
|
"assert.throwsNone": { argTypes: [BOOL, STRING, BOOL, STRING, BOOL], result: VOID },
|
|
3079
3438
|
"assert.throwsMismatch": {
|
|
3080
|
-
argTypes: [STRING, { kind: "object", className: "%Error" }, STRING, BOOL],
|
|
3439
|
+
argTypes: [STRING, { kind: "object", className: "%Error" }, STRING, BOOL, BOOL],
|
|
3081
3440
|
result: VOID,
|
|
3082
3441
|
},
|
|
3083
3442
|
"assert.throwsRegex": {
|
|
3084
|
-
argTypes: [REGEX, { kind: "object", className: "%Error" }, STRING, BOOL],
|
|
3443
|
+
argTypes: [REGEX, { kind: "object", className: "%Error" }, STRING, BOOL, BOOL],
|
|
3085
3444
|
result: VOID,
|
|
3086
3445
|
},
|
|
3087
3446
|
// Symbol strict equality (pointer identity; scr_symbol.c).
|
|
@@ -3099,7 +3458,7 @@ export const LIB_FN_SIGS = defineLibFnSignatures({
|
|
|
3099
3458
|
"assert.shapeBegin": { argTypes: [{ kind: "object", className: "%Error" }], result: VOID },
|
|
3100
3459
|
"assert.shapeStr": { argTypes: [F64, STRING], result: VOID },
|
|
3101
3460
|
"assert.shapeRe": { argTypes: [F64, REGEX], result: VOID },
|
|
3102
|
-
"assert.shapeEnd": { argTypes: [STRING, BOOL], result: VOID },
|
|
3461
|
+
"assert.shapeEnd": { argTypes: [STRING, BOOL, BOOL], result: VOID },
|
|
3103
3462
|
"assert.regexErrTest": {
|
|
3104
3463
|
argTypes: [REGEX, { kind: "object", className: "%Error" }],
|
|
3105
3464
|
result: BOOL,
|
|
@@ -3131,12 +3490,14 @@ export const LIB_FN_SIGS = defineLibFnSignatures({
|
|
|
3131
3490
|
"assert.refEqBytes": { argTypes: [null, null, BOOL, BOOL, STRING, BOOL], result: VOID },
|
|
3132
3491
|
"assert.refEqFn": { argTypes: [null, null, BOOL, STRING, BOOL], result: VOID },
|
|
3133
3492
|
"assert.bytesDeepEq": { argTypes: [null, null, BOOL], result: BOOL },
|
|
3493
|
+
"assert.looseBytesEq": { argTypes: [null, null], result: BOOL },
|
|
3134
3494
|
// util.inspect: the error receiver is program-dependent (a builtin or
|
|
3135
3495
|
// user error class — the error.toString precedent, null slot).
|
|
3136
3496
|
"insp.f64": { argTypes: [F64], result: STRING },
|
|
3137
3497
|
/** util.format %j over a checked-dynamic argument: the runtime dyn
|
|
3138
3498
|
* walk (JS-exact stringify; root undefined/function prints
|
|
3139
|
-
* "undefined"; a handle in the tree throws the
|
|
3499
|
+
* "undefined"; a handle in the tree throws the "not supported yet"
|
|
3500
|
+
* Error). */
|
|
3140
3501
|
"insp.jsonDyn": { argTypes: [DYN], result: STRING },
|
|
3141
3502
|
"insp.str": { argTypes: [STRING], result: STRING },
|
|
3142
3503
|
"insp.regex": { argTypes: [REGEX], result: STRING },
|
|
@@ -3160,6 +3521,12 @@ export const LIB_FN_SIGS = defineLibFnSignatures({
|
|
|
3160
3521
|
"insp.key": { argTypes: [STRING], result: STRING },
|
|
3161
3522
|
"insp.moreItems": { argTypes: [F64], result: STRING },
|
|
3162
3523
|
"insp.end": { argTypes: [STRING, STRING, STRING, F64, BOOL, BOOL], result: STRING },
|
|
3524
|
+
/** A nested inspect inside a custom rendering (PerformanceEntry's
|
|
3525
|
+
* `${name} ${inspect(toJSON)}`): nestedBegin starts a fresh inspect
|
|
3526
|
+
* context, nestedEnd(prefix, inner) restores the caller's and answers
|
|
3527
|
+
* `prefix inner` re-indented at the caller's level (+1). */
|
|
3528
|
+
"insp.nestedBegin": { argTypes: [], result: VOID },
|
|
3529
|
+
"insp.nestedEnd": { argTypes: [STRING, STRING], result: STRING },
|
|
3163
3530
|
/** node:string_decoder's utf8 StringDecoder (scr_string.c): the decoder
|
|
3164
3531
|
* value is a one-field record whose f64 PACKS the pending partial
|
|
3165
3532
|
* sequence (count + up to 3 raw bytes — Node buffers at most 3 for
|
|
@@ -3173,27 +3540,46 @@ export const LIB_FN_SIGS = defineLibFnSignatures({
|
|
|
3173
3540
|
"strdec.next": { argTypes: [STRING, F64, BYTES_U8], result: F64 },
|
|
3174
3541
|
"strdec.end": { argTypes: [STRING, F64], result: STRING },
|
|
3175
3542
|
// node:readline: the interface handle is f64; the callbacks' func types
|
|
3176
|
-
// are program-dependent (
|
|
3177
|
-
//
|
|
3178
|
-
/** node:readline
|
|
3179
|
-
* the events gate — these fns imply moduleUsesProcessEvents
|
|
3180
|
-
*
|
|
3181
|
-
*
|
|
3182
|
-
*
|
|
3183
|
-
*
|
|
3184
|
-
*
|
|
3185
|
-
*
|
|
3186
|
-
*
|
|
3187
|
-
*
|
|
3188
|
-
* interface (may-throw).
|
|
3189
|
-
*
|
|
3190
|
-
*
|
|
3191
|
-
*
|
|
3192
|
-
*
|
|
3193
|
-
|
|
3543
|
+
// are program-dependent (the emitter picks the adapter by parameter
|
|
3544
|
+
// count), so those slots are null like child.onExit's.
|
|
3545
|
+
/** node:readline and node:readline/promises (scr_readline.c, linked
|
|
3546
|
+
* under the events gate — these fns imply moduleUsesProcessEvents; a
|
|
3547
|
+
* stream input or output adds scr_stream.c's bridge). The interface
|
|
3548
|
+
* value is an f64 handle (the Timeout-id precedent); an open interface
|
|
3549
|
+
* on stdin keeps the loop alive until close/EOF.
|
|
3550
|
+
* rl.create: [mode, input?, output?, crlfDelay, prompt?] → f64, mode
|
|
3551
|
+
* bits 1 stream input, 2 stream output, 4 stdout output, 16 prompt
|
|
3552
|
+
* (lowerReadlineCreateCall); rl.createSignal: the same plus the
|
|
3553
|
+
* trailing AbortSignal (mode bit 8), which links the event-target unit
|
|
3554
|
+
* for addAbortListener. rl.question: [handle, query, cb] — the callback
|
|
3555
|
+
* form; THROWS ERR_USE_AFTER_CLOSE on a closed interface (may-throw).
|
|
3556
|
+
* rl.questionAsync(Signal): [handle, query, signal?] → promise<string>,
|
|
3557
|
+
* rejecting instead of throwing. rl.close/pause/resume/prompt:
|
|
3558
|
+
* [handle] (pause/resume/prompt throw ERR_USE_AFTER_CLOSE when
|
|
3559
|
+
* closed); rl.setPrompt/getPrompt; rl.write: [handle, data] (throws
|
|
3560
|
+
* when closed). rl.on: [handle, event, cb, once] — the event number
|
|
3561
|
+
* (0 'line', 1 'close', 2 'pause', 3 'resume', 4 'error') and the
|
|
3562
|
+
* listener (moves). rl.iterOpen/iterNext/iterReturn: the async
|
|
3563
|
+
* iterator — iterNext answers promise<dyn> of the line or undefined. */
|
|
3564
|
+
"rl.create": { argTypes: [F64], result: F64 },
|
|
3565
|
+
"rl.createSignal": { argTypes: [F64], result: F64 },
|
|
3194
3566
|
"rl.question": { argTypes: [F64, STRING, null], result: VOID },
|
|
3567
|
+
"rl.questionAsync": { argTypes: [F64, STRING], result: { kind: "promise", inner: STRING } },
|
|
3568
|
+
"rl.questionAsyncSignal": {
|
|
3569
|
+
argTypes: [F64, STRING, DYN],
|
|
3570
|
+
result: { kind: "promise", inner: STRING },
|
|
3571
|
+
},
|
|
3195
3572
|
"rl.close": { argTypes: [F64], result: VOID },
|
|
3196
|
-
"rl.
|
|
3573
|
+
"rl.pause": { argTypes: [F64], result: VOID },
|
|
3574
|
+
"rl.resume": { argTypes: [F64], result: VOID },
|
|
3575
|
+
"rl.prompt": { argTypes: [F64], result: VOID },
|
|
3576
|
+
"rl.setPrompt": { argTypes: [F64, STRING], result: VOID },
|
|
3577
|
+
"rl.getPrompt": { argTypes: [F64], result: STRING },
|
|
3578
|
+
"rl.write": { argTypes: [F64, STRING], result: VOID },
|
|
3579
|
+
"rl.on": { argTypes: [F64, F64, null, BOOL], result: VOID },
|
|
3580
|
+
"rl.iterOpen": { argTypes: [F64], result: VOID },
|
|
3581
|
+
"rl.iterNext": { argTypes: [F64], result: { kind: "promise", inner: DYN } },
|
|
3582
|
+
"rl.iterReturn": { argTypes: [F64], result: VOID },
|
|
3197
3583
|
/** node:timers/promises — the promisified pair (scr_async.c, beside
|
|
3198
3584
|
* the timer heap they ride): tp.setTimeout: [ms] → a pending void
|
|
3199
3585
|
* promise a one-shot heap timer fulfills (the loop's timer phase, FIFO
|
|
@@ -3202,6 +3588,12 @@ export const LIB_FN_SIGS = defineLibFnSignatures({
|
|
|
3202
3588
|
* turns, Node's check phase). Neither throws. */
|
|
3203
3589
|
"tp.setTimeout": { argTypes: [F64], result: { kind: "promise", inner: VOID } },
|
|
3204
3590
|
"tp.setImmediate": { argTypes: [], result: { kind: "promise", inner: VOID } },
|
|
3591
|
+
/** The resolve-value forms: [ms?, value, ref] → a pending promise of the
|
|
3592
|
+
* value's type that copies the borrowed already-resolved `value` promise
|
|
3593
|
+
* when the timer (or immediate) fires; ref false unrefs it. The result
|
|
3594
|
+
* type follows the value promise. */
|
|
3595
|
+
"tp.setTimeoutValue": { argTypes: [F64, null, BOOL], result: VOID },
|
|
3596
|
+
"tp.setImmediateValue": { argTypes: [null, BOOL], result: VOID },
|
|
3205
3597
|
/** node:diagnostics_channel (scr_dc.c, linked when any dc.* appears —
|
|
3206
3598
|
* the zlib gating precedent): a process-global name→channel registry;
|
|
3207
3599
|
* channel values are f64 handles (type-mapper.ts maps Channel to F64, the
|