@scriptc/compiler 0.4.2 → 0.4.3
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 +397 -37
- package/dist/backend/cycle-analysis.d.ts +4 -1
- package/dist/backend/cycle-analysis.js +6 -4
- package/dist/backend/cycle-analysis.js.map +1 -1
- package/dist/backend/cycle-analysis.test.js +55 -0
- package/dist/backend/cycle-analysis.test.js.map +1 -1
- package/dist/backend/cycle-mutability.d.ts +7 -0
- package/dist/backend/cycle-mutability.js +19 -1
- package/dist/backend/cycle-mutability.js.map +1 -1
- package/dist/backend/executable-features.js +2 -0
- package/dist/backend/executable-features.js.map +1 -1
- package/dist/backend/immutability.d.ts +6 -3
- package/dist/backend/immutability.js +33 -29
- package/dist/backend/immutability.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.d.ts +16 -1
- package/dist/backend/llvm/alloc.js +54 -4
- package/dist/backend/llvm/alloc.js.map +1 -1
- package/dist/backend/llvm/appended-array-literals.d.ts +2 -1
- package/dist/backend/llvm/appended-array-literals.js +44 -36
- package/dist/backend/llvm/appended-array-literals.js.map +1 -1
- package/dist/backend/llvm/appended-array-literals.test.js +4 -3
- package/dist/backend/llvm/appended-array-literals.test.js.map +1 -1
- package/dist/backend/llvm/array-search.d.ts +4 -3
- package/dist/backend/llvm/array-search.js +21 -9
- package/dist/backend/llvm/array-search.js.map +1 -1
- package/dist/backend/llvm/blocks.d.ts +1 -1
- package/dist/backend/llvm/blocks.js +2 -2
- package/dist/backend/llvm/blocks.js.map +1 -1
- package/dist/backend/llvm/byte-windows.js +2 -0
- package/dist/backend/llvm/byte-windows.js.map +1 -1
- package/dist/backend/llvm/bytes-alias.d.ts +6 -1
- package/dist/backend/llvm/bytes-alias.js +8 -2
- package/dist/backend/llvm/bytes-alias.js.map +1 -1
- package/dist/backend/llvm/bytes-loop-versions.d.ts +47 -5
- package/dist/backend/llvm/bytes-loop-versions.js +473 -32
- package/dist/backend/llvm/bytes-loop-versions.js.map +1 -1
- package/dist/backend/llvm/bytes-loop-versions.test.js +258 -2
- package/dist/backend/llvm/bytes-loop-versions.test.js.map +1 -1
- package/dist/backend/llvm/checked-value-lifetimes.js +2 -0
- package/dist/backend/llvm/checked-value-lifetimes.js.map +1 -1
- package/dist/backend/llvm/classes.d.ts +7 -5
- package/dist/backend/llvm/classes.js +44 -20
- package/dist/backend/llvm/classes.js.map +1 -1
- package/dist/backend/llvm/classes.test.js +167 -7
- package/dist/backend/llvm/classes.test.js.map +1 -1
- package/dist/backend/llvm/common.d.ts +9 -3
- package/dist/backend/llvm/common.js +9 -3
- package/dist/backend/llvm/common.js.map +1 -1
- package/dist/backend/llvm/constant-callbacks.d.ts +2 -1
- package/dist/backend/llvm/constant-callbacks.js +83 -52
- package/dist/backend/llvm/constant-callbacks.js.map +1 -1
- package/dist/backend/llvm/counted-loops.d.ts +7 -0
- package/dist/backend/llvm/counted-loops.js +18 -0
- package/dist/backend/llvm/counted-loops.js.map +1 -1
- package/dist/backend/llvm/dense-array-access.d.ts +39 -8
- package/dist/backend/llvm/dense-array-access.js +222 -52
- package/dist/backend/llvm/dense-array-access.js.map +1 -1
- package/dist/backend/llvm/dense-array-access.test.js +36 -0
- package/dist/backend/llvm/dense-array-access.test.js.map +1 -1
- package/dist/backend/llvm/dense-array-loops.d.ts +17 -1
- package/dist/backend/llvm/dense-array-loops.js +194 -5
- package/dist/backend/llvm/dense-array-loops.js.map +1 -1
- package/dist/backend/llvm/dense-array-loops.test.js +90 -1
- package/dist/backend/llvm/dense-array-loops.test.js.map +1 -1
- package/dist/backend/llvm/dyn-handle-tags.test.js +6 -1
- package/dist/backend/llvm/dyn-handle-tags.test.js.map +1 -1
- package/dist/backend/llvm/dyn.d.ts +26 -0
- package/dist/backend/llvm/dyn.js +352 -61
- package/dist/backend/llvm/dyn.js.map +1 -1
- package/dist/backend/llvm/emit-function.js +11 -20
- package/dist/backend/llvm/emit-function.js.map +1 -1
- package/dist/backend/llvm/emit-journal.d.ts +93 -0
- package/dist/backend/llvm/emit-journal.js +170 -0
- package/dist/backend/llvm/emit-journal.js.map +1 -0
- package/dist/backend/llvm/emit-module.js +195 -27
- package/dist/backend/llvm/emit-module.js.map +1 -1
- package/dist/backend/llvm/emit-statements.d.ts +0 -4
- package/dist/backend/llvm/emit-statements.js +268 -84
- package/dist/backend/llvm/emit-statements.js.map +1 -1
- package/dist/backend/llvm/emitter-state.d.ts +7 -0
- package/dist/backend/llvm/emitter-state.js +14 -0
- package/dist/backend/llvm/emitter-state.js.map +1 -0
- package/dist/backend/llvm/emitter.d.ts +176 -37
- package/dist/backend/llvm/emitter.js +724 -85
- package/dist/backend/llvm/emitter.js.map +1 -1
- package/dist/backend/llvm/emitter.test.js +54 -5
- package/dist/backend/llvm/emitter.test.js.map +1 -1
- package/dist/backend/llvm/expr-bytes.js +34 -12
- package/dist/backend/llvm/expr-bytes.js.map +1 -1
- package/dist/backend/llvm/expr-callbacks.js +47 -0
- package/dist/backend/llvm/expr-callbacks.js.map +1 -1
- package/dist/backend/llvm/expr-calls.js +28 -14
- package/dist/backend/llvm/expr-calls.js.map +1 -1
- package/dist/backend/llvm/expr-containers.d.ts +14 -2
- package/dist/backend/llvm/expr-containers.js +129 -37
- package/dist/backend/llvm/expr-containers.js.map +1 -1
- package/dist/backend/llvm/expr-context.d.ts +14 -0
- package/dist/backend/llvm/expr-dynamic.js +18 -11
- package/dist/backend/llvm/expr-dynamic.js.map +1 -1
- package/dist/backend/llvm/expr-primitives.js +100 -28
- package/dist/backend/llvm/expr-primitives.js.map +1 -1
- package/dist/backend/llvm/expr-primitives.test.js +11 -6
- package/dist/backend/llvm/expr-primitives.test.js.map +1 -1
- package/dist/backend/llvm/expr-records.d.ts +12 -0
- package/dist/backend/llvm/expr-records.js +106 -0
- package/dist/backend/llvm/expr-records.js.map +1 -1
- package/dist/backend/llvm/expr-stream-bridges.d.ts +2 -2
- package/dist/backend/llvm/expr-stream-bridges.js +194 -65
- package/dist/backend/llvm/expr-stream-bridges.js.map +1 -1
- package/dist/backend/llvm/expr-stream-bridges.test.js +1 -1
- package/dist/backend/llvm/expr-stream-bridges.test.js.map +1 -1
- package/dist/backend/llvm/expr-stream-callbacks.d.ts +2 -2
- package/dist/backend/llvm/expr-stream-callbacks.js +74 -20
- package/dist/backend/llvm/expr-stream-callbacks.js.map +1 -1
- package/dist/backend/llvm/int32-kind-loops.d.ts +39 -0
- package/dist/backend/llvm/int32-kind-loops.js +106 -0
- package/dist/backend/llvm/int32-kind-loops.js.map +1 -0
- package/dist/backend/llvm/integer-or-nan-indexes.test.d.ts +1 -0
- package/dist/backend/llvm/integer-or-nan-indexes.test.js +118 -0
- package/dist/backend/llvm/integer-or-nan-indexes.test.js.map +1 -0
- package/dist/backend/llvm/integer-values.d.ts +20 -1
- package/dist/backend/llvm/integer-values.js +71 -0
- package/dist/backend/llvm/integer-values.js.map +1 -1
- package/dist/backend/llvm/js-ic.d.ts +1 -1
- package/dist/backend/llvm/js-ic.js +1 -1
- package/dist/backend/llvm/js-ic.js.map +1 -1
- package/dist/backend/llvm/key-orders.d.ts +7 -0
- package/dist/backend/llvm/key-orders.js +33 -0
- package/dist/backend/llvm/key-orders.js.map +1 -0
- package/dist/backend/llvm/lib-connect.js +4 -0
- package/dist/backend/llvm/lib-connect.js.map +1 -1
- package/dist/backend/llvm/lib-datagram.js +11 -0
- package/dist/backend/llvm/lib-datagram.js.map +1 -1
- package/dist/backend/llvm/lib-dispatch.js +80 -2
- package/dist/backend/llvm/lib-dispatch.js.map +1 -1
- package/dist/backend/llvm/lib-filesystem.js +4 -4
- package/dist/backend/llvm/lib-filesystem.js.map +1 -1
- package/dist/backend/llvm/lib-http2.js +4 -0
- package/dist/backend/llvm/lib-http2.js.map +1 -1
- package/dist/backend/llvm/lib-lookup.js +16 -6
- package/dist/backend/llvm/lib-lookup.js.map +1 -1
- package/dist/backend/llvm/lib-shared.js +73 -2
- package/dist/backend/llvm/lib-shared.js.map +1 -1
- package/dist/backend/llvm/lib-stream.js +35 -5
- package/dist/backend/llvm/lib-stream.js.map +1 -1
- package/dist/backend/llvm/local-array-reads.js +115 -19
- package/dist/backend/llvm/local-array-reads.js.map +1 -1
- package/dist/backend/llvm/local-array-reads.test.js +14 -0
- package/dist/backend/llvm/local-array-reads.test.js.map +1 -1
- package/dist/backend/llvm/loop-state.d.ts +33 -0
- package/dist/backend/llvm/loop-state.js +42 -0
- package/dist/backend/llvm/loop-state.js.map +1 -0
- package/dist/backend/llvm/map-number-lookup.d.ts +26 -8
- package/dist/backend/llvm/map-number-lookup.js +91 -31
- package/dist/backend/llvm/map-number-lookup.js.map +1 -1
- package/dist/backend/llvm/map-number-lookup.test.js +55 -0
- package/dist/backend/llvm/map-number-lookup.test.js.map +1 -1
- package/dist/backend/llvm/map-read-lifetimes.js +4 -2
- package/dist/backend/llvm/map-read-lifetimes.js.map +1 -1
- package/dist/backend/llvm/nullable-unions.d.ts +2 -1
- package/dist/backend/llvm/nullable-unions.js +15 -3
- package/dist/backend/llvm/nullable-unions.js.map +1 -1
- package/dist/backend/llvm/publish.d.ts +10 -0
- package/dist/backend/llvm/publish.js +12 -0
- package/dist/backend/llvm/publish.js.map +1 -1
- package/dist/backend/llvm/receivers.js +6 -1
- package/dist/backend/llvm/receivers.js.map +1 -1
- package/dist/backend/llvm/record-results.d.ts +1 -9
- package/dist/backend/llvm/record-results.js +2 -11
- package/dist/backend/llvm/record-results.js.map +1 -1
- package/dist/backend/llvm/reference-writes.d.ts +7 -2
- package/dist/backend/llvm/reference-writes.js +89 -72
- package/dist/backend/llvm/reference-writes.js.map +1 -1
- package/dist/backend/llvm/running-extrema.d.ts +11 -0
- package/dist/backend/llvm/running-extrema.js +115 -0
- package/dist/backend/llvm/running-extrema.js.map +1 -0
- package/dist/backend/llvm/running-extrema.test.d.ts +1 -0
- package/dist/backend/llvm/running-extrema.test.js +89 -0
- package/dist/backend/llvm/running-extrema.test.js.map +1 -0
- package/dist/backend/llvm/shapes.d.ts +71 -15
- package/dist/backend/llvm/shapes.js +222 -33
- package/dist/backend/llvm/shapes.js.map +1 -1
- package/dist/backend/llvm/shapes.test.js +53 -7
- package/dist/backend/llvm/shapes.test.js.map +1 -1
- package/dist/backend/llvm/speculative-integers.d.ts +6 -0
- package/dist/backend/llvm/speculative-integers.js +2 -2
- package/dist/backend/llvm/speculative-integers.js.map +1 -1
- package/dist/backend/llvm/stack-objects.d.ts +3 -2
- package/dist/backend/llvm/stack-objects.js +5 -2
- package/dist/backend/llvm/stack-objects.js.map +1 -1
- package/dist/backend/llvm/string-reads.d.ts +12 -0
- package/dist/backend/llvm/string-reads.js +44 -0
- package/dist/backend/llvm/string-reads.js.map +1 -1
- package/dist/backend/llvm/walk-borrows.d.ts +3 -0
- package/dist/backend/llvm/walk-borrows.js +46 -41
- package/dist/backend/llvm/walk-borrows.js.map +1 -1
- package/dist/backend/llvm/walkers.d.ts +3 -0
- package/dist/backend/llvm/walkers.js +88 -65
- package/dist/backend/llvm/walkers.js.map +1 -1
- package/dist/backend/llvm/wrapping-sums.d.ts +16 -1
- package/dist/backend/llvm/wrapping-sums.js +126 -0
- package/dist/backend/llvm/wrapping-sums.js.map +1 -1
- package/dist/backend/may-throw.d.ts +8 -10
- package/dist/backend/may-throw.js +14 -10
- package/dist/backend/may-throw.js.map +1 -1
- package/dist/backend/native/contracts.d.ts +5 -0
- package/dist/backend/native/executable.js +7 -0
- 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 +1 -0
- package/dist/backend/native/runtime-inputs.js.map +1 -1
- package/dist/backend/native-link-info-core.d.ts +4 -0
- package/dist/backend/native-link-info-core.js.map +1 -1
- package/dist/backend/publication.d.ts +12 -1
- package/dist/backend/publication.js +37 -14
- package/dist/backend/publication.js.map +1 -1
- package/dist/backend/publication.test.js +30 -0
- package/dist/backend/publication.test.js.map +1 -1
- package/dist/backend/result-slots.d.ts +16 -0
- package/dist/backend/result-slots.js +23 -0
- package/dist/backend/result-slots.js.map +1 -0
- 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 +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/stack-observations.d.ts +2 -1
- package/dist/backend/stack-observations.js +67 -42
- package/dist/backend/stack-observations.js.map +1 -1
- package/dist/backend/target-diagnostics.js +5 -3
- package/dist/backend/target-diagnostics.js.map +1 -1
- package/dist/backend/warm-cache.js +1 -0
- package/dist/backend/warm-cache.js.map +1 -1
- package/dist/cli/usage.d.ts +1 -1
- package/dist/cli/usage.js +3 -3
- package/dist/compat/fetch-profile.js +1 -1
- package/dist/compat/fetch-profile.js.map +1 -1
- package/dist/contracts/check.js +4 -3
- package/dist/contracts/check.js.map +1 -1
- package/dist/contracts/int32-elements.js +10 -2
- package/dist/contracts/int32-elements.js.map +1 -1
- package/dist/coverage/report.js +12 -3
- package/dist/coverage/report.js.map +1 -1
- package/dist/diagnostics/diagnostic.d.ts +4 -0
- package/dist/diagnostics/diagnostic.js.map +1 -1
- package/dist/diagnostics/envelope.d.ts +3 -0
- package/dist/diagnostics/envelope.js +1 -0
- package/dist/diagnostics/envelope.js.map +1 -1
- package/dist/executable/executable-cache.d.ts +2 -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/decl-projection.d.ts +41 -0
- package/dist/frontend/decl-projection.js +854 -0
- package/dist/frontend/decl-projection.js.map +1 -0
- package/dist/frontend/decl-projection.test.d.ts +1 -0
- package/dist/frontend/decl-projection.test.js +30 -0
- package/dist/frontend/decl-projection.test.js.map +1 -0
- package/dist/frontend/dts-paths.d.ts +15 -0
- package/dist/frontend/dts-paths.js +25 -0
- package/dist/frontend/dts-paths.js.map +1 -1
- package/dist/frontend/input-tracker.d.ts +6 -0
- package/dist/frontend/input-tracker.js +51 -28
- package/dist/frontend/input-tracker.js.map +1 -1
- package/dist/frontend/input-tracker.test.js +19 -0
- package/dist/frontend/input-tracker.test.js.map +1 -1
- package/dist/frontend/lowering/array-values.js +100 -2
- package/dist/frontend/lowering/array-values.js.map +1 -1
- package/dist/frontend/lowering/builtins/child-process-methods.js +46 -15
- package/dist/frontend/lowering/builtins/child-process-methods.js.map +1 -1
- package/dist/frontend/lowering/builtins/child-process.js +13 -2
- package/dist/frontend/lowering/builtins/child-process.js.map +1 -1
- package/dist/frontend/lowering/builtins/crypto.js +84 -9
- package/dist/frontend/lowering/builtins/crypto.js.map +1 -1
- package/dist/frontend/lowering/builtins/global-namespace-keys.d.ts +3 -0
- package/dist/frontend/lowering/builtins/global-namespace-keys.js +122 -0
- package/dist/frontend/lowering/builtins/global-namespace-keys.js.map +1 -0
- package/dist/frontend/lowering/builtins/numbers.js +9 -1
- package/dist/frontend/lowering/builtins/numbers.js.map +1 -1
- package/dist/frontend/lowering/builtins/promises.d.ts +6 -0
- package/dist/frontend/lowering/builtins/promises.js +88 -2
- package/dist/frontend/lowering/builtins/promises.js.map +1 -1
- package/dist/frontend/lowering/builtins/readline.d.ts +5 -1
- package/dist/frontend/lowering/builtins/readline.js +35 -3
- package/dist/frontend/lowering/builtins/readline.js.map +1 -1
- package/dist/frontend/lowering/builtins/url.js +24 -1
- package/dist/frontend/lowering/builtins/url.js.map +1 -1
- package/dist/frontend/lowering/builtins/webassembly.js +6 -3
- package/dist/frontend/lowering/builtins/webassembly.js.map +1 -1
- package/dist/frontend/lowering/class-callbacks.d.ts +5 -2
- package/dist/frontend/lowering/class-callbacks.js +82 -12
- package/dist/frontend/lowering/class-callbacks.js.map +1 -1
- package/dist/frontend/lowering/class-construction.d.ts +4 -1
- package/dist/frontend/lowering/class-construction.js +17 -3
- package/dist/frontend/lowering/class-construction.js.map +1 -1
- package/dist/frontend/lowering/class-dynamic-dispatch.d.ts +39 -2
- package/dist/frontend/lowering/class-dynamic-dispatch.js +766 -108
- package/dist/frontend/lowering/class-dynamic-dispatch.js.map +1 -1
- package/dist/frontend/lowering/class-dynamic-dispatch.test.js +47 -0
- package/dist/frontend/lowering/class-dynamic-dispatch.test.js.map +1 -1
- package/dist/frontend/lowering/class-iterables.d.ts +2 -1
- package/dist/frontend/lowering/class-iterables.js +9 -1
- package/dist/frontend/lowering/class-iterables.js.map +1 -1
- package/dist/frontend/lowering/class-method-mutations.js +32 -9
- package/dist/frontend/lowering/class-method-mutations.js.map +1 -1
- package/dist/frontend/lowering/class-prototypes.js +31 -2
- package/dist/frontend/lowering/class-prototypes.js.map +1 -1
- package/dist/frontend/lowering/class-runtime-statics.d.ts +9 -3
- package/dist/frontend/lowering/class-runtime-statics.js +29 -4
- package/dist/frontend/lowering/class-runtime-statics.js.map +1 -1
- package/dist/frontend/lowering/coercions/structural-plans.js +48 -1
- package/dist/frontend/lowering/coercions/structural-plans.js.map +1 -1
- package/dist/frontend/lowering/coercions/structural.js +91 -1
- package/dist/frontend/lowering/coercions/structural.js.map +1 -1
- package/dist/frontend/lowering/containers/array-callback-call.js +2 -2
- package/dist/frontend/lowering/containers/array-callback-call.js.map +1 -1
- package/dist/frontend/lowering/containers/array-callbacks.js +338 -18
- package/dist/frontend/lowering/containers/array-callbacks.js.map +1 -1
- package/dist/frontend/lowering/containers/array-concat.js +10 -0
- package/dist/frontend/lowering/containers/array-concat.js.map +1 -1
- package/dist/frontend/lowering/containers/array-methods.js +15 -0
- package/dist/frontend/lowering/containers/array-methods.js.map +1 -1
- package/dist/frontend/lowering/containers/array-pipelines.js +19 -8
- package/dist/frontend/lowering/containers/array-pipelines.js.map +1 -1
- package/dist/frontend/lowering/containers/bytes.js +2 -1
- package/dist/frontend/lowering/containers/bytes.js.map +1 -1
- package/dist/frontend/lowering/containers/callback-arguments.js +3 -0
- package/dist/frontend/lowering/containers/callback-arguments.js.map +1 -1
- package/dist/frontend/lowering/containers/collection-methods.js +7 -2
- package/dist/frontend/lowering/containers/collection-methods.js.map +1 -1
- package/dist/frontend/lowering/containers/filter-predicates.d.ts +6 -0
- package/dist/frontend/lowering/containers/filter-predicates.js +205 -0
- package/dist/frontend/lowering/containers/filter-predicates.js.map +1 -0
- package/dist/frontend/lowering/containers/indexed-objects.d.ts +0 -12
- package/dist/frontend/lowering/containers/indexed-objects.js +46 -7
- package/dist/frontend/lowering/containers/indexed-objects.js.map +1 -1
- package/dist/frontend/lowering/containers/string-and-regexp.js +55 -9
- package/dist/frontend/lowering/containers/string-and-regexp.js.map +1 -1
- package/dist/frontend/lowering/containers/string-replacement.js +43 -19
- package/dist/frontend/lowering/containers/string-replacement.js.map +1 -1
- package/dist/frontend/lowering/dispatch-sites.js +15 -1
- package/dist/frontend/lowering/dispatch-sites.js.map +1 -1
- package/dist/frontend/lowering/divergences.js +9 -1
- package/dist/frontend/lowering/divergences.js.map +1 -1
- package/dist/frontend/lowering/error-methods.js +47 -2
- package/dist/frontend/lowering/error-methods.js.map +1 -1
- package/dist/frontend/lowering/expressions/array-literals.js +47 -0
- package/dist/frontend/lowering/expressions/array-literals.js.map +1 -1
- package/dist/frontend/lowering/expressions/binary.js +36 -2
- package/dist/frontend/lowering/expressions/binary.js.map +1 -1
- package/dist/frontend/lowering/expressions/element-access.js +90 -13
- package/dist/frontend/lowering/expressions/element-access.js.map +1 -1
- package/dist/frontend/lowering/expressions/identifiers.js +33 -4
- package/dist/frontend/lowering/expressions/identifiers.js.map +1 -1
- package/dist/frontend/lowering/expressions/narrowing.js +95 -1
- package/dist/frontend/lowering/expressions/narrowing.js.map +1 -1
- package/dist/frontend/lowering/expressions/nullish-assignment.js +3 -1
- package/dist/frontend/lowering/expressions/nullish-assignment.js.map +1 -1
- package/dist/frontend/lowering/expressions/object-literals.d.ts +10 -0
- package/dist/frontend/lowering/expressions/object-literals.js +138 -51
- package/dist/frontend/lowering/expressions/object-literals.js.map +1 -1
- package/dist/frontend/lowering/expressions/optional-chains.js +12 -0
- package/dist/frontend/lowering/expressions/optional-chains.js.map +1 -1
- package/dist/frontend/lowering/expressions/property-access.js +113 -11
- package/dist/frontend/lowering/expressions/property-access.js.map +1 -1
- package/dist/frontend/lowering/expressions/relational.js +212 -33
- package/dist/frontend/lowering/expressions/relational.js.map +1 -1
- package/dist/frontend/lowering/expressions/union-fields.js +4 -0
- package/dist/frontend/lowering/expressions/union-fields.js.map +1 -1
- package/dist/frontend/lowering/expressions/updates.js +22 -3
- package/dist/frontend/lowering/expressions/updates.js.map +1 -1
- package/dist/frontend/lowering/frozen-records.d.ts +28 -0
- package/dist/frontend/lowering/frozen-records.js +322 -0
- package/dist/frontend/lowering/frozen-records.js.map +1 -0
- package/dist/frontend/lowering/function-returns.js +49 -0
- package/dist/frontend/lowering/function-returns.js.map +1 -1
- package/dist/frontend/lowering/generic-functions.js +7 -2
- package/dist/frontend/lowering/generic-functions.js.map +1 -1
- package/dist/frontend/lowering/iterable-values.d.ts +49 -0
- package/dist/frontend/lowering/iterable-values.js +297 -0
- package/dist/frontend/lowering/iterable-values.js.map +1 -0
- package/dist/frontend/lowering/iterator-adapters.js +186 -1
- package/dist/frontend/lowering/iterator-adapters.js.map +1 -1
- package/dist/frontend/lowering/js-class-fields.d.ts +8 -0
- package/dist/frontend/lowering/js-class-fields.js +45 -10
- package/dist/frontend/lowering/js-class-fields.js.map +1 -1
- package/dist/frontend/lowering/key-order-witness.d.ts +18 -3
- package/dist/frontend/lowering/key-order-witness.js +770 -22
- package/dist/frontend/lowering/key-order-witness.js.map +1 -1
- package/dist/frontend/lowering/key-order-witness.test.js +428 -8
- package/dist/frontend/lowering/key-order-witness.test.js.map +1 -1
- package/dist/frontend/lowering/lower-async-iteration.js +4 -1
- package/dist/frontend/lowering/lower-async-iteration.js.map +1 -1
- package/dist/frontend/lowering/lower-calls.d.ts +7 -0
- package/dist/frontend/lowering/lower-calls.js +443 -41
- 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 +302 -22
- package/dist/frontend/lowering/lower-classes.js.map +1 -1
- package/dist/frontend/lowering/lower-dgram.js +3 -1
- package/dist/frontend/lowering/lower-dgram.js.map +1 -1
- package/dist/frontend/lowering/lower-exprs.js +10 -2
- package/dist/frontend/lowering/lower-exprs.js.map +1 -1
- package/dist/frontend/lowering/lower-functions.d.ts +11 -0
- package/dist/frontend/lowering/lower-functions.js +83 -0
- package/dist/frontend/lowering/lower-functions.js.map +1 -1
- package/dist/frontend/lowering/lower-generators.js +41 -31
- package/dist/frontend/lowering/lower-generators.js.map +1 -1
- package/dist/frontend/lowering/lower-global-value.js +6 -3
- package/dist/frontend/lowering/lower-global-value.js.map +1 -1
- package/dist/frontend/lowering/lower-inspect.js +18 -6
- package/dist/frontend/lowering/lower-inspect.js.map +1 -1
- package/dist/frontend/lowering/lower-modules.js +32 -0
- package/dist/frontend/lowering/lower-modules.js.map +1 -1
- package/dist/frontend/lowering/lower-namespaces.js +5 -1
- package/dist/frontend/lowering/lower-namespaces.js.map +1 -1
- package/dist/frontend/lowering/lower-server.js +2 -2
- package/dist/frontend/lowering/lower-server.js.map +1 -1
- package/dist/frontend/lowering/lower-stdlib.d.ts +5 -0
- package/dist/frontend/lowering/lower-stdlib.js +30 -0
- package/dist/frontend/lowering/lower-stdlib.js.map +1 -1
- package/dist/frontend/lowering/lower-stmts.d.ts +23 -0
- package/dist/frontend/lowering/lower-stmts.js +454 -48
- package/dist/frontend/lowering/lower-stmts.js.map +1 -1
- package/dist/frontend/lowering/lower-stream.d.ts +20 -2
- package/dist/frontend/lowering/lower-stream.js +1483 -156
- package/dist/frontend/lowering/lower-stream.js.map +1 -1
- package/dist/frontend/lowering/lowerer.d.ts +77 -6
- package/dist/frontend/lowering/lowerer.js +313 -29
- package/dist/frontend/lowering/lowerer.js.map +1 -1
- package/dist/frontend/lowering/module-namespace-elements.d.ts +11 -1
- package/dist/frontend/lowering/module-namespace-elements.js +82 -5
- package/dist/frontend/lowering/module-namespace-elements.js.map +1 -1
- package/dist/frontend/lowering/new-target.d.ts +12 -0
- package/dist/frontend/lowering/new-target.js +280 -0
- package/dist/frontend/lowering/new-target.js.map +1 -0
- package/dist/frontend/lowering/surfaces.d.ts +3 -0
- package/dist/frontend/lowering/surfaces.js +18 -6
- package/dist/frontend/lowering/surfaces.js.map +1 -1
- package/dist/frontend/lowering/undefined-index.d.ts +27 -0
- package/dist/frontend/lowering/undefined-index.js +82 -0
- package/dist/frontend/lowering/undefined-index.js.map +1 -0
- package/dist/frontend/lowering/var-hoisting.js +29 -13
- package/dist/frontend/lowering/var-hoisting.js.map +1 -1
- package/dist/frontend/lowering/width-lift.d.ts +18 -0
- package/dist/frontend/npm-static-bundled-chunks.js +9 -11
- package/dist/frontend/npm-static-bundled-chunks.js.map +1 -1
- package/dist/frontend/npm-static-bundled-chunks.test.js +6 -5
- package/dist/frontend/npm-static-bundled-chunks.test.js.map +1 -1
- package/dist/frontend/npm-static-rewrite-syntax.js +9 -1
- package/dist/frontend/npm-static-rewrite-syntax.js.map +1 -1
- package/dist/frontend/npm-static.js +4 -20
- package/dist/frontend/npm-static.js.map +1 -1
- package/dist/frontend/package-shims.d.ts +3 -0
- package/dist/frontend/package-shims.js +71 -8
- package/dist/frontend/package-shims.js.map +1 -1
- package/dist/frontend/pipeline.js +18 -10
- package/dist/frontend/pipeline.js.map +1 -1
- package/dist/frontend/process-fork.d.ts +25 -0
- package/dist/frontend/process-fork.js +2 -0
- package/dist/frontend/process-fork.js.map +1 -0
- package/dist/frontend/program.d.ts +8 -1
- package/dist/frontend/program.js +484 -69
- package/dist/frontend/program.js.map +1 -1
- package/dist/frontend/program.test.js +43 -3
- package/dist/frontend/program.test.js.map +1 -1
- package/dist/frontend/token-equivalence.d.ts +3 -0
- package/dist/frontend/token-equivalence.js +409 -0
- package/dist/frontend/token-equivalence.js.map +1 -0
- package/dist/frontend/token-equivalence.test.d.ts +1 -0
- package/dist/frontend/token-equivalence.test.js +67 -0
- package/dist/frontend/token-equivalence.test.js.map +1 -0
- package/dist/frontend/ts7/ast-node.d.ts +22 -0
- package/dist/frontend/ts7/ast-node.js +1048 -103
- package/dist/frontend/ts7/ast-node.js.map +1 -1
- package/dist/frontend/ts7/ast-node.test.js +24 -0
- package/dist/frontend/ts7/ast-node.test.js.map +1 -1
- package/dist/frontend/ts7/ast-wire.d.ts +4 -3
- package/dist/frontend/ts7/ast-wire.js +34 -24
- package/dist/frontend/ts7/ast-wire.js.map +1 -1
- package/dist/frontend/ts7/ast-wire.test.js +23 -0
- package/dist/frontend/ts7/ast-wire.test.js.map +1 -1
- package/dist/frontend/ts7/checker-backend.d.ts +3 -4
- package/dist/frontend/ts7/checker-backend.js +2 -2
- package/dist/frontend/ts7/checker-backend.js.map +1 -1
- package/dist/frontend/ts7/checker-backend.test.js +5 -9
- package/dist/frontend/ts7/checker-backend.test.js.map +1 -1
- package/dist/frontend/ts7/checker.d.ts +4 -0
- package/dist/frontend/ts7/checker.js +7 -0
- package/dist/frontend/ts7/checker.js.map +1 -1
- package/dist/frontend/ts7/lib-diagnostics.d.ts +24 -0
- package/dist/frontend/ts7/lib-diagnostics.js +307 -0
- package/dist/frontend/ts7/lib-diagnostics.js.map +1 -0
- package/dist/frontend/ts7/lib-diagnostics.test.d.ts +1 -0
- package/dist/frontend/ts7/lib-diagnostics.test.js +199 -0
- package/dist/frontend/ts7/lib-diagnostics.test.js.map +1 -0
- package/dist/frontend/ts7/program-host.d.ts +7 -0
- package/dist/frontend/ts7/program-host.js +25 -2
- package/dist/frontend/ts7/program-host.js.map +1 -1
- package/dist/frontend/ts7/session.d.ts +14 -1
- package/dist/frontend/ts7/session.js +22 -0
- package/dist/frontend/ts7/session.js.map +1 -1
- package/dist/frontend/type-mapper.d.ts +13 -1
- package/dist/frontend/type-mapper.js +191 -11
- package/dist/frontend/type-mapper.js.map +1 -1
- package/dist/index.d.ts +0 -5
- package/dist/index.js +34 -4
- package/dist/index.js.map +1 -1
- package/dist/ir/analysis.js +5 -3
- package/dist/ir/analysis.js.map +1 -1
- package/dist/ir/array-length-stability.d.ts +4 -0
- package/dist/ir/array-length-stability.js +19 -6
- package/dist/ir/array-length-stability.js.map +1 -1
- package/dist/ir/array-length-stability.test.js +24 -0
- package/dist/ir/array-length-stability.test.js.map +1 -1
- package/dist/ir/builtin-effects.d.ts +7 -0
- package/dist/ir/builtin-effects.js +52 -0
- package/dist/ir/builtin-effects.js.map +1 -1
- package/dist/ir/builtin-signatures.d.ts +6 -4
- package/dist/ir/builtin-signatures.js +166 -13
- package/dist/ir/builtin-signatures.js.map +1 -1
- package/dist/ir/callback-specialization.d.ts +2 -1
- package/dist/ir/callback-specialization.js +23 -18
- package/dist/ir/callback-specialization.js.map +1 -1
- package/dist/ir/char-unit-locals.d.ts +19 -0
- package/dist/ir/char-unit-locals.js +185 -0
- package/dist/ir/char-unit-locals.js.map +1 -0
- package/dist/ir/char-unit-locals.test.d.ts +1 -0
- package/dist/ir/char-unit-locals.test.js +94 -0
- package/dist/ir/char-unit-locals.test.js.map +1 -0
- package/dist/ir/final-fields.d.ts +2 -1
- package/dist/ir/final-fields.js +14 -16
- package/dist/ir/final-fields.js.map +1 -1
- package/dist/ir/function-references.d.ts +2 -0
- package/dist/ir/function-references.js +2 -0
- package/dist/ir/function-references.js.map +1 -1
- package/dist/ir/function-references.test.js +3 -0
- package/dist/ir/function-references.test.js.map +1 -1
- package/dist/ir/initializer-bindings.d.ts +2 -1
- package/dist/ir/initializer-bindings.js +27 -20
- package/dist/ir/initializer-bindings.js.map +1 -1
- package/dist/ir/int32-arrays.d.ts +108 -0
- package/dist/ir/int32-arrays.js +831 -0
- package/dist/ir/int32-arrays.js.map +1 -0
- package/dist/ir/int32-slots.d.ts +24 -2
- package/dist/ir/int32-slots.js +259 -57
- package/dist/ir/int32-slots.js.map +1 -1
- package/dist/ir/integer-loops.d.ts +3 -3
- package/dist/ir/integer-loops.js +14 -6
- package/dist/ir/integer-loops.js.map +1 -1
- package/dist/ir/integer-loops.test.js +10 -0
- package/dist/ir/integer-loops.test.js.map +1 -1
- package/dist/ir/integer-ranges.d.ts +5 -0
- package/dist/ir/integer-ranges.js +125 -12
- package/dist/ir/integer-ranges.js.map +1 -1
- package/dist/ir/integer-ranges.test.js +30 -0
- package/dist/ir/integer-ranges.test.js.map +1 -1
- package/dist/ir/ir.d.ts +70 -7
- package/dist/ir/ir.js +58 -1
- package/dist/ir/ir.js.map +1 -1
- package/dist/ir/ir.test.js +21 -1
- package/dist/ir/ir.test.js.map +1 -1
- package/dist/ir/js-ic.d.ts +19 -2
- package/dist/ir/js-ic.js +95 -11
- package/dist/ir/js-ic.js.map +1 -1
- package/dist/ir/js-ic.test.js +188 -0
- package/dist/ir/js-ic.test.js.map +1 -1
- package/dist/ir/node-index.d.ts +57 -0
- package/dist/ir/node-index.js +215 -0
- package/dist/ir/node-index.js.map +1 -0
- package/dist/ir/paired-while-loops.d.ts +25 -0
- package/dist/ir/paired-while-loops.js +335 -0
- package/dist/ir/paired-while-loops.js.map +1 -0
- package/dist/ir/paired-while-loops.test.d.ts +1 -0
- package/dist/ir/paired-while-loops.test.js +163 -0
- package/dist/ir/paired-while-loops.test.js.map +1 -0
- package/dist/ir/parameter-versions.d.ts +25 -0
- package/dist/ir/parameter-versions.js +300 -0
- package/dist/ir/parameter-versions.js.map +1 -0
- package/dist/ir/runtime-features.d.ts +34 -13
- package/dist/ir/runtime-features.js +152 -38
- package/dist/ir/runtime-features.js.map +1 -1
- package/dist/ir/serialize.d.ts +12 -2
- package/dist/ir/serialize.js +16 -3
- package/dist/ir/serialize.js.map +1 -1
- package/dist/ir/serialize.test.js +17 -0
- package/dist/ir/serialize.test.js.map +1 -1
- package/dist/ir/traverse.js +18 -6
- package/dist/ir/traverse.js.map +1 -1
- package/dist/ir/validate.js +122 -36
- package/dist/ir/validate.js.map +1 -1
- package/dist/library/ir-policy.js +2 -0
- package/dist/library/ir-policy.js.map +1 -1
- package/dist/native/cache.d.ts +6 -1
- package/dist/native/cache.js +28 -5
- package/dist/native/cache.js.map +1 -1
- package/dist/native/cache.test.js +16 -2
- package/dist/native/cache.test.js.map +1 -1
- package/dist/native/cli.js +21 -1
- package/dist/native/cli.js.map +1 -1
- package/dist/native/compiler.js +8 -6
- package/dist/native/compiler.js.map +1 -1
- package/dist/native/executable-cache.d.ts +1 -1
- package/dist/native/executable-cache.js +2 -2
- package/dist/native/executable-cache.js.map +1 -1
- package/dist/native/prepare.d.ts +3 -1
- package/dist/native/prepare.js +119 -31
- package/dist/native/prepare.js.map +1 -1
- package/dist/native/prepare.test.js +78 -18
- package/dist/native/prepare.test.js.map +1 -1
- package/dist/native/sanitizer.test.js +2 -0
- package/dist/native/sanitizer.test.js.map +1 -1
- package/dist/native/text-file.d.ts +13 -3
- package/dist/native/text-file.js +63 -9
- package/dist/native/text-file.js.map +1 -1
- package/dist/native/text-file.test.d.ts +1 -0
- package/dist/native/text-file.test.js +49 -0
- package/dist/native/text-file.test.js.map +1 -0
- package/dist/native/toolchain.js +4 -4
- package/dist/native/toolchain.js.map +1 -1
- package/dist/native/toolchain.test.js +3 -3
- package/dist/native/toolchain.test.js.map +1 -1
- package/package.json +21 -21
- package/shims/chalk/v5.ts +688 -0
- package/shims/hono-node-server/v2.ts +645 -0
- package/shims/hot-shots/client.ts +1126 -0
- package/shims/hot-shots/v8-unix-dgram.ts +8 -0
- package/shims/hot-shots/v8.ts +8 -0
- package/surface-manifest.json +26 -4
|
@@ -16,6 +16,7 @@ export const LIB_FN_SIGS = defineLibFnSignatures({
|
|
|
16
16
|
"fetch.start": { argTypes: [STRING, DYN], result: { kind: "promise", inner: DYN } },
|
|
17
17
|
"fetch.responseNew": { argTypes: [DYN, DYN], result: DYN },
|
|
18
18
|
"fetch.responseJsonStatic": { argTypes: [DYN, DYN], result: DYN },
|
|
19
|
+
"fetch.responseLight": { argTypes: [DYN], result: arrayOf(STRING) },
|
|
19
20
|
"fetch.input": { argTypes: [DYN, DYN], result: { kind: "promise", inner: DYN } },
|
|
20
21
|
"abort.controllerNew": { argTypes: [], result: DYN },
|
|
21
22
|
/** EventTarget / Event / CustomEvent construction (scr_event_target.c):
|
|
@@ -112,6 +113,7 @@ export const LIB_FN_SIGS = defineLibFnSignatures({
|
|
|
112
113
|
"fetch.abortNow": { argTypes: [DYN], result: DYN },
|
|
113
114
|
"fetch.abortAny": { argTypes: [DYN], result: DYN },
|
|
114
115
|
"fetch.streamNew": { argTypes: [DYN], result: DYN },
|
|
116
|
+
"fetch.transformNew": { argTypes: [], result: DYN },
|
|
115
117
|
// Program-dependent iterable: typed arrays/bytes/string stay intact so
|
|
116
118
|
// the native stream can pull lazily; checked-dynamic values are the
|
|
117
119
|
// fallback. The libCall validator in validate.ts checks the closed set.
|
|
@@ -120,6 +122,9 @@ export const LIB_FN_SIGS = defineLibFnSignatures({
|
|
|
120
122
|
"fetch.streamFrom": { argTypes: [null], result: DYN },
|
|
121
123
|
// The chunk/result record depends on ReadableStream<T>; validated by validate.ts.
|
|
122
124
|
"fetch.readerRead": { argTypes: [DYN], result: VOID },
|
|
125
|
+
/** Readable.fromWeb (scr_stream_from_web.c): the stream, objectMode,
|
|
126
|
+
* highWaterMark (< 0: the mode's default) and encoding ("": none). */
|
|
127
|
+
"fetch.readableFromWeb": { argTypes: [DYN, BOOL, F64, STRING], result: VOID },
|
|
123
128
|
"json.parse": { argTypes: [STRING], result: DYN },
|
|
124
129
|
"json.parseReviver": { argTypes: [STRING, DYN], result: DYN },
|
|
125
130
|
"json.stringifyReplacer": { argTypes: [DYN, DYN, STRING], result: DYN },
|
|
@@ -166,6 +171,7 @@ export const LIB_FN_SIGS = defineLibFnSignatures({
|
|
|
166
171
|
* not iterable (cannot read property Symbol(Symbol.iterator))"). In the
|
|
167
172
|
* may-throw seed set. */
|
|
168
173
|
"dyn.iterPack": { argTypes: [DYN, STRING], result: DYN },
|
|
174
|
+
"dyn.mathFold": { argTypes: [DYN, BOOL, STRING], result: F64 },
|
|
169
175
|
"dyn.destructureRest": { argTypes: [DYN, STRING], result: DYN },
|
|
170
176
|
"dyn.arrayFromIterator": { argTypes: [DYN], result: DYN },
|
|
171
177
|
"dyn.iterator": { argTypes: [DYN, STRING], result: DYN },
|
|
@@ -217,6 +223,28 @@ export const LIB_FN_SIGS = defineLibFnSignatures({
|
|
|
217
223
|
/** Throws Node's TypeError for a class field initializer on a
|
|
218
224
|
* non-extensible instance: the field name. */
|
|
219
225
|
"class.throwNotExtensible": { argTypes: [STRING], result: VOID },
|
|
226
|
+
/** Object.freeze of a record whose shape is freezable (frozen-records.ts):
|
|
227
|
+
* sets the frozen bit in its rc word (scr_record_freeze). The receiver is
|
|
228
|
+
* any record type. */
|
|
229
|
+
"record.freeze": { argTypes: [null], result: VOID },
|
|
230
|
+
/** Whether a record is frozen: its rc word's frozen bit, set by
|
|
231
|
+
* record.freeze and dyn.freeze of a capsule. Emitted inline. The receiver
|
|
232
|
+
* is any record type. */
|
|
233
|
+
"record.isFrozen": { argTypes: [null], result: BOOL },
|
|
234
|
+
/** Throws Node's TypeError for a write to a frozen record: the key, the
|
|
235
|
+
* object's text in the message ("#<Object>") and the operation (0 assign,
|
|
236
|
+
* 1 add, 2 delete). */
|
|
237
|
+
"record.throwFrozen": { argTypes: [STRING, STRING, F64], result: VOID },
|
|
238
|
+
/** Object.freeze of an array (scr_arr_freeze): sets its frozen bit, which
|
|
239
|
+
* the write guards of IrModule.freezableArrays test, and isFrozen reads.
|
|
240
|
+
* The receiver is any array type. */
|
|
241
|
+
"array.freeze": { argTypes: [null], result: VOID },
|
|
242
|
+
"array.isFrozen": { argTypes: [null], result: BOOL },
|
|
243
|
+
/** Object.freeze, seal or preventExtensions of a Map or Set
|
|
244
|
+
* (scr_map_prevent_extensions), which only makes it not extensible: its
|
|
245
|
+
* entries stay writable. The receiver is any map or set type. */
|
|
246
|
+
"collection.preventExtensions": { argTypes: [null], result: VOID },
|
|
247
|
+
"collection.isExtensible": { argTypes: [null], result: BOOL },
|
|
220
248
|
"dyn.nativeSetNew": { argTypes: [DYN], result: DYN },
|
|
221
249
|
"dyn.nativeSetIs": { argTypes: [DYN], result: BOOL },
|
|
222
250
|
"dyn.nativeMapIs": { argTypes: [DYN], result: BOOL },
|
|
@@ -1267,6 +1295,12 @@ export const LIB_FN_SIGS = defineLibFnSignatures({
|
|
|
1267
1295
|
argTypes: [STRING, arrayOf(STRING), F64, STRING, F64, F64, F64],
|
|
1268
1296
|
result: SPAWNRES_T,
|
|
1269
1297
|
},
|
|
1298
|
+
/** cp.spawnSyncOpts with the `env` option: the trailing [k,v,...]
|
|
1299
|
+
* pairs replace the child's environment (recordToEnvPairs). */
|
|
1300
|
+
"cp.spawnSyncEnv": {
|
|
1301
|
+
argTypes: [STRING, arrayOf(STRING), F64, STRING, F64, F64, F64, arrayOf(STRING)],
|
|
1302
|
+
result: SPAWNRES_T,
|
|
1303
|
+
},
|
|
1270
1304
|
/** cp.spawnSyncOpts with the stdio carried as a RUNTIME string —
|
|
1271
1305
|
* "pipe" | "ignore" | "inherit", proven by the call site's TYPE (the
|
|
1272
1306
|
* defaultRunner idiom `stdio: options?.stdio ?? "pipe"`); the runtime
|
|
@@ -1477,6 +1511,13 @@ export const LIB_FN_SIGS = defineLibFnSignatures({
|
|
|
1477
1511
|
},
|
|
1478
1512
|
"dgram.sendStr": { argTypes: [DGRAMSOCK_T, STRING, F64, STRING], result: VOID },
|
|
1479
1513
|
"dgram.sendBytes": { argTypes: [DGRAMSOCK_T, BYTES_U8, F64, STRING], result: VOID },
|
|
1514
|
+
/** Connected AF_UNIX datagram sockets for the hot-shots package shim
|
|
1515
|
+
* (the unix-dgram addon's surface): fd or result >= 0, -errno on
|
|
1516
|
+
* failure; send answers 1 when the socket would block. */
|
|
1517
|
+
"dgram.unixSocket": { argTypes: [], result: F64 },
|
|
1518
|
+
"dgram.unixConnect": { argTypes: [F64, STRING], result: F64 },
|
|
1519
|
+
"dgram.unixSend": { argTypes: [F64, BYTES_U8], result: F64 },
|
|
1520
|
+
"dgram.unixClose": { argTypes: [F64], result: F64 },
|
|
1480
1521
|
/** The send argument-validation ladder over dyn arguments (Node's
|
|
1481
1522
|
* signature shuffle: slice bounds, list/type contracts, port/address
|
|
1482
1523
|
* validation, connected-state errors), then the send: lists, connected
|
|
@@ -1767,7 +1808,7 @@ export const LIB_FN_SIGS = defineLibFnSignatures({
|
|
|
1767
1808
|
* connection (+1, the same handle net.connect would give);
|
|
1768
1809
|
* sockRemoteAddress answers `string | undefined` (NULL after the fd
|
|
1769
1810
|
* closed, Node's destroyed-socket undefined; a dual-stack accept of an
|
|
1770
|
-
* IPv4 peer reads "::ffff:a.b.c.d" like Node). reqResume/reqDestroy and
|
|
1811
|
+
* IPv4 peer reads "::ffff:a.b.c.d" like Node). reqResume/reqPause/reqDestroy and
|
|
1771
1812
|
* the req error/close listener slots complete the IncomingMessage
|
|
1772
1813
|
* surface portless's client responses use; resDestroy/resOnClose and
|
|
1773
1814
|
* resWriteHeadPairs ([k0,v0,k1,v1,...] — the env.pairs helper's flat
|
|
@@ -1834,6 +1875,7 @@ export const LIB_FN_SIGS = defineLibFnSignatures({
|
|
|
1834
1875
|
"http.reqPipeClient": { argTypes: [HTTPREQ_T, HTTPCLIENTREQ_T], result: VOID },
|
|
1835
1876
|
"http.reqPipeSock": { argTypes: [HTTPREQ_T, NETSOCKET_T], result: VOID },
|
|
1836
1877
|
"http.reqResume": { argTypes: [HTTPREQ_T], result: VOID },
|
|
1878
|
+
"http.reqPause": { argTypes: [HTTPREQ_T], result: VOID },
|
|
1837
1879
|
"http.reqDestroy": { argTypes: [HTTPREQ_T], result: VOID },
|
|
1838
1880
|
"http.reqOnError": { argTypes: [HTTPREQ_T, null, BOOL], result: VOID },
|
|
1839
1881
|
"http.reqOnClose": {
|
|
@@ -2769,6 +2811,19 @@ export const LIB_FN_SIGS = defineLibFnSignatures({
|
|
|
2769
2811
|
/** getDiffieHellman(groupName) and createDiffieHellmanGroup(name): a
|
|
2770
2812
|
* native DiffieHellmanGroup handle. */
|
|
2771
2813
|
"crypto.dhGroupNew": { argTypes: [DYN], result: DYN },
|
|
2814
|
+
/** checkPrimeSync(candidate, options) and generatePrimeSync(size,
|
|
2815
|
+
* options) over checked-dynamic arguments (scr_dh.c): a boolean, and an
|
|
2816
|
+
* ArrayBuffer or bigint, as checked-dynamic results. The Cb forms take
|
|
2817
|
+
* the callback and whether its error parameter takes null for Node's
|
|
2818
|
+
* undefined, and call it in a later macrotask; Node's argument errors
|
|
2819
|
+
* throw (may-throw). */
|
|
2820
|
+
"crypto.checkPrimeSync": { argTypes: [DYN, DYN], result: DYN },
|
|
2821
|
+
/** getCipherInfo(nameOrNid, options) over checked-dynamic arguments
|
|
2822
|
+
* (scr_cipher_info.c): the info object or undefined. */
|
|
2823
|
+
"crypto.getCipherInfo": { argTypes: [DYN, DYN], result: DYN },
|
|
2824
|
+
"crypto.checkPrimeCb": { argTypes: [DYN, DYN, DYN, BOOL], result: VOID },
|
|
2825
|
+
"crypto.generatePrimeSync": { argTypes: [DYN, DYN], result: DYN },
|
|
2826
|
+
"crypto.generatePrimeCb": { argTypes: [DYN, DYN, DYN, BOOL], result: VOID },
|
|
2772
2827
|
"crypto.hmacNewStr": { argTypes: [STRING, STRING], result: CRYPTOHMAC_T },
|
|
2773
2828
|
"crypto.hmacNewBytes": { argTypes: [STRING, BYTES_U8], result: CRYPTOHMAC_T },
|
|
2774
2829
|
"crypto.hashUpdateStr": { argTypes: [CRYPTOHASH_T, STRING], result: CRYPTOHASH_T },
|
|
@@ -3351,6 +3406,14 @@ export const LIB_FN_SIGS = defineLibFnSignatures({
|
|
|
3351
3406
|
* throw-site fields, dynamic writes) or an Object.prototype member. */
|
|
3352
3407
|
"error.hasKey": { argTypes: [null, STRING], result: BOOL },
|
|
3353
3408
|
"error.hasCode": { argTypes: [null], result: BOOL },
|
|
3409
|
+
/** Whether the error's own `name` or `message` (the key) is an accessor
|
|
3410
|
+
* a reflective definition installed. Borrows both; never throws. */
|
|
3411
|
+
"error.ownAccessor": { argTypes: [null, STRING], result: BOOL },
|
|
3412
|
+
/** That accessor's getter called on the error (owned result), and its
|
|
3413
|
+
* setter called with the value (V8's TypeError without one). Borrow
|
|
3414
|
+
* their arguments; throw what the accessor throws. */
|
|
3415
|
+
"error.accessorGet": { argTypes: [null, STRING], result: DYN },
|
|
3416
|
+
"error.accessorSet": { argTypes: [null, STRING, DYN], result: VOID },
|
|
3354
3417
|
"error.defineCause": { argTypes: [null, DYN], result: VOID },
|
|
3355
3418
|
"error.deleteCause": { argTypes: [null], result: VOID },
|
|
3356
3419
|
/** The compiler-resolved Node-parity throw for always-throwing lowered
|
|
@@ -3540,9 +3603,11 @@ export const LIB_FN_SIGS = defineLibFnSignatures({
|
|
|
3540
3603
|
"weakSet.is": { argTypes: [DYN], result: BOOL },
|
|
3541
3604
|
"weakMap.new": { argTypes: [DYN], result: DYN },
|
|
3542
3605
|
"weakSet.new": { argTypes: [DYN], result: DYN },
|
|
3606
|
+
"finalizationRegistry.new": { argTypes: [DYN], result: DYN },
|
|
3607
|
+
"finalizationRegistry.is": { argTypes: [DYN], result: BOOL },
|
|
3543
3608
|
"dyn.fromEntries": { argTypes: [DYN], result: DYN },
|
|
3544
3609
|
"bytes.constructor": { argTypes: [STRING], result: DYN },
|
|
3545
|
-
"bytes.instanceOf": { argTypes: [DYN, DYN], result: BOOL },
|
|
3610
|
+
"bytes.instanceOf": { argTypes: [DYN, DYN, STRING], result: BOOL },
|
|
3546
3611
|
"bytes.construct": { argTypes: [DYN, DYN, STRING], result: DYN },
|
|
3547
3612
|
/** The ambient receiver — JS `this` in a plain (non-method) function
|
|
3548
3613
|
* body: the innermost binding the current firing/dispatch window
|
|
@@ -3664,6 +3729,10 @@ export const LIB_FN_SIGS = defineLibFnSignatures({
|
|
|
3664
3729
|
"dyn.assignPrototype": { argTypes: [DYN, DYN, DYN], result: DYN },
|
|
3665
3730
|
"dyn.definePrototypeProps": { argTypes: [DYN, DYN, DYN], result: DYN },
|
|
3666
3731
|
"dyn.bagGet": { argTypes: [DYN, STRING, DYN], result: DYN },
|
|
3732
|
+
/** A class field's creation in its instance's property bag: adds the
|
|
3733
|
+
* string key as a default data property when absent, answering false
|
|
3734
|
+
* (nothing changed) when the bag needs the general defineProperty path. */
|
|
3735
|
+
"dyn.bagCreateField": { argTypes: [DYN, STRING], result: BOOL },
|
|
3667
3736
|
"dyn.bagSet": { argTypes: [DYN, STRING, DYN, DYN], result: VOID },
|
|
3668
3737
|
"dyn.objCreate": { argTypes: [DYN], result: DYN },
|
|
3669
3738
|
// Names a compiled class's prototype object (args[0]) after the class
|
|
@@ -3671,6 +3740,9 @@ export const LIB_FN_SIGS = defineLibFnSignatures({
|
|
|
3671
3740
|
"dyn.nameClassPrototype": { argTypes: [DYN, STRING], result: VOID },
|
|
3672
3741
|
"dyn.objCreateWithProperties": { argTypes: [DYN, DYN], result: DYN },
|
|
3673
3742
|
"dyn.getPrototype": { argTypes: [DYN], result: DYN },
|
|
3743
|
+
// dyn.getPrototype for walks that compare each prototype with a program
|
|
3744
|
+
// class's prototype: native builtin values end the walk (null).
|
|
3745
|
+
"dyn.getPrototypeForIdentity": { argTypes: [DYN], result: DYN },
|
|
3674
3746
|
"dyn.setPrototype": { argTypes: [DYN, DYN], result: DYN },
|
|
3675
3747
|
"dyn.getOwnPropertyNames": { argTypes: [DYN], result: DYN },
|
|
3676
3748
|
"dyn.ownKeys": { argTypes: [DYN], result: DYN },
|
|
@@ -3696,6 +3768,14 @@ export const LIB_FN_SIGS = defineLibFnSignatures({
|
|
|
3696
3768
|
* call: always throws Node's TypeError [ERR_MISSING_ARGS] with Node's
|
|
3697
3769
|
* own (verbatim, doubly-wrapped) message. */
|
|
3698
3770
|
"dyn.structuredClone": { argTypes: [DYN, DYN], result: DYN },
|
|
3771
|
+
/** The declaration-typed boundary's adoption (decl-projection.ts):
|
|
3772
|
+
* `source` is the dynamic value a boundary cast just converted, and
|
|
3773
|
+
* `capsule` a live capsule of the native value built from it. Every
|
|
3774
|
+
* object or array of `source` that something else still references
|
|
3775
|
+
* becomes, in place, a live capsule of the native value built from it.
|
|
3776
|
+
* Throws the path TypeError, changing nothing, when a converted object
|
|
3777
|
+
* is not plain data (a prototype, accessors, symbols, frozen state). */
|
|
3778
|
+
"dyn.declAdopt": { argTypes: [DYN, DYN], result: VOID },
|
|
3699
3779
|
"dyn.cloneMissing": { argTypes: [], result: DYN },
|
|
3700
3780
|
/** structuredClone with a NON-EMPTY transfer array of static values:
|
|
3701
3781
|
* nothing static is transferable, so the call always throws Node's
|
|
@@ -3733,6 +3813,13 @@ export const LIB_FN_SIGS = defineLibFnSignatures({
|
|
|
3733
3813
|
// Whether the array (args[0]) still has the key (args[1]) from its
|
|
3734
3814
|
// namedKeys list. Borrowed; never throws.
|
|
3735
3815
|
"array.hasNamedKey": { argTypes: [null, STRING], result: BOOL },
|
|
3816
|
+
// Whether an array (args[0], any element type) has properties besides its
|
|
3817
|
+
// elements: noncanonical numeric keys, match metadata or named
|
|
3818
|
+
// properties. Borrowed; never throws.
|
|
3819
|
+
"array.hasProperties": { argTypes: [null], result: BOOL },
|
|
3820
|
+
// The key of an element access whose index is undefined (the property
|
|
3821
|
+
// named "undefined"; frontend/lowering/undefined-index.ts).
|
|
3822
|
+
"array.undefinedKey": { argTypes: [], result: F64 },
|
|
3736
3823
|
// node:events EventEmitter: receivers are emitter-hierarchy objects and
|
|
3737
3824
|
// the chaining forms (on/off/removeAll/setMax) return the receiver's
|
|
3738
3825
|
// own class — program-dependent object types, checked in the libCall
|
|
@@ -3878,6 +3965,10 @@ export const LIB_FN_SIGS = defineLibFnSignatures({
|
|
|
3878
3965
|
"stream.setDestroy": { argTypes: [null, null], result: VOID },
|
|
3879
3966
|
"stream.setTransform": { argTypes: [null, null], result: VOID },
|
|
3880
3967
|
"stream.setFlush": { argTypes: [null, null], result: VOID },
|
|
3968
|
+
"stream.setConstruct": { argTypes: [null, null], result: VOID },
|
|
3969
|
+
"stream.replaceConstruct": { argTypes: [null, null], result: VOID },
|
|
3970
|
+
"stream.setWritev": { argTypes: [null, null], result: VOID },
|
|
3971
|
+
"stream.setWritevDefault": { argTypes: [null, null], result: VOID },
|
|
3881
3972
|
/** The dyn-options twins (a checked-dynamic options record — the JS
|
|
3882
3973
|
* lane's `super(options)` forwarding and `new Readable(dynVar)`): the
|
|
3883
3974
|
* option walk runs at RUNTIME with Node's reading rules. newDyn:
|
|
@@ -3904,6 +3995,7 @@ export const LIB_FN_SIGS = defineLibFnSignatures({
|
|
|
3904
3995
|
"stream.pipeline": { argTypes: [F64], result: VOID },
|
|
3905
3996
|
"stream.pipelineDyn": { argTypes: [F64], result: VOID },
|
|
3906
3997
|
"stream.pipelineStages": { argTypes: [F64, F64, F64, F64, F64], result: VOID },
|
|
3998
|
+
"stream.composeStages": { argTypes: [F64, F64, F64, F64, F64], result: VOID },
|
|
3907
3999
|
"stream.pipelineStagesDyn": { argTypes: [F64, F64, F64, F64, F64], result: VOID },
|
|
3908
4000
|
/** stream.compose(count, s1..sn): the Duplex over a pipeline of the
|
|
3909
4001
|
* streams (+1). MAY THROW (ERR_INVALID_ARG_VALUE for a stream that is
|
|
@@ -3948,6 +4040,12 @@ export const LIB_FN_SIGS = defineLibFnSignatures({
|
|
|
3948
4040
|
argTypes: [F64, F64, F64, F64, F64],
|
|
3949
4041
|
result: { kind: "promise", inner: VOID },
|
|
3950
4042
|
},
|
|
4043
|
+
/** sp.pipelineStages with the options argument: the same head, then
|
|
4044
|
+
* end (a bool) and, with flags bit 6, the options' signal (dyn). */
|
|
4045
|
+
"sp.pipelineStagesOpts": {
|
|
4046
|
+
argTypes: [F64, F64, F64, F64, F64],
|
|
4047
|
+
result: { kind: "promise", inner: VOID },
|
|
4048
|
+
},
|
|
3951
4049
|
/** node:stream/consumers — the promise consumers over the readable
|
|
3952
4050
|
* machinery: (s) → a pending promise settled at the terminal point
|
|
3953
4051
|
* with the accumulated result (sc.text: the utf8 decode, sc.json: the
|
|
@@ -4004,6 +4102,33 @@ export const LIB_FN_SIGS = defineLibFnSignatures({
|
|
|
4004
4102
|
/** The objectMode option's sides (readable, writable), applied right
|
|
4005
4103
|
* after construction; answers the receiver (+1, the chaining shape). */
|
|
4006
4104
|
"stream.objectMode": { argTypes: [null, BOOL, BOOL], result: VOID },
|
|
4105
|
+
"stream.decodeStrings": { argTypes: [null, BOOL], result: VOID },
|
|
4106
|
+
/** Runtime decodeStrings and defaultEncoding option values, applied
|
|
4107
|
+
* after construction (answers the receiver +1); the encoding was
|
|
4108
|
+
* validated by stream.checkEncodingOption before construction. */
|
|
4109
|
+
"stream.optionValues": { argTypes: [null, DYN, DYN], result: VOID },
|
|
4110
|
+
"stream.checkEncodingOption": { argTypes: [DYN], result: VOID },
|
|
4111
|
+
"stream.duplexFromGen": { argTypes: [null, null, null, null, null, null], result: VOID },
|
|
4112
|
+
"stream.duplexFromDyn": { argTypes: [DYN], result: VOID },
|
|
4113
|
+
/** Duplex.from over a lone Readable or Writable, or a { readable,
|
|
4114
|
+
* writable } pair of streams (duplexify.js's _duplexify). */
|
|
4115
|
+
"stream.duplexifyReadable": { argTypes: [null], result: VOID },
|
|
4116
|
+
"stream.duplexifyWritable": { argTypes: [null], result: VOID },
|
|
4117
|
+
"stream.duplexifyPair": { argTypes: [null, null], result: VOID },
|
|
4118
|
+
/** Duplex.from(promise): the promise and its box helper. */
|
|
4119
|
+
"stream.duplexFromPromise": { argTypes: [null, null], result: VOID },
|
|
4120
|
+
/** Duplex.from(asyncFunction): the stage, its source helper and the
|
|
4121
|
+
* promise's box helper. */
|
|
4122
|
+
"stream.duplexFromAsyncFn": { argTypes: [null, null, null], result: VOID },
|
|
4123
|
+
/** The same for a body that declares the options argument: then the
|
|
4124
|
+
* AbortController's abort() and its signal. */
|
|
4125
|
+
"stream.duplexFromGenSignal": {
|
|
4126
|
+
argTypes: [null, null, null, null, null, null, null, DYN],
|
|
4127
|
+
result: VOID,
|
|
4128
|
+
},
|
|
4129
|
+
"stream.duplexFromAsyncFnSignal": { argTypes: [null, null, null, null, DYN], result: VOID },
|
|
4130
|
+
"writable.writeEncoding": { argTypes: [null, STRING], result: VOID },
|
|
4131
|
+
"writable.setDefaultEncoding": { argTypes: [null, DYN], result: VOID },
|
|
4007
4132
|
/** Whether a readable.nextChunkDyn step answered the end (the done
|
|
4008
4133
|
* marker; an object-mode stream can yield undefined). */
|
|
4009
4134
|
"stream.chunkDone": { argTypes: [DYN], result: BOOL },
|
|
@@ -4039,17 +4164,39 @@ export const LIB_FN_SIGS = defineLibFnSignatures({
|
|
|
4039
4164
|
* forEach nothing; reduce: [stream, fn, init, hasInit, options, kind]
|
|
4040
4165
|
* with the payload kind (0 dyn, 1 number, 2 boolean, 3 string). The
|
|
4041
4166
|
* promise-returning ones reject instead of throwing. */
|
|
4042
|
-
"readable.opMap": { argTypes: [null, DYN, DYN], result: VOID },
|
|
4043
|
-
"readable.opFilter": { argTypes: [null, DYN, DYN], result: VOID },
|
|
4044
|
-
"readable.opFlatMap": { argTypes: [null, DYN, DYN], result: VOID },
|
|
4167
|
+
"readable.opMap": { argTypes: [null, DYN, DYN, DYN], result: VOID },
|
|
4168
|
+
"readable.opFilter": { argTypes: [null, DYN, DYN, DYN], result: VOID },
|
|
4169
|
+
"readable.opFlatMap": { argTypes: [null, DYN, DYN, DYN], result: VOID },
|
|
4170
|
+
/** flatMap whose callback returns a compiled generator: the helpers
|
|
4171
|
+
* over its type follow (async: next, read, return, throw; sync: next,
|
|
4172
|
+
* return, throw). */
|
|
4173
|
+
"readable.opFlatMapAsyncGen": {
|
|
4174
|
+
argTypes: [null, DYN, DYN, DYN, null, null, null, null],
|
|
4175
|
+
result: VOID,
|
|
4176
|
+
},
|
|
4177
|
+
"readable.opFlatMapSyncGen": { argTypes: [null, DYN, DYN, DYN, null, null, null], result: VOID },
|
|
4045
4178
|
"readable.opDrop": { argTypes: [null, DYN, DYN], result: VOID },
|
|
4046
4179
|
"readable.opTake": { argTypes: [null, DYN, DYN], result: VOID },
|
|
4047
4180
|
"readable.opToArray": { argTypes: [null, DYN], result: { kind: "promise", inner: DYN } },
|
|
4048
|
-
"readable.opForEach": {
|
|
4049
|
-
|
|
4050
|
-
|
|
4051
|
-
|
|
4181
|
+
"readable.opForEach": {
|
|
4182
|
+
argTypes: [null, DYN, DYN, DYN],
|
|
4183
|
+
result: { kind: "promise", inner: VOID },
|
|
4184
|
+
},
|
|
4185
|
+
"readable.opSome": { argTypes: [null, DYN, DYN, DYN], result: { kind: "promise", inner: BOOL } },
|
|
4186
|
+
"readable.opEvery": { argTypes: [null, DYN, DYN, DYN], result: { kind: "promise", inner: BOOL } },
|
|
4187
|
+
"readable.opFind": { argTypes: [null, DYN, DYN, DYN], result: { kind: "promise", inner: DYN } },
|
|
4188
|
+
/** The map family's last argument is the callback's { signal } (or
|
|
4189
|
+
* undefined). reduceSignal adds ac.abort() (a closure) and
|
|
4190
|
+
* { signal: ac.signal } for a reducer that reads them. */
|
|
4052
4191
|
"readable.opReduce": { argTypes: [null, DYN, DYN, BOOL, DYN, F64], result: VOID },
|
|
4192
|
+
"readable.opReduceSignal": {
|
|
4193
|
+
argTypes: [null, DYN, DYN, BOOL, DYN, F64, null, DYN],
|
|
4194
|
+
result: VOID,
|
|
4195
|
+
},
|
|
4196
|
+
"readable.opSignalList": { argTypes: [DYN], result: DYN },
|
|
4197
|
+
"readable.opSignalOpts": { argTypes: [DYN], result: DYN },
|
|
4198
|
+
"readable.opSignalOf": { argTypes: [DYN], result: DYN },
|
|
4199
|
+
"readable.opOnceOptions": { argTypes: [], result: DYN },
|
|
4053
4200
|
"readable.resume": { argTypes: [null], result: VOID },
|
|
4054
4201
|
"readable.isPaused": { argTypes: [null], result: BOOL },
|
|
4055
4202
|
"readable.pipe": { argTypes: [null, null, BOOL], result: VOID },
|
|
@@ -4675,6 +4822,10 @@ export const LIB_FN_SIGS = defineLibFnSignatures({
|
|
|
4675
4822
|
"text.decoderEncoding": { argTypes: [DYN], result: F64 },
|
|
4676
4823
|
"text.decoderName": { argTypes: [F64], result: STRING },
|
|
4677
4824
|
"text.encodeInto": { argTypes: [DYN, DYN], result: DYN },
|
|
4825
|
+
/** `value instanceof TextDecoder` (true) or `TextEncoder` (false) on a
|
|
4826
|
+
* checked-dynamic value: a codec record's handle box (scr_text_codec_dyn.c).
|
|
4827
|
+
* Borrowed; never throws. */
|
|
4828
|
+
"text.codecIs": { argTypes: [DYN, BOOL], result: BOOL },
|
|
4678
4829
|
"buffer.isAscii": { argTypes: [DYN], result: BOOL },
|
|
4679
4830
|
"buffer.isUtf8": { argTypes: [DYN], result: BOOL },
|
|
4680
4831
|
"buffer.transcode": { argTypes: [DYN, DYN, DYN], result: BYTES_U8 },
|
|
@@ -4752,10 +4903,12 @@ export const LIB_FN_SIGS = defineLibFnSignatures({
|
|
|
4752
4903
|
"string.raw": { argTypes: [arrayOf(STRING), arrayOf(STRING)], result: STRING },
|
|
4753
4904
|
});
|
|
4754
4905
|
/** The function-stage runs of a pipeline of `total` stages that a stream
|
|
4755
|
-
* follows (positions bit j: stage j is a function)
|
|
4756
|
-
* generator
|
|
4757
|
-
|
|
4758
|
-
|
|
4906
|
+
* follows (positions bit j: stage j is a function), and an async
|
|
4907
|
+
* generator destination's run (flags bits 1-2 = 1, pumped into the
|
|
4908
|
+
* PassThrough pipeline() answers): each pumps its last generator through
|
|
4909
|
+
* one (next, read, return) triple. */
|
|
4910
|
+
export function pipelinePumpedRuns(total, positions, flags) {
|
|
4911
|
+
let runs = ((flags >> 1) & 3) === 1 ? 1 : 0;
|
|
4759
4912
|
for (let j = 0; j + 1 < total; j++) {
|
|
4760
4913
|
if (Math.floor(positions / 2 ** j) % 2 === 1 && Math.floor(positions / 2 ** (j + 1)) % 2 === 0)
|
|
4761
4914
|
runs++;
|