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