@scriptc/compiler 0.4.2 → 0.4.4

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (726) hide show
  1. package/ambient/scriptc-node-fallback.d.ts +470 -66
  2. package/dist/backend/cycle-analysis.d.ts +4 -1
  3. package/dist/backend/cycle-analysis.js +6 -4
  4. package/dist/backend/cycle-analysis.js.map +1 -1
  5. package/dist/backend/cycle-analysis.test.js +55 -0
  6. package/dist/backend/cycle-analysis.test.js.map +1 -1
  7. package/dist/backend/cycle-mutability.d.ts +7 -0
  8. package/dist/backend/cycle-mutability.js +19 -1
  9. package/dist/backend/cycle-mutability.js.map +1 -1
  10. package/dist/backend/executable-features.js +2 -0
  11. package/dist/backend/executable-features.js.map +1 -1
  12. package/dist/backend/immutability.d.ts +6 -3
  13. package/dist/backend/immutability.js +33 -29
  14. package/dist/backend/immutability.js.map +1 -1
  15. package/dist/backend/library-pack.js +1 -0
  16. package/dist/backend/library-pack.js.map +1 -1
  17. package/dist/backend/llvm/alloc.d.ts +16 -1
  18. package/dist/backend/llvm/alloc.js +54 -4
  19. package/dist/backend/llvm/alloc.js.map +1 -1
  20. package/dist/backend/llvm/appended-array-literals.d.ts +2 -1
  21. package/dist/backend/llvm/appended-array-literals.js +44 -36
  22. package/dist/backend/llvm/appended-array-literals.js.map +1 -1
  23. package/dist/backend/llvm/appended-array-literals.test.js +4 -3
  24. package/dist/backend/llvm/appended-array-literals.test.js.map +1 -1
  25. package/dist/backend/llvm/array-search.d.ts +4 -3
  26. package/dist/backend/llvm/array-search.js +21 -9
  27. package/dist/backend/llvm/array-search.js.map +1 -1
  28. package/dist/backend/llvm/blocks.d.ts +1 -1
  29. package/dist/backend/llvm/blocks.js +2 -2
  30. package/dist/backend/llvm/blocks.js.map +1 -1
  31. package/dist/backend/llvm/byte-windows.js +2 -0
  32. package/dist/backend/llvm/byte-windows.js.map +1 -1
  33. package/dist/backend/llvm/bytes-alias.d.ts +6 -1
  34. package/dist/backend/llvm/bytes-alias.js +8 -2
  35. package/dist/backend/llvm/bytes-alias.js.map +1 -1
  36. package/dist/backend/llvm/bytes-loop-versions.d.ts +47 -5
  37. package/dist/backend/llvm/bytes-loop-versions.js +479 -32
  38. package/dist/backend/llvm/bytes-loop-versions.js.map +1 -1
  39. package/dist/backend/llvm/bytes-loop-versions.test.js +263 -2
  40. package/dist/backend/llvm/bytes-loop-versions.test.js.map +1 -1
  41. package/dist/backend/llvm/checked-value-lifetimes.js +2 -0
  42. package/dist/backend/llvm/checked-value-lifetimes.js.map +1 -1
  43. package/dist/backend/llvm/classes.d.ts +7 -5
  44. package/dist/backend/llvm/classes.js +44 -20
  45. package/dist/backend/llvm/classes.js.map +1 -1
  46. package/dist/backend/llvm/classes.test.js +167 -7
  47. package/dist/backend/llvm/classes.test.js.map +1 -1
  48. package/dist/backend/llvm/common.d.ts +9 -3
  49. package/dist/backend/llvm/common.js +9 -3
  50. package/dist/backend/llvm/common.js.map +1 -1
  51. package/dist/backend/llvm/constant-callbacks.d.ts +2 -1
  52. package/dist/backend/llvm/constant-callbacks.js +83 -52
  53. package/dist/backend/llvm/constant-callbacks.js.map +1 -1
  54. package/dist/backend/llvm/counted-loops.d.ts +7 -0
  55. package/dist/backend/llvm/counted-loops.js +18 -0
  56. package/dist/backend/llvm/counted-loops.js.map +1 -1
  57. package/dist/backend/llvm/debug-info.js +2 -5
  58. package/dist/backend/llvm/debug-info.js.map +1 -1
  59. package/dist/backend/llvm/dense-array-access.d.ts +39 -8
  60. package/dist/backend/llvm/dense-array-access.js +222 -52
  61. package/dist/backend/llvm/dense-array-access.js.map +1 -1
  62. package/dist/backend/llvm/dense-array-access.test.js +36 -0
  63. package/dist/backend/llvm/dense-array-access.test.js.map +1 -1
  64. package/dist/backend/llvm/dense-array-loops.d.ts +17 -1
  65. package/dist/backend/llvm/dense-array-loops.js +194 -5
  66. package/dist/backend/llvm/dense-array-loops.js.map +1 -1
  67. package/dist/backend/llvm/dense-array-loops.test.js +90 -1
  68. package/dist/backend/llvm/dense-array-loops.test.js.map +1 -1
  69. package/dist/backend/llvm/dyn-handle-tags.test.js +6 -1
  70. package/dist/backend/llvm/dyn-handle-tags.test.js.map +1 -1
  71. package/dist/backend/llvm/dyn.d.ts +30 -0
  72. package/dist/backend/llvm/dyn.js +373 -70
  73. package/dist/backend/llvm/dyn.js.map +1 -1
  74. package/dist/backend/llvm/emit-function.js +13 -28
  75. package/dist/backend/llvm/emit-function.js.map +1 -1
  76. package/dist/backend/llvm/emit-journal.d.ts +93 -0
  77. package/dist/backend/llvm/emit-journal.js +170 -0
  78. package/dist/backend/llvm/emit-journal.js.map +1 -0
  79. package/dist/backend/llvm/emit-module.js +211 -33
  80. package/dist/backend/llvm/emit-module.js.map +1 -1
  81. package/dist/backend/llvm/emit-statements.d.ts +0 -4
  82. package/dist/backend/llvm/emit-statements.js +268 -84
  83. package/dist/backend/llvm/emit-statements.js.map +1 -1
  84. package/dist/backend/llvm/emitter-state.d.ts +7 -0
  85. package/dist/backend/llvm/emitter-state.js +14 -0
  86. package/dist/backend/llvm/emitter-state.js.map +1 -0
  87. package/dist/backend/llvm/emitter.d.ts +186 -37
  88. package/dist/backend/llvm/emitter.js +733 -90
  89. package/dist/backend/llvm/emitter.js.map +1 -1
  90. package/dist/backend/llvm/emitter.test.js +65 -7
  91. package/dist/backend/llvm/emitter.test.js.map +1 -1
  92. package/dist/backend/llvm/expr-async.js +11 -13
  93. package/dist/backend/llvm/expr-async.js.map +1 -1
  94. package/dist/backend/llvm/expr-bytes.js +48 -20
  95. package/dist/backend/llvm/expr-bytes.js.map +1 -1
  96. package/dist/backend/llvm/expr-callbacks.js +47 -0
  97. package/dist/backend/llvm/expr-callbacks.js.map +1 -1
  98. package/dist/backend/llvm/expr-calls.js +28 -14
  99. package/dist/backend/llvm/expr-calls.js.map +1 -1
  100. package/dist/backend/llvm/expr-containers.d.ts +14 -2
  101. package/dist/backend/llvm/expr-containers.js +143 -37
  102. package/dist/backend/llvm/expr-containers.js.map +1 -1
  103. package/dist/backend/llvm/expr-context.d.ts +14 -0
  104. package/dist/backend/llvm/expr-dynamic.js +18 -11
  105. package/dist/backend/llvm/expr-dynamic.js.map +1 -1
  106. package/dist/backend/llvm/expr-primitives.js +119 -38
  107. package/dist/backend/llvm/expr-primitives.js.map +1 -1
  108. package/dist/backend/llvm/expr-primitives.test.js +11 -6
  109. package/dist/backend/llvm/expr-primitives.test.js.map +1 -1
  110. package/dist/backend/llvm/expr-records.d.ts +12 -0
  111. package/dist/backend/llvm/expr-records.js +106 -0
  112. package/dist/backend/llvm/expr-records.js.map +1 -1
  113. package/dist/backend/llvm/expr-stream-bridges.d.ts +2 -2
  114. package/dist/backend/llvm/expr-stream-bridges.js +210 -69
  115. package/dist/backend/llvm/expr-stream-bridges.js.map +1 -1
  116. package/dist/backend/llvm/expr-stream-bridges.test.js +1 -1
  117. package/dist/backend/llvm/expr-stream-bridges.test.js.map +1 -1
  118. package/dist/backend/llvm/expr-stream-callbacks.d.ts +2 -2
  119. package/dist/backend/llvm/expr-stream-callbacks.js +74 -20
  120. package/dist/backend/llvm/expr-stream-callbacks.js.map +1 -1
  121. package/dist/backend/llvm/int32-kind-loops.d.ts +39 -0
  122. package/dist/backend/llvm/int32-kind-loops.js +106 -0
  123. package/dist/backend/llvm/int32-kind-loops.js.map +1 -0
  124. package/dist/backend/llvm/integer-or-nan-indexes.test.d.ts +1 -0
  125. package/dist/backend/llvm/integer-or-nan-indexes.test.js +118 -0
  126. package/dist/backend/llvm/integer-or-nan-indexes.test.js.map +1 -0
  127. package/dist/backend/llvm/integer-values.d.ts +25 -1
  128. package/dist/backend/llvm/integer-values.js +95 -0
  129. package/dist/backend/llvm/integer-values.js.map +1 -1
  130. package/dist/backend/llvm/js-ic.d.ts +1 -1
  131. package/dist/backend/llvm/js-ic.js +1 -1
  132. package/dist/backend/llvm/js-ic.js.map +1 -1
  133. package/dist/backend/llvm/key-orders.d.ts +7 -0
  134. package/dist/backend/llvm/key-orders.js +33 -0
  135. package/dist/backend/llvm/key-orders.js.map +1 -0
  136. package/dist/backend/llvm/lib-connect.js +4 -0
  137. package/dist/backend/llvm/lib-connect.js.map +1 -1
  138. package/dist/backend/llvm/lib-datagram.js +11 -0
  139. package/dist/backend/llvm/lib-datagram.js.map +1 -1
  140. package/dist/backend/llvm/lib-dispatch.js +213 -5
  141. package/dist/backend/llvm/lib-dispatch.js.map +1 -1
  142. package/dist/backend/llvm/lib-filesystem.js +4 -4
  143. package/dist/backend/llvm/lib-filesystem.js.map +1 -1
  144. package/dist/backend/llvm/lib-http2.js +4 -0
  145. package/dist/backend/llvm/lib-http2.js.map +1 -1
  146. package/dist/backend/llvm/lib-lookup.js +16 -6
  147. package/dist/backend/llvm/lib-lookup.js.map +1 -1
  148. package/dist/backend/llvm/lib-process.js +37 -1
  149. package/dist/backend/llvm/lib-process.js.map +1 -1
  150. package/dist/backend/llvm/lib-shared.js +94 -2
  151. package/dist/backend/llvm/lib-shared.js.map +1 -1
  152. package/dist/backend/llvm/lib-stream.js +35 -5
  153. package/dist/backend/llvm/lib-stream.js.map +1 -1
  154. package/dist/backend/llvm/local-array-reads.js +115 -19
  155. package/dist/backend/llvm/local-array-reads.js.map +1 -1
  156. package/dist/backend/llvm/local-array-reads.test.js +14 -0
  157. package/dist/backend/llvm/local-array-reads.test.js.map +1 -1
  158. package/dist/backend/llvm/loop-state.d.ts +33 -0
  159. package/dist/backend/llvm/loop-state.js +42 -0
  160. package/dist/backend/llvm/loop-state.js.map +1 -0
  161. package/dist/backend/llvm/map-number-lookup.d.ts +26 -8
  162. package/dist/backend/llvm/map-number-lookup.js +91 -31
  163. package/dist/backend/llvm/map-number-lookup.js.map +1 -1
  164. package/dist/backend/llvm/map-number-lookup.test.js +55 -0
  165. package/dist/backend/llvm/map-number-lookup.test.js.map +1 -1
  166. package/dist/backend/llvm/map-read-lifetimes.js +4 -2
  167. package/dist/backend/llvm/map-read-lifetimes.js.map +1 -1
  168. package/dist/backend/llvm/nullable-unions.d.ts +2 -1
  169. package/dist/backend/llvm/nullable-unions.js +15 -3
  170. package/dist/backend/llvm/nullable-unions.js.map +1 -1
  171. package/dist/backend/llvm/publish.d.ts +10 -0
  172. package/dist/backend/llvm/publish.js +15 -3
  173. package/dist/backend/llvm/publish.js.map +1 -1
  174. package/dist/backend/llvm/receivers.js +6 -1
  175. package/dist/backend/llvm/receivers.js.map +1 -1
  176. package/dist/backend/llvm/record-results.d.ts +1 -9
  177. package/dist/backend/llvm/record-results.js +2 -11
  178. package/dist/backend/llvm/record-results.js.map +1 -1
  179. package/dist/backend/llvm/reference-effects.js +3 -0
  180. package/dist/backend/llvm/reference-effects.js.map +1 -1
  181. package/dist/backend/llvm/reference-writes.d.ts +7 -2
  182. package/dist/backend/llvm/reference-writes.js +89 -72
  183. package/dist/backend/llvm/reference-writes.js.map +1 -1
  184. package/dist/backend/llvm/running-extrema.d.ts +11 -0
  185. package/dist/backend/llvm/running-extrema.js +115 -0
  186. package/dist/backend/llvm/running-extrema.js.map +1 -0
  187. package/dist/backend/llvm/running-extrema.test.d.ts +1 -0
  188. package/dist/backend/llvm/running-extrema.test.js +89 -0
  189. package/dist/backend/llvm/running-extrema.test.js.map +1 -0
  190. package/dist/backend/llvm/shapes.d.ts +71 -15
  191. package/dist/backend/llvm/shapes.js +224 -40
  192. package/dist/backend/llvm/shapes.js.map +1 -1
  193. package/dist/backend/llvm/shapes.test.js +53 -7
  194. package/dist/backend/llvm/shapes.test.js.map +1 -1
  195. package/dist/backend/llvm/speculative-integers.d.ts +6 -0
  196. package/dist/backend/llvm/speculative-integers.js +2 -2
  197. package/dist/backend/llvm/speculative-integers.js.map +1 -1
  198. package/dist/backend/llvm/stack-captures.js +1 -5
  199. package/dist/backend/llvm/stack-captures.js.map +1 -1
  200. package/dist/backend/llvm/stack-objects.d.ts +3 -2
  201. package/dist/backend/llvm/stack-objects.js +5 -2
  202. package/dist/backend/llvm/stack-objects.js.map +1 -1
  203. package/dist/backend/llvm/string-reads.d.ts +12 -0
  204. package/dist/backend/llvm/string-reads.js +44 -0
  205. package/dist/backend/llvm/string-reads.js.map +1 -1
  206. package/dist/backend/llvm/union-repr.d.ts +4 -3
  207. package/dist/backend/llvm/union-repr.js +6 -5
  208. package/dist/backend/llvm/union-repr.js.map +1 -1
  209. package/dist/backend/llvm/walk-borrows.d.ts +3 -0
  210. package/dist/backend/llvm/walk-borrows.js +46 -41
  211. package/dist/backend/llvm/walk-borrows.js.map +1 -1
  212. package/dist/backend/llvm/walkers.d.ts +3 -0
  213. package/dist/backend/llvm/walkers.js +101 -65
  214. package/dist/backend/llvm/walkers.js.map +1 -1
  215. package/dist/backend/llvm/wrapping-sums.d.ts +16 -1
  216. package/dist/backend/llvm/wrapping-sums.js +126 -0
  217. package/dist/backend/llvm/wrapping-sums.js.map +1 -1
  218. package/dist/backend/may-throw.d.ts +8 -10
  219. package/dist/backend/may-throw.js +14 -10
  220. package/dist/backend/may-throw.js.map +1 -1
  221. package/dist/backend/native/contracts.d.ts +5 -0
  222. package/dist/backend/native/executable.js +7 -0
  223. package/dist/backend/native/executable.js.map +1 -1
  224. package/dist/backend/native/runtime-inputs.d.ts +1 -1
  225. package/dist/backend/native/runtime-inputs.js +1 -0
  226. package/dist/backend/native/runtime-inputs.js.map +1 -1
  227. package/dist/backend/native-codegen-core.d.ts +5 -3
  228. package/dist/backend/native-codegen-core.js +13 -6
  229. package/dist/backend/native-codegen-core.js.map +1 -1
  230. package/dist/backend/native-codegen.test.js +6 -4
  231. package/dist/backend/native-codegen.test.js.map +1 -1
  232. package/dist/backend/native-link-info-core.d.ts +4 -0
  233. package/dist/backend/native-link-info-core.js.map +1 -1
  234. package/dist/backend/publication.d.ts +12 -1
  235. package/dist/backend/publication.js +37 -14
  236. package/dist/backend/publication.js.map +1 -1
  237. package/dist/backend/publication.test.js +30 -0
  238. package/dist/backend/publication.test.js.map +1 -1
  239. package/dist/backend/result-slots.d.ts +16 -0
  240. package/dist/backend/result-slots.js +23 -0
  241. package/dist/backend/result-slots.js.map +1 -0
  242. package/dist/backend/runtime-abi.d.ts +2 -2
  243. package/dist/backend/runtime-abi.js +2 -2
  244. package/dist/backend/runtime-pack-core.d.ts +1 -0
  245. package/dist/backend/runtime-pack-core.js +1 -0
  246. package/dist/backend/runtime-pack-core.js.map +1 -1
  247. package/dist/backend/runtime-pack-targets.test.js +2 -1
  248. package/dist/backend/runtime-pack-targets.test.js.map +1 -1
  249. package/dist/backend/runtime-pack.test.js +2 -1
  250. package/dist/backend/runtime-pack.test.js.map +1 -1
  251. package/dist/backend/stack-observations.d.ts +2 -1
  252. package/dist/backend/stack-observations.js +67 -42
  253. package/dist/backend/stack-observations.js.map +1 -1
  254. package/dist/backend/target-cpu.d.ts +26 -0
  255. package/dist/backend/target-cpu.js +98 -0
  256. package/dist/backend/target-cpu.js.map +1 -0
  257. package/dist/backend/target-cpu.test.d.ts +1 -0
  258. package/dist/backend/target-cpu.test.js +38 -0
  259. package/dist/backend/target-cpu.test.js.map +1 -0
  260. package/dist/backend/target-diagnostics.js +5 -3
  261. package/dist/backend/target-diagnostics.js.map +1 -1
  262. package/dist/backend/warm-cache.js +1 -0
  263. package/dist/backend/warm-cache.js.map +1 -1
  264. package/dist/cli/command.js +20 -1
  265. package/dist/cli/command.js.map +1 -1
  266. package/dist/cli/usage.d.ts +4 -1
  267. package/dist/cli/usage.js +10 -3
  268. package/dist/cli/usage.js.map +1 -1
  269. package/dist/compat/fetch-profile.js +1 -1
  270. package/dist/compat/fetch-profile.js.map +1 -1
  271. package/dist/compile-types.d.ts +7 -0
  272. package/dist/contracts/check.js +4 -3
  273. package/dist/contracts/check.js.map +1 -1
  274. package/dist/contracts/int32-elements.js +10 -2
  275. package/dist/contracts/int32-elements.js.map +1 -1
  276. package/dist/coverage/report.js +12 -3
  277. package/dist/coverage/report.js.map +1 -1
  278. package/dist/diagnostics/diagnostic.d.ts +4 -0
  279. package/dist/diagnostics/diagnostic.js +1 -1
  280. package/dist/diagnostics/diagnostic.js.map +1 -1
  281. package/dist/diagnostics/envelope.d.ts +3 -0
  282. package/dist/diagnostics/envelope.js +1 -0
  283. package/dist/diagnostics/envelope.js.map +1 -1
  284. package/dist/executable/executable-cache.d.ts +5 -0
  285. package/dist/executable/executable-cache.js +5 -0
  286. package/dist/executable/executable-cache.js.map +1 -1
  287. package/dist/executable/executable-cache.test.js +3 -0
  288. package/dist/executable/executable-cache.test.js.map +1 -1
  289. package/dist/frontend/decl-projection.d.ts +41 -0
  290. package/dist/frontend/decl-projection.js +949 -0
  291. package/dist/frontend/decl-projection.js.map +1 -0
  292. package/dist/frontend/decl-projection.test.d.ts +1 -0
  293. package/dist/frontend/decl-projection.test.js +30 -0
  294. package/dist/frontend/decl-projection.test.js.map +1 -0
  295. package/dist/frontend/dts-paths.d.ts +15 -0
  296. package/dist/frontend/dts-paths.js +25 -0
  297. package/dist/frontend/dts-paths.js.map +1 -1
  298. package/dist/frontend/input-tracker.d.ts +6 -0
  299. package/dist/frontend/input-tracker.js +51 -28
  300. package/dist/frontend/input-tracker.js.map +1 -1
  301. package/dist/frontend/input-tracker.test.js +19 -0
  302. package/dist/frontend/input-tracker.test.js.map +1 -1
  303. package/dist/frontend/lowering/array-values.js +100 -2
  304. package/dist/frontend/lowering/array-values.js.map +1 -1
  305. package/dist/frontend/lowering/builtins/async-context.d.ts +8 -2
  306. package/dist/frontend/lowering/builtins/async-context.js +62 -3
  307. package/dist/frontend/lowering/builtins/async-context.js.map +1 -1
  308. package/dist/frontend/lowering/builtins/child-process-methods.js +46 -15
  309. package/dist/frontend/lowering/builtins/child-process-methods.js.map +1 -1
  310. package/dist/frontend/lowering/builtins/child-process.js +13 -2
  311. package/dist/frontend/lowering/builtins/child-process.js.map +1 -1
  312. package/dist/frontend/lowering/builtins/crypto.js +87 -10
  313. package/dist/frontend/lowering/builtins/crypto.js.map +1 -1
  314. package/dist/frontend/lowering/builtins/dates.js +4 -1
  315. package/dist/frontend/lowering/builtins/dates.js.map +1 -1
  316. package/dist/frontend/lowering/builtins/filesystem-calls.js +3 -3
  317. package/dist/frontend/lowering/builtins/filesystem-calls.js.map +1 -1
  318. package/dist/frontend/lowering/builtins/fs-glob.js +6 -3
  319. package/dist/frontend/lowering/builtins/fs-glob.js.map +1 -1
  320. package/dist/frontend/lowering/builtins/fs-paths.d.ts +43 -5
  321. package/dist/frontend/lowering/builtins/fs-paths.js +245 -93
  322. package/dist/frontend/lowering/builtins/fs-paths.js.map +1 -1
  323. package/dist/frontend/lowering/builtins/global-namespace-keys.d.ts +3 -0
  324. package/dist/frontend/lowering/builtins/global-namespace-keys.js +122 -0
  325. package/dist/frontend/lowering/builtins/global-namespace-keys.js.map +1 -0
  326. package/dist/frontend/lowering/builtins/module-calls.js +6 -3
  327. package/dist/frontend/lowering/builtins/module-calls.js.map +1 -1
  328. package/dist/frontend/lowering/builtins/numbers.js +9 -1
  329. package/dist/frontend/lowering/builtins/numbers.js.map +1 -1
  330. package/dist/frontend/lowering/builtins/promises.d.ts +7 -1
  331. package/dist/frontend/lowering/builtins/promises.js +236 -139
  332. package/dist/frontend/lowering/builtins/promises.js.map +1 -1
  333. package/dist/frontend/lowering/builtins/readline.d.ts +5 -1
  334. package/dist/frontend/lowering/builtins/readline.js +35 -3
  335. package/dist/frontend/lowering/builtins/readline.js.map +1 -1
  336. package/dist/frontend/lowering/builtins/url.js +24 -1
  337. package/dist/frontend/lowering/builtins/url.js.map +1 -1
  338. package/dist/frontend/lowering/builtins/webassembly.js +6 -3
  339. package/dist/frontend/lowering/builtins/webassembly.js.map +1 -1
  340. package/dist/frontend/lowering/call-signatures.js +0 -1
  341. package/dist/frontend/lowering/call-signatures.js.map +1 -1
  342. package/dist/frontend/lowering/cjs-exports-object.js +1 -1
  343. package/dist/frontend/lowering/cjs-exports-object.js.map +1 -1
  344. package/dist/frontend/lowering/cjs-inline-require.d.ts +32 -0
  345. package/dist/frontend/lowering/cjs-inline-require.js +307 -4
  346. package/dist/frontend/lowering/cjs-inline-require.js.map +1 -1
  347. package/dist/frontend/lowering/class-callbacks.d.ts +5 -2
  348. package/dist/frontend/lowering/class-callbacks.js +82 -12
  349. package/dist/frontend/lowering/class-callbacks.js.map +1 -1
  350. package/dist/frontend/lowering/class-construction.d.ts +4 -1
  351. package/dist/frontend/lowering/class-construction.js +17 -3
  352. package/dist/frontend/lowering/class-construction.js.map +1 -1
  353. package/dist/frontend/lowering/class-dynamic-dispatch.d.ts +49 -2
  354. package/dist/frontend/lowering/class-dynamic-dispatch.js +880 -108
  355. package/dist/frontend/lowering/class-dynamic-dispatch.js.map +1 -1
  356. package/dist/frontend/lowering/class-dynamic-dispatch.test.js +47 -0
  357. package/dist/frontend/lowering/class-dynamic-dispatch.test.js.map +1 -1
  358. package/dist/frontend/lowering/class-iterables.d.ts +2 -1
  359. package/dist/frontend/lowering/class-iterables.js +9 -1
  360. package/dist/frontend/lowering/class-iterables.js.map +1 -1
  361. package/dist/frontend/lowering/class-method-mutations.js +83 -24
  362. package/dist/frontend/lowering/class-method-mutations.js.map +1 -1
  363. package/dist/frontend/lowering/class-protocols.d.ts +25 -0
  364. package/dist/frontend/lowering/class-protocols.js +183 -1
  365. package/dist/frontend/lowering/class-protocols.js.map +1 -1
  366. package/dist/frontend/lowering/class-prototypes.js +31 -2
  367. package/dist/frontend/lowering/class-prototypes.js.map +1 -1
  368. package/dist/frontend/lowering/class-runtime-statics.d.ts +9 -3
  369. package/dist/frontend/lowering/class-runtime-statics.js +29 -4
  370. package/dist/frontend/lowering/class-runtime-statics.js.map +1 -1
  371. package/dist/frontend/lowering/coercions/structural-plans.js +48 -1
  372. package/dist/frontend/lowering/coercions/structural-plans.js.map +1 -1
  373. package/dist/frontend/lowering/coercions/structural.js +91 -1
  374. package/dist/frontend/lowering/coercions/structural.js.map +1 -1
  375. package/dist/frontend/lowering/completion-callbacks.d.ts +4 -0
  376. package/dist/frontend/lowering/completion-callbacks.js +146 -0
  377. package/dist/frontend/lowering/completion-callbacks.js.map +1 -0
  378. package/dist/frontend/lowering/containers/array-callback-call.js +2 -2
  379. package/dist/frontend/lowering/containers/array-callback-call.js.map +1 -1
  380. package/dist/frontend/lowering/containers/array-callbacks.d.ts +5 -4
  381. package/dist/frontend/lowering/containers/array-callbacks.js +345 -24
  382. package/dist/frontend/lowering/containers/array-callbacks.js.map +1 -1
  383. package/dist/frontend/lowering/containers/array-concat.js +10 -0
  384. package/dist/frontend/lowering/containers/array-concat.js.map +1 -1
  385. package/dist/frontend/lowering/containers/array-construction.js +5 -0
  386. package/dist/frontend/lowering/containers/array-construction.js.map +1 -1
  387. package/dist/frontend/lowering/containers/array-methods.js +26 -3
  388. package/dist/frontend/lowering/containers/array-methods.js.map +1 -1
  389. package/dist/frontend/lowering/containers/array-pipelines.js +19 -8
  390. package/dist/frontend/lowering/containers/array-pipelines.js.map +1 -1
  391. package/dist/frontend/lowering/containers/bytes.d.ts +25 -17
  392. package/dist/frontend/lowering/containers/bytes.js +455 -46
  393. package/dist/frontend/lowering/containers/bytes.js.map +1 -1
  394. package/dist/frontend/lowering/containers/callback-arguments.js +3 -0
  395. package/dist/frontend/lowering/containers/callback-arguments.js.map +1 -1
  396. package/dist/frontend/lowering/containers/collection-methods.js +7 -2
  397. package/dist/frontend/lowering/containers/collection-methods.js.map +1 -1
  398. package/dist/frontend/lowering/containers/filter-predicates.d.ts +6 -0
  399. package/dist/frontend/lowering/containers/filter-predicates.js +205 -0
  400. package/dist/frontend/lowering/containers/filter-predicates.js.map +1 -0
  401. package/dist/frontend/lowering/containers/indexed-objects.d.ts +0 -12
  402. package/dist/frontend/lowering/containers/indexed-objects.js +46 -7
  403. package/dist/frontend/lowering/containers/indexed-objects.js.map +1 -1
  404. package/dist/frontend/lowering/containers/string-and-regexp.js +55 -9
  405. package/dist/frontend/lowering/containers/string-and-regexp.js.map +1 -1
  406. package/dist/frontend/lowering/containers/string-replacement.js +43 -19
  407. package/dist/frontend/lowering/containers/string-replacement.js.map +1 -1
  408. package/dist/frontend/lowering/date-values.d.ts +11 -0
  409. package/dist/frontend/lowering/date-values.js +207 -0
  410. package/dist/frontend/lowering/date-values.js.map +1 -0
  411. package/dist/frontend/lowering/dispatch-sites.js +15 -1
  412. package/dist/frontend/lowering/dispatch-sites.js.map +1 -1
  413. package/dist/frontend/lowering/divergences.js +9 -1
  414. package/dist/frontend/lowering/divergences.js.map +1 -1
  415. package/dist/frontend/lowering/error-methods.js +47 -2
  416. package/dist/frontend/lowering/error-methods.js.map +1 -1
  417. package/dist/frontend/lowering/expressions/array-literals.js +53 -0
  418. package/dist/frontend/lowering/expressions/array-literals.js.map +1 -1
  419. package/dist/frontend/lowering/expressions/binary.js +100 -28
  420. package/dist/frontend/lowering/expressions/binary.js.map +1 -1
  421. package/dist/frontend/lowering/expressions/element-access.js +169 -13
  422. package/dist/frontend/lowering/expressions/element-access.js.map +1 -1
  423. package/dist/frontend/lowering/expressions/identifiers.js +64 -5
  424. package/dist/frontend/lowering/expressions/identifiers.js.map +1 -1
  425. package/dist/frontend/lowering/expressions/narrowing.js +95 -1
  426. package/dist/frontend/lowering/expressions/narrowing.js.map +1 -1
  427. package/dist/frontend/lowering/expressions/nullish-assignment.js +3 -1
  428. package/dist/frontend/lowering/expressions/nullish-assignment.js.map +1 -1
  429. package/dist/frontend/lowering/expressions/object-literals.d.ts +10 -0
  430. package/dist/frontend/lowering/expressions/object-literals.js +138 -51
  431. package/dist/frontend/lowering/expressions/object-literals.js.map +1 -1
  432. package/dist/frontend/lowering/expressions/optional-chains.js +12 -0
  433. package/dist/frontend/lowering/expressions/optional-chains.js.map +1 -1
  434. package/dist/frontend/lowering/expressions/property-access.js +168 -10
  435. package/dist/frontend/lowering/expressions/property-access.js.map +1 -1
  436. package/dist/frontend/lowering/expressions/relational.js +212 -33
  437. package/dist/frontend/lowering/expressions/relational.js.map +1 -1
  438. package/dist/frontend/lowering/expressions/typeof.js +6 -0
  439. package/dist/frontend/lowering/expressions/typeof.js.map +1 -1
  440. package/dist/frontend/lowering/expressions/union-fields.js +4 -0
  441. package/dist/frontend/lowering/expressions/union-fields.js.map +1 -1
  442. package/dist/frontend/lowering/expressions/updates.js +39 -3
  443. package/dist/frontend/lowering/expressions/updates.js.map +1 -1
  444. package/dist/frontend/lowering/frozen-records.d.ts +28 -0
  445. package/dist/frontend/lowering/frozen-records.js +322 -0
  446. package/dist/frontend/lowering/frozen-records.js.map +1 -0
  447. package/dist/frontend/lowering/function-returns.js +64 -0
  448. package/dist/frontend/lowering/function-returns.js.map +1 -1
  449. package/dist/frontend/lowering/generic-functions.js +7 -2
  450. package/dist/frontend/lowering/generic-functions.js.map +1 -1
  451. package/dist/frontend/lowering/indexed-unions.d.ts +54 -0
  452. package/dist/frontend/lowering/indexed-unions.js +401 -0
  453. package/dist/frontend/lowering/indexed-unions.js.map +1 -0
  454. package/dist/frontend/lowering/iterable-values.d.ts +49 -0
  455. package/dist/frontend/lowering/iterable-values.js +297 -0
  456. package/dist/frontend/lowering/iterable-values.js.map +1 -0
  457. package/dist/frontend/lowering/iterator-adapters.js +186 -1
  458. package/dist/frontend/lowering/iterator-adapters.js.map +1 -1
  459. package/dist/frontend/lowering/js-class-fields.d.ts +8 -0
  460. package/dist/frontend/lowering/js-class-fields.js +45 -10
  461. package/dist/frontend/lowering/js-class-fields.js.map +1 -1
  462. package/dist/frontend/lowering/key-order-witness.d.ts +18 -3
  463. package/dist/frontend/lowering/key-order-witness.js +974 -48
  464. package/dist/frontend/lowering/key-order-witness.js.map +1 -1
  465. package/dist/frontend/lowering/key-order-witness.test.js +530 -10
  466. package/dist/frontend/lowering/key-order-witness.test.js.map +1 -1
  467. package/dist/frontend/lowering/lower-assert.js +15 -3
  468. package/dist/frontend/lowering/lower-assert.js.map +1 -1
  469. package/dist/frontend/lowering/lower-async-iteration.js +4 -1
  470. package/dist/frontend/lowering/lower-async-iteration.js.map +1 -1
  471. package/dist/frontend/lowering/lower-calls.d.ts +7 -0
  472. package/dist/frontend/lowering/lower-calls.js +462 -44
  473. package/dist/frontend/lowering/lower-calls.js.map +1 -1
  474. package/dist/frontend/lowering/lower-classes.d.ts +11 -2
  475. package/dist/frontend/lowering/lower-classes.js +324 -69
  476. package/dist/frontend/lowering/lower-classes.js.map +1 -1
  477. package/dist/frontend/lowering/lower-dgram.js +3 -1
  478. package/dist/frontend/lowering/lower-dgram.js.map +1 -1
  479. package/dist/frontend/lowering/lower-exprs.js +215 -3
  480. package/dist/frontend/lowering/lower-exprs.js.map +1 -1
  481. package/dist/frontend/lowering/lower-functions.d.ts +11 -0
  482. package/dist/frontend/lowering/lower-functions.js +83 -0
  483. package/dist/frontend/lowering/lower-functions.js.map +1 -1
  484. package/dist/frontend/lowering/lower-generators.js +42 -32
  485. package/dist/frontend/lowering/lower-generators.js.map +1 -1
  486. package/dist/frontend/lowering/lower-global-value.js +6 -3
  487. package/dist/frontend/lowering/lower-global-value.js.map +1 -1
  488. package/dist/frontend/lowering/lower-inspect.d.ts +1 -1
  489. package/dist/frontend/lowering/lower-inspect.js +53 -17
  490. package/dist/frontend/lowering/lower-inspect.js.map +1 -1
  491. package/dist/frontend/lowering/lower-modules.js +53 -5
  492. package/dist/frontend/lowering/lower-modules.js.map +1 -1
  493. package/dist/frontend/lowering/lower-namespaces.js +5 -1
  494. package/dist/frontend/lowering/lower-namespaces.js.map +1 -1
  495. package/dist/frontend/lowering/lower-server.js +2 -2
  496. package/dist/frontend/lowering/lower-server.js.map +1 -1
  497. package/dist/frontend/lowering/lower-stdlib.d.ts +5 -0
  498. package/dist/frontend/lowering/lower-stdlib.js +30 -0
  499. package/dist/frontend/lowering/lower-stdlib.js.map +1 -1
  500. package/dist/frontend/lowering/lower-stmts.d.ts +23 -0
  501. package/dist/frontend/lowering/lower-stmts.js +553 -81
  502. package/dist/frontend/lowering/lower-stmts.js.map +1 -1
  503. package/dist/frontend/lowering/lower-stream.d.ts +20 -2
  504. package/dist/frontend/lowering/lower-stream.js +1483 -156
  505. package/dist/frontend/lowering/lower-stream.js.map +1 -1
  506. package/dist/frontend/lowering/lowerer.d.ts +107 -8
  507. package/dist/frontend/lowering/lowerer.js +381 -36
  508. package/dist/frontend/lowering/lowerer.js.map +1 -1
  509. package/dist/frontend/lowering/module-namespace-elements.d.ts +11 -1
  510. package/dist/frontend/lowering/module-namespace-elements.js +82 -5
  511. package/dist/frontend/lowering/module-namespace-elements.js.map +1 -1
  512. package/dist/frontend/lowering/new-target.d.ts +12 -0
  513. package/dist/frontend/lowering/new-target.js +280 -0
  514. package/dist/frontend/lowering/new-target.js.map +1 -0
  515. package/dist/frontend/lowering/object-factory-new.d.ts +5 -0
  516. package/dist/frontend/lowering/object-factory-new.js +20 -6
  517. package/dist/frontend/lowering/object-factory-new.js.map +1 -1
  518. package/dist/frontend/lowering/overload-choice.d.ts +33 -0
  519. package/dist/frontend/lowering/overload-choice.js +190 -0
  520. package/dist/frontend/lowering/overload-choice.js.map +1 -0
  521. package/dist/frontend/lowering/surfaces.d.ts +3 -0
  522. package/dist/frontend/lowering/surfaces.js +73 -8
  523. package/dist/frontend/lowering/surfaces.js.map +1 -1
  524. package/dist/frontend/lowering/undefined-index.d.ts +27 -0
  525. package/dist/frontend/lowering/undefined-index.js +82 -0
  526. package/dist/frontend/lowering/undefined-index.js.map +1 -0
  527. package/dist/frontend/lowering/var-hoisting.js +29 -13
  528. package/dist/frontend/lowering/var-hoisting.js.map +1 -1
  529. package/dist/frontend/lowering/width-lift.d.ts +18 -0
  530. package/dist/frontend/npm-static-bundled-chunks.js +9 -11
  531. package/dist/frontend/npm-static-bundled-chunks.js.map +1 -1
  532. package/dist/frontend/npm-static-bundled-chunks.test.js +6 -5
  533. package/dist/frontend/npm-static-bundled-chunks.test.js.map +1 -1
  534. package/dist/frontend/npm-static-rewrite-syntax.js +9 -1
  535. package/dist/frontend/npm-static-rewrite-syntax.js.map +1 -1
  536. package/dist/frontend/npm-static.js +4 -20
  537. package/dist/frontend/npm-static.js.map +1 -1
  538. package/dist/frontend/package-shims.d.ts +3 -0
  539. package/dist/frontend/package-shims.js +71 -8
  540. package/dist/frontend/package-shims.js.map +1 -1
  541. package/dist/frontend/pipeline.js +19 -11
  542. package/dist/frontend/pipeline.js.map +1 -1
  543. package/dist/frontend/process-fork.d.ts +25 -0
  544. package/dist/frontend/process-fork.js +2 -0
  545. package/dist/frontend/process-fork.js.map +1 -0
  546. package/dist/frontend/program-analysis.d.ts +5 -1
  547. package/dist/frontend/program-analysis.js +5 -0
  548. package/dist/frontend/program-analysis.js.map +1 -1
  549. package/dist/frontend/program.d.ts +21 -6
  550. package/dist/frontend/program.js +681 -83
  551. package/dist/frontend/program.js.map +1 -1
  552. package/dist/frontend/program.test.js +43 -3
  553. package/dist/frontend/program.test.js.map +1 -1
  554. package/dist/frontend/token-equivalence.d.ts +3 -0
  555. package/dist/frontend/token-equivalence.js +409 -0
  556. package/dist/frontend/token-equivalence.js.map +1 -0
  557. package/dist/frontend/token-equivalence.test.d.ts +1 -0
  558. package/dist/frontend/token-equivalence.test.js +67 -0
  559. package/dist/frontend/token-equivalence.test.js.map +1 -0
  560. package/dist/frontend/ts7/ast-node.d.ts +22 -0
  561. package/dist/frontend/ts7/ast-node.js +1048 -103
  562. package/dist/frontend/ts7/ast-node.js.map +1 -1
  563. package/dist/frontend/ts7/ast-node.test.js +24 -0
  564. package/dist/frontend/ts7/ast-node.test.js.map +1 -1
  565. package/dist/frontend/ts7/ast-wire.d.ts +4 -3
  566. package/dist/frontend/ts7/ast-wire.js +34 -24
  567. package/dist/frontend/ts7/ast-wire.js.map +1 -1
  568. package/dist/frontend/ts7/ast-wire.test.js +23 -0
  569. package/dist/frontend/ts7/ast-wire.test.js.map +1 -1
  570. package/dist/frontend/ts7/checker-backend.d.ts +3 -4
  571. package/dist/frontend/ts7/checker-backend.js +2 -2
  572. package/dist/frontend/ts7/checker-backend.js.map +1 -1
  573. package/dist/frontend/ts7/checker-backend.test.js +5 -9
  574. package/dist/frontend/ts7/checker-backend.test.js.map +1 -1
  575. package/dist/frontend/ts7/checker.d.ts +4 -0
  576. package/dist/frontend/ts7/checker.js +7 -0
  577. package/dist/frontend/ts7/checker.js.map +1 -1
  578. package/dist/frontend/ts7/lib-diagnostics.d.ts +24 -0
  579. package/dist/frontend/ts7/lib-diagnostics.js +307 -0
  580. package/dist/frontend/ts7/lib-diagnostics.js.map +1 -0
  581. package/dist/frontend/ts7/lib-diagnostics.test.d.ts +1 -0
  582. package/dist/frontend/ts7/lib-diagnostics.test.js +199 -0
  583. package/dist/frontend/ts7/lib-diagnostics.test.js.map +1 -0
  584. package/dist/frontend/ts7/program-host.d.ts +7 -0
  585. package/dist/frontend/ts7/program-host.js +25 -2
  586. package/dist/frontend/ts7/program-host.js.map +1 -1
  587. package/dist/frontend/ts7/semantic-model.d.ts +3 -0
  588. package/dist/frontend/ts7/semantic-model.js +5 -0
  589. package/dist/frontend/ts7/semantic-model.js.map +1 -1
  590. package/dist/frontend/ts7/semantic-model.test.js +6 -1
  591. package/dist/frontend/ts7/semantic-model.test.js.map +1 -1
  592. package/dist/frontend/ts7/semantic-types.d.ts +1 -1
  593. package/dist/frontend/ts7/semantic-types.js +1 -1
  594. package/dist/frontend/ts7/semantic-types.js.map +1 -1
  595. package/dist/frontend/ts7/session.d.ts +14 -1
  596. package/dist/frontend/ts7/session.js +22 -0
  597. package/dist/frontend/ts7/session.js.map +1 -1
  598. package/dist/frontend/type-mapper.d.ts +13 -1
  599. package/dist/frontend/type-mapper.js +229 -20
  600. package/dist/frontend/type-mapper.js.map +1 -1
  601. package/dist/index.d.ts +0 -5
  602. package/dist/index.js +46 -4
  603. package/dist/index.js.map +1 -1
  604. package/dist/ir/analysis.js +5 -3
  605. package/dist/ir/analysis.js.map +1 -1
  606. package/dist/ir/array-length-stability.d.ts +4 -0
  607. package/dist/ir/array-length-stability.js +19 -6
  608. package/dist/ir/array-length-stability.js.map +1 -1
  609. package/dist/ir/array-length-stability.test.js +24 -0
  610. package/dist/ir/array-length-stability.test.js.map +1 -1
  611. package/dist/ir/builtin-effects.d.ts +7 -0
  612. package/dist/ir/builtin-effects.js +60 -0
  613. package/dist/ir/builtin-effects.js.map +1 -1
  614. package/dist/ir/builtin-signatures.d.ts +6 -4
  615. package/dist/ir/builtin-signatures.js +222 -13
  616. package/dist/ir/builtin-signatures.js.map +1 -1
  617. package/dist/ir/callback-specialization.d.ts +2 -1
  618. package/dist/ir/callback-specialization.js +23 -18
  619. package/dist/ir/callback-specialization.js.map +1 -1
  620. package/dist/ir/char-unit-locals.d.ts +19 -0
  621. package/dist/ir/char-unit-locals.js +185 -0
  622. package/dist/ir/char-unit-locals.js.map +1 -0
  623. package/dist/ir/char-unit-locals.test.d.ts +1 -0
  624. package/dist/ir/char-unit-locals.test.js +94 -0
  625. package/dist/ir/char-unit-locals.test.js.map +1 -0
  626. package/dist/ir/final-fields.d.ts +2 -1
  627. package/dist/ir/final-fields.js +14 -16
  628. package/dist/ir/final-fields.js.map +1 -1
  629. package/dist/ir/function-references.d.ts +2 -0
  630. package/dist/ir/function-references.js +2 -0
  631. package/dist/ir/function-references.js.map +1 -1
  632. package/dist/ir/function-references.test.js +3 -0
  633. package/dist/ir/function-references.test.js.map +1 -1
  634. package/dist/ir/initializer-bindings.d.ts +2 -1
  635. package/dist/ir/initializer-bindings.js +27 -20
  636. package/dist/ir/initializer-bindings.js.map +1 -1
  637. package/dist/ir/int32-arrays.d.ts +108 -0
  638. package/dist/ir/int32-arrays.js +831 -0
  639. package/dist/ir/int32-arrays.js.map +1 -0
  640. package/dist/ir/int32-slots.d.ts +24 -2
  641. package/dist/ir/int32-slots.js +266 -57
  642. package/dist/ir/int32-slots.js.map +1 -1
  643. package/dist/ir/int32-slots.test.js +33 -0
  644. package/dist/ir/int32-slots.test.js.map +1 -1
  645. package/dist/ir/integer-loops.d.ts +3 -3
  646. package/dist/ir/integer-loops.js +28 -10
  647. package/dist/ir/integer-loops.js.map +1 -1
  648. package/dist/ir/integer-loops.test.js +10 -0
  649. package/dist/ir/integer-loops.test.js.map +1 -1
  650. package/dist/ir/integer-ranges.d.ts +5 -0
  651. package/dist/ir/integer-ranges.js +125 -12
  652. package/dist/ir/integer-ranges.js.map +1 -1
  653. package/dist/ir/integer-ranges.test.js +30 -0
  654. package/dist/ir/integer-ranges.test.js.map +1 -1
  655. package/dist/ir/ir.d.ts +83 -10
  656. package/dist/ir/ir.js +77 -6
  657. package/dist/ir/ir.js.map +1 -1
  658. package/dist/ir/ir.test.js +23 -2
  659. package/dist/ir/ir.test.js.map +1 -1
  660. package/dist/ir/js-ic.d.ts +4 -0
  661. package/dist/ir/js-ic.js +17 -1
  662. package/dist/ir/js-ic.js.map +1 -1
  663. package/dist/ir/js-ic.test.js +46 -0
  664. package/dist/ir/js-ic.test.js.map +1 -1
  665. package/dist/ir/node-index.d.ts +57 -0
  666. package/dist/ir/node-index.js +215 -0
  667. package/dist/ir/node-index.js.map +1 -0
  668. package/dist/ir/paired-while-loops.d.ts +25 -0
  669. package/dist/ir/paired-while-loops.js +335 -0
  670. package/dist/ir/paired-while-loops.js.map +1 -0
  671. package/dist/ir/paired-while-loops.test.d.ts +1 -0
  672. package/dist/ir/paired-while-loops.test.js +163 -0
  673. package/dist/ir/paired-while-loops.test.js.map +1 -0
  674. package/dist/ir/parameter-versions.d.ts +25 -0
  675. package/dist/ir/parameter-versions.js +300 -0
  676. package/dist/ir/parameter-versions.js.map +1 -0
  677. package/dist/ir/runtime-features.d.ts +34 -13
  678. package/dist/ir/runtime-features.js +177 -39
  679. package/dist/ir/runtime-features.js.map +1 -1
  680. package/dist/ir/serialize.d.ts +12 -2
  681. package/dist/ir/serialize.js +16 -3
  682. package/dist/ir/serialize.js.map +1 -1
  683. package/dist/ir/serialize.test.js +17 -0
  684. package/dist/ir/serialize.test.js.map +1 -1
  685. package/dist/ir/traverse.js +18 -6
  686. package/dist/ir/traverse.js.map +1 -1
  687. package/dist/ir/validate.js +167 -40
  688. package/dist/ir/validate.js.map +1 -1
  689. package/dist/library/ir-policy.js +3 -0
  690. package/dist/library/ir-policy.js.map +1 -1
  691. package/dist/native/cache.d.ts +6 -1
  692. package/dist/native/cache.js +28 -5
  693. package/dist/native/cache.js.map +1 -1
  694. package/dist/native/cache.test.js +16 -2
  695. package/dist/native/cache.test.js.map +1 -1
  696. package/dist/native/cli.js +21 -1
  697. package/dist/native/cli.js.map +1 -1
  698. package/dist/native/compiler.js +8 -6
  699. package/dist/native/compiler.js.map +1 -1
  700. package/dist/native/executable-cache.d.ts +1 -1
  701. package/dist/native/executable-cache.js +2 -2
  702. package/dist/native/executable-cache.js.map +1 -1
  703. package/dist/native/prepare.d.ts +4 -2
  704. package/dist/native/prepare.js +130 -32
  705. package/dist/native/prepare.js.map +1 -1
  706. package/dist/native/prepare.test.js +96 -20
  707. package/dist/native/prepare.test.js.map +1 -1
  708. package/dist/native/sanitizer.test.js +2 -0
  709. package/dist/native/sanitizer.test.js.map +1 -1
  710. package/dist/native/text-file.d.ts +13 -3
  711. package/dist/native/text-file.js +63 -9
  712. package/dist/native/text-file.js.map +1 -1
  713. package/dist/native/text-file.test.d.ts +1 -0
  714. package/dist/native/text-file.test.js +49 -0
  715. package/dist/native/text-file.test.js.map +1 -0
  716. package/dist/native/toolchain.js +4 -4
  717. package/dist/native/toolchain.js.map +1 -1
  718. package/dist/native/toolchain.test.js +3 -3
  719. package/dist/native/toolchain.test.js.map +1 -1
  720. package/package.json +21 -21
  721. package/shims/chalk/v5.ts +688 -0
  722. package/shims/hono-node-server/v2.ts +645 -0
  723. package/shims/hot-shots/client.ts +1126 -0
  724. package/shims/hot-shots/v8-unix-dgram.ts +8 -0
  725. package/shims/hot-shots/v8.ts +8 -0
  726. package/surface-manifest.json +27 -7
@@ -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 },
@@ -927,6 +955,14 @@ export const LIB_FN_SIGS = defineLibFnSignatures({
927
955
  "url.set": { argTypes: [URL_T, STRING, STRING], result: VOID },
928
956
  "url.setChecked": { argTypes: [URL_T, STRING, DYN], result: VOID },
929
957
  "url.fileURLToPathUrl": { argTypes: [URL_T], result: STRING },
958
+ /** fileURLToPathUrl as a value: the path string, or the error it would
959
+ * throw (fs.existsSync and fs.promises URL paths). Never throws. */
960
+ "url.fileURLToPathValue": { argTypes: [URL_T], result: DYN },
961
+ /** getValidatedPath's null-byte check on a string path, and
962
+ * readFileSync's encoding check: what Node validates before it converts
963
+ * a later URL path. (path, argument name) and (encoding). */
964
+ "fs.checkPath": { argTypes: [STRING, STRING], result: VOID },
965
+ "fs.checkReadEncoding": { argTypes: [STRING], result: VOID },
930
966
  "url.fileURLToPathChecked": { argTypes: [DYN], result: STRING },
931
967
  "url.fileURLToPathOptions": { argTypes: [DYN, DYN], result: STRING },
932
968
  /** node:url's legacy API (scr_url_legacy.c): parse(url, parseQueryString,
@@ -1267,6 +1303,12 @@ export const LIB_FN_SIGS = defineLibFnSignatures({
1267
1303
  argTypes: [STRING, arrayOf(STRING), F64, STRING, F64, F64, F64],
1268
1304
  result: SPAWNRES_T,
1269
1305
  },
1306
+ /** cp.spawnSyncOpts with the `env` option: the trailing [k,v,...]
1307
+ * pairs replace the child's environment (recordToEnvPairs). */
1308
+ "cp.spawnSyncEnv": {
1309
+ argTypes: [STRING, arrayOf(STRING), F64, STRING, F64, F64, F64, arrayOf(STRING)],
1310
+ result: SPAWNRES_T,
1311
+ },
1270
1312
  /** cp.spawnSyncOpts with the stdio carried as a RUNTIME string —
1271
1313
  * "pipe" | "ignore" | "inherit", proven by the call site's TYPE (the
1272
1314
  * defaultRunner idiom `stdio: options?.stdio ?? "pipe"`); the runtime
@@ -1477,6 +1519,13 @@ export const LIB_FN_SIGS = defineLibFnSignatures({
1477
1519
  },
1478
1520
  "dgram.sendStr": { argTypes: [DGRAMSOCK_T, STRING, F64, STRING], result: VOID },
1479
1521
  "dgram.sendBytes": { argTypes: [DGRAMSOCK_T, BYTES_U8, F64, STRING], result: VOID },
1522
+ /** Connected AF_UNIX datagram sockets for the hot-shots package shim
1523
+ * (the unix-dgram addon's surface): fd or result >= 0, -errno on
1524
+ * failure; send answers 1 when the socket would block. */
1525
+ "dgram.unixSocket": { argTypes: [], result: F64 },
1526
+ "dgram.unixConnect": { argTypes: [F64, STRING], result: F64 },
1527
+ "dgram.unixSend": { argTypes: [F64, BYTES_U8], result: F64 },
1528
+ "dgram.unixClose": { argTypes: [F64], result: F64 },
1480
1529
  /** The send argument-validation ladder over dyn arguments (Node's
1481
1530
  * signature shuffle: slice bounds, list/type contracts, port/address
1482
1531
  * validation, connected-state errors), then the send: lists, connected
@@ -1767,7 +1816,7 @@ export const LIB_FN_SIGS = defineLibFnSignatures({
1767
1816
  * connection (+1, the same handle net.connect would give);
1768
1817
  * sockRemoteAddress answers `string | undefined` (NULL after the fd
1769
1818
  * 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
1819
+ * IPv4 peer reads "::ffff:a.b.c.d" like Node). reqResume/reqPause/reqDestroy and
1771
1820
  * the req error/close listener slots complete the IncomingMessage
1772
1821
  * surface portless's client responses use; resDestroy/resOnClose and
1773
1822
  * resWriteHeadPairs ([k0,v0,k1,v1,...] — the env.pairs helper's flat
@@ -1834,6 +1883,7 @@ export const LIB_FN_SIGS = defineLibFnSignatures({
1834
1883
  "http.reqPipeClient": { argTypes: [HTTPREQ_T, HTTPCLIENTREQ_T], result: VOID },
1835
1884
  "http.reqPipeSock": { argTypes: [HTTPREQ_T, NETSOCKET_T], result: VOID },
1836
1885
  "http.reqResume": { argTypes: [HTTPREQ_T], result: VOID },
1886
+ "http.reqPause": { argTypes: [HTTPREQ_T], result: VOID },
1837
1887
  "http.reqDestroy": { argTypes: [HTTPREQ_T], result: VOID },
1838
1888
  "http.reqOnError": { argTypes: [HTTPREQ_T, null, BOOL], result: VOID },
1839
1889
  "http.reqOnClose": {
@@ -2769,6 +2819,19 @@ export const LIB_FN_SIGS = defineLibFnSignatures({
2769
2819
  /** getDiffieHellman(groupName) and createDiffieHellmanGroup(name): a
2770
2820
  * native DiffieHellmanGroup handle. */
2771
2821
  "crypto.dhGroupNew": { argTypes: [DYN], result: DYN },
2822
+ /** checkPrimeSync(candidate, options) and generatePrimeSync(size,
2823
+ * options) over checked-dynamic arguments (scr_dh.c): a boolean, and an
2824
+ * ArrayBuffer or bigint, as checked-dynamic results. The Cb forms take
2825
+ * the callback and whether its error parameter takes null for Node's
2826
+ * undefined, and call it in a later macrotask; Node's argument errors
2827
+ * throw (may-throw). */
2828
+ "crypto.checkPrimeSync": { argTypes: [DYN, DYN], result: DYN },
2829
+ /** getCipherInfo(nameOrNid, options) over checked-dynamic arguments
2830
+ * (scr_cipher_info.c): the info object or undefined. */
2831
+ "crypto.getCipherInfo": { argTypes: [DYN, DYN], result: DYN },
2832
+ "crypto.checkPrimeCb": { argTypes: [DYN, DYN, DYN, BOOL], result: VOID },
2833
+ "crypto.generatePrimeSync": { argTypes: [DYN, DYN], result: DYN },
2834
+ "crypto.generatePrimeCb": { argTypes: [DYN, DYN, DYN, BOOL], result: VOID },
2772
2835
  "crypto.hmacNewStr": { argTypes: [STRING, STRING], result: CRYPTOHMAC_T },
2773
2836
  "crypto.hmacNewBytes": { argTypes: [STRING, BYTES_U8], result: CRYPTOHMAC_T },
2774
2837
  "crypto.hashUpdateStr": { argTypes: [CRYPTOHASH_T, STRING], result: CRYPTOHASH_T },
@@ -2910,6 +2973,9 @@ export const LIB_FN_SIGS = defineLibFnSignatures({
2910
2973
  /** poolFromDyn that also copies an array crossing by reference. */
2911
2974
  "buffer.poolFromDynRef": { argTypes: [DYN, STRING], result: BYTES_U8 },
2912
2975
  "buffer.poolFromDynOffset": { argTypes: [DYN, DYN], result: BYTES_U8 },
2976
+ /** Buffer.from(value, byteOffset, length): an ArrayBuffer's range with
2977
+ * Node's fromArrayBuffer checks; other values as poolFromDynOffset. */
2978
+ "buffer.poolFromDynRange": { argTypes: [DYN, DYN, DYN], result: BYTES_U8 },
2913
2979
  "buffer.poolSize": { argTypes: [], result: F64 },
2914
2980
  "buffer.setPoolSize": { argTypes: [F64], result: VOID },
2915
2981
  /** Buffer.byteLength(string, enc) — enc a NORMALIZED literal like
@@ -2944,6 +3010,12 @@ export const LIB_FN_SIGS = defineLibFnSignatures({
2944
3010
  * always throws Node's ERR_INVALID_ARG_TYPE ("The \"string\" argument
2945
3011
  * must be of type string. Received ..."). Borrowed dyn; may-throw. */
2946
3012
  "buffer.newStringFail": { argTypes: [DYN], result: BYTES_U8 },
3013
+ "buffer.deprecation": { argTypes: [], result: VOID },
3014
+ "buffer.deprecationCount": { argTypes: [], result: VOID },
3015
+ "buffer.constructor": { argTypes: [], result: DYN },
3016
+ "buffer.installValue": { argTypes: [], result: VOID },
3017
+ "buffer.staticValue": { argTypes: [STRING], result: DYN },
3018
+ "buffer.prototypeMember": { argTypes: [DYN], result: DYN },
2947
3019
  /** fs._toUnixTimestamp(time) over a dyn value: numeric strings and
2948
3020
  * finite numbers coerce (negatives answer now/1000, Node's shape);
2949
3021
  * everything else throws Node's ERR_INVALID_ARG_TYPE. May-throw. */
@@ -3088,6 +3160,18 @@ export const LIB_FN_SIGS = defineLibFnSignatures({
3088
3160
  // or an optional Error | null slot (same success shape as fs.rename).
3089
3161
  "process.stdoutWriteBytesCb": { argTypes: [BYTES_U8, STRING, null], result: BOOL },
3090
3162
  "process.stderrWriteBytesCb": { argTypes: [BYTES_U8, STRING, null], result: BOOL },
3163
+ /** The value of a FULFILLED promise, read without a microtask turn (+1
3164
+ * for references): the tuple form of Promise.all reads its entries this
3165
+ * way once the combinator fulfills, each entry widened to Promise<void>
3166
+ * and read at the type it was built with (program-dependent). */
3167
+ "promise.fulfilledValue": { argTypes: [null], result: VOID },
3168
+ /** Promise.all's tuple form as a value: the entries (each widened to
3169
+ * Promise<void>) join the runtime combinator, and when it fulfills the
3170
+ * function reads the fulfilled entries into the tuple inside that
3171
+ * settlement, so the result settles on the combinator's turn; a
3172
+ * rejection settles it the same way. The result is the tuple's promise
3173
+ * (program-dependent). */
3174
+ "promise.allTuple": { argTypes: [null, null], result: VOID },
3091
3175
  "fsp.readFile": { argTypes: [STRING, STRING], result: { kind: "promise", inner: STRING } },
3092
3176
  "fsp.writeFile": { argTypes: [STRING, STRING], result: { kind: "promise", inner: VOID } },
3093
3177
  /** fs.promises.writeFile(path, data, { mode }): the settled-promise
@@ -3351,6 +3435,14 @@ export const LIB_FN_SIGS = defineLibFnSignatures({
3351
3435
  * throw-site fields, dynamic writes) or an Object.prototype member. */
3352
3436
  "error.hasKey": { argTypes: [null, STRING], result: BOOL },
3353
3437
  "error.hasCode": { argTypes: [null], result: BOOL },
3438
+ /** Whether the error's own `name` or `message` (the key) is an accessor
3439
+ * a reflective definition installed. Borrows both; never throws. */
3440
+ "error.ownAccessor": { argTypes: [null, STRING], result: BOOL },
3441
+ /** That accessor's getter called on the error (owned result), and its
3442
+ * setter called with the value (V8's TypeError without one). Borrow
3443
+ * their arguments; throw what the accessor throws. */
3444
+ "error.accessorGet": { argTypes: [null, STRING], result: DYN },
3445
+ "error.accessorSet": { argTypes: [null, STRING, DYN], result: VOID },
3354
3446
  "error.defineCause": { argTypes: [null, DYN], result: VOID },
3355
3447
  "error.deleteCause": { argTypes: [null], result: VOID },
3356
3448
  /** The compiler-resolved Node-parity throw for always-throwing lowered
@@ -3540,9 +3632,11 @@ export const LIB_FN_SIGS = defineLibFnSignatures({
3540
3632
  "weakSet.is": { argTypes: [DYN], result: BOOL },
3541
3633
  "weakMap.new": { argTypes: [DYN], result: DYN },
3542
3634
  "weakSet.new": { argTypes: [DYN], result: DYN },
3635
+ "finalizationRegistry.new": { argTypes: [DYN], result: DYN },
3636
+ "finalizationRegistry.is": { argTypes: [DYN], result: BOOL },
3543
3637
  "dyn.fromEntries": { argTypes: [DYN], result: DYN },
3544
3638
  "bytes.constructor": { argTypes: [STRING], result: DYN },
3545
- "bytes.instanceOf": { argTypes: [DYN, DYN], result: BOOL },
3639
+ "bytes.instanceOf": { argTypes: [DYN, DYN, STRING], result: BOOL },
3546
3640
  "bytes.construct": { argTypes: [DYN, DYN, STRING], result: DYN },
3547
3641
  /** The ambient receiver — JS `this` in a plain (non-method) function
3548
3642
  * body: the innermost binding the current firing/dispatch window
@@ -3664,6 +3758,10 @@ export const LIB_FN_SIGS = defineLibFnSignatures({
3664
3758
  "dyn.assignPrototype": { argTypes: [DYN, DYN, DYN], result: DYN },
3665
3759
  "dyn.definePrototypeProps": { argTypes: [DYN, DYN, DYN], result: DYN },
3666
3760
  "dyn.bagGet": { argTypes: [DYN, STRING, DYN], result: DYN },
3761
+ /** A class field's creation in its instance's property bag: adds the
3762
+ * string key as a default data property when absent, answering false
3763
+ * (nothing changed) when the bag needs the general defineProperty path. */
3764
+ "dyn.bagCreateField": { argTypes: [DYN, STRING], result: BOOL },
3667
3765
  "dyn.bagSet": { argTypes: [DYN, STRING, DYN, DYN], result: VOID },
3668
3766
  "dyn.objCreate": { argTypes: [DYN], result: DYN },
3669
3767
  // Names a compiled class's prototype object (args[0]) after the class
@@ -3671,6 +3769,9 @@ export const LIB_FN_SIGS = defineLibFnSignatures({
3671
3769
  "dyn.nameClassPrototype": { argTypes: [DYN, STRING], result: VOID },
3672
3770
  "dyn.objCreateWithProperties": { argTypes: [DYN, DYN], result: DYN },
3673
3771
  "dyn.getPrototype": { argTypes: [DYN], result: DYN },
3772
+ // dyn.getPrototype for walks that compare each prototype with a program
3773
+ // class's prototype: native builtin values end the walk (null).
3774
+ "dyn.getPrototypeForIdentity": { argTypes: [DYN], result: DYN },
3674
3775
  "dyn.setPrototype": { argTypes: [DYN, DYN], result: DYN },
3675
3776
  "dyn.getOwnPropertyNames": { argTypes: [DYN], result: DYN },
3676
3777
  "dyn.ownKeys": { argTypes: [DYN], result: DYN },
@@ -3696,6 +3797,14 @@ export const LIB_FN_SIGS = defineLibFnSignatures({
3696
3797
  * call: always throws Node's TypeError [ERR_MISSING_ARGS] with Node's
3697
3798
  * own (verbatim, doubly-wrapped) message. */
3698
3799
  "dyn.structuredClone": { argTypes: [DYN, DYN], result: DYN },
3800
+ /** The declaration-typed boundary's adoption (decl-projection.ts):
3801
+ * `source` is the dynamic value a boundary cast just converted, and
3802
+ * `capsule` a live capsule of the native value built from it. Every
3803
+ * object or array of `source` that something else still references
3804
+ * becomes, in place, a live capsule of the native value built from it.
3805
+ * Throws the path TypeError, changing nothing, when a converted object
3806
+ * is not plain data (a prototype, accessors, symbols, frozen state). */
3807
+ "dyn.declAdopt": { argTypes: [DYN, DYN], result: VOID },
3699
3808
  "dyn.cloneMissing": { argTypes: [], result: DYN },
3700
3809
  /** structuredClone with a NON-EMPTY transfer array of static values:
3701
3810
  * nothing static is transferable, so the call always throws Node's
@@ -3733,6 +3842,13 @@ export const LIB_FN_SIGS = defineLibFnSignatures({
3733
3842
  // Whether the array (args[0]) still has the key (args[1]) from its
3734
3843
  // namedKeys list. Borrowed; never throws.
3735
3844
  "array.hasNamedKey": { argTypes: [null, STRING], result: BOOL },
3845
+ // Whether an array (args[0], any element type) has properties besides its
3846
+ // elements: noncanonical numeric keys, match metadata or named
3847
+ // properties. Borrowed; never throws.
3848
+ "array.hasProperties": { argTypes: [null], result: BOOL },
3849
+ // The key of an element access whose index is undefined (the property
3850
+ // named "undefined"; frontend/lowering/undefined-index.ts).
3851
+ "array.undefinedKey": { argTypes: [], result: F64 },
3736
3852
  // node:events EventEmitter: receivers are emitter-hierarchy objects and
3737
3853
  // the chaining forms (on/off/removeAll/setMax) return the receiver's
3738
3854
  // own class — program-dependent object types, checked in the libCall
@@ -3878,6 +3994,10 @@ export const LIB_FN_SIGS = defineLibFnSignatures({
3878
3994
  "stream.setDestroy": { argTypes: [null, null], result: VOID },
3879
3995
  "stream.setTransform": { argTypes: [null, null], result: VOID },
3880
3996
  "stream.setFlush": { argTypes: [null, null], result: VOID },
3997
+ "stream.setConstruct": { argTypes: [null, null], result: VOID },
3998
+ "stream.replaceConstruct": { argTypes: [null, null], result: VOID },
3999
+ "stream.setWritev": { argTypes: [null, null], result: VOID },
4000
+ "stream.setWritevDefault": { argTypes: [null, null], result: VOID },
3881
4001
  /** The dyn-options twins (a checked-dynamic options record — the JS
3882
4002
  * lane's `super(options)` forwarding and `new Readable(dynVar)`): the
3883
4003
  * option walk runs at RUNTIME with Node's reading rules. newDyn:
@@ -3904,6 +4024,7 @@ export const LIB_FN_SIGS = defineLibFnSignatures({
3904
4024
  "stream.pipeline": { argTypes: [F64], result: VOID },
3905
4025
  "stream.pipelineDyn": { argTypes: [F64], result: VOID },
3906
4026
  "stream.pipelineStages": { argTypes: [F64, F64, F64, F64, F64], result: VOID },
4027
+ "stream.composeStages": { argTypes: [F64, F64, F64, F64, F64], result: VOID },
3907
4028
  "stream.pipelineStagesDyn": { argTypes: [F64, F64, F64, F64, F64], result: VOID },
3908
4029
  /** stream.compose(count, s1..sn): the Duplex over a pipeline of the
3909
4030
  * streams (+1). MAY THROW (ERR_INVALID_ARG_VALUE for a stream that is
@@ -3948,6 +4069,12 @@ export const LIB_FN_SIGS = defineLibFnSignatures({
3948
4069
  argTypes: [F64, F64, F64, F64, F64],
3949
4070
  result: { kind: "promise", inner: VOID },
3950
4071
  },
4072
+ /** sp.pipelineStages with the options argument: the same head, then
4073
+ * end (a bool) and, with flags bit 6, the options' signal (dyn). */
4074
+ "sp.pipelineStagesOpts": {
4075
+ argTypes: [F64, F64, F64, F64, F64],
4076
+ result: { kind: "promise", inner: VOID },
4077
+ },
3951
4078
  /** node:stream/consumers — the promise consumers over the readable
3952
4079
  * machinery: (s) → a pending promise settled at the terminal point
3953
4080
  * with the accumulated result (sc.text: the utf8 decode, sc.json: the
@@ -4004,6 +4131,33 @@ export const LIB_FN_SIGS = defineLibFnSignatures({
4004
4131
  /** The objectMode option's sides (readable, writable), applied right
4005
4132
  * after construction; answers the receiver (+1, the chaining shape). */
4006
4133
  "stream.objectMode": { argTypes: [null, BOOL, BOOL], result: VOID },
4134
+ "stream.decodeStrings": { argTypes: [null, BOOL], result: VOID },
4135
+ /** Runtime decodeStrings and defaultEncoding option values, applied
4136
+ * after construction (answers the receiver +1); the encoding was
4137
+ * validated by stream.checkEncodingOption before construction. */
4138
+ "stream.optionValues": { argTypes: [null, DYN, DYN], result: VOID },
4139
+ "stream.checkEncodingOption": { argTypes: [DYN], result: VOID },
4140
+ "stream.duplexFromGen": { argTypes: [null, null, null, null, null, null], result: VOID },
4141
+ "stream.duplexFromDyn": { argTypes: [DYN], result: VOID },
4142
+ /** Duplex.from over a lone Readable or Writable, or a { readable,
4143
+ * writable } pair of streams (duplexify.js's _duplexify). */
4144
+ "stream.duplexifyReadable": { argTypes: [null], result: VOID },
4145
+ "stream.duplexifyWritable": { argTypes: [null], result: VOID },
4146
+ "stream.duplexifyPair": { argTypes: [null, null], result: VOID },
4147
+ /** Duplex.from(promise): the promise and its box helper. */
4148
+ "stream.duplexFromPromise": { argTypes: [null, null], result: VOID },
4149
+ /** Duplex.from(asyncFunction): the stage, its source helper and the
4150
+ * promise's box helper. */
4151
+ "stream.duplexFromAsyncFn": { argTypes: [null, null, null], result: VOID },
4152
+ /** The same for a body that declares the options argument: then the
4153
+ * AbortController's abort() and its signal. */
4154
+ "stream.duplexFromGenSignal": {
4155
+ argTypes: [null, null, null, null, null, null, null, DYN],
4156
+ result: VOID,
4157
+ },
4158
+ "stream.duplexFromAsyncFnSignal": { argTypes: [null, null, null, null, DYN], result: VOID },
4159
+ "writable.writeEncoding": { argTypes: [null, STRING], result: VOID },
4160
+ "writable.setDefaultEncoding": { argTypes: [null, DYN], result: VOID },
4007
4161
  /** Whether a readable.nextChunkDyn step answered the end (the done
4008
4162
  * marker; an object-mode stream can yield undefined). */
4009
4163
  "stream.chunkDone": { argTypes: [DYN], result: BOOL },
@@ -4039,17 +4193,39 @@ export const LIB_FN_SIGS = defineLibFnSignatures({
4039
4193
  * forEach nothing; reduce: [stream, fn, init, hasInit, options, kind]
4040
4194
  * with the payload kind (0 dyn, 1 number, 2 boolean, 3 string). The
4041
4195
  * 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 },
4196
+ "readable.opMap": { argTypes: [null, DYN, DYN, DYN], result: VOID },
4197
+ "readable.opFilter": { argTypes: [null, DYN, DYN, DYN], result: VOID },
4198
+ "readable.opFlatMap": { argTypes: [null, DYN, DYN, DYN], result: VOID },
4199
+ /** flatMap whose callback returns a compiled generator: the helpers
4200
+ * over its type follow (async: next, read, return, throw; sync: next,
4201
+ * return, throw). */
4202
+ "readable.opFlatMapAsyncGen": {
4203
+ argTypes: [null, DYN, DYN, DYN, null, null, null, null],
4204
+ result: VOID,
4205
+ },
4206
+ "readable.opFlatMapSyncGen": { argTypes: [null, DYN, DYN, DYN, null, null, null], result: VOID },
4045
4207
  "readable.opDrop": { argTypes: [null, DYN, DYN], result: VOID },
4046
4208
  "readable.opTake": { argTypes: [null, DYN, DYN], result: VOID },
4047
4209
  "readable.opToArray": { argTypes: [null, DYN], result: { kind: "promise", inner: DYN } },
4048
- "readable.opForEach": { argTypes: [null, DYN, DYN], result: { kind: "promise", inner: VOID } },
4049
- "readable.opSome": { argTypes: [null, DYN, DYN], result: { kind: "promise", inner: BOOL } },
4050
- "readable.opEvery": { argTypes: [null, DYN, DYN], result: { kind: "promise", inner: BOOL } },
4051
- "readable.opFind": { argTypes: [null, DYN, DYN], result: { kind: "promise", inner: DYN } },
4210
+ "readable.opForEach": {
4211
+ argTypes: [null, DYN, DYN, DYN],
4212
+ result: { kind: "promise", inner: VOID },
4213
+ },
4214
+ "readable.opSome": { argTypes: [null, DYN, DYN, DYN], result: { kind: "promise", inner: BOOL } },
4215
+ "readable.opEvery": { argTypes: [null, DYN, DYN, DYN], result: { kind: "promise", inner: BOOL } },
4216
+ "readable.opFind": { argTypes: [null, DYN, DYN, DYN], result: { kind: "promise", inner: DYN } },
4217
+ /** The map family's last argument is the callback's { signal } (or
4218
+ * undefined). reduceSignal adds ac.abort() (a closure) and
4219
+ * { signal: ac.signal } for a reducer that reads them. */
4052
4220
  "readable.opReduce": { argTypes: [null, DYN, DYN, BOOL, DYN, F64], result: VOID },
4221
+ "readable.opReduceSignal": {
4222
+ argTypes: [null, DYN, DYN, BOOL, DYN, F64, null, DYN],
4223
+ result: VOID,
4224
+ },
4225
+ "readable.opSignalList": { argTypes: [DYN], result: DYN },
4226
+ "readable.opSignalOpts": { argTypes: [DYN], result: DYN },
4227
+ "readable.opSignalOf": { argTypes: [DYN], result: DYN },
4228
+ "readable.opOnceOptions": { argTypes: [], result: DYN },
4053
4229
  "readable.resume": { argTypes: [null], result: VOID },
4054
4230
  "readable.isPaused": { argTypes: [null], result: BOOL },
4055
4231
  "readable.pipe": { argTypes: [null, null, BOOL], result: VOID },
@@ -4231,6 +4407,9 @@ export const LIB_FN_SIGS = defineLibFnSignatures({
4231
4407
  "insp.buffer": { argTypes: [BYTES_U8], result: STRING },
4232
4408
  /** A numeric typed array that is not a Buffer (any element kind). */
4233
4409
  "insp.typedArray": { argTypes: [null, F64, F64], result: STRING },
4410
+ /** A u8 byte view in a union arm, element or field: a DataView, Buffer
4411
+ * or Uint8Array by its own flags. */
4412
+ "insp.bytes": { argTypes: [null, F64, F64], result: STRING },
4234
4413
  "insp.error": { argTypes: [null, F64, F64], result: STRING },
4235
4414
  "insp.errorHasCause": { argTypes: [null], result: BOOL },
4236
4415
  "insp.errorBagHasProperties": { argTypes: [DYN], result: BOOL },
@@ -4258,6 +4437,11 @@ export const LIB_FN_SIGS = defineLibFnSignatures({
4258
4437
  * (inspect, Object.keys/values/entries) then answer through its live
4259
4438
  * checked view. The receiver is any such record type. Never throws. */
4260
4439
  "record.sourceHas": { argTypes: [null], result: BOOL },
4440
+ /** `record.sourceSpread(built, value)`: the record a literal starting
4441
+ * with `...value` just built keeps the order of value's kept source
4442
+ * (key-order-witness.ts ordered spreads). Both are record types. Never
4443
+ * throws. */
4444
+ "record.sourceSpread": { argTypes: [null, null], result: VOID },
4261
4445
  "insp.key": { argTypes: [STRING], result: STRING },
4262
4446
  "insp.moreItems": { argTypes: [F64], result: STRING },
4263
4447
  "insp.end": { argTypes: [STRING, STRING, STRING, F64, BOOL, BOOL], result: STRING },
@@ -4548,6 +4732,20 @@ export const LIB_FN_SIGS = defineLibFnSignatures({
4548
4732
  "als.exitRun": { argTypes: [F64, DYN, DYN], result: DYN },
4549
4733
  "als.enterWith": { argTypes: [F64, DYN], result: VOID },
4550
4734
  "als.disable": { argTypes: [F64], result: VOID },
4735
+ /** new AsyncLocalStorage(options) (Node's object check throws; MAY
4736
+ * THROW) and the store's name option (dyn; "" without one). */
4737
+ "als.newOptions": { argTypes: [DYN], result: F64 },
4738
+ "als.name": { argTypes: [F64], result: DYN },
4739
+ /** A function bound to the active context: the completion callbacks of
4740
+ * callback-style APIs (always false: an empty context leaves the
4741
+ * callback unbound) and AsyncLocalStorage.bind (always true). The typed
4742
+ * form answers its closure argument's type; the dyn form throws Node's
4743
+ * ERR_INVALID_ARG_TYPE for a non-function when always (MAY THROW). */
4744
+ "als.bindCallback": { argTypes: [null, BOOL], result: VOID },
4745
+ "als.bindCallbackDyn": { argTypes: [DYN, BOOL], result: DYN },
4746
+ /** AsyncLocalStorage.snapshot(): a dyn function (cb, ...args) that runs
4747
+ * cb in the context active at the snapshot. */
4748
+ "als.snapshot": { argTypes: [], result: DYN },
4551
4749
  /** Channel.bindStore/unbindStore/runStores (scr_dc.c): the
4552
4750
  * AsyncLocalStorage integration — set-semantics bindings per store,
4553
4751
  * runStores entering every bound store with transform(data) around the
@@ -4603,6 +4801,10 @@ export const LIB_FN_SIGS = defineLibFnSignatures({
4603
4801
  "date.getMilliseconds": { argTypes: [DATE_T], result: F64 },
4604
4802
  "date.getUTCMilliseconds": { argTypes: [DATE_T], result: F64 },
4605
4803
  "date.getTimezoneOffset": { argTypes: [DATE_T], result: F64 },
4804
+ /** A Date object for a time value a local holds (date-values.ts): a
4805
+ * lib-call argument passes the time value itself, and any other use
4806
+ * creates the Date. */
4807
+ "date.fromTime": { argTypes: [F64], result: DATE_T },
4606
4808
  /** Date.prototype.toString / toDateString / toTimeString and String(date):
4607
4809
  * V8's local-time formats with the host zone's long name, "Invalid Date"
4608
4810
  * for an invalid date. Owned (+1) string; never throws. */
@@ -4655,6 +4857,7 @@ export const LIB_FN_SIGS = defineLibFnSignatures({
4655
4857
  "crypto.generateKeyPairSync": { argTypes: [DYN, DYN], result: DYN },
4656
4858
  "crypto.generateKeyPairCb": { argTypes: [DYN, DYN, DYN], result: VOID },
4657
4859
  "crypto.signOneshot": { argTypes: [DYN, DYN, DYN], result: DYN },
4860
+ "crypto.diffieHellman": { argTypes: [DYN, DYN], result: DYN },
4658
4861
  "crypto.verifyOneshot": { argTypes: [DYN, DYN, DYN, DYN], result: DYN },
4659
4862
  "crypto.createSign": { argTypes: [DYN], result: DYN },
4660
4863
  "crypto.createVerify": { argTypes: [DYN], result: DYN },
@@ -4675,6 +4878,10 @@ export const LIB_FN_SIGS = defineLibFnSignatures({
4675
4878
  "text.decoderEncoding": { argTypes: [DYN], result: F64 },
4676
4879
  "text.decoderName": { argTypes: [F64], result: STRING },
4677
4880
  "text.encodeInto": { argTypes: [DYN, DYN], result: DYN },
4881
+ /** `value instanceof TextDecoder` (true) or `TextEncoder` (false) on a
4882
+ * checked-dynamic value: a codec record's handle box (scr_text_codec_dyn.c).
4883
+ * Borrowed; never throws. */
4884
+ "text.codecIs": { argTypes: [DYN, BOOL], result: BOOL },
4678
4885
  "buffer.isAscii": { argTypes: [DYN], result: BOOL },
4679
4886
  "buffer.isUtf8": { argTypes: [DYN], result: BOOL },
4680
4887
  "buffer.transcode": { argTypes: [DYN, DYN, DYN], result: BYTES_U8 },
@@ -4752,10 +4959,12 @@ export const LIB_FN_SIGS = defineLibFnSignatures({
4752
4959
  "string.raw": { argTypes: [arrayOf(STRING), arrayOf(STRING)], result: STRING },
4753
4960
  });
4754
4961
  /** The function-stage runs of a pipeline of `total` stages that a stream
4755
- * follows (positions bit j: stage j is a function): each pumps its last
4756
- * generator into that stream through one (next, read, return) triple. */
4757
- export function pipelinePumpedRuns(total, positions) {
4758
- let runs = 0;
4962
+ * follows (positions bit j: stage j is a function), and an async
4963
+ * generator destination's run (flags bits 1-2 = 1, pumped into the
4964
+ * PassThrough pipeline() answers): each pumps its last generator through
4965
+ * one (next, read, return) triple. */
4966
+ export function pipelinePumpedRuns(total, positions, flags) {
4967
+ let runs = ((flags >> 1) & 3) === 1 ? 1 : 0;
4759
4968
  for (let j = 0; j + 1 < total; j++) {
4760
4969
  if (Math.floor(positions / 2 ** j) % 2 === 1 && Math.floor(positions / 2 ** (j + 1)) % 2 === 0)
4761
4970
  runs++;