@scriptc/compiler 0.1.1 → 0.1.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.
Files changed (279) hide show
  1. package/ambient/scriptc-node-fallback.d.ts +104 -31
  2. package/ambient/scriptc.d.ts +2 -1
  3. package/dist/backend/build-cache.js.map +1 -1
  4. package/dist/backend/c/async.d.ts +5 -0
  5. package/dist/backend/c/async.js +81 -2
  6. package/dist/backend/c/async.js.map +1 -1
  7. package/dist/backend/c/c-emitter.d.ts +25 -10
  8. package/dist/backend/c/c-emitter.js +74 -22
  9. package/dist/backend/c/c-emitter.js.map +1 -1
  10. package/dist/backend/c/exprs.d.ts +8 -1
  11. package/dist/backend/c/exprs.js +371 -18
  12. package/dist/backend/c/exprs.js.map +1 -1
  13. package/dist/backend/c/island.js.map +1 -1
  14. package/dist/backend/c/may-throw.js.map +1 -1
  15. package/dist/backend/c/shapes.js +15 -13
  16. package/dist/backend/c/shapes.js.map +1 -1
  17. package/dist/backend/c/stmts.d.ts +3 -5
  18. package/dist/backend/c/stmts.js +58 -17
  19. package/dist/backend/c/stmts.js.map +1 -1
  20. package/dist/backend/c/types.d.ts +4 -0
  21. package/dist/backend/c/types.js +18 -1
  22. package/dist/backend/c/types.js.map +1 -1
  23. package/dist/backend/c/types.test.js +8 -1
  24. package/dist/backend/c/types.test.js.map +1 -1
  25. package/dist/backend/c/walkers.js +63 -16
  26. package/dist/backend/c/walkers.js.map +1 -1
  27. package/dist/backend/external-c.js.map +1 -1
  28. package/dist/backend/json-literal.d.ts +7 -0
  29. package/dist/backend/json-literal.js +17 -0
  30. package/dist/backend/json-literal.js.map +1 -0
  31. package/dist/backend/json-literal.test.d.ts +1 -0
  32. package/dist/backend/json-literal.test.js +17 -0
  33. package/dist/backend/json-literal.test.js.map +1 -0
  34. package/dist/backend/link-plan.d.ts +1 -1
  35. package/dist/backend/link-plan.js +5 -1
  36. package/dist/backend/link-plan.js.map +1 -1
  37. package/dist/backend/linker.js.map +1 -1
  38. package/dist/backend/llvm/blocks.js.map +1 -1
  39. package/dist/backend/llvm/classes.js +8 -7
  40. package/dist/backend/llvm/classes.js.map +1 -1
  41. package/dist/backend/llvm/common.d.ts +4 -0
  42. package/dist/backend/llvm/common.js +6 -0
  43. package/dist/backend/llvm/common.js.map +1 -1
  44. package/dist/backend/llvm/common.test.d.ts +1 -0
  45. package/dist/backend/llvm/common.test.js +9 -0
  46. package/dist/backend/llvm/common.test.js.map +1 -0
  47. package/dist/backend/llvm/dyn.d.ts +4 -0
  48. package/dist/backend/llvm/dyn.js +80 -16
  49. package/dist/backend/llvm/dyn.js.map +1 -1
  50. package/dist/backend/llvm/emitter.js +132 -25
  51. package/dist/backend/llvm/emitter.js.map +1 -1
  52. package/dist/backend/llvm/expr-async.js +85 -3
  53. package/dist/backend/llvm/expr-async.js.map +1 -1
  54. package/dist/backend/llvm/expr-bytes.js.map +1 -1
  55. package/dist/backend/llvm/expr-calls.js.map +1 -1
  56. package/dist/backend/llvm/expr-containers.js.map +1 -1
  57. package/dist/backend/llvm/expr-context.d.ts +5 -0
  58. package/dist/backend/llvm/expr-control.js.map +1 -1
  59. package/dist/backend/llvm/expr-dispatch.js.map +1 -1
  60. package/dist/backend/llvm/expr-dynamic.js +15 -3
  61. package/dist/backend/llvm/expr-dynamic.js.map +1 -1
  62. package/dist/backend/llvm/expr-island.js.map +1 -1
  63. package/dist/backend/llvm/expr-primitives.js +8 -0
  64. package/dist/backend/llvm/expr-primitives.js.map +1 -1
  65. package/dist/backend/llvm/expr-records.js +3 -3
  66. package/dist/backend/llvm/expr-records.js.map +1 -1
  67. package/dist/backend/llvm/expr-stream-bridges.js +222 -10
  68. package/dist/backend/llvm/expr-stream-bridges.js.map +1 -1
  69. package/dist/backend/llvm/expr-stream-callbacks.d.ts +3 -0
  70. package/dist/backend/llvm/expr-stream-callbacks.js +53 -0
  71. package/dist/backend/llvm/expr-stream-callbacks.js.map +1 -1
  72. package/dist/backend/llvm/lib-dispatch.js +24 -0
  73. package/dist/backend/llvm/lib-dispatch.js.map +1 -1
  74. package/dist/backend/llvm/lib-process.js +50 -5
  75. package/dist/backend/llvm/lib-process.js.map +1 -1
  76. package/dist/backend/llvm/lib-shared.js +64 -0
  77. package/dist/backend/llvm/lib-shared.js.map +1 -1
  78. package/dist/backend/llvm/lib-stream.js +6 -3
  79. package/dist/backend/llvm/lib-stream.js.map +1 -1
  80. package/dist/backend/llvm/shapes.js +10 -8
  81. package/dist/backend/llvm/shapes.js.map +1 -1
  82. package/dist/backend/llvm/split.js.map +1 -1
  83. package/dist/backend/llvm/unsupported.js.map +1 -1
  84. package/dist/backend/llvm/walkers.js +7 -5
  85. package/dist/backend/llvm/walkers.js.map +1 -1
  86. package/dist/backend/native-codegen.js.map +1 -1
  87. package/dist/backend/native-codegen.test.js +2 -0
  88. package/dist/backend/native-codegen.test.js.map +1 -1
  89. package/dist/backend/native-link-info.d.ts +2 -1
  90. package/dist/backend/native-link-info.js +4 -0
  91. package/dist/backend/native-link-info.js.map +1 -1
  92. package/dist/backend/native-link-info.test.js +24 -1
  93. package/dist/backend/native-link-info.test.js.map +1 -1
  94. package/dist/backend/native-toolchain.d.ts +8 -6
  95. package/dist/backend/native-toolchain.js +28 -13
  96. package/dist/backend/native-toolchain.js.map +1 -1
  97. package/dist/backend/native-toolchain.test.js +36 -1
  98. package/dist/backend/native-toolchain.test.js.map +1 -1
  99. package/dist/backend/runtime-pack-targets.test.js +1 -1
  100. package/dist/backend/runtime-pack-targets.test.js.map +1 -1
  101. package/dist/backend/runtime-pack.js.map +1 -1
  102. package/dist/backend/runtime-pack.test.js +1 -0
  103. package/dist/backend/runtime-pack.test.js.map +1 -1
  104. package/dist/backend/targets.d.ts +5 -0
  105. package/dist/backend/targets.js +9 -0
  106. package/dist/backend/targets.js.map +1 -1
  107. package/dist/backend/targets.test.js +6 -1
  108. package/dist/backend/targets.test.js.map +1 -1
  109. package/dist/backend/vendor-archives.js.map +1 -1
  110. package/dist/compat/fetch-profile.js +4 -2
  111. package/dist/compat/fetch-profile.js.map +1 -1
  112. package/dist/coverage/report.js.map +1 -1
  113. package/dist/coverage/surface-manifest.js +13 -0
  114. package/dist/coverage/surface-manifest.js.map +1 -1
  115. package/dist/diagnostics/diagnostic.d.ts +6 -5
  116. package/dist/diagnostics/diagnostic.js +10 -9
  117. package/dist/diagnostics/diagnostic.js.map +1 -1
  118. package/dist/diagnostics/render.js.map +1 -1
  119. package/dist/executable/executable-cache.d.ts +1 -0
  120. package/dist/executable/executable-cache.js +1 -0
  121. package/dist/executable/executable-cache.js.map +1 -1
  122. package/dist/executable/executable-cache.test.js +1 -0
  123. package/dist/executable/executable-cache.test.js.map +1 -1
  124. package/dist/ffi/ffi-manifest.js.map +1 -1
  125. package/dist/frontend/cjs-lexer.js.map +1 -1
  126. package/dist/frontend/dts-paths.js.map +1 -1
  127. package/dist/frontend/input-tracker.d.ts +10 -0
  128. package/dist/frontend/input-tracker.js +26 -3
  129. package/dist/frontend/input-tracker.js.map +1 -1
  130. package/dist/frontend/input-tracker.test.js +8 -1
  131. package/dist/frontend/input-tracker.test.js.map +1 -1
  132. package/dist/frontend/lib-contract.js.map +1 -1
  133. package/dist/frontend/lowering/array-values.d.ts +4 -0
  134. package/dist/frontend/lowering/array-values.js +18 -2
  135. package/dist/frontend/lowering/array-values.js.map +1 -1
  136. package/dist/frontend/lowering/callback-arg.js.map +1 -1
  137. package/dist/frontend/lowering/containers/bytes.d.ts +31 -0
  138. package/dist/frontend/lowering/containers/bytes.js +1105 -0
  139. package/dist/frontend/lowering/containers/bytes.js.map +1 -0
  140. package/dist/frontend/lowering/containers/string-and-regexp.d.ts +17 -0
  141. package/dist/frontend/lowering/containers/string-and-regexp.js +345 -0
  142. package/dist/frontend/lowering/containers/string-and-regexp.js.map +1 -0
  143. package/dist/frontend/lowering/expressions/evaluation-safety.d.ts +13 -0
  144. package/dist/frontend/lowering/expressions/evaluation-safety.js +76 -0
  145. package/dist/frontend/lowering/expressions/evaluation-safety.js.map +1 -0
  146. package/dist/frontend/lowering/expressions/object-literals.d.ts +44 -0
  147. package/dist/frontend/lowering/expressions/object-literals.js +1815 -0
  148. package/dist/frontend/lowering/expressions/object-literals.js.map +1 -0
  149. package/dist/frontend/lowering/expressions/optional-chains.d.ts +31 -0
  150. package/dist/frontend/lowering/expressions/optional-chains.js +382 -0
  151. package/dist/frontend/lowering/expressions/optional-chains.js.map +1 -0
  152. package/dist/frontend/lowering/expressions/try-lower-expression.d.ts +7 -0
  153. package/dist/frontend/lowering/expressions/try-lower-expression.js +26 -0
  154. package/dist/frontend/lowering/expressions/try-lower-expression.js.map +1 -0
  155. package/dist/frontend/lowering/lib-boundary.js +7 -2
  156. package/dist/frontend/lowering/lib-boundary.js.map +1 -1
  157. package/dist/frontend/lowering/lower-assert.js +16 -10
  158. package/dist/frontend/lowering/lower-assert.js.map +1 -1
  159. package/dist/frontend/lowering/lower-async-iteration.d.ts +7 -0
  160. package/dist/frontend/lowering/lower-async-iteration.js +657 -0
  161. package/dist/frontend/lowering/lower-async-iteration.js.map +1 -0
  162. package/dist/frontend/lowering/lower-builtins.d.ts +40 -21
  163. package/dist/frontend/lowering/lower-builtins.js +611 -115
  164. package/dist/frontend/lowering/lower-builtins.js.map +1 -1
  165. package/dist/frontend/lowering/lower-calls.d.ts +21 -10
  166. package/dist/frontend/lowering/lower-calls.js +516 -75
  167. package/dist/frontend/lowering/lower-calls.js.map +1 -1
  168. package/dist/frontend/lowering/lower-classes.d.ts +7 -13
  169. package/dist/frontend/lowering/lower-classes.js +128 -35
  170. package/dist/frontend/lowering/lower-classes.js.map +1 -1
  171. package/dist/frontend/lowering/lower-comptime.js.map +1 -1
  172. package/dist/frontend/lowering/lower-containers.d.ts +1 -47
  173. package/dist/frontend/lowering/lower-containers.js +147 -1475
  174. package/dist/frontend/lowering/lower-containers.js.map +1 -1
  175. package/dist/frontend/lowering/lower-event-emitter.js +51 -5
  176. package/dist/frontend/lowering/lower-event-emitter.js.map +1 -1
  177. package/dist/frontend/lowering/lower-exprs.d.ts +0 -78
  178. package/dist/frontend/lowering/lower-exprs.js +503 -2353
  179. package/dist/frontend/lowering/lower-exprs.js.map +1 -1
  180. package/dist/frontend/lowering/lower-generators.d.ts +18 -3
  181. package/dist/frontend/lowering/lower-generators.js +145 -9
  182. package/dist/frontend/lowering/lower-generators.js.map +1 -1
  183. package/dist/frontend/lowering/lower-inspect.js +10 -3
  184. package/dist/frontend/lowering/lower-inspect.js.map +1 -1
  185. package/dist/frontend/lowering/lower-island.d.ts +6 -0
  186. package/dist/frontend/lowering/lower-island.js +37 -5
  187. package/dist/frontend/lowering/lower-island.js.map +1 -1
  188. package/dist/frontend/lowering/lower-modules.js +60 -15
  189. package/dist/frontend/lowering/lower-modules.js.map +1 -1
  190. package/dist/frontend/lowering/lower-node-module.d.ts +18 -0
  191. package/dist/frontend/lowering/lower-node-module.js +302 -0
  192. package/dist/frontend/lowering/lower-node-module.js.map +1 -0
  193. package/dist/frontend/lowering/lower-server.js +1 -1
  194. package/dist/frontend/lowering/lower-server.js.map +1 -1
  195. package/dist/frontend/lowering/lower-stmts.d.ts +10 -28
  196. package/dist/frontend/lowering/lower-stmts.js +542 -259
  197. package/dist/frontend/lowering/lower-stmts.js.map +1 -1
  198. package/dist/frontend/lowering/lower-stream.js +4 -4
  199. package/dist/frontend/lowering/lower-stream.js.map +1 -1
  200. package/dist/frontend/lowering/lowerer.d.ts +41 -38
  201. package/dist/frontend/lowering/lowerer.js +148 -62
  202. package/dist/frontend/lowering/lowerer.js.map +1 -1
  203. package/dist/frontend/lowering/optional-arguments.d.ts +9 -0
  204. package/dist/frontend/lowering/optional-arguments.js +57 -0
  205. package/dist/frontend/lowering/optional-arguments.js.map +1 -0
  206. package/dist/frontend/lowering/surfaces.d.ts +5 -3
  207. package/dist/frontend/lowering/surfaces.js +33 -13
  208. package/dist/frontend/lowering/surfaces.js.map +1 -1
  209. package/dist/frontend/npm-static-declarations.d.ts +35 -0
  210. package/dist/frontend/npm-static-declarations.js +519 -0
  211. package/dist/frontend/npm-static-declarations.js.map +1 -0
  212. package/dist/frontend/npm-static-declarations.test.d.ts +1 -0
  213. package/dist/frontend/npm-static-declarations.test.js +132 -0
  214. package/dist/frontend/npm-static-declarations.test.js.map +1 -0
  215. package/dist/frontend/npm-static.d.ts +2 -0
  216. package/dist/frontend/npm-static.js +26 -10
  217. package/dist/frontend/npm-static.js.map +1 -1
  218. package/dist/frontend/npm.d.ts +60 -0
  219. package/dist/frontend/npm.js +38 -4
  220. package/dist/frontend/npm.js.map +1 -1
  221. package/dist/frontend/npm.test.d.ts +1 -0
  222. package/dist/frontend/npm.test.js +50 -0
  223. package/dist/frontend/npm.test.js.map +1 -0
  224. package/dist/frontend/program.d.ts +3 -2
  225. package/dist/frontend/program.js +513 -70
  226. package/dist/frontend/program.js.map +1 -1
  227. package/dist/frontend/resolve.d.ts +26 -3
  228. package/dist/frontend/resolve.js +166 -29
  229. package/dist/frontend/resolve.js.map +1 -1
  230. package/dist/frontend/resolve.test.js +24 -1
  231. package/dist/frontend/resolve.test.js.map +1 -1
  232. package/dist/frontend/runtime-resolve.d.ts +22 -0
  233. package/dist/frontend/runtime-resolve.js +101 -0
  234. package/dist/frontend/runtime-resolve.js.map +1 -0
  235. package/dist/frontend/runtime-resolve.test.d.ts +1 -0
  236. package/dist/frontend/runtime-resolve.test.js +18 -0
  237. package/dist/frontend/runtime-resolve.test.js.map +1 -0
  238. package/dist/frontend/ts7/adapter.js +12 -13
  239. package/dist/frontend/ts7/adapter.js.map +1 -1
  240. package/dist/frontend/ts7/ast.js.map +1 -1
  241. package/dist/frontend/ts7/census-check.js +3 -3
  242. package/dist/frontend/ts7/census-check.js.map +1 -1
  243. package/dist/frontend/ts7/checker.d.ts +3 -0
  244. package/dist/frontend/ts7/checker.js +12 -3
  245. package/dist/frontend/ts7/checker.js.map +1 -1
  246. package/dist/frontend/ts7/enums.js.map +1 -1
  247. package/dist/frontend/ts7/program-adapter.js +42 -3
  248. package/dist/frontend/ts7/program-adapter.js.map +1 -1
  249. package/dist/frontend/type-mapper.js +171 -16
  250. package/dist/frontend/type-mapper.js.map +1 -1
  251. package/dist/index.js +11 -5
  252. package/dist/index.js.map +1 -1
  253. package/dist/ir/analysis.js +1 -0
  254. package/dist/ir/analysis.js.map +1 -1
  255. package/dist/ir/ir.d.ts +125 -52
  256. package/dist/ir/ir.js +136 -7
  257. package/dist/ir/ir.js.map +1 -1
  258. package/dist/ir/serialize.d.ts +1 -1
  259. package/dist/ir/serialize.js +1 -1
  260. package/dist/ir/validate.js +120 -63
  261. package/dist/ir/validate.js.map +1 -1
  262. package/dist/library/cache-primitives.js.map +1 -1
  263. package/dist/library/cache-reset.test.js.map +1 -1
  264. package/dist/library/compiler-self-identity.js.map +1 -1
  265. package/dist/library/int-infer.js.map +1 -1
  266. package/dist/library/int-infer.test.js +4 -4
  267. package/dist/library/int-infer.test.js.map +1 -1
  268. package/dist/library/library-cache.d.ts +1 -0
  269. package/dist/library/library-cache.js +1 -0
  270. package/dist/library/library-cache.js.map +1 -1
  271. package/dist/library/library-cache.test.js +18 -5
  272. package/dist/library/library-cache.test.js.map +1 -1
  273. package/dist/library/library-profile.js.map +1 -1
  274. package/dist/library/sidecar-validate.js.map +1 -1
  275. package/dist/library/sidecar.js.map +1 -1
  276. package/dist/startup-cache.js.map +1 -1
  277. package/dist/wasi-paths.js.map +1 -1
  278. package/package.json +18 -18
  279. package/surface-manifest.json +91 -20
@@ -0,0 +1 @@
1
+ {"version":3,"file":"lower-async-iteration.js","sourceRoot":"","sources":["../../../src/frontend/lowering/lower-async-iteration.ts"],"names":[],"mappings":"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"}
@@ -2,6 +2,15 @@ import * as ts from "../ts7/adapter.js";
2
2
  import type { Lowerer } from "./lowerer.js";
3
3
  import { BuiltinModuleFn } from "./surfaces.js";
4
4
  import { IrExpr, IrType, SrcLoc } from "../../ir/ir.js";
5
+ /** timers/promises.setInterval(delay, value), the first Node API built on
6
+ * the generic async-generator protocol. The supported form has an explicit
7
+ * value and no AbortSignal options. It lowers to a generated typed async
8
+ * generator whose loop awaits the existing promise timeout then yields the
9
+ * retained value; creating the iterator remains lazy. */
10
+ export declare function lowerTimersPromisesSetInterval(lowerer: Lowerer, expr: ts.CallExpression, bi: {
11
+ module: string;
12
+ member: string;
13
+ }, loc: SrcLoc): IrExpr | null;
5
14
  /** Resolves an identifier to a supported builtin-module IMPORT BINDING:
6
15
  * a named import (through its alias, so `import { join as j }` matches)
7
16
  * whose declaration is an ImportSpecifier under a supported builtin
@@ -83,6 +92,15 @@ export declare function createRequireNamespaceDecl(lowerer: Lowerer, nameNode: t
83
92
  * embedded it) and reports the requires-dynamic diagnostic in a static
84
93
  * build. Null when the callee is not a createRequire require. */
85
94
  export declare function lowerCreateRequireCall(lowerer: Lowerer, call: ts.CallExpression, loc: SrcLoc): IrExpr | null;
95
+ /** import.meta.resolve("literal") folds through the runtime-module
96
+ * resolver, never TypeScript's declaration-file resolver. Relative and
97
+ * URL-like names remain valid even when no file exists; bare packages use
98
+ * Node's import-condition exports path. */
99
+ export declare function lowerImportMetaResolveCall(lowerer: Lowerer, call: ts.CallExpression): IrExpr | null;
100
+ /** CommonJS require.resolve and require.resolve.paths for the ambient
101
+ * wrapper or a supported createRequire binding. Results are build-time
102
+ * constants; failures lower to Node's catchable error object. */
103
+ export declare function lowerRequireResolveCall(lowerer: Lowerer, call: ts.CallExpression): IrExpr | null;
86
104
  /** `constants.NGHTTP2_CANCEL` / `constants.SSL_OP_NO_TICKET` (any baked-
87
105
  * constants spelling) → the literal; unknown members fence by name.
88
106
  * Null when the receiver is not a baked constants object (the property
@@ -174,13 +192,12 @@ export declare function lowerChildArgsArg(lowerer: Lowerer, node: ts.Expression
174
192
  * historical cp.spawnSync lowering. */
175
193
  export declare function lowerSpawnSyncCall(lowerer: Lowerer, expr: ts.CallExpression, loc: SrcLoc): IrExpr;
176
194
  /** `spawn(command, args?, options)` → one cp.spawn / cp.spawnOpts
177
- * libCall. The options argument must be an object LITERAL with an
178
- * EXPLICIT stdio — "ignore" or "inherit" as the scalar, or the 3-tuple
179
- * whose stdout/stderr slots may also be "pipe" (the child.stdout/
180
- * child.stderr streams) or number fds; piped STDIN fences, and
181
- * OMITTING the options means Node's default stdio, "pipe" on all
182
- * three — fenced too, so a program never silently loses its child's
183
- * output. The other lowered
195
+ * libCall. The options argument, when present, must be an object
196
+ * LITERAL. Stdio accepts "ignore", "inherit", or "pipe" as the scalar,
197
+ * or the 3-tuple whose stdin pipe becomes child.stdin, stdout/stderr
198
+ * pipes become child.stdout/child.stderr, and output slots may also be
199
+ * number fds. Omitting stdio uses Node's default: all three piped. The
200
+ * other lowered
184
201
  * members: `detached` (a boolean literal, inline or carried by the
185
202
  * conditional spread `...(c ? { detached: true } : {})` in either
186
203
  * orientation — POSIX_SPAWN_SETSID, the child gets its own session and
@@ -303,21 +320,14 @@ export declare function fencedBuiltinImportOf(lowerer: Lowerer, ident: ts.Identi
303
320
  /** The composed crypto pattern: `randomBytes(n).toString(enc)` lowers
304
321
  * as ONE string-producing libCall — the Buffer between the two calls
305
322
  * never exists at runtime. Only literal "hex"/"base64" encodings lower
306
- * (the runtime implements exactly those); everything else — including a
307
- * bare randomBytes(n) — fences with the Buffer story. Null when this
308
- * isn't a toString on a crypto.randomBytes call. */
323
+ * (the runtime implements exactly those); wider forms fall through to
324
+ * the ordinary Buffer lowering. Null when this is not a toString on a
325
+ * crypto.randomBytes call. */
309
326
  export declare function lowerCryptoComposedCall(lowerer: Lowerer, call: ts.CallExpression, access: ts.PropertyAccessExpression): IrExpr | null;
310
- /** The node:crypto introspection statics — build-time constants of the
311
- * compiled runtime, baked at the call site (the http2.constants stance
312
- * extended to calls): getFips() answers 0 (no FIPS provider can ever
313
- * load into a compiled binary — Node's own answer for a non-FIPS
314
- * build), and getCiphers()/getHashes()/getCurves() answer Node v24's
315
- * name lists as fresh string[] literals. The lists are INTROSPECTION
316
- * data (Node's contract is "names the provider recognizes"); the
317
- * operations behind the names keep their per-member fences — a program
318
- * that probes the list and then constructs a cipher fences at the
319
- * construction site, never here. Null for other members (the dispatch
320
- * keeps trying). */
327
+ /** The node:crypto utility and introspection statics. Hash/Hmac are real
328
+ * native handles; one-shot hashing, constant-time equality, random-fill/
329
+ * integer, and PBKDF2 share the same runtime primitives as the island.
330
+ * The name lists remain build-time constants. */
321
331
  export declare function lowerCryptoModuleCall(lowerer: Lowerer, expr: ts.CallExpression, bi: {
322
332
  module: string;
323
333
  member: string;
@@ -360,6 +370,10 @@ export declare function lowerFileHandleMethodCall(lowerer: Lowerer, call: ts.Cal
360
370
  * (mtime, mode, ...) fences member-qualified. Null for non-Stats
361
371
  * receivers. */
362
372
  export declare function lowerStatsMethodCall(lowerer: Lowerer, call: ts.CallExpression, access: ts.PropertyAccessExpression): IrExpr | null;
373
+ /** Calls on native crypto.Hash/Hmac handles. The handle survives locals,
374
+ * aliases, loops, and returns; update() retains and returns the receiver,
375
+ * digest() finalizes it, and Hash.copy() snapshots the incremental state. */
376
+ export declare function lowerCryptoHashMethodCall(lowerer: Lowerer, call: ts.CallExpression, access: ts.PropertyAccessExpression): IrExpr | null;
363
377
  /** `Atomics.wait(int32Array, idx, expected, timeoutMs)` — the
364
378
  * synchronous-sleep idiom (RouteStore's
365
379
  * `Atomics.wait(sleepBuffer, 0, 0, ms)`): scriptc has no threads, so
@@ -404,6 +418,11 @@ export declare function lowerChildMethodCall(lowerer: Lowerer, call: ts.CallExpr
404
418
  * @types/node declares on Readable fences member-qualified. Null for
405
419
  * non-stream receivers. */
406
420
  export declare function lowerChildStreamMethodCall(lowerer: Lowerer, call: ts.CallExpression, access: ts.PropertyAccessExpression): IrExpr | null;
421
+ /** Method calls on a piped child stdin writer. Writes copy one string or
422
+ * Uint8Array into the nonblocking runtime queue and return the backpressure
423
+ * signal. end()/destroy() are statement-only, as are drain/finish/error
424
+ * listener registrations; unsupported callbacks/encodings stay fenced. */
425
+ export declare function lowerChildWriterMethodCall(lowerer: Lowerer, call: ts.CallExpression, access: ts.PropertyAccessExpression): IrExpr | null;
407
426
  /** Method calls on first-class process-stream receivers (procStream —
408
427
  * a WritableStream-typed value like prefixStream's `output` param):
409
428
  * write(data) with one string, dispatched at runtime onto the exact