@scriptc/compiler 0.3.6 → 0.4.1

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 (1358) hide show
  1. package/ambient/scriptc-node-fallback.d.ts +717 -55
  2. package/ambient/scriptc.d.ts +134 -0
  3. package/dist/backend/cycle-analysis.d.ts +1 -1
  4. package/dist/backend/cycle-analysis.js +1 -0
  5. package/dist/backend/cycle-analysis.js.map +1 -1
  6. package/dist/backend/cycle-analysis.test.js +13 -1
  7. package/dist/backend/cycle-analysis.test.js.map +1 -1
  8. package/dist/backend/cycle-mutability.js +16 -5
  9. package/dist/backend/cycle-mutability.js.map +1 -1
  10. package/dist/backend/executable-features.js +20 -0
  11. package/dist/backend/executable-features.js.map +1 -1
  12. package/dist/backend/immutability.test.js +1 -1
  13. package/dist/backend/library-pack.js +9 -0
  14. package/dist/backend/library-pack.js.map +1 -1
  15. package/dist/backend/link-plan-core.d.ts +2 -0
  16. package/dist/backend/link-plan-core.js +2 -0
  17. package/dist/backend/link-plan-core.js.map +1 -1
  18. package/dist/backend/link-plan.d.ts +1 -0
  19. package/dist/backend/link-plan.js +1 -0
  20. package/dist/backend/link-plan.js.map +1 -1
  21. package/dist/backend/llvm/alloc.d.ts +41 -4
  22. package/dist/backend/llvm/alloc.js +138 -7
  23. package/dist/backend/llvm/alloc.js.map +1 -1
  24. package/dist/backend/llvm/alloc.test.js +30 -1
  25. package/dist/backend/llvm/alloc.test.js.map +1 -1
  26. package/dist/backend/llvm/appended-array-literals.test.js +1 -1
  27. package/dist/backend/llvm/array-search.js +3 -1
  28. package/dist/backend/llvm/array-search.js.map +1 -1
  29. package/dist/backend/llvm/array-search.test.js +1 -1
  30. package/dist/backend/llvm/blocks.d.ts +8 -0
  31. package/dist/backend/llvm/blocks.js +43 -1
  32. package/dist/backend/llvm/blocks.js.map +1 -1
  33. package/dist/backend/llvm/blocks.test.js +22 -1
  34. package/dist/backend/llvm/blocks.test.js.map +1 -1
  35. package/dist/backend/llvm/byte-numbers.js +15 -5
  36. package/dist/backend/llvm/byte-numbers.js.map +1 -1
  37. package/dist/backend/llvm/bytes-alias.d.ts +14 -0
  38. package/dist/backend/llvm/bytes-alias.js +20 -0
  39. package/dist/backend/llvm/bytes-alias.js.map +1 -0
  40. package/dist/backend/llvm/bytes-loop-versions.d.ts +86 -0
  41. package/dist/backend/llvm/bytes-loop-versions.js +506 -0
  42. package/dist/backend/llvm/bytes-loop-versions.js.map +1 -0
  43. package/dist/backend/llvm/bytes-loop-versions.test.d.ts +1 -0
  44. package/dist/backend/llvm/bytes-loop-versions.test.js +244 -0
  45. package/dist/backend/llvm/bytes-loop-versions.test.js.map +1 -0
  46. package/dist/backend/llvm/call-lifetimes.js +50 -1
  47. package/dist/backend/llvm/call-lifetimes.js.map +1 -1
  48. package/dist/backend/llvm/call-lifetimes.test.js +34 -0
  49. package/dist/backend/llvm/call-lifetimes.test.js.map +1 -1
  50. package/dist/backend/llvm/checked-narrows.test.js +1 -1
  51. package/dist/backend/llvm/checked-value-lifetimes.js +4 -1
  52. package/dist/backend/llvm/checked-value-lifetimes.js.map +1 -1
  53. package/dist/backend/llvm/classes.d.ts +38 -1
  54. package/dist/backend/llvm/classes.js +185 -35
  55. package/dist/backend/llvm/classes.js.map +1 -1
  56. package/dist/backend/llvm/classes.test.js +79 -17
  57. package/dist/backend/llvm/classes.test.js.map +1 -1
  58. package/dist/backend/llvm/common.d.ts +21 -3
  59. package/dist/backend/llvm/common.js +51 -3
  60. package/dist/backend/llvm/common.js.map +1 -1
  61. package/dist/backend/llvm/constant-callbacks.d.ts +5 -1
  62. package/dist/backend/llvm/constant-callbacks.js +55 -12
  63. package/dist/backend/llvm/constant-callbacks.js.map +1 -1
  64. package/dist/backend/llvm/constant-callbacks.test.js +88 -1
  65. package/dist/backend/llvm/constant-callbacks.test.js.map +1 -1
  66. package/dist/backend/llvm/counted-loops.d.ts +4 -0
  67. package/dist/backend/llvm/counted-loops.js +37 -0
  68. package/dist/backend/llvm/counted-loops.js.map +1 -1
  69. package/dist/backend/llvm/dense-array-access.d.ts +15 -4
  70. package/dist/backend/llvm/dense-array-access.js +125 -44
  71. package/dist/backend/llvm/dense-array-access.js.map +1 -1
  72. package/dist/backend/llvm/dense-array-access.test.js +63 -3
  73. package/dist/backend/llvm/dense-array-access.test.js.map +1 -1
  74. package/dist/backend/llvm/dense-array-loops.d.ts +51 -0
  75. package/dist/backend/llvm/dense-array-loops.js +162 -0
  76. package/dist/backend/llvm/dense-array-loops.js.map +1 -0
  77. package/dist/backend/llvm/dense-array-loops.test.d.ts +1 -0
  78. package/dist/backend/llvm/dense-array-loops.test.js +128 -0
  79. package/dist/backend/llvm/dense-array-loops.test.js.map +1 -0
  80. package/dist/backend/llvm/dyn-handle-tags.test.d.ts +1 -0
  81. package/dist/backend/llvm/dyn-handle-tags.test.js +38 -0
  82. package/dist/backend/llvm/dyn-handle-tags.test.js.map +1 -0
  83. package/dist/backend/llvm/dyn.d.ts +37 -4
  84. package/dist/backend/llvm/dyn.js +354 -183
  85. package/dist/backend/llvm/dyn.js.map +1 -1
  86. package/dist/backend/llvm/emit-function.d.ts +64 -0
  87. package/dist/backend/llvm/emit-function.js +1193 -0
  88. package/dist/backend/llvm/emit-function.js.map +1 -0
  89. package/dist/backend/llvm/emit-module.d.ts +24 -0
  90. package/dist/backend/llvm/emit-module.js +1557 -0
  91. package/dist/backend/llvm/emit-module.js.map +1 -0
  92. package/dist/backend/llvm/emit-statements.d.ts +59 -0
  93. package/dist/backend/llvm/emit-statements.js +2041 -0
  94. package/dist/backend/llvm/emit-statements.js.map +1 -0
  95. package/dist/backend/llvm/emitter.d.ts +566 -291
  96. package/dist/backend/llvm/emitter.js +728 -4671
  97. package/dist/backend/llvm/emitter.js.map +1 -1
  98. package/dist/backend/llvm/emitter.test.js +57 -3
  99. package/dist/backend/llvm/emitter.test.js.map +1 -1
  100. package/dist/backend/llvm/expr-async.js +73 -46
  101. package/dist/backend/llvm/expr-async.js.map +1 -1
  102. package/dist/backend/llvm/expr-async.test.js +1 -1
  103. package/dist/backend/llvm/expr-bytes.d.ts +2 -0
  104. package/dist/backend/llvm/expr-bytes.js +76 -29
  105. package/dist/backend/llvm/expr-bytes.js.map +1 -1
  106. package/dist/backend/llvm/expr-callbacks.d.ts +6 -2
  107. package/dist/backend/llvm/expr-callbacks.js +48 -11
  108. package/dist/backend/llvm/expr-callbacks.js.map +1 -1
  109. package/dist/backend/llvm/expr-calls.d.ts +1 -1
  110. package/dist/backend/llvm/expr-calls.js +87 -56
  111. package/dist/backend/llvm/expr-calls.js.map +1 -1
  112. package/dist/backend/llvm/expr-calls.test.js +1 -1
  113. package/dist/backend/llvm/expr-containers.js +45 -24
  114. package/dist/backend/llvm/expr-containers.js.map +1 -1
  115. package/dist/backend/llvm/expr-control.js +16 -16
  116. package/dist/backend/llvm/expr-control.js.map +1 -1
  117. package/dist/backend/llvm/expr-dynamic.d.ts +3 -0
  118. package/dist/backend/llvm/expr-dynamic.js +113 -66
  119. package/dist/backend/llvm/expr-dynamic.js.map +1 -1
  120. package/dist/backend/llvm/expr-primitives.js +124 -28
  121. package/dist/backend/llvm/expr-primitives.js.map +1 -1
  122. package/dist/backend/llvm/expr-primitives.test.js +57 -2
  123. package/dist/backend/llvm/expr-primitives.test.js.map +1 -1
  124. package/dist/backend/llvm/expr-records.d.ts +1 -1
  125. package/dist/backend/llvm/expr-records.js +32 -11
  126. package/dist/backend/llvm/expr-records.js.map +1 -1
  127. package/dist/backend/llvm/expr-stream-bridges.js +65 -27
  128. package/dist/backend/llvm/expr-stream-bridges.js.map +1 -1
  129. package/dist/backend/llvm/expr-stream-bridges.test.js +2 -2
  130. package/dist/backend/llvm/expr-stream-callbacks.js +22 -1
  131. package/dist/backend/llvm/expr-stream-callbacks.js.map +1 -1
  132. package/dist/backend/llvm/int32-abi.test.js +2 -2
  133. package/dist/backend/llvm/integer-clones.js +3 -3
  134. package/dist/backend/llvm/integer-clones.js.map +1 -1
  135. package/dist/backend/llvm/integer-clones.test.js +3 -3
  136. package/dist/backend/llvm/integer-remainder.d.ts +34 -13
  137. package/dist/backend/llvm/integer-remainder.js +156 -22
  138. package/dist/backend/llvm/integer-remainder.js.map +1 -1
  139. package/dist/backend/llvm/intern-tables.test.js +1 -1
  140. package/dist/backend/llvm/js-ic.d.ts +18 -0
  141. package/dist/backend/llvm/js-ic.js +712 -0
  142. package/dist/backend/llvm/js-ic.js.map +1 -0
  143. package/dist/backend/llvm/jsval-encoding.d.ts +21 -0
  144. package/dist/backend/llvm/jsval-encoding.js +20 -0
  145. package/dist/backend/llvm/jsval-encoding.js.map +1 -0
  146. package/dist/backend/llvm/jsval.d.ts +12 -0
  147. package/dist/backend/llvm/jsval.js +616 -0
  148. package/dist/backend/llvm/jsval.js.map +1 -0
  149. package/dist/backend/llvm/lazy-captures.d.ts +12 -2
  150. package/dist/backend/llvm/lazy-captures.js +39 -17
  151. package/dist/backend/llvm/lazy-captures.js.map +1 -1
  152. package/dist/backend/llvm/lib-abi.js +1 -1
  153. package/dist/backend/llvm/lib-abi.js.map +1 -1
  154. package/dist/backend/llvm/lib-connect.js +1 -1
  155. package/dist/backend/llvm/lib-connect.js.map +1 -1
  156. package/dist/backend/llvm/lib-datagram.js +14 -8
  157. package/dist/backend/llvm/lib-datagram.js.map +1 -1
  158. package/dist/backend/llvm/lib-dispatch.js +189 -23
  159. package/dist/backend/llvm/lib-dispatch.js.map +1 -1
  160. package/dist/backend/llvm/lib-filesystem.js +42 -13
  161. package/dist/backend/llvm/lib-filesystem.js.map +1 -1
  162. package/dist/backend/llvm/lib-http2.js +3 -3
  163. package/dist/backend/llvm/lib-http2.js.map +1 -1
  164. package/dist/backend/llvm/lib-lookup.js +2 -2
  165. package/dist/backend/llvm/lib-lookup.js.map +1 -1
  166. package/dist/backend/llvm/lib-network.js +56 -22
  167. package/dist/backend/llvm/lib-network.js.map +1 -1
  168. package/dist/backend/llvm/lib-process.js +94 -53
  169. package/dist/backend/llvm/lib-process.js.map +1 -1
  170. package/dist/backend/llvm/lib-shared.d.ts +12 -0
  171. package/dist/backend/llvm/lib-shared.js +209 -6
  172. package/dist/backend/llvm/lib-shared.js.map +1 -1
  173. package/dist/backend/llvm/lib-stream.js +46 -16
  174. package/dist/backend/llvm/lib-stream.js.map +1 -1
  175. package/dist/backend/llvm/lib-test.js +43 -7
  176. package/dist/backend/llvm/lib-test.js.map +1 -1
  177. package/dist/backend/llvm/lib-tls.js +4 -9
  178. package/dist/backend/llvm/lib-tls.js.map +1 -1
  179. package/dist/backend/llvm/local-array-reads.js +42 -33
  180. package/dist/backend/llvm/local-array-reads.js.map +1 -1
  181. package/dist/backend/llvm/local-array-reads.test.js +1 -1
  182. package/dist/backend/llvm/local-extents.d.ts +19 -0
  183. package/dist/backend/llvm/local-extents.js +169 -0
  184. package/dist/backend/llvm/local-extents.js.map +1 -0
  185. package/dist/backend/llvm/local-extents.test.d.ts +1 -0
  186. package/dist/backend/llvm/local-extents.test.js +92 -0
  187. package/dist/backend/llvm/local-extents.test.js.map +1 -0
  188. package/dist/backend/llvm/local-union-storage.js +7 -7
  189. package/dist/backend/llvm/local-union-storage.js.map +1 -1
  190. package/dist/backend/llvm/local-union-storage.test.js +2 -2
  191. package/dist/backend/llvm/map-entry-fusion.test.js +1 -1
  192. package/dist/backend/llvm/map-number-lookup.d.ts +20 -4
  193. package/dist/backend/llvm/map-number-lookup.js +45 -9
  194. package/dist/backend/llvm/map-number-lookup.js.map +1 -1
  195. package/dist/backend/llvm/map-number-lookup.test.js +2 -2
  196. package/dist/backend/llvm/map-read-lifetimes.test.js +2 -2
  197. package/dist/backend/llvm/narrow-guards.d.ts +38 -0
  198. package/dist/backend/llvm/narrow-guards.js +215 -0
  199. package/dist/backend/llvm/narrow-guards.js.map +1 -0
  200. package/dist/backend/llvm/nullable-unions.d.ts +64 -6
  201. package/dist/backend/llvm/nullable-unions.js +103 -6
  202. package/dist/backend/llvm/nullable-unions.js.map +1 -1
  203. package/dist/backend/llvm/nullable-unions.test.d.ts +1 -0
  204. package/dist/backend/llvm/nullable-unions.test.js +65 -0
  205. package/dist/backend/llvm/nullable-unions.test.js.map +1 -0
  206. package/dist/backend/llvm/publish.d.ts +7 -0
  207. package/dist/backend/llvm/publish.js +50 -19
  208. package/dist/backend/llvm/publish.js.map +1 -1
  209. package/dist/backend/llvm/publish.test.js +1 -1
  210. package/dist/backend/llvm/receivers.d.ts +31 -0
  211. package/dist/backend/llvm/receivers.js +395 -0
  212. package/dist/backend/llvm/receivers.js.map +1 -0
  213. package/dist/backend/llvm/record-results.d.ts +12 -1
  214. package/dist/backend/llvm/record-results.js +64 -4
  215. package/dist/backend/llvm/record-results.js.map +1 -1
  216. package/dist/backend/llvm/reference-effects.js +9 -0
  217. package/dist/backend/llvm/reference-effects.js.map +1 -1
  218. package/dist/backend/llvm/reference-writes.d.ts +4 -0
  219. package/dist/backend/llvm/reference-writes.js +142 -6
  220. package/dist/backend/llvm/reference-writes.js.map +1 -1
  221. package/dist/backend/llvm/reference-writes.test.d.ts +1 -0
  222. package/dist/backend/llvm/reference-writes.test.js +88 -0
  223. package/dist/backend/llvm/reference-writes.test.js.map +1 -0
  224. package/dist/backend/llvm/regex-matchers.d.ts +8 -0
  225. package/dist/backend/llvm/regex-matchers.js +33 -0
  226. package/dist/backend/llvm/regex-matchers.js.map +1 -1
  227. package/dist/backend/llvm/regex-matchers.test.js +23 -1
  228. package/dist/backend/llvm/regex-matchers.test.js.map +1 -1
  229. package/dist/backend/llvm/regions.d.ts +1 -1
  230. package/dist/backend/llvm/regions.js +10 -7
  231. package/dist/backend/llvm/regions.js.map +1 -1
  232. package/dist/backend/llvm/regions.test.js +8 -2
  233. package/dist/backend/llvm/regions.test.js.map +1 -1
  234. package/dist/backend/llvm/shapes.d.ts +74 -45
  235. package/dist/backend/llvm/shapes.js +289 -28
  236. package/dist/backend/llvm/shapes.js.map +1 -1
  237. package/dist/backend/llvm/shapes.test.js +37 -3
  238. package/dist/backend/llvm/shapes.test.js.map +1 -1
  239. package/dist/backend/llvm/speculative-integers.d.ts +20 -1
  240. package/dist/backend/llvm/speculative-integers.js +94 -6
  241. package/dist/backend/llvm/speculative-integers.js.map +1 -1
  242. package/dist/backend/llvm/speculative-integers.test.js +55 -1
  243. package/dist/backend/llvm/speculative-integers.test.js.map +1 -1
  244. package/dist/backend/llvm/split-loops.js +2 -2
  245. package/dist/backend/llvm/split-loops.js.map +1 -1
  246. package/dist/backend/llvm/stack-objects.d.ts +26 -6
  247. package/dist/backend/llvm/stack-objects.js +133 -10
  248. package/dist/backend/llvm/stack-objects.js.map +1 -1
  249. package/dist/backend/llvm/stack-objects.test.js +55 -1
  250. package/dist/backend/llvm/stack-objects.test.js.map +1 -1
  251. package/dist/backend/llvm/stack-unions.test.js +1 -1
  252. package/dist/backend/llvm/string-construction.test.js +1 -1
  253. package/dist/backend/llvm/string-lifetimes.test.js +15 -14
  254. package/dist/backend/llvm/string-lifetimes.test.js.map +1 -1
  255. package/dist/backend/llvm/string-reads.d.ts +1 -1
  256. package/dist/backend/llvm/string-reads.js +4 -4
  257. package/dist/backend/llvm/string-reads.js.map +1 -1
  258. package/dist/backend/llvm/string-slices.d.ts +25 -0
  259. package/dist/backend/llvm/string-slices.js +207 -1
  260. package/dist/backend/llvm/string-slices.js.map +1 -1
  261. package/dist/backend/llvm/string-slices.test.js +139 -2
  262. package/dist/backend/llvm/string-slices.test.js.map +1 -1
  263. package/dist/backend/llvm/switch-dispatch.test.js +2 -2
  264. package/dist/backend/llvm/thread-slots.d.ts +5 -0
  265. package/dist/backend/llvm/thread-slots.js +142 -0
  266. package/dist/backend/llvm/thread-slots.js.map +1 -0
  267. package/dist/backend/llvm/thread-slots.test.d.ts +1 -0
  268. package/dist/backend/llvm/thread-slots.test.js +111 -0
  269. package/dist/backend/llvm/thread-slots.test.js.map +1 -0
  270. package/dist/backend/llvm/union-repr.d.ts +7 -7
  271. package/dist/backend/llvm/union-repr.js +18 -2
  272. package/dist/backend/llvm/union-repr.js.map +1 -1
  273. package/dist/backend/llvm/union-retype.test.js +17 -3
  274. package/dist/backend/llvm/union-retype.test.js.map +1 -1
  275. package/dist/backend/llvm/walkers.d.ts +2 -2
  276. package/dist/backend/llvm/walkers.js +51 -26
  277. package/dist/backend/llvm/walkers.js.map +1 -1
  278. package/dist/backend/llvm/wasm-modules.d.ts +16 -0
  279. package/dist/backend/llvm/wasm-modules.js +66 -0
  280. package/dist/backend/llvm/wasm-modules.js.map +1 -0
  281. package/dist/backend/llvm/wrapping-sums.d.ts +7 -0
  282. package/dist/backend/llvm/wrapping-sums.js +11 -3
  283. package/dist/backend/llvm/wrapping-sums.js.map +1 -1
  284. package/dist/backend/mangle.d.ts +12 -0
  285. package/dist/backend/mangle.js +18 -0
  286. package/dist/backend/mangle.js.map +1 -1
  287. package/dist/backend/may-throw.d.ts +3 -0
  288. package/dist/backend/may-throw.js +4 -2
  289. package/dist/backend/may-throw.js.map +1 -1
  290. package/dist/backend/may-throw.test.js +1 -1
  291. package/dist/backend/native/contracts.d.ts +57 -0
  292. package/dist/backend/native/executable.js +211 -139
  293. package/dist/backend/native/executable.js.map +1 -1
  294. package/dist/backend/native/library.js +2 -0
  295. package/dist/backend/native/library.js.map +1 -1
  296. package/dist/backend/native/runtime-inputs.d.ts +1 -1
  297. package/dist/backend/native/runtime-inputs.js +1 -0
  298. package/dist/backend/native/runtime-inputs.js.map +1 -1
  299. package/dist/backend/native-codegen.d.ts +6 -0
  300. package/dist/backend/native-codegen.js +19 -0
  301. package/dist/backend/native-codegen.js.map +1 -1
  302. package/dist/backend/native-codegen.test.js +27 -0
  303. package/dist/backend/native-codegen.test.js.map +1 -1
  304. package/dist/backend/native-link-info-core.d.ts +48 -0
  305. package/dist/backend/native-link-info-core.js.map +1 -1
  306. package/dist/backend/native-profile.d.ts +32 -0
  307. package/dist/backend/native-profile.js +39 -0
  308. package/dist/backend/native-profile.js.map +1 -0
  309. package/dist/backend/native-profile.test.d.ts +1 -0
  310. package/dist/backend/native-profile.test.js +58 -0
  311. package/dist/backend/native-profile.test.js.map +1 -0
  312. package/dist/backend/native-tools.d.ts +14 -0
  313. package/dist/backend/native-tools.js +13 -0
  314. package/dist/backend/native-tools.js.map +1 -1
  315. package/dist/backend/publication.test.js +1 -1
  316. package/dist/backend/runtime-abi.d.ts +2 -2
  317. package/dist/backend/runtime-abi.js +2 -2
  318. package/dist/backend/runtime-pack-core.d.ts +13 -1
  319. package/dist/backend/runtime-pack-core.js +14 -1
  320. package/dist/backend/runtime-pack-core.js.map +1 -1
  321. package/dist/backend/runtime-pack-native.js +1 -1
  322. package/dist/backend/runtime-pack-native.js.map +1 -1
  323. package/dist/backend/runtime-pack-native.test.d.ts +1 -0
  324. package/dist/backend/runtime-pack-native.test.js +31 -0
  325. package/dist/backend/runtime-pack-native.test.js.map +1 -0
  326. package/dist/backend/runtime-pack-targets.test.js +9 -1
  327. package/dist/backend/runtime-pack-targets.test.js.map +1 -1
  328. package/dist/backend/runtime-pack.test.js +9 -1
  329. package/dist/backend/runtime-pack.test.js.map +1 -1
  330. package/dist/backend/stack-observations.d.ts +22 -0
  331. package/dist/backend/stack-observations.js +382 -0
  332. package/dist/backend/stack-observations.js.map +1 -0
  333. package/dist/backend/stack-observations.test.d.ts +1 -0
  334. package/dist/backend/stack-observations.test.js +233 -0
  335. package/dist/backend/stack-observations.test.js.map +1 -0
  336. package/dist/backend/target-diagnostics.js +15 -0
  337. package/dist/backend/target-diagnostics.js.map +1 -1
  338. package/dist/backend/target-diagnostics.test.js +1 -1
  339. package/dist/backend/warm-cache.js +8 -0
  340. package/dist/backend/warm-cache.js.map +1 -1
  341. package/dist/backend/young-nursery.d.ts +7 -0
  342. package/dist/backend/young-nursery.js +10 -0
  343. package/dist/backend/young-nursery.js.map +1 -0
  344. package/dist/cli/command.js +106 -4
  345. package/dist/cli/command.js.map +1 -1
  346. package/dist/cli/host.d.ts +3 -0
  347. package/dist/cli/output-options.d.ts +2 -0
  348. package/dist/cli/output-options.js +9 -0
  349. package/dist/cli/output-options.js.map +1 -1
  350. package/dist/cli/usage.d.ts +21 -1
  351. package/dist/cli/usage.js +43 -1
  352. package/dist/cli/usage.js.map +1 -1
  353. package/dist/compat/fetch-profile.js +10 -1
  354. package/dist/compat/fetch-profile.js.map +1 -1
  355. package/dist/compile-types.d.ts +22 -0
  356. package/dist/contracts/check.js +25 -8
  357. package/dist/contracts/check.js.map +1 -1
  358. package/dist/contracts/int32-elements.d.ts +115 -0
  359. package/dist/contracts/int32-elements.js +1179 -0
  360. package/dist/contracts/int32-elements.js.map +1 -0
  361. package/dist/coverage/report.d.ts +16 -0
  362. package/dist/coverage/report.js +182 -1
  363. package/dist/coverage/report.js.map +1 -1
  364. package/dist/coverage/surface-manifest.js +16 -3
  365. package/dist/coverage/surface-manifest.js.map +1 -1
  366. package/dist/coverage/verdict-cache.d.ts +2 -0
  367. package/dist/coverage/verdict-cache.js +12 -0
  368. package/dist/coverage/verdict-cache.js.map +1 -1
  369. package/dist/coverage/verdict-cache.test.js +2 -1
  370. package/dist/coverage/verdict-cache.test.js.map +1 -1
  371. package/dist/diagnostics/diagnostic.d.ts +10 -6
  372. package/dist/diagnostics/diagnostic.js +29 -21
  373. package/dist/diagnostics/diagnostic.js.map +1 -1
  374. package/dist/diagnostics/envelope.d.ts +39 -2
  375. package/dist/diagnostics/envelope.js.map +1 -1
  376. package/dist/diagnostics/render.d.ts +7 -0
  377. package/dist/diagnostics/render.js +50 -13
  378. package/dist/diagnostics/render.js.map +1 -1
  379. package/dist/diagnostics/render.test.d.ts +1 -0
  380. package/dist/diagnostics/render.test.js +49 -0
  381. package/dist/diagnostics/render.test.js.map +1 -0
  382. package/dist/executable/executable-cache.d.ts +27 -0
  383. package/dist/executable/executable-cache.js +19 -1
  384. package/dist/executable/executable-cache.js.map +1 -1
  385. package/dist/executable/executable-cache.test.js +12 -1
  386. package/dist/executable/executable-cache.test.js.map +1 -1
  387. package/dist/executable/prepare.js +2 -1
  388. package/dist/executable/prepare.js.map +1 -1
  389. package/dist/frontend/analysis.js +6 -1
  390. package/dist/frontend/analysis.js.map +1 -1
  391. package/dist/frontend/arguments-usage.d.ts +8 -0
  392. package/dist/frontend/arguments-usage.js +98 -0
  393. package/dist/frontend/arguments-usage.js.map +1 -1
  394. package/dist/frontend/arguments-usage.test.d.ts +1 -0
  395. package/dist/frontend/arguments-usage.test.js +32 -0
  396. package/dist/frontend/arguments-usage.test.js.map +1 -0
  397. package/dist/frontend/builtin-modules.d.ts +16 -2
  398. package/dist/frontend/builtin-modules.js +40 -7
  399. package/dist/frontend/builtin-modules.js.map +1 -1
  400. package/dist/frontend/builtin-package-aliases.d.ts +24 -0
  401. package/dist/frontend/builtin-package-aliases.js +133 -0
  402. package/dist/frontend/builtin-package-aliases.js.map +1 -0
  403. package/dist/frontend/builtin-package-aliases.test.d.ts +1 -0
  404. package/dist/frontend/builtin-package-aliases.test.js +48 -0
  405. package/dist/frontend/builtin-package-aliases.test.js.map +1 -0
  406. package/dist/frontend/cjs-syntax.js +52 -51
  407. package/dist/frontend/cjs-syntax.js.map +1 -1
  408. package/dist/frontend/contract-types.d.ts +3 -0
  409. package/dist/frontend/contract-types.js +36 -7
  410. package/dist/frontend/contract-types.js.map +1 -1
  411. package/dist/frontend/dts-paths.d.ts +4 -0
  412. package/dist/frontend/dts-paths.js +9 -1
  413. package/dist/frontend/dts-paths.js.map +1 -1
  414. package/dist/frontend/experimental-import.d.ts +5 -1
  415. package/dist/frontend/experimental-import.js +26 -7
  416. package/dist/frontend/experimental-import.js.map +1 -1
  417. package/dist/frontend/fork-target.js +20 -22
  418. package/dist/frontend/fork-target.js.map +1 -1
  419. package/dist/frontend/fork-target.test.js +2 -1
  420. package/dist/frontend/fork-target.test.js.map +1 -1
  421. package/dist/frontend/function-completion.js +6 -6
  422. package/dist/frontend/function-completion.js.map +1 -1
  423. package/dist/frontend/helper-tokens.js +15 -3
  424. package/dist/frontend/helper-tokens.js.map +1 -1
  425. package/dist/frontend/helper-tokens.test.js +7 -1
  426. package/dist/frontend/helper-tokens.test.js.map +1 -1
  427. package/dist/frontend/inferred-js-diagnostics.js +14 -17
  428. package/dist/frontend/inferred-js-diagnostics.js.map +1 -1
  429. package/dist/frontend/input-tracker.d.ts +3 -0
  430. package/dist/frontend/input-tracker.js +32 -3
  431. package/dist/frontend/input-tracker.js.map +1 -1
  432. package/dist/frontend/lib-contract.js +36 -32
  433. package/dist/frontend/lib-contract.js.map +1 -1
  434. package/dist/frontend/lib-exports.js +3 -3
  435. package/dist/frontend/lib-exports.js.map +1 -1
  436. package/dist/frontend/lowering/array-values.d.ts +8 -3
  437. package/dist/frontend/lowering/array-values.js +60 -11
  438. package/dist/frontend/lowering/array-values.js.map +1 -1
  439. package/dist/frontend/lowering/assert-instances.js +4 -4
  440. package/dist/frontend/lowering/assert-instances.js.map +1 -1
  441. package/dist/frontend/lowering/assertion-identity.d.ts +12 -0
  442. package/dist/frontend/lowering/assertion-identity.js +70 -0
  443. package/dist/frontend/lowering/assertion-identity.js.map +1 -0
  444. package/dist/frontend/lowering/assertion-members.d.ts +28 -0
  445. package/dist/frontend/lowering/assertion-members.js +185 -0
  446. package/dist/frontend/lowering/assertion-members.js.map +1 -0
  447. package/dist/frontend/lowering/binding-analysis.js +27 -20
  448. package/dist/frontend/lowering/binding-analysis.js.map +1 -1
  449. package/dist/frontend/lowering/builtin-calls.js +63 -5
  450. package/dist/frontend/lowering/builtin-calls.js.map +1 -1
  451. package/dist/frontend/lowering/builtin-function-fences.d.ts +14 -0
  452. package/dist/frontend/lowering/builtin-function-fences.js +42 -0
  453. package/dist/frontend/lowering/builtin-function-fences.js.map +1 -0
  454. package/dist/frontend/lowering/builtins/arguments.js +1 -1
  455. package/dist/frontend/lowering/builtins/arguments.js.map +1 -1
  456. package/dist/frontend/lowering/builtins/async-context.js +53 -52
  457. package/dist/frontend/lowering/builtins/async-context.js.map +1 -1
  458. package/dist/frontend/lowering/builtins/atomics.js +6 -6
  459. package/dist/frontend/lowering/builtins/atomics.js.map +1 -1
  460. package/dist/frontend/lowering/builtins/blob.js +8 -6
  461. package/dist/frontend/lowering/builtins/blob.js.map +1 -1
  462. package/dist/frontend/lowering/builtins/builtin-class-dyn.d.ts +31 -0
  463. package/dist/frontend/lowering/builtins/builtin-class-dyn.js +205 -0
  464. package/dist/frontend/lowering/builtins/builtin-class-dyn.js.map +1 -0
  465. package/dist/frontend/lowering/builtins/callable-aliases.js +17 -5
  466. package/dist/frontend/lowering/builtins/callable-aliases.js.map +1 -1
  467. package/dist/frontend/lowering/builtins/child-process-async.js +7 -7
  468. package/dist/frontend/lowering/builtins/child-process-async.js.map +1 -1
  469. package/dist/frontend/lowering/builtins/child-process-methods.d.ts +6 -4
  470. package/dist/frontend/lowering/builtins/child-process-methods.js +310 -57
  471. package/dist/frontend/lowering/builtins/child-process-methods.js.map +1 -1
  472. package/dist/frontend/lowering/builtins/child-process-sync.js +16 -10
  473. package/dist/frontend/lowering/builtins/child-process-sync.js.map +1 -1
  474. package/dist/frontend/lowering/builtins/child-process.d.ts +6 -4
  475. package/dist/frontend/lowering/builtins/child-process.js +85 -61
  476. package/dist/frontend/lowering/builtins/child-process.js.map +1 -1
  477. package/dist/frontend/lowering/builtins/class-values.d.ts +60 -0
  478. package/dist/frontend/lowering/builtins/class-values.js +226 -0
  479. package/dist/frontend/lowering/builtins/class-values.js.map +1 -0
  480. package/dist/frontend/lowering/builtins/compression.d.ts +9 -0
  481. package/dist/frontend/lowering/builtins/compression.js +107 -44
  482. package/dist/frontend/lowering/builtins/compression.js.map +1 -1
  483. package/dist/frontend/lowering/builtins/constants.d.ts +9 -1
  484. package/dist/frontend/lowering/builtins/constants.js +28 -7
  485. package/dist/frontend/lowering/builtins/constants.js.map +1 -1
  486. package/dist/frontend/lowering/builtins/crypto.d.ts +22 -0
  487. package/dist/frontend/lowering/builtins/crypto.js +215 -38
  488. package/dist/frontend/lowering/builtins/crypto.js.map +1 -1
  489. package/dist/frontend/lowering/builtins/dates.d.ts +7 -1
  490. package/dist/frontend/lowering/builtins/dates.js +92 -16
  491. package/dist/frontend/lowering/builtins/dates.js.map +1 -1
  492. package/dist/frontend/lowering/builtins/disposable-stack.d.ts +18 -0
  493. package/dist/frontend/lowering/builtins/disposable-stack.js +137 -0
  494. package/dist/frontend/lowering/builtins/disposable-stack.js.map +1 -0
  495. package/dist/frontend/lowering/builtins/ecdh.d.ts +10 -0
  496. package/dist/frontend/lowering/builtins/ecdh.js +208 -0
  497. package/dist/frontend/lowering/builtins/ecdh.js.map +1 -0
  498. package/dist/frontend/lowering/builtins/environment.js +3 -3
  499. package/dist/frontend/lowering/builtins/environment.js.map +1 -1
  500. package/dist/frontend/lowering/builtins/errors.d.ts +14 -10
  501. package/dist/frontend/lowering/builtins/errors.js +169 -3
  502. package/dist/frontend/lowering/builtins/errors.js.map +1 -1
  503. package/dist/frontend/lowering/builtins/filesystem-calls.js +128 -116
  504. package/dist/frontend/lowering/builtins/filesystem-calls.js.map +1 -1
  505. package/dist/frontend/lowering/builtins/filesystem.js +77 -77
  506. package/dist/frontend/lowering/builtins/filesystem.js.map +1 -1
  507. package/dist/frontend/lowering/builtins/fs-glob.js +3 -3
  508. package/dist/frontend/lowering/builtins/fs-glob.js.map +1 -1
  509. package/dist/frontend/lowering/builtins/fs-streams.js +10 -11
  510. package/dist/frontend/lowering/builtins/fs-streams.js.map +1 -1
  511. package/dist/frontend/lowering/builtins/ipc.js +45 -8
  512. package/dist/frontend/lowering/builtins/ipc.js.map +1 -1
  513. package/dist/frontend/lowering/builtins/json.js +284 -24
  514. package/dist/frontend/lowering/builtins/json.js.map +1 -1
  515. package/dist/frontend/lowering/builtins/key-object.js +4 -4
  516. package/dist/frontend/lowering/builtins/key-object.js.map +1 -1
  517. package/dist/frontend/lowering/builtins/module-bindings.d.ts +8 -0
  518. package/dist/frontend/lowering/builtins/module-bindings.js +71 -22
  519. package/dist/frontend/lowering/builtins/module-bindings.js.map +1 -1
  520. package/dist/frontend/lowering/builtins/module-calls.js +55 -44
  521. package/dist/frontend/lowering/builtins/module-calls.js.map +1 -1
  522. package/dist/frontend/lowering/builtins/module-resolution.d.ts +4 -3
  523. package/dist/frontend/lowering/builtins/module-resolution.js +24 -23
  524. package/dist/frontend/lowering/builtins/module-resolution.js.map +1 -1
  525. package/dist/frontend/lowering/builtins/navigator.d.ts +13 -0
  526. package/dist/frontend/lowering/builtins/navigator.js +40 -0
  527. package/dist/frontend/lowering/builtins/navigator.js.map +1 -0
  528. package/dist/frontend/lowering/builtins/net-address.d.ts +19 -0
  529. package/dist/frontend/lowering/builtins/net-address.js +156 -0
  530. package/dist/frontend/lowering/builtins/net-address.js.map +1 -0
  531. package/dist/frontend/lowering/builtins/numbers.js +25 -9
  532. package/dist/frontend/lowering/builtins/numbers.js.map +1 -1
  533. package/dist/frontend/lowering/builtins/operating-system.d.ts +4 -0
  534. package/dist/frontend/lowering/builtins/operating-system.js +25 -12
  535. package/dist/frontend/lowering/builtins/operating-system.js.map +1 -1
  536. package/dist/frontend/lowering/builtins/performance.d.ts +12 -0
  537. package/dist/frontend/lowering/builtins/performance.js +259 -8
  538. package/dist/frontend/lowering/builtins/performance.js.map +1 -1
  539. package/dist/frontend/lowering/builtins/process.d.ts +41 -1
  540. package/dist/frontend/lowering/builtins/process.js +505 -99
  541. package/dist/frontend/lowering/builtins/process.js.map +1 -1
  542. package/dist/frontend/lowering/builtins/promises.d.ts +5 -1
  543. package/dist/frontend/lowering/builtins/promises.js +326 -43
  544. package/dist/frontend/lowering/builtins/promises.js.map +1 -1
  545. package/dist/frontend/lowering/builtins/promisify-callback.d.ts +40 -0
  546. package/dist/frontend/lowering/builtins/promisify-callback.js +338 -0
  547. package/dist/frontend/lowering/builtins/promisify-callback.js.map +1 -0
  548. package/dist/frontend/lowering/builtins/properties.js +37 -1
  549. package/dist/frontend/lowering/builtins/properties.js.map +1 -1
  550. package/dist/frontend/lowering/builtins/querystring.js +14 -14
  551. package/dist/frontend/lowering/builtins/querystring.js.map +1 -1
  552. package/dist/frontend/lowering/builtins/readline.d.ts +12 -2
  553. package/dist/frontend/lowering/builtins/readline.js +136 -39
  554. package/dist/frontend/lowering/builtins/readline.js.map +1 -1
  555. package/dist/frontend/lowering/builtins/receiver-types.js +3 -5
  556. package/dist/frontend/lowering/builtins/receiver-types.js.map +1 -1
  557. package/dist/frontend/lowering/builtins/reflection.js +42 -14
  558. package/dist/frontend/lowering/builtins/reflection.js.map +1 -1
  559. package/dist/frontend/lowering/builtins/runtime-constructor.d.ts +26 -0
  560. package/dist/frontend/lowering/builtins/runtime-constructor.js +165 -0
  561. package/dist/frontend/lowering/builtins/runtime-constructor.js.map +1 -0
  562. package/dist/frontend/lowering/builtins/strings.js +101 -12
  563. package/dist/frontend/lowering/builtins/strings.js.map +1 -1
  564. package/dist/frontend/lowering/builtins/text-codecs.js +41 -38
  565. package/dist/frontend/lowering/builtins/text-codecs.js.map +1 -1
  566. package/dist/frontend/lowering/builtins/timers.js +79 -30
  567. package/dist/frontend/lowering/builtins/timers.js.map +1 -1
  568. package/dist/frontend/lowering/builtins/typed-array-members.d.ts +7 -0
  569. package/dist/frontend/lowering/builtins/typed-array-members.js +160 -0
  570. package/dist/frontend/lowering/builtins/typed-array-members.js.map +1 -0
  571. package/dist/frontend/lowering/builtins/url.d.ts +3 -0
  572. package/dist/frontend/lowering/builtins/url.js +120 -17
  573. package/dist/frontend/lowering/builtins/url.js.map +1 -1
  574. package/dist/frontend/lowering/builtins/util-types.js +20 -4
  575. package/dist/frontend/lowering/builtins/util-types.js.map +1 -1
  576. package/dist/frontend/lowering/builtins/v8.d.ts +11 -0
  577. package/dist/frontend/lowering/builtins/v8.js +105 -0
  578. package/dist/frontend/lowering/builtins/v8.js.map +1 -0
  579. package/dist/frontend/lowering/builtins/webassembly.d.ts +33 -0
  580. package/dist/frontend/lowering/builtins/webassembly.js +388 -0
  581. package/dist/frontend/lowering/builtins/webassembly.js.map +1 -0
  582. package/dist/frontend/lowering/builtins/webcrypto.d.ts +20 -0
  583. package/dist/frontend/lowering/builtins/webcrypto.js +112 -0
  584. package/dist/frontend/lowering/builtins/webcrypto.js.map +1 -0
  585. package/dist/frontend/lowering/builtins/workers.d.ts +12 -0
  586. package/dist/frontend/lowering/builtins/workers.js +193 -8
  587. package/dist/frontend/lowering/builtins/workers.js.map +1 -1
  588. package/dist/frontend/lowering/call-arguments.js +69 -14
  589. package/dist/frontend/lowering/call-arguments.js.map +1 -1
  590. package/dist/frontend/lowering/call-signatures.d.ts +23 -1
  591. package/dist/frontend/lowering/call-signatures.js +379 -55
  592. package/dist/frontend/lowering/call-signatures.js.map +1 -1
  593. package/dist/frontend/lowering/checked-promise-all.d.ts +3 -0
  594. package/dist/frontend/lowering/checked-promise-all.js +1 -1
  595. package/dist/frontend/lowering/checked-promise-all.js.map +1 -1
  596. package/dist/frontend/lowering/cjs-exports-object.d.ts +53 -0
  597. package/dist/frontend/lowering/cjs-exports-object.js +561 -0
  598. package/dist/frontend/lowering/cjs-exports-object.js.map +1 -0
  599. package/dist/frontend/lowering/cjs-inline-require.d.ts +86 -0
  600. package/dist/frontend/lowering/cjs-inline-require.js +314 -0
  601. package/dist/frontend/lowering/cjs-inline-require.js.map +1 -0
  602. package/dist/frontend/lowering/cjs-tsc-interop.d.ts +28 -0
  603. package/dist/frontend/lowering/cjs-tsc-interop.js +208 -0
  604. package/dist/frontend/lowering/cjs-tsc-interop.js.map +1 -0
  605. package/dist/frontend/lowering/class-attributes.d.ts +19 -0
  606. package/dist/frontend/lowering/class-attributes.js +378 -0
  607. package/dist/frontend/lowering/class-attributes.js.map +1 -0
  608. package/dist/frontend/lowering/class-callbacks.d.ts +3 -1
  609. package/dist/frontend/lowering/class-callbacks.js +21 -10
  610. package/dist/frontend/lowering/class-callbacks.js.map +1 -1
  611. package/dist/frontend/lowering/class-construction.js +49 -4
  612. package/dist/frontend/lowering/class-construction.js.map +1 -1
  613. package/dist/frontend/lowering/class-descriptors.d.ts +2 -0
  614. package/dist/frontend/lowering/class-descriptors.js +8 -8
  615. package/dist/frontend/lowering/class-descriptors.js.map +1 -1
  616. package/dist/frontend/lowering/class-dynamic-dispatch.d.ts +64 -0
  617. package/dist/frontend/lowering/class-dynamic-dispatch.js +1124 -90
  618. package/dist/frontend/lowering/class-dynamic-dispatch.js.map +1 -1
  619. package/dist/frontend/lowering/class-instance-constructor.js +1 -1
  620. package/dist/frontend/lowering/class-instance-constructor.js.map +1 -1
  621. package/dist/frontend/lowering/class-iterables.d.ts +11 -0
  622. package/dist/frontend/lowering/class-iterables.js +31 -0
  623. package/dist/frontend/lowering/class-iterables.js.map +1 -0
  624. package/dist/frontend/lowering/class-method-mutations.js +73 -35
  625. package/dist/frontend/lowering/class-method-mutations.js.map +1 -1
  626. package/dist/frontend/lowering/class-method-values.js +56 -10
  627. package/dist/frontend/lowering/class-method-values.js.map +1 -1
  628. package/dist/frontend/lowering/class-protocol-dispatch.js +24 -22
  629. package/dist/frontend/lowering/class-protocol-dispatch.js.map +1 -1
  630. package/dist/frontend/lowering/class-protocols.d.ts +10 -0
  631. package/dist/frontend/lowering/class-protocols.js +76 -45
  632. package/dist/frontend/lowering/class-protocols.js.map +1 -1
  633. package/dist/frontend/lowering/class-prototypes.d.ts +6 -0
  634. package/dist/frontend/lowering/class-prototypes.js +86 -19
  635. package/dist/frontend/lowering/class-prototypes.js.map +1 -1
  636. package/dist/frontend/lowering/class-runtime-statics.js +1 -1
  637. package/dist/frontend/lowering/class-runtime-statics.js.map +1 -1
  638. package/dist/frontend/lowering/class-static-data.js +2 -2
  639. package/dist/frontend/lowering/class-static-data.js.map +1 -1
  640. package/dist/frontend/lowering/class-to-primitive.d.ts +25 -0
  641. package/dist/frontend/lowering/class-to-primitive.js +264 -0
  642. package/dist/frontend/lowering/class-to-primitive.js.map +1 -0
  643. package/dist/frontend/lowering/class-unions.d.ts +25 -0
  644. package/dist/frontend/lowering/class-unions.js +102 -1
  645. package/dist/frontend/lowering/class-unions.js.map +1 -1
  646. package/dist/frontend/lowering/code-generation.d.ts +14 -0
  647. package/dist/frontend/lowering/code-generation.js +127 -0
  648. package/dist/frontend/lowering/code-generation.js.map +1 -0
  649. package/dist/frontend/lowering/coercions/fresh-spread.d.ts +13 -0
  650. package/dist/frontend/lowering/coercions/fresh-spread.js +95 -0
  651. package/dist/frontend/lowering/coercions/fresh-spread.js.map +1 -0
  652. package/dist/frontend/lowering/coercions/function-adapters.d.ts +16 -2
  653. package/dist/frontend/lowering/coercions/function-adapters.js +239 -68
  654. package/dist/frontend/lowering/coercions/function-adapters.js.map +1 -1
  655. package/dist/frontend/lowering/coercions/structural-plans.js +25 -3
  656. package/dist/frontend/lowering/coercions/structural-plans.js.map +1 -1
  657. package/dist/frontend/lowering/coercions/structural.js +35 -3
  658. package/dist/frontend/lowering/coercions/structural.js.map +1 -1
  659. package/dist/frontend/lowering/coercions/unions.d.ts +15 -0
  660. package/dist/frontend/lowering/coercions/unions.js +57 -1
  661. package/dist/frontend/lowering/coercions/unions.js.map +1 -1
  662. package/dist/frontend/lowering/collection-ingestion.js +2 -2
  663. package/dist/frontend/lowering/collection-ingestion.js.map +1 -1
  664. package/dist/frontend/lowering/collection-narrowing.js +2 -4
  665. package/dist/frontend/lowering/collection-narrowing.js.map +1 -1
  666. package/dist/frontend/lowering/construction-escapes.js +8 -8
  667. package/dist/frontend/lowering/construction-escapes.js.map +1 -1
  668. package/dist/frontend/lowering/construction-escapes.test.js +4 -4
  669. package/dist/frontend/lowering/construction-escapes.test.js.map +1 -1
  670. package/dist/frontend/lowering/constructor-returns.d.ts +61 -0
  671. package/dist/frontend/lowering/constructor-returns.js +477 -0
  672. package/dist/frontend/lowering/constructor-returns.js.map +1 -0
  673. package/dist/frontend/lowering/containers/array-callback-call.js +1 -1
  674. package/dist/frontend/lowering/containers/array-callback-call.js.map +1 -1
  675. package/dist/frontend/lowering/containers/array-callbacks.d.ts +17 -0
  676. package/dist/frontend/lowering/containers/array-callbacks.js +287 -118
  677. package/dist/frontend/lowering/containers/array-callbacks.js.map +1 -1
  678. package/dist/frontend/lowering/containers/array-concat.js +1 -1
  679. package/dist/frontend/lowering/containers/array-concat.js.map +1 -1
  680. package/dist/frontend/lowering/containers/array-construction.d.ts +0 -1
  681. package/dist/frontend/lowering/containers/array-construction.js +58 -13
  682. package/dist/frontend/lowering/containers/array-construction.js.map +1 -1
  683. package/dist/frontend/lowering/containers/array-from-async.d.ts +6 -5
  684. package/dist/frontend/lowering/containers/array-from-async.js +159 -14
  685. package/dist/frontend/lowering/containers/array-from-async.js.map +1 -1
  686. package/dist/frontend/lowering/containers/array-methods.js +94 -77
  687. package/dist/frontend/lowering/containers/array-methods.js.map +1 -1
  688. package/dist/frontend/lowering/containers/array-pipelines.js +1 -0
  689. package/dist/frontend/lowering/containers/array-pipelines.js.map +1 -1
  690. package/dist/frontend/lowering/containers/bytes.d.ts +9 -0
  691. package/dist/frontend/lowering/containers/bytes.js +649 -113
  692. package/dist/frontend/lowering/containers/bytes.js.map +1 -1
  693. package/dist/frontend/lowering/containers/callback-arguments.d.ts +9 -1
  694. package/dist/frontend/lowering/containers/callback-arguments.js +55 -5
  695. package/dist/frontend/lowering/containers/callback-arguments.js.map +1 -1
  696. package/dist/frontend/lowering/containers/collection-grouping.d.ts +7 -8
  697. package/dist/frontend/lowering/containers/collection-grouping.js +217 -26
  698. package/dist/frontend/lowering/containers/collection-grouping.js.map +1 -1
  699. package/dist/frontend/lowering/containers/collection-methods.js +126 -28
  700. package/dist/frontend/lowering/containers/collection-methods.js.map +1 -1
  701. package/dist/frontend/lowering/containers/dynamic-receivers.js +1 -1
  702. package/dist/frontend/lowering/containers/dynamic-receivers.js.map +1 -1
  703. package/dist/frontend/lowering/containers/exec-result-uses.js +2 -2
  704. package/dist/frontend/lowering/containers/exec-result-uses.js.map +1 -1
  705. package/dist/frontend/lowering/containers/for-of.d.ts +6 -0
  706. package/dist/frontend/lowering/containers/for-of.js +19 -19
  707. package/dist/frontend/lowering/containers/for-of.js.map +1 -1
  708. package/dist/frontend/lowering/containers/indexed-objects.js +142 -57
  709. package/dist/frontend/lowering/containers/indexed-objects.js.map +1 -1
  710. package/dist/frontend/lowering/containers/iterator-helpers.d.ts +53 -4
  711. package/dist/frontend/lowering/containers/iterator-helpers.js +1581 -462
  712. package/dist/frontend/lowering/containers/iterator-helpers.js.map +1 -1
  713. package/dist/frontend/lowering/containers/match-row-uses.d.ts +17 -0
  714. package/dist/frontend/lowering/containers/match-row-uses.js +264 -0
  715. package/dist/frontend/lowering/containers/match-row-uses.js.map +1 -0
  716. package/dist/frontend/lowering/containers/string-and-regexp.d.ts +14 -0
  717. package/dist/frontend/lowering/containers/string-and-regexp.js +455 -30
  718. package/dist/frontend/lowering/containers/string-and-regexp.js.map +1 -1
  719. package/dist/frontend/lowering/containers/string-replacement.js +1 -1
  720. package/dist/frontend/lowering/containers/string-replacement.js.map +1 -1
  721. package/dist/frontend/lowering/cycle-initialization.d.ts +30 -10
  722. package/dist/frontend/lowering/cycle-initialization.js +191 -35
  723. package/dist/frontend/lowering/cycle-initialization.js.map +1 -1
  724. package/dist/frontend/lowering/deferred-module-initializers.js +47 -43
  725. package/dist/frontend/lowering/deferred-module-initializers.js.map +1 -1
  726. package/dist/frontend/lowering/devirtualize.d.ts +1 -1
  727. package/dist/frontend/lowering/devirtualize.js +27 -7
  728. package/dist/frontend/lowering/devirtualize.js.map +1 -1
  729. package/dist/frontend/lowering/divergences.d.ts +0 -5
  730. package/dist/frontend/lowering/divergences.js +62 -125
  731. package/dist/frontend/lowering/divergences.js.map +1 -1
  732. package/dist/frontend/lowering/dyn-streams.d.ts +25 -0
  733. package/dist/frontend/lowering/dyn-streams.js +257 -0
  734. package/dist/frontend/lowering/dyn-streams.js.map +1 -0
  735. package/dist/frontend/lowering/error-methods.js +4 -1
  736. package/dist/frontend/lowering/error-methods.js.map +1 -1
  737. package/dist/frontend/lowering/error-name-order.d.ts +19 -0
  738. package/dist/frontend/lowering/error-name-order.js +93 -0
  739. package/dist/frontend/lowering/error-name-order.js.map +1 -0
  740. package/dist/frontend/lowering/expressions/array-literals.d.ts +21 -0
  741. package/dist/frontend/lowering/expressions/array-literals.js +723 -0
  742. package/dist/frontend/lowering/expressions/array-literals.js.map +1 -0
  743. package/dist/frontend/lowering/expressions/binary.d.ts +35 -0
  744. package/dist/frontend/lowering/expressions/binary.js +2557 -0
  745. package/dist/frontend/lowering/expressions/binary.js.map +1 -0
  746. package/dist/frontend/lowering/expressions/element-access.d.ts +31 -0
  747. package/dist/frontend/lowering/expressions/element-access.js +1804 -0
  748. package/dist/frontend/lowering/expressions/element-access.js.map +1 -0
  749. package/dist/frontend/lowering/expressions/evaluation-safety.js +4 -3
  750. package/dist/frontend/lowering/expressions/evaluation-safety.js.map +1 -1
  751. package/dist/frontend/lowering/expressions/hosted-narrowing.d.ts +38 -0
  752. package/dist/frontend/lowering/expressions/hosted-narrowing.js +160 -0
  753. package/dist/frontend/lowering/expressions/hosted-narrowing.js.map +1 -0
  754. package/dist/frontend/lowering/expressions/identifiers.d.ts +4 -0
  755. package/dist/frontend/lowering/expressions/identifiers.js +830 -0
  756. package/dist/frontend/lowering/expressions/identifiers.js.map +1 -0
  757. package/dist/frontend/lowering/expressions/keyed-field-targets.d.ts +52 -0
  758. package/dist/frontend/lowering/expressions/keyed-field-targets.js +307 -0
  759. package/dist/frontend/lowering/expressions/keyed-field-targets.js.map +1 -0
  760. package/dist/frontend/lowering/expressions/narrowing.d.ts +37 -0
  761. package/dist/frontend/lowering/expressions/narrowing.js +1337 -0
  762. package/dist/frontend/lowering/expressions/narrowing.js.map +1 -0
  763. package/dist/frontend/lowering/expressions/native-proxy.js +4 -4
  764. package/dist/frontend/lowering/expressions/native-proxy.js.map +1 -1
  765. package/dist/frontend/lowering/expressions/nullish-assignment.js +45 -0
  766. package/dist/frontend/lowering/expressions/nullish-assignment.js.map +1 -1
  767. package/dist/frontend/lowering/expressions/object-literals.d.ts +10 -0
  768. package/dist/frontend/lowering/expressions/object-literals.js +301 -86
  769. package/dist/frontend/lowering/expressions/object-literals.js.map +1 -1
  770. package/dist/frontend/lowering/expressions/optional-chains.d.ts +3 -2
  771. package/dist/frontend/lowering/expressions/optional-chains.js +103 -17
  772. package/dist/frontend/lowering/expressions/optional-chains.js.map +1 -1
  773. package/dist/frontend/lowering/expressions/property-access.d.ts +115 -0
  774. package/dist/frontend/lowering/expressions/property-access.js +3787 -0
  775. package/dist/frontend/lowering/expressions/property-access.js.map +1 -0
  776. package/dist/frontend/lowering/expressions/relational.d.ts +28 -0
  777. package/dist/frontend/lowering/expressions/relational.js +1724 -0
  778. package/dist/frontend/lowering/expressions/relational.js.map +1 -0
  779. package/dist/frontend/lowering/expressions/typeof.d.ts +22 -0
  780. package/dist/frontend/lowering/expressions/typeof.js +551 -0
  781. package/dist/frontend/lowering/expressions/typeof.js.map +1 -0
  782. package/dist/frontend/lowering/expressions/union-fields.js +1 -1
  783. package/dist/frontend/lowering/expressions/union-fields.js.map +1 -1
  784. package/dist/frontend/lowering/expressions/updates.d.ts +21 -0
  785. package/dist/frontend/lowering/expressions/updates.js +780 -0
  786. package/dist/frontend/lowering/expressions/updates.js.map +1 -0
  787. package/dist/frontend/lowering/function-context.d.ts +10 -0
  788. package/dist/frontend/lowering/function-context.js +11 -1
  789. package/dist/frontend/lowering/function-context.js.map +1 -1
  790. package/dist/frontend/lowering/function-returns.js +52 -28
  791. package/dist/frontend/lowering/function-returns.js.map +1 -1
  792. package/dist/frontend/lowering/general-streams.d.ts +25 -0
  793. package/dist/frontend/lowering/general-streams.js +108 -0
  794. package/dist/frontend/lowering/general-streams.js.map +1 -0
  795. package/dist/frontend/lowering/generator-delegation.d.ts +8 -0
  796. package/dist/frontend/lowering/generator-delegation.js +191 -1
  797. package/dist/frontend/lowering/generator-delegation.js.map +1 -1
  798. package/dist/frontend/lowering/generator-dynamic-dispatch.d.ts +7 -0
  799. package/dist/frontend/lowering/generator-dynamic-dispatch.js +172 -69
  800. package/dist/frontend/lowering/generator-dynamic-dispatch.js.map +1 -1
  801. package/dist/frontend/lowering/generic-functions.d.ts +43 -0
  802. package/dist/frontend/lowering/generic-functions.js +593 -118
  803. package/dist/frontend/lowering/generic-functions.js.map +1 -1
  804. package/dist/frontend/lowering/handle-properties.d.ts +24 -0
  805. package/dist/frontend/lowering/handle-properties.js +281 -0
  806. package/dist/frontend/lowering/handle-properties.js.map +1 -0
  807. package/dist/frontend/lowering/import-meta.js +2 -2
  808. package/dist/frontend/lowering/import-meta.js.map +1 -1
  809. package/dist/frontend/lowering/intern-tables.js +10 -9
  810. package/dist/frontend/lowering/intern-tables.js.map +1 -1
  811. package/dist/frontend/lowering/iterable-spelling.d.ts +7 -0
  812. package/dist/frontend/lowering/iterable-spelling.js +38 -0
  813. package/dist/frontend/lowering/iterable-spelling.js.map +1 -0
  814. package/dist/frontend/lowering/iterator-adapters.d.ts +19 -0
  815. package/dist/frontend/lowering/iterator-adapters.js +331 -3
  816. package/dist/frontend/lowering/iterator-adapters.js.map +1 -1
  817. package/dist/frontend/lowering/js-class-fields.d.ts +28 -0
  818. package/dist/frontend/lowering/js-class-fields.js +170 -0
  819. package/dist/frontend/lowering/js-class-fields.js.map +1 -0
  820. package/dist/frontend/lowering/js-dynamic-objects.d.ts +15 -0
  821. package/dist/frontend/lowering/js-dynamic-objects.js +299 -0
  822. package/dist/frontend/lowering/js-dynamic-objects.js.map +1 -0
  823. package/dist/frontend/lowering/js-dynamic-objects.test.d.ts +1 -0
  824. package/dist/frontend/lowering/js-dynamic-objects.test.js +35 -0
  825. package/dist/frontend/lowering/js-dynamic-objects.test.js.map +1 -0
  826. package/dist/frontend/lowering/json-require.d.ts +22 -0
  827. package/dist/frontend/lowering/json-require.js +131 -0
  828. package/dist/frontend/lowering/json-require.js.map +1 -0
  829. package/dist/frontend/lowering/key-order-witness.d.ts +44 -0
  830. package/dist/frontend/lowering/key-order-witness.js +641 -0
  831. package/dist/frontend/lowering/key-order-witness.js.map +1 -0
  832. package/dist/frontend/lowering/key-order-witness.test.d.ts +1 -0
  833. package/dist/frontend/lowering/key-order-witness.test.js +239 -0
  834. package/dist/frontend/lowering/key-order-witness.test.js.map +1 -0
  835. package/dist/frontend/lowering/lifetime-regions.js +7 -7
  836. package/dist/frontend/lowering/lifetime-regions.js.map +1 -1
  837. package/dist/frontend/lowering/lower-array-sort.d.ts +33 -15
  838. package/dist/frontend/lowering/lower-array-sort.js +117 -21
  839. package/dist/frontend/lowering/lower-array-sort.js.map +1 -1
  840. package/dist/frontend/lowering/lower-array-sort.test.js +93 -14
  841. package/dist/frontend/lowering/lower-array-sort.test.js.map +1 -1
  842. package/dist/frontend/lowering/lower-assert.js +61 -60
  843. package/dist/frontend/lowering/lower-assert.js.map +1 -1
  844. package/dist/frontend/lowering/lower-async-iteration.d.ts +10 -1
  845. package/dist/frontend/lowering/lower-async-iteration.js +34 -6
  846. package/dist/frontend/lowering/lower-async-iteration.js.map +1 -1
  847. package/dist/frontend/lowering/lower-builtin-values.d.ts +5 -0
  848. package/dist/frontend/lowering/lower-builtin-values.js +33 -3
  849. package/dist/frontend/lowering/lower-builtin-values.js.map +1 -1
  850. package/dist/frontend/lowering/lower-calls.js +1404 -448
  851. package/dist/frontend/lowering/lower-calls.js.map +1 -1
  852. package/dist/frontend/lowering/lower-classes.d.ts +54 -3
  853. package/dist/frontend/lowering/lower-classes.js +1529 -472
  854. package/dist/frontend/lowering/lower-classes.js.map +1 -1
  855. package/dist/frontend/lowering/lower-comptime.d.ts +4 -2
  856. package/dist/frontend/lowering/lower-comptime.js +111 -13
  857. package/dist/frontend/lowering/lower-comptime.js.map +1 -1
  858. package/dist/frontend/lowering/lower-console.js +13 -11
  859. package/dist/frontend/lowering/lower-console.js.map +1 -1
  860. package/dist/frontend/lowering/lower-dgram.d.ts +10 -0
  861. package/dist/frontend/lowering/lower-dgram.js +241 -21
  862. package/dist/frontend/lowering/lower-dgram.js.map +1 -1
  863. package/dist/frontend/lowering/lower-enums.js +113 -14
  864. package/dist/frontend/lowering/lower-enums.js.map +1 -1
  865. package/dist/frontend/lowering/lower-event-emitter.d.ts +16 -7
  866. package/dist/frontend/lowering/lower-event-emitter.js +258 -70
  867. package/dist/frontend/lowering/lower-event-emitter.js.map +1 -1
  868. package/dist/frontend/lowering/lower-event-target.js +2 -2
  869. package/dist/frontend/lowering/lower-event-target.js.map +1 -1
  870. package/dist/frontend/lowering/lower-expando.js +17 -13
  871. package/dist/frontend/lowering/lower-expando.js.map +1 -1
  872. package/dist/frontend/lowering/lower-exprs.d.ts +188 -186
  873. package/dist/frontend/lowering/lower-exprs.js +1509 -12486
  874. package/dist/frontend/lowering/lower-exprs.js.map +1 -1
  875. package/dist/frontend/lowering/lower-functions.js +72 -22
  876. package/dist/frontend/lowering/lower-functions.js.map +1 -1
  877. package/dist/frontend/lowering/lower-generators.d.ts +6 -0
  878. package/dist/frontend/lowering/lower-generators.js +39 -20
  879. package/dist/frontend/lowering/lower-generators.js.map +1 -1
  880. package/dist/frontend/lowering/lower-global-value.js +5 -1
  881. package/dist/frontend/lowering/lower-global-value.js.map +1 -1
  882. package/dist/frontend/lowering/lower-inspect.js +900 -107
  883. package/dist/frontend/lowering/lower-inspect.js.map +1 -1
  884. package/dist/frontend/lowering/lower-mixins.js +23 -20
  885. package/dist/frontend/lowering/lower-mixins.js.map +1 -1
  886. package/dist/frontend/lowering/lower-mock.d.ts +8 -1
  887. package/dist/frontend/lowering/lower-mock.js +185 -18
  888. package/dist/frontend/lowering/lower-mock.js.map +1 -1
  889. package/dist/frontend/lowering/lower-modules.d.ts +11 -3
  890. package/dist/frontend/lowering/lower-modules.js +445 -94
  891. package/dist/frontend/lowering/lower-modules.js.map +1 -1
  892. package/dist/frontend/lowering/lower-namespaces.d.ts +6 -0
  893. package/dist/frontend/lowering/lower-namespaces.js +65 -33
  894. package/dist/frontend/lowering/lower-namespaces.js.map +1 -1
  895. package/dist/frontend/lowering/lower-node-module.d.ts +16 -0
  896. package/dist/frontend/lowering/lower-node-module.js +147 -14
  897. package/dist/frontend/lowering/lower-node-module.js.map +1 -1
  898. package/dist/frontend/lowering/lower-server.d.ts +6 -6
  899. package/dist/frontend/lowering/lower-server.js +514 -101
  900. package/dist/frontend/lowering/lower-server.js.map +1 -1
  901. package/dist/frontend/lowering/lower-stdlib.d.ts +4 -0
  902. package/dist/frontend/lowering/lower-stdlib.js +179 -118
  903. package/dist/frontend/lowering/lower-stdlib.js.map +1 -1
  904. package/dist/frontend/lowering/lower-stmts.d.ts +30 -7
  905. package/dist/frontend/lowering/lower-stmts.js +1950 -433
  906. package/dist/frontend/lowering/lower-stmts.js.map +1 -1
  907. package/dist/frontend/lowering/lower-stream.d.ts +3 -0
  908. package/dist/frontend/lowering/lower-stream.js +398 -56
  909. package/dist/frontend/lowering/lower-stream.js.map +1 -1
  910. package/dist/frontend/lowering/lower-test.d.ts +3 -0
  911. package/dist/frontend/lowering/lower-test.js +437 -62
  912. package/dist/frontend/lowering/lower-test.js.map +1 -1
  913. package/dist/frontend/lowering/lower-timers.js +96 -32
  914. package/dist/frontend/lowering/lower-timers.js.map +1 -1
  915. package/dist/frontend/lowering/lower-url.js +1 -1
  916. package/dist/frontend/lowering/lower-url.js.map +1 -1
  917. package/dist/frontend/lowering/lowerer.d.ts +424 -27
  918. package/dist/frontend/lowering/lowerer.js +2062 -310
  919. package/dist/frontend/lowering/lowerer.js.map +1 -1
  920. package/dist/frontend/lowering/lowerer.test.js +10 -4
  921. package/dist/frontend/lowering/lowerer.test.js.map +1 -1
  922. package/dist/frontend/lowering/maybe-promise.d.ts +46 -0
  923. package/dist/frontend/lowering/maybe-promise.js +249 -0
  924. package/dist/frontend/lowering/maybe-promise.js.map +1 -0
  925. package/dist/frontend/lowering/module-member-this.d.ts +3 -0
  926. package/dist/frontend/lowering/module-member-this.js +262 -0
  927. package/dist/frontend/lowering/module-member-this.js.map +1 -0
  928. package/dist/frontend/lowering/module-namespace-elements.js +1 -1
  929. package/dist/frontend/lowering/module-namespace-elements.js.map +1 -1
  930. package/dist/frontend/lowering/nan-coded-reads.d.ts +3 -0
  931. package/dist/frontend/lowering/nan-coded-reads.js +45 -32
  932. package/dist/frontend/lowering/nan-coded-reads.js.map +1 -1
  933. package/dist/frontend/lowering/narrowing-stability.d.ts +18 -3
  934. package/dist/frontend/lowering/narrowing-stability.js +104 -32
  935. package/dist/frontend/lowering/narrowing-stability.js.map +1 -1
  936. package/dist/frontend/lowering/native-ffi.js +11 -11
  937. package/dist/frontend/lowering/native-ffi.js.map +1 -1
  938. package/dist/frontend/lowering/object-factory-new.js +6 -8
  939. package/dist/frontend/lowering/object-factory-new.js.map +1 -1
  940. package/dist/frontend/lowering/private-brands.d.ts +46 -0
  941. package/dist/frontend/lowering/private-brands.js +265 -0
  942. package/dist/frontend/lowering/private-brands.js.map +1 -0
  943. package/dist/frontend/lowering/promise-executor-adapter.d.ts +11 -0
  944. package/dist/frontend/lowering/promise-executor-adapter.js +87 -0
  945. package/dist/frontend/lowering/promise-executor-adapter.js.map +1 -0
  946. package/dist/frontend/lowering/rebindable-functions.d.ts +8 -0
  947. package/dist/frontend/lowering/rebindable-functions.js +54 -0
  948. package/dist/frontend/lowering/rebindable-functions.js.map +1 -0
  949. package/dist/frontend/lowering/require-initialization.d.ts +32 -0
  950. package/dist/frontend/lowering/require-initialization.js +246 -0
  951. package/dist/frontend/lowering/require-initialization.js.map +1 -0
  952. package/dist/frontend/lowering/runtime-optional-bounds.js +7 -7
  953. package/dist/frontend/lowering/runtime-optional-bounds.js.map +1 -1
  954. package/dist/frontend/lowering/runtime-optional-elements.js +12 -12
  955. package/dist/frontend/lowering/runtime-optional-elements.js.map +1 -1
  956. package/dist/frontend/lowering/runtime-optional-guards.js +10 -10
  957. package/dist/frontend/lowering/runtime-optional-guards.js.map +1 -1
  958. package/dist/frontend/lowering/runtime-optional-guards.test.js +1 -1
  959. package/dist/frontend/lowering/runtime-optional-guards.test.js.map +1 -1
  960. package/dist/frontend/lowering/runtime-optional-ownership.js +10 -9
  961. package/dist/frontend/lowering/runtime-optional-ownership.js.map +1 -1
  962. package/dist/frontend/lowering/runtime-optional-provenance.js +2 -2
  963. package/dist/frontend/lowering/runtime-optional-provenance.js.map +1 -1
  964. package/dist/frontend/lowering/runtime-optional-records.d.ts +35 -0
  965. package/dist/frontend/lowering/runtime-optional-records.js +205 -32
  966. package/dist/frontend/lowering/runtime-optional-records.js.map +1 -1
  967. package/dist/frontend/lowering/runtime-optional-records.test.js +19 -1
  968. package/dist/frontend/lowering/runtime-optional-records.test.js.map +1 -1
  969. package/dist/frontend/lowering/sanitize-class-types.test.js +2 -2
  970. package/dist/frontend/lowering/split-consumers.js +4 -4
  971. package/dist/frontend/lowering/split-consumers.js.map +1 -1
  972. package/dist/frontend/lowering/static-function-names.d.ts +28 -0
  973. package/dist/frontend/lowering/static-function-names.js +212 -0
  974. package/dist/frontend/lowering/static-function-names.js.map +1 -0
  975. package/dist/frontend/lowering/static-this.js +6 -6
  976. package/dist/frontend/lowering/static-this.js.map +1 -1
  977. package/dist/frontend/lowering/static-typeof.d.ts +26 -0
  978. package/dist/frontend/lowering/static-typeof.js +133 -0
  979. package/dist/frontend/lowering/static-typeof.js.map +1 -0
  980. package/dist/frontend/lowering/strict-mode.d.ts +5 -0
  981. package/dist/frontend/lowering/strict-mode.js +31 -0
  982. package/dist/frontend/lowering/strict-mode.js.map +1 -0
  983. package/dist/frontend/lowering/string-index-bounds.js +13 -12
  984. package/dist/frontend/lowering/string-index-bounds.js.map +1 -1
  985. package/dist/frontend/lowering/string-index.d.ts +12 -0
  986. package/dist/frontend/lowering/string-index.js +72 -1
  987. package/dist/frontend/lowering/string-index.js.map +1 -1
  988. package/dist/frontend/lowering/surfaces.d.ts +12 -3
  989. package/dist/frontend/lowering/surfaces.js +282 -45
  990. package/dist/frontend/lowering/surfaces.js.map +1 -1
  991. package/dist/frontend/lowering/symbol-fields.d.ts +7 -0
  992. package/dist/frontend/lowering/symbol-fields.js +204 -36
  993. package/dist/frontend/lowering/symbol-fields.js.map +1 -1
  994. package/dist/frontend/lowering/symbol-methods.d.ts +2 -1
  995. package/dist/frontend/lowering/symbol-methods.js +24 -6
  996. package/dist/frontend/lowering/symbol-methods.js.map +1 -1
  997. package/dist/frontend/lowering/thenables.d.ts +16 -0
  998. package/dist/frontend/lowering/thenables.js +124 -0
  999. package/dist/frontend/lowering/thenables.js.map +1 -0
  1000. package/dist/frontend/lowering/thread-slots.d.ts +13 -0
  1001. package/dist/frontend/lowering/thread-slots.js +208 -0
  1002. package/dist/frontend/lowering/thread-slots.js.map +1 -0
  1003. package/dist/frontend/lowering/typed-arguments.d.ts +74 -0
  1004. package/dist/frontend/lowering/typed-arguments.js +472 -0
  1005. package/dist/frontend/lowering/typed-arguments.js.map +1 -0
  1006. package/dist/frontend/lowering/union-retag.d.ts +8 -0
  1007. package/dist/frontend/lowering/union-retag.js +27 -0
  1008. package/dist/frontend/lowering/union-retag.js.map +1 -1
  1009. package/dist/frontend/lowering/union-retag.test.js +24 -1
  1010. package/dist/frontend/lowering/union-retag.test.js.map +1 -1
  1011. package/dist/frontend/lowering/var-hoisting.js +6 -6
  1012. package/dist/frontend/lowering/var-hoisting.js.map +1 -1
  1013. package/dist/frontend/lowering/width-lift.d.ts +4 -0
  1014. package/dist/frontend/mock-shapes.js +13 -6
  1015. package/dist/frontend/mock-shapes.js.map +1 -1
  1016. package/dist/frontend/module-source-candidates.js +1 -1
  1017. package/dist/frontend/module-source-candidates.js.map +1 -1
  1018. package/dist/frontend/module-source-candidates.test.js +2 -1
  1019. package/dist/frontend/module-source-candidates.test.js.map +1 -1
  1020. package/dist/frontend/module-syntax.js +8 -8
  1021. package/dist/frontend/module-syntax.js.map +1 -1
  1022. package/dist/frontend/npm-static-builtin-aliases.d.ts +8 -0
  1023. package/dist/frontend/npm-static-builtin-aliases.js +65 -0
  1024. package/dist/frontend/npm-static-builtin-aliases.js.map +1 -0
  1025. package/dist/frontend/npm-static-bundled-chunks.d.ts +58 -0
  1026. package/dist/frontend/npm-static-bundled-chunks.js +981 -0
  1027. package/dist/frontend/npm-static-bundled-chunks.js.map +1 -0
  1028. package/dist/frontend/npm-static-bundled-chunks.test.d.ts +1 -0
  1029. package/dist/frontend/npm-static-bundled-chunks.test.js +399 -0
  1030. package/dist/frontend/npm-static-bundled-chunks.test.js.map +1 -0
  1031. package/dist/frontend/npm-static-bundled-cjs.js +24 -23
  1032. package/dist/frontend/npm-static-bundled-cjs.js.map +1 -1
  1033. package/dist/frontend/npm-static-bundled-esm.d.ts +9 -0
  1034. package/dist/frontend/npm-static-bundled-esm.js +988 -0
  1035. package/dist/frontend/npm-static-bundled-esm.js.map +1 -0
  1036. package/dist/frontend/npm-static-bundled-esm.test.d.ts +1 -0
  1037. package/dist/frontend/npm-static-bundled-esm.test.js +336 -0
  1038. package/dist/frontend/npm-static-bundled-esm.test.js.map +1 -0
  1039. package/dist/frontend/npm-static-cjs-exports-alias.d.ts +2 -0
  1040. package/dist/frontend/npm-static-cjs-exports-alias.js +186 -0
  1041. package/dist/frontend/npm-static-cjs-exports-alias.js.map +1 -0
  1042. package/dist/frontend/npm-static-cjs-exports-alias.test.d.ts +1 -0
  1043. package/dist/frontend/npm-static-cjs-exports-alias.test.js +73 -0
  1044. package/dist/frontend/npm-static-cjs-exports-alias.test.js.map +1 -0
  1045. package/dist/frontend/npm-static-cjs-exports-var.d.ts +2 -0
  1046. package/dist/frontend/npm-static-cjs-exports-var.js +236 -0
  1047. package/dist/frontend/npm-static-cjs-exports-var.js.map +1 -0
  1048. package/dist/frontend/npm-static-declaration-syntax.js +102 -101
  1049. package/dist/frontend/npm-static-declaration-syntax.js.map +1 -1
  1050. package/dist/frontend/npm-static-enum-iife.d.ts +6 -0
  1051. package/dist/frontend/npm-static-enum-iife.js +280 -0
  1052. package/dist/frontend/npm-static-enum-iife.js.map +1 -0
  1053. package/dist/frontend/npm-static-enum-iife.test.d.ts +1 -0
  1054. package/dist/frontend/npm-static-enum-iife.test.js +116 -0
  1055. package/dist/frontend/npm-static-enum-iife.test.js.map +1 -0
  1056. package/dist/frontend/npm-static-prune.js +36 -24
  1057. package/dist/frontend/npm-static-prune.js.map +1 -1
  1058. package/dist/frontend/npm-static-rewrite-host.d.ts +4 -1
  1059. package/dist/frontend/npm-static-rewrite-host.js +14 -3
  1060. package/dist/frontend/npm-static-rewrite-host.js.map +1 -1
  1061. package/dist/frontend/npm-static-rewrite-syntax.d.ts +19 -0
  1062. package/dist/frontend/npm-static-rewrite-syntax.js +274 -101
  1063. package/dist/frontend/npm-static-rewrite-syntax.js.map +1 -1
  1064. package/dist/frontend/npm-static-subtyping.js +7 -9
  1065. package/dist/frontend/npm-static-subtyping.js.map +1 -1
  1066. package/dist/frontend/npm-static.d.ts +25 -1
  1067. package/dist/frontend/npm-static.js +212 -16
  1068. package/dist/frontend/npm-static.js.map +1 -1
  1069. package/dist/frontend/npm-static.test.js +22 -1
  1070. package/dist/frontend/npm-static.test.js.map +1 -1
  1071. package/dist/frontend/npm.js +13 -0
  1072. package/dist/frontend/npm.js.map +1 -1
  1073. package/dist/frontend/package-shims.d.ts +47 -0
  1074. package/dist/frontend/package-shims.js +300 -0
  1075. package/dist/frontend/package-shims.js.map +1 -0
  1076. package/dist/frontend/pipeline.js +230 -26
  1077. package/dist/frontend/pipeline.js.map +1 -1
  1078. package/dist/frontend/pipeline.test.js +22 -1
  1079. package/dist/frontend/pipeline.test.js.map +1 -1
  1080. package/dist/frontend/program-analysis.d.ts +6 -1
  1081. package/dist/frontend/program-analysis.js +7 -0
  1082. package/dist/frontend/program-analysis.js.map +1 -1
  1083. package/dist/frontend/program.d.ts +100 -2
  1084. package/dist/frontend/program.js +1627 -262
  1085. package/dist/frontend/program.js.map +1 -1
  1086. package/dist/frontend/program.test.js +76 -6
  1087. package/dist/frontend/program.test.js.map +1 -1
  1088. package/dist/frontend/resolve.js +49 -2
  1089. package/dist/frontend/resolve.js.map +1 -1
  1090. package/dist/frontend/resolve.test.js +49 -0
  1091. package/dist/frontend/resolve.test.js.map +1 -1
  1092. package/dist/frontend/services.d.ts +26 -1
  1093. package/dist/frontend/services.js +59 -3
  1094. package/dist/frontend/services.js.map +1 -1
  1095. package/dist/frontend/services.test.js +2 -1
  1096. package/dist/frontend/services.test.js.map +1 -1
  1097. package/dist/frontend/threads-import.js +1 -1
  1098. package/dist/frontend/threads-import.js.map +1 -1
  1099. package/dist/frontend/tier-analysis.d.ts +71 -0
  1100. package/dist/frontend/tier-analysis.js +522 -0
  1101. package/dist/frontend/tier-analysis.js.map +1 -0
  1102. package/dist/frontend/ts7/api-conformance.d.ts +234 -0
  1103. package/dist/frontend/ts7/api-conformance.js +7 -0
  1104. package/dist/frontend/ts7/api-conformance.js.map +1 -0
  1105. package/dist/frontend/ts7/ast-guards.generated.js +2 -1
  1106. package/dist/frontend/ts7/ast-guards.generated.js.map +1 -1
  1107. package/dist/frontend/ts7/ast-node.d.ts +47 -25
  1108. package/dist/frontend/ts7/ast-node.js +64 -18
  1109. package/dist/frontend/ts7/ast-node.js.map +1 -1
  1110. package/dist/frontend/ts7/ast-node.test.js +36 -12
  1111. package/dist/frontend/ts7/ast-node.test.js.map +1 -1
  1112. package/dist/frontend/ts7/ast-types.d.ts +10 -3
  1113. package/dist/frontend/ts7/ast-types.generated.d.ts +39 -39
  1114. package/dist/frontend/ts7/ast.d.ts +1 -0
  1115. package/dist/frontend/ts7/ast.js +3 -2
  1116. package/dist/frontend/ts7/ast.js.map +1 -1
  1117. package/dist/frontend/ts7/checker-backend.d.ts +23 -0
  1118. package/dist/frontend/ts7/checker-backend.js +88 -0
  1119. package/dist/frontend/ts7/checker-backend.js.map +1 -0
  1120. package/dist/frontend/ts7/checker-backend.test.d.ts +1 -0
  1121. package/dist/frontend/ts7/checker-backend.test.js +63 -0
  1122. package/dist/frontend/ts7/checker-backend.test.js.map +1 -0
  1123. package/dist/frontend/ts7/checker-cache.d.ts +0 -3
  1124. package/dist/frontend/ts7/checker-cache.js +0 -6
  1125. package/dist/frontend/ts7/checker-cache.js.map +1 -1
  1126. package/dist/frontend/ts7/checker.d.ts +18 -11
  1127. package/dist/frontend/ts7/checker.js +42 -55
  1128. package/dist/frontend/ts7/checker.js.map +1 -1
  1129. package/dist/frontend/ts7/checker.test.js +10 -7
  1130. package/dist/frontend/ts7/checker.test.js.map +1 -1
  1131. package/dist/frontend/ts7/diagnostic.d.ts +19 -0
  1132. package/dist/frontend/ts7/diagnostic.js +22 -0
  1133. package/dist/frontend/ts7/diagnostic.js.map +1 -0
  1134. package/dist/frontend/ts7/node-functions.d.ts +8 -0
  1135. package/dist/frontend/ts7/node-functions.js +18 -0
  1136. package/dist/frontend/ts7/node-functions.js.map +1 -0
  1137. package/dist/frontend/ts7/program-host.d.ts +10 -5
  1138. package/dist/frontend/ts7/program-host.js +19 -0
  1139. package/dist/frontend/ts7/program-host.js.map +1 -1
  1140. package/dist/frontend/ts7/rpc-api.d.ts +5 -1
  1141. package/dist/frontend/ts7/rpc-api.js +8 -1
  1142. package/dist/frontend/ts7/rpc-api.js.map +1 -1
  1143. package/dist/frontend/ts7/semantic-checker.d.ts +13 -6
  1144. package/dist/frontend/ts7/semantic-checker.js +26 -8
  1145. package/dist/frontend/ts7/semantic-checker.js.map +1 -1
  1146. package/dist/frontend/ts7/semantic-checker.test.js +12 -9
  1147. package/dist/frontend/ts7/semantic-checker.test.js.map +1 -1
  1148. package/dist/frontend/ts7/semantic-model.d.ts +57 -24
  1149. package/dist/frontend/ts7/semantic-model.js +114 -16
  1150. package/dist/frontend/ts7/semantic-model.js.map +1 -1
  1151. package/dist/frontend/ts7/semantic-model.test.js +4 -4
  1152. package/dist/frontend/ts7/semantic-model.test.js.map +1 -1
  1153. package/dist/frontend/ts7/semantic-types.d.ts +7 -3
  1154. package/dist/frontend/ts7/semantic-types.js +1 -1
  1155. package/dist/frontend/ts7/semantic-types.js.map +1 -1
  1156. package/dist/frontend/ts7/session.d.ts +30 -15
  1157. package/dist/frontend/ts7/session.js +8 -5
  1158. package/dist/frontend/ts7/session.js.map +1 -1
  1159. package/dist/frontend/ts7/session.test.js +9 -5
  1160. package/dist/frontend/ts7/session.test.js.map +1 -1
  1161. package/dist/frontend/ts7/source-parser.d.ts +6 -2
  1162. package/dist/frontend/ts7/source-parser.js +24 -3
  1163. package/dist/frontend/ts7/source-parser.js.map +1 -1
  1164. package/dist/frontend/ts7/source-parser.test.js +38 -17
  1165. package/dist/frontend/ts7/source-parser.test.js.map +1 -1
  1166. package/dist/frontend/type-mapper.d.ts +122 -2
  1167. package/dist/frontend/type-mapper.js +2735 -723
  1168. package/dist/frontend/type-mapper.js.map +1 -1
  1169. package/dist/frontend/type-only-imports.d.ts +28 -0
  1170. package/dist/frontend/type-only-imports.js +122 -0
  1171. package/dist/frontend/type-only-imports.js.map +1 -0
  1172. package/dist/frontend/worker-target.js +8 -8
  1173. package/dist/frontend/worker-target.js.map +1 -1
  1174. package/dist/index.d.ts +4 -1
  1175. package/dist/index.js +87 -8
  1176. package/dist/index.js.map +1 -1
  1177. package/dist/ir/analysis.js +4 -2
  1178. package/dist/ir/analysis.js.map +1 -1
  1179. package/dist/ir/api.d.ts +1 -1
  1180. package/dist/ir/api.js +1 -1
  1181. package/dist/ir/api.js.map +1 -1
  1182. package/dist/ir/array-length-stability.d.ts +31 -0
  1183. package/dist/ir/array-length-stability.js +249 -0
  1184. package/dist/ir/array-length-stability.js.map +1 -0
  1185. package/dist/ir/array-length-stability.test.d.ts +1 -0
  1186. package/dist/ir/array-length-stability.test.js +134 -0
  1187. package/dist/ir/array-length-stability.test.js.map +1 -0
  1188. package/dist/ir/build.d.ts +2 -2
  1189. package/dist/ir/build.js +1 -1
  1190. package/dist/ir/build.js.map +1 -1
  1191. package/dist/ir/builtin-effects.js +116 -0
  1192. package/dist/ir/builtin-effects.js.map +1 -1
  1193. package/dist/ir/builtin-signatures.d.ts +1 -1
  1194. package/dist/ir/builtin-signatures.js +540 -29
  1195. package/dist/ir/builtin-signatures.js.map +1 -1
  1196. package/dist/ir/byte-numbers.js +3 -0
  1197. package/dist/ir/byte-numbers.js.map +1 -1
  1198. package/dist/ir/callback-specialization.d.ts +37 -0
  1199. package/dist/ir/callback-specialization.js +459 -0
  1200. package/dist/ir/callback-specialization.js.map +1 -0
  1201. package/dist/ir/callback-specialization.test.d.ts +1 -0
  1202. package/dist/ir/callback-specialization.test.js +208 -0
  1203. package/dist/ir/callback-specialization.test.js.map +1 -0
  1204. package/dist/ir/capture-values.d.ts +0 -1
  1205. package/dist/ir/capture-values.js +51 -40
  1206. package/dist/ir/capture-values.js.map +1 -1
  1207. package/dist/ir/constant-globals.test.js +1 -1
  1208. package/dist/ir/constant-tables.test.js +1 -1
  1209. package/dist/ir/field-values.test.js +1 -1
  1210. package/dist/ir/final-fields.test.js +1 -1
  1211. package/dist/ir/function-references.test.js +9 -1
  1212. package/dist/ir/function-references.test.js.map +1 -1
  1213. package/dist/ir/init-only-globals.test.js +1 -1
  1214. package/dist/ir/initializer-bindings.test.js +1 -1
  1215. package/dist/ir/int32-slots.d.ts +14 -0
  1216. package/dist/ir/int32-slots.js +97 -14
  1217. package/dist/ir/int32-slots.js.map +1 -1
  1218. package/dist/ir/int32-slots.test.js +1 -1
  1219. package/dist/ir/integer-loop-facts.d.ts +7 -0
  1220. package/dist/ir/integer-loop-facts.js +103 -17
  1221. package/dist/ir/integer-loop-facts.js.map +1 -1
  1222. package/dist/ir/integer-loops.d.ts +1 -1
  1223. package/dist/ir/integer-loops.js +39 -9
  1224. package/dist/ir/integer-loops.js.map +1 -1
  1225. package/dist/ir/integer-loops.test.js +104 -0
  1226. package/dist/ir/integer-loops.test.js.map +1 -1
  1227. package/dist/ir/integer-ranges.d.ts +13 -1
  1228. package/dist/ir/integer-ranges.js +125 -26
  1229. package/dist/ir/integer-ranges.js.map +1 -1
  1230. package/dist/ir/integer-ranges.test.js +273 -2
  1231. package/dist/ir/integer-ranges.test.js.map +1 -1
  1232. package/dist/ir/intrinsic-signatures.js +6 -0
  1233. package/dist/ir/intrinsic-signatures.js.map +1 -1
  1234. package/dist/ir/ir.d.ts +221 -58
  1235. package/dist/ir/ir.js +127 -12
  1236. package/dist/ir/ir.js.map +1 -1
  1237. package/dist/ir/ir.test.js +10 -0
  1238. package/dist/ir/ir.test.js.map +1 -1
  1239. package/dist/ir/js-ic.d.ts +52 -0
  1240. package/dist/ir/js-ic.js +199 -0
  1241. package/dist/ir/js-ic.js.map +1 -0
  1242. package/dist/ir/js-ic.test.d.ts +1 -0
  1243. package/dist/ir/js-ic.test.js +148 -0
  1244. package/dist/ir/js-ic.test.js.map +1 -0
  1245. package/dist/ir/jsval.d.ts +8 -0
  1246. package/dist/ir/jsval.js +399 -0
  1247. package/dist/ir/jsval.js.map +1 -0
  1248. package/dist/ir/jsval.test.d.ts +1 -0
  1249. package/dist/ir/jsval.test.js +239 -0
  1250. package/dist/ir/jsval.test.js.map +1 -0
  1251. package/dist/ir/runtime-features.d.ts +183 -33
  1252. package/dist/ir/runtime-features.js +795 -422
  1253. package/dist/ir/runtime-features.js.map +1 -1
  1254. package/dist/ir/scalar-records.test.js +1 -1
  1255. package/dist/ir/self-captures.d.ts +33 -0
  1256. package/dist/ir/self-captures.js +245 -0
  1257. package/dist/ir/self-captures.js.map +1 -0
  1258. package/dist/ir/self-captures.test.d.ts +1 -0
  1259. package/dist/ir/self-captures.test.js +135 -0
  1260. package/dist/ir/self-captures.test.js.map +1 -0
  1261. package/dist/ir/serialize.d.ts +1 -1
  1262. package/dist/ir/serialize.js +7 -4
  1263. package/dist/ir/serialize.js.map +1 -1
  1264. package/dist/ir/tiers.d.ts +26 -0
  1265. package/dist/ir/tiers.js +101 -0
  1266. package/dist/ir/tiers.js.map +1 -0
  1267. package/dist/ir/tiers.test.d.ts +1 -0
  1268. package/dist/ir/tiers.test.js +140 -0
  1269. package/dist/ir/tiers.test.js.map +1 -0
  1270. package/dist/ir/traverse.js +201 -150
  1271. package/dist/ir/traverse.js.map +1 -1
  1272. package/dist/ir/traverse.test.js +33 -30
  1273. package/dist/ir/traverse.test.js.map +1 -1
  1274. package/dist/ir/unshare.js +65 -3
  1275. package/dist/ir/unshare.js.map +1 -1
  1276. package/dist/ir/unshare.test.js +1 -1
  1277. package/dist/ir/validate.js +196 -76
  1278. package/dist/ir/validate.js.map +1 -1
  1279. package/dist/ir/validate.test.js +41 -11
  1280. package/dist/ir/validate.test.js.map +1 -1
  1281. package/dist/library/fence-eval.test.js +1 -1
  1282. package/dist/library/int-infer.test.js +4 -4
  1283. package/dist/library/ir-policy.js +14 -0
  1284. package/dist/library/ir-policy.js.map +1 -1
  1285. package/dist/library/library-cache.d.ts +1 -0
  1286. package/dist/library/library-cache.js.map +1 -1
  1287. package/dist/library/library-cache.test.js +5 -5
  1288. package/dist/library/library-profile.d.ts +4 -4
  1289. package/dist/library/library-profile.js +35 -7
  1290. package/dist/library/library-profile.js.map +1 -1
  1291. package/dist/library/prepare.js +13 -1
  1292. package/dist/library/prepare.js.map +1 -1
  1293. package/dist/native/cli.js +22 -0
  1294. package/dist/native/cli.js.map +1 -1
  1295. package/dist/native/compiler.js +35 -6
  1296. package/dist/native/compiler.js.map +1 -1
  1297. package/dist/native/compiler.test.js +2 -2
  1298. package/dist/native/executable-cache.js +3 -0
  1299. package/dist/native/executable-cache.js.map +1 -1
  1300. package/dist/native/prepare.js +10 -0
  1301. package/dist/native/prepare.js.map +1 -1
  1302. package/dist/native/sanitizer.test.js +19 -0
  1303. package/dist/native/sanitizer.test.js.map +1 -1
  1304. package/dist/native/toolchain.d.ts +2 -0
  1305. package/dist/native/toolchain.js +10 -1
  1306. package/dist/native/toolchain.js.map +1 -1
  1307. package/dist/native/toolchain.test.js +39 -1
  1308. package/dist/native/toolchain.test.js.map +1 -1
  1309. package/dist/startup-cache.d.ts +1 -0
  1310. package/dist/startup-cache.js +1 -0
  1311. package/dist/startup-cache.js.map +1 -1
  1312. package/dist/wasm/base64.d.ts +5 -0
  1313. package/dist/wasm/base64.js +62 -0
  1314. package/dist/wasm/base64.js.map +1 -0
  1315. package/dist/wasm/binary.d.ts +36 -0
  1316. package/dist/wasm/binary.js +1976 -0
  1317. package/dist/wasm/binary.js.map +1 -0
  1318. package/dist/wasm/binary.test.d.ts +1 -0
  1319. package/dist/wasm/binary.test.js +190 -0
  1320. package/dist/wasm/binary.test.js.map +1 -0
  1321. package/dist/wasm/discover.d.ts +38 -0
  1322. package/dist/wasm/discover.js +377 -0
  1323. package/dist/wasm/discover.js.map +1 -0
  1324. package/dist/wasm/discover.test.d.ts +1 -0
  1325. package/dist/wasm/discover.test.js +24 -0
  1326. package/dist/wasm/discover.test.js.map +1 -0
  1327. package/dist/wasm/module.d.ts +151 -0
  1328. package/dist/wasm/module.js +575 -0
  1329. package/dist/wasm/module.js.map +1 -0
  1330. package/dist/wasm/translate.d.ts +48 -0
  1331. package/dist/wasm/translate.js +2129 -0
  1332. package/dist/wasm/translate.js.map +1 -0
  1333. package/dist/wasm/translate.test.d.ts +1 -0
  1334. package/dist/wasm/translate.test.js +207 -0
  1335. package/dist/wasm/translate.test.js.map +1 -0
  1336. package/package.json +22 -20
  1337. package/shims/fs-extra/core/api.ts +1192 -0
  1338. package/shims/fs-extra/index.ts +9 -0
  1339. package/shims/undici/core/agent.ts +163 -0
  1340. package/shims/undici/core/api.ts +93 -0
  1341. package/shims/undici/core/client.ts +1304 -0
  1342. package/shims/undici/core/connector.ts +157 -0
  1343. package/shims/undici/core/diagnostics-types.ts +68 -0
  1344. package/shims/undici/core/diagnostics.ts +16 -0
  1345. package/shims/undici/core/dispatcher.ts +574 -0
  1346. package/shims/undici/core/errors-v5.ts +22 -0
  1347. package/shims/undici/core/errors-v7.ts +25 -0
  1348. package/shims/undici/core/errors.ts +255 -0
  1349. package/shims/undici/core/fetch.ts +635 -0
  1350. package/shims/undici/core/pool.ts +280 -0
  1351. package/shims/undici/core/readable.ts +268 -0
  1352. package/shims/undici/core/request.ts +313 -0
  1353. package/shims/undici/core/timers.ts +80 -0
  1354. package/shims/undici/core/types.ts +167 -0
  1355. package/shims/undici/core/util.ts +67 -0
  1356. package/shims/undici/v5.ts +119 -0
  1357. package/shims/undici/v7.ts +119 -0
  1358. package/surface-manifest.json +304 -22
@@ -1,5 +1,5 @@
1
1
  import { BIGINT_T } from "./ir.js";
2
- import { arrayOf, BOOL, BYTES_U8, bytesOf, CHILD_T, CHILDSTREAM_T, CHILDWRITER_T, CRYPTOHASH_T, CRYPTOHMAC_T, DATE_T, DIR_T, DGRAMSOCK_T, DYN, F64, FILEHANDLE_T, FSWATCHER_T, HTTP2SESSION_T, HTTP2STREAM_T, HTTPCLIENTREQ_T, HTTPREQ_T, HTTPRES_T, NETSERVER_T, NETSOCKET_T, PROCSTREAM_T, REGEX, SEARCH_PARAMS_T, SECURECTX_T, SPAWNRES_T, STATS_T, STRING, SYMBOL_T, TESTCTX_T, URL_T, VOID, funcOf, } from "./ir.js";
2
+ import { arrayOf, BOOL, BYTES_U8, bytesOf, CHILD_T, CHILDSTREAM_T, CHILDWRITER_T, CRYPTOHASH_T, CRYPTOHMAC_T, DATE_T, DIR_T, DGRAMSOCK_T, DYN, F64, FILEHANDLE_T, FSWATCHER_T, HTTP2SESSION_T, HTTP2STREAM_T, HTTPCLIENTREQ_T, HTTPREQ_T, HTTPRES_T, JSVAL, NETSERVER_T, NETSOCKET_T, PROCSTREAM_T, REGEX, SEARCH_PARAMS_T, SECURECTX_T, SPAWNRES_T, STATS_T, STRING, SYMBOL_T, TESTCTX_T, URL_T, VOID, funcOf, } from "./ir.js";
3
3
  /** Preserve the closed names while giving every entry the same slot type. */
4
4
  function defineLibFnSignatures(signatures) {
5
5
  return signatures;
@@ -15,6 +15,7 @@ export const LIB_FN_SIGS = defineLibFnSignatures({
15
15
  * are opaque checked-dynamic handles. */
16
16
  "fetch.start": { argTypes: [STRING, DYN], result: { kind: "promise", inner: DYN } },
17
17
  "fetch.responseNew": { argTypes: [DYN, DYN], result: DYN },
18
+ "fetch.responseJsonStatic": { argTypes: [DYN, DYN], result: DYN },
18
19
  "fetch.input": { argTypes: [DYN, DYN], result: { kind: "promise", inner: DYN } },
19
20
  "abort.controllerNew": { argTypes: [], result: DYN },
20
21
  /** EventTarget / Event / CustomEvent construction (scr_event_target.c):
@@ -57,6 +58,45 @@ export const LIB_FN_SIGS = defineLibFnSignatures({
57
58
  "blob.bytes": { argTypes: [DYN], result: { kind: "promise", inner: BYTES_U8 } },
58
59
  "blob.arrayBuffer": { argTypes: [DYN], result: { kind: "promise", inner: DYN } },
59
60
  "blob.is": { argTypes: [DYN, F64], result: BOOL },
61
+ /** WebAssembly (scr_wasm.c): modules translated at build time
62
+ * (wasm/translate.ts), found at run time by the SHA-256 of their bytes.
63
+ * compile and instantiate over bytes settle on a later loop turn;
64
+ * instantiate over a Module settles now, as in Node. `wasm.is` answers
65
+ * instanceof for Module, Instance, Memory, Table and Global (kinds 0-4)
66
+ * and CompileError, LinkError and RuntimeError (5-7); `wasm.errorNew`
67
+ * constructs one of the error classes (kind 5-7, message, options). */
68
+ "wasm.compile": { argTypes: [DYN], result: { kind: "promise", inner: DYN } },
69
+ "wasm.validate": { argTypes: [DYN], result: BOOL },
70
+ "wasm.instantiate": { argTypes: [DYN, DYN], result: { kind: "promise", inner: DYN } },
71
+ "wasm.moduleNew": { argTypes: [DYN], result: DYN },
72
+ "wasm.instanceNew": { argTypes: [DYN, DYN], result: DYN },
73
+ "wasm.is": { argTypes: [DYN, F64], result: BOOL },
74
+ "wasm.errorNew": { argTypes: [F64, DYN, DYN], result: DYN },
75
+ /** new WebAssembly.Memory(descriptor), Table(descriptor, value) and
76
+ * Global(descriptor, value) (an undefined value is the type's default);
77
+ * `wasm.withoutNew` throws the TypeError for Module, Instance, Memory,
78
+ * Table or Global (kinds 0-4) called without new, after its arguments
79
+ * evaluate. */
80
+ "wasm.memoryNew": { argTypes: [DYN], result: DYN },
81
+ "wasm.tableNew": { argTypes: [DYN, DYN], result: DYN },
82
+ "wasm.globalNew": { argTypes: [DYN, DYN], result: DYN },
83
+ "wasm.withoutNew": { argTypes: [F64, DYN, DYN], result: DYN },
84
+ /** WebAssembly.Module.imports(module), exports(module) and
85
+ * customSections(module, name): checked-dynamic arrays of descriptor
86
+ * objects and ArrayBuffers. */
87
+ "wasm.moduleImports": { argTypes: [DYN], result: DYN },
88
+ "wasm.moduleExports": { argTypes: [DYN], result: DYN },
89
+ "wasm.moduleCustomSections": { argTypes: [DYN, DYN], result: DYN },
90
+ /** `v.valueOf()` on a WebAssembly-typed receiver: a Global's value,
91
+ * dyn.valueOf's answer for anything else. */
92
+ "wasm.valueOf": { argTypes: [DYN], result: DYN },
93
+ /** WebAssembly.compile (0), instantiate (1) and validate (2) as function
94
+ * values, and the namespace object holding them. */
95
+ "wasm.function": { argTypes: [F64], result: DYN },
96
+ "wasm.namespace": { argTypes: [], result: DYN },
97
+ /** The global object viewed through a cast to a type with a WebAssembly
98
+ * member: an object holding the namespace. */
99
+ "wasm.globalView": { argTypes: [], result: DYN },
60
100
  "abort.timeout": { argTypes: [DYN], result: DYN },
61
101
  "abort.now": { argTypes: [DYN], result: DYN },
62
102
  "abort.any": { argTypes: [DYN], result: DYN },
@@ -126,12 +166,21 @@ export const LIB_FN_SIGS = defineLibFnSignatures({
126
166
  * not iterable (cannot read property Symbol(Symbol.iterator))"). In the
127
167
  * may-throw seed set. */
128
168
  "dyn.iterPack": { argTypes: [DYN, STRING], result: DYN },
169
+ "dyn.destructureRest": { argTypes: [DYN, STRING], result: DYN },
129
170
  "dyn.arrayFromIterator": { argTypes: [DYN], result: DYN },
130
171
  "dyn.iterator": { argTypes: [DYN, STRING], result: DYN },
172
+ /** for await over a checked-dynamic value: the loop's iterator (a
173
+ * compiled async generator, Symbol.asyncIterator's result, or the sync
174
+ * iterator), and whether that iterator is synchronous. */
175
+ "dyn.asyncIteratorOpen": { argTypes: [DYN, STRING], result: DYN },
176
+ "dyn.asyncIteratorWasSync": { argTypes: [], result: BOOL },
131
177
  "dyn.iteratorResult": { argTypes: [DYN], result: DYN },
132
178
  "dyn.iteratorCanStep": { argTypes: [DYN, DYN], result: BOOL },
133
179
  "dyn.iteratorStep": { argTypes: [DYN], result: DYN },
134
180
  "dyn.iteratorStepDone": { argTypes: [DYN], result: BOOL },
181
+ "dyn.setGeneratorMembers": { argTypes: [DYN, DYN], result: VOID },
182
+ "dyn.iteratorHelperMethod": { argTypes: [STRING], result: DYN },
183
+ "dyn.collectionIteratorIndex": { argTypes: [DYN], result: F64 },
135
184
  "dyn.mapSeedEntries": { argTypes: [DYN], result: DYN },
136
185
  "dyn.mapSeedEntry": { argTypes: [DYN], result: DYN },
137
186
  /** The for-of-over-dyn pack accessors — the emitted index loop drives
@@ -151,12 +200,47 @@ export const LIB_FN_SIGS = defineLibFnSignatures({
151
200
  "dyn.in": { argTypes: [DYN, STRING], result: BOOL },
152
201
  "dyn.freeze": { argTypes: [DYN], result: DYN },
153
202
  "dyn.isFrozen": { argTypes: [DYN], result: BOOL },
203
+ /** Object.defineProperty on a declared class field (scr_json.c): the
204
+ * field's current value (borrowed), its FIELD_* attribute word, the
205
+ * instance's CLASS_* integrity word, the field name and the descriptor.
206
+ * Validates as Node does (TypeError "Cannot redefine property: f") and
207
+ * answers a one-property holder of the defined value and attributes (+1),
208
+ * read back with class.definedBits and class.definedValue. */
209
+ "class.defineField": { argTypes: [DYN, F64, F64, STRING, DYN], result: DYN },
210
+ "class.definedBits": { argTypes: [DYN, STRING], result: F64 },
211
+ "class.definedValue": { argTypes: [DYN, STRING], result: DYN },
212
+ /** Whether a property descriptor has a `value` member. */
213
+ "class.descriptorHasValue": { argTypes: [DYN], result: BOOL },
214
+ /** Throws Node's TypeError for a write to a read-only class field: the
215
+ * field name and the instance's class name. */
216
+ "class.throwReadOnly": { argTypes: [STRING, STRING], result: VOID },
217
+ /** Throws Node's TypeError for a class field initializer on a
218
+ * non-extensible instance: the field name. */
219
+ "class.throwNotExtensible": { argTypes: [STRING], result: VOID },
154
220
  "dyn.nativeSetNew": { argTypes: [DYN], result: DYN },
155
221
  "dyn.nativeSetIs": { argTypes: [DYN], result: BOOL },
156
222
  "dyn.nativeMapIs": { argTypes: [DYN], result: BOOL },
157
223
  "dyn.nativeUrlIs": { argTypes: [DYN], result: BOOL },
158
224
  "dyn.nativeDateIs": { argTypes: [DYN], result: BOOL },
225
+ /** A builtin constructor (`Object`, `Date`, `RegExp`, `Map`, `Set`,
226
+ * `Promise`, `WeakMap`, `WeakSet`) read as a JavaScript value: one
227
+ * interned function per name, the same one dynamic values answer for
228
+ * `.constructor`. The name is a compiler-chosen literal. */
229
+ "dyn.globalConstructor": { argTypes: [STRING], result: DYN },
230
+ /** A builtin global function (setTimeout, setInterval, setImmediate,
231
+ * the clear functions, queueMicrotask, process.nextTick) read as a
232
+ * JavaScript value: one interned function per name whose calls run the
233
+ * timer APIs (it pulls in the event loop). The name is a compiler-chosen
234
+ * literal. */
235
+ "dyn.builtinFunction": { argTypes: [STRING], result: DYN },
159
236
  "date.nativeNew": { argTypes: [DYN], result: DYN },
237
+ /** `new Date(year, monthIndex, ...)` in JavaScript: the argument array's
238
+ * first seven values pass through ToNumber in order (later ones are
239
+ * evaluated, never converted), then the local-time field constructor. */
240
+ "date.nativeNewFields": { argTypes: [DYN], result: DYN },
241
+ /** `new Date(value)` in JavaScript: a string argument parses with V8's
242
+ * full date parser; every other value constructs as date.nativeNew. */
243
+ "date.nativeNewValue": { argTypes: [DYN], result: DYN },
160
244
  "date.checkedValue": { argTypes: [DYN], result: DATE_T },
161
245
  "dyn.nativeRegexIs": { argTypes: [DYN], result: BOOL },
162
246
  /** toString() on a checked-dynamic receiver: runtime kind dispatch
@@ -164,6 +248,7 @@ export const LIB_FN_SIGS = defineLibFnSignatures({
164
248
  * numbers, booleans, arrays, objects answer JS-exactly; undefined and
165
249
  * null throw the catchable TypeError). */
166
250
  "dyn.toString": { argTypes: [DYN, DYN, STRING], result: STRING },
251
+ "dyn.valueOf": { argTypes: [DYN, STRING], result: DYN },
167
252
  /** Object.defineProperties over dyn values (args: target, descriptors —
168
253
  * both borrowed dyn; result: the target, +1 — JS's return value).
169
254
  * Value descriptors become own properties on OBJ and FUNC targets;
@@ -183,6 +268,10 @@ export const LIB_FN_SIGS = defineLibFnSignatures({
183
268
  "dyn.promiseAll": { argTypes: [DYN, DYN], result: { kind: "promise", inner: DYN } },
184
269
  "dyn.promiseAllSettled": { argTypes: [DYN, DYN], result: { kind: "promise", inner: DYN } },
185
270
  "dyn.promiseAny": { argTypes: [DYN, DYN], result: { kind: "promise", inner: DYN } },
271
+ /** PromiseResolve over one checked-dynamic value: the promise it holds,
272
+ * a promise that adopts a thenable's settlement, or a promise fulfilled
273
+ * with the value. The second argument reads `then` as above. */
274
+ "dyn.promiseResolve": { argTypes: [DYN, DYN], result: { kind: "promise", inner: DYN } },
186
275
  /** Bare `typeof v` on a dyn value AS A STRING (arg: the dyn value,
187
276
  * borrowed; result: an owned string) — the dyn kind's JS answer:
188
277
  * undefined→"undefined", null/object/array/bytes→"object" (JS's oldest
@@ -306,6 +395,20 @@ export const LIB_FN_SIGS = defineLibFnSignatures({
306
395
  "perf.entryDetail": { argTypes: [F64], result: DYN },
307
396
  "perf.entryKeep": { argTypes: [DYN], result: VOID },
308
397
  "perf.entryRef": { argTypes: [F64], result: DYN },
398
+ /** perf_hooks event-loop metrics (scr_perf_loop.c): loopStart is the
399
+ * loop's start in performance.now() ms (0 before it), idleTime the idle
400
+ * ms since. eldNew(resolution ms) creates a monitorEventLoopDelay
401
+ * histogram handle (MAY THROW Node's resolution RangeError); enable/disable answer whether the state changed;
402
+ * eldPercentile expects Node's validated range; eldStat(which) reads
403
+ * 0 min, 1 max, 2 mean, 3 stddev, 4 count, 5 exceeds. */
404
+ "perf.loopStart": { argTypes: [], result: F64 },
405
+ "perf.idleTime": { argTypes: [], result: F64 },
406
+ "perf.eldNew": { argTypes: [F64], result: F64 },
407
+ "perf.eldEnable": { argTypes: [F64], result: BOOL },
408
+ "perf.eldDisable": { argTypes: [F64], result: BOOL },
409
+ "perf.eldReset": { argTypes: [F64], result: VOID },
410
+ "perf.eldPercentile": { argTypes: [F64, F64], result: F64 },
411
+ "perf.eldStat": { argTypes: [F64, F64], result: F64 },
309
412
  /** process.memoryUsage(): memoryUsageTake samples the resident set and
310
413
  * the runtime heap once (MAY THROW Node's uv_resident_set_memory error)
311
414
  * and memoryUsageField(k) reads that sample (0 rss, 1 heapTotal, 2
@@ -500,6 +603,10 @@ export const LIB_FN_SIGS = defineLibFnSignatures({
500
603
  /** os.getPriority(pid): validateInt32 (RangeError ERR_OUT_OF_RANGE),
501
604
  * then the priority; a failure throws Node's SystemError. */
502
605
  "os.getPriority": { argTypes: [F64], result: F64 },
606
+ /** os.setPriority(pid, priority): validateInt32 for both (priority in
607
+ * -20..19, RangeError ERR_OUT_OF_RANGE), then the priority; a failure
608
+ * throws Node's SystemError. */
609
+ "os.setPriority": { argTypes: [F64, F64], result: VOID },
503
610
  /** os.cpus(): cpusTake snapshots every CPU and answers the count;
504
611
  * cpusModel(i) and cpusField(i, k) (k: 0 speed, 1 user, 2 nice, 3 sys,
505
612
  * 4 idle, 5 irq) read the snapshot. Never throw. */
@@ -509,6 +616,12 @@ export const LIB_FN_SIGS = defineLibFnSignatures({
509
616
  /** os.constants: the per-thread null-prototype constants object (dlopen,
510
617
  * errno, signals, priority, UV_UDP_REUSEADDR). Never throws. */
511
618
  "os.constants": { argTypes: [], result: DYN },
619
+ /** fs.constants: the target's cached null-prototype constants object. */
620
+ "fs.constants": { argTypes: [], result: DYN },
621
+ /** The deprecated node:constants object (scr_os.c): the os groups and
622
+ * fs.constants merged with the borrowed baked crypto.constants table,
623
+ * frozen, one per thread. */
624
+ "constants.object": { argTypes: [DYN], result: DYN },
512
625
  /** umask(2): arg < 0 reads without setting (umask has no read-only form
513
626
  * — set 0, restore); otherwise sets and answers the PREVIOUS mask.
514
627
  * Never throws. */
@@ -529,6 +642,10 @@ export const LIB_FN_SIGS = defineLibFnSignatures({
529
642
  /** realpath(3) with Node's error shape (syscall "lstat" in the message,
530
643
  * Node's own spelling for realpathSync failures). +1 fresh string. */
531
644
  "fs.realpathSync": { argTypes: [STRING], result: STRING },
645
+ /** fs.realpathSync (or its .native when the flag is true) as a function
646
+ * value: path and options arrive unchecked; the result is a string or a
647
+ * Buffer by the options' encoding. */
648
+ "fs.realpathValue": { argTypes: [DYN, DYN, BOOL], result: DYN },
532
649
  /** Native realpath with syscall "realpath" on failure. +1 fresh string. */
533
650
  "fs.realpathNativeSync": { argTypes: [STRING], result: STRING },
534
651
  /** The os.userInfo() field trio (uv_os_get_passwd's slices): pw_name,
@@ -593,6 +710,7 @@ export const LIB_FN_SIGS = defineLibFnSignatures({
593
710
  "math.sign": { argTypes: [F64], result: F64 },
594
711
  "math.exp": { argTypes: [F64], result: F64 },
595
712
  "math.expm1": { argTypes: [F64], result: F64 },
713
+ "math.f16round": { argTypes: [F64], result: F64 },
596
714
  "math.fround": { argTypes: [F64], result: F64 },
597
715
  "math.sqrt": { argTypes: [F64], result: F64 },
598
716
  "math.log": { argTypes: [F64], result: F64 },
@@ -630,6 +748,13 @@ export const LIB_FN_SIGS = defineLibFnSignatures({
630
748
  /** `a.localeCompare(b)`: -1/0/1 in Node's root-locale collation for
631
749
  * Latin-script text (scr_str_locale_compare). Never throws. */
632
750
  "str.localeCompare": { argTypes: [STRING, STRING], result: F64 },
751
+ /** Annex B substr(start, length) with start ToNumber'd and length's
752
+ * presence; never throws. */
753
+ "str.substr": { argTypes: [STRING, F64, F64, BOOL], result: STRING },
754
+ /** toLocaleLowerCase/toLocaleUpperCase (scr_regex.c): the locales value
755
+ * as written, upper=true for toLocaleUpperCase. Throws for null and for
756
+ * locale forms with no native rules. */
757
+ "str.localeCase": { argTypes: [STRING, DYN, BOOL], result: STRING },
633
758
  "str.replaceLiteral": { argTypes: [STRING, STRING, STRING, BOOL], result: STRING },
634
759
  // (subject, characters, NUL-separated replacement texts): the fused
635
760
  // chain of global one-character replacements.
@@ -694,7 +819,15 @@ export const LIB_FN_SIGS = defineLibFnSignatures({
694
819
  "num.toExponential": { argTypes: [F64], result: STRING },
695
820
  "num.toFixed0": { argTypes: [F64], result: STRING },
696
821
  "num.toFixed": { argTypes: [F64, F64], result: STRING },
822
+ /** toPrecision(precision) with the argument ToNumber'd and its presence
823
+ * (undefined answers ToString); toExponential with a DEFINED
824
+ * fractionDigits. Both throw V8's RangeError for out-of-range digits. */
825
+ "num.toPrecision": { argTypes: [F64, F64, BOOL], result: STRING },
826
+ "num.toExponentialDigits": { argTypes: [F64, F64], result: STRING },
697
827
  "num.toStringRadix": { argTypes: [F64, DYN], result: STRING },
828
+ /** toString(radix) with a number radix (scr_lib.c): truncates it as
829
+ * ToIntegerOrInfinity does, THROWS RangeError outside 2..36. */
830
+ "num.toStringRadixF64": { argTypes: [F64, F64], result: STRING },
698
831
  /** Object.is over two numbers — the spec's SameValue on doubles: NaN
699
832
  * equals NaN, +0 differs from -0, everything else is `===`. Plain bool
700
833
  * result; never throws. (Union-armed operands take unionEq's sameValue
@@ -805,6 +938,19 @@ export const LIB_FN_SIGS = defineLibFnSignatures({
805
938
  "url.legacyResolve": { argTypes: [DYN, DYN, BOOL], result: STRING },
806
939
  "url.domainToASCII": { argTypes: [DYN, BOOL], result: STRING },
807
940
  "url.domainToUnicode": { argTypes: [DYN, BOOL], result: STRING },
941
+ /** node:punycode (scr_url.c): punycode.js 2.1.0's string conversions;
942
+ * decode/toUnicode (and, past 32-bit deltas, encode/toASCII) throw the
943
+ * module's RangeErrors, ucs2Encode String.fromCodePoint's. warn marks the
944
+ * module's first load (scr_async_dyn.c) and reports DEP0040 then unless
945
+ * the second argument is false: at once for a static ES import, on the
946
+ * next tick for a require() call. */
947
+ "punycode.decode": { argTypes: [STRING], result: STRING },
948
+ "punycode.encode": { argTypes: [STRING], result: STRING },
949
+ "punycode.toASCII": { argTypes: [STRING], result: STRING },
950
+ "punycode.toUnicode": { argTypes: [STRING], result: STRING },
951
+ "punycode.ucs2Decode": { argTypes: [STRING], result: arrayOf(F64) },
952
+ "punycode.ucs2Encode": { argTypes: [arrayOf(F64)], result: STRING },
953
+ "punycode.warn": { argTypes: [BOOL, BOOL], result: VOID },
808
954
  "url.fileURLToPathBuffer": { argTypes: [DYN, DYN], result: BYTES_U8 },
809
955
  "url.pathToFileURLChecked": { argTypes: [DYN, DYN], result: URL_T },
810
956
  "url.fileURLToPathStr": { argTypes: [STRING], result: STRING },
@@ -908,6 +1054,9 @@ export const LIB_FN_SIGS = defineLibFnSignatures({
908
1054
  "util.inherits": { argTypes: [DYN, DYN], result: VOID },
909
1055
  "util.deprecate": { argTypes: [DYN, DYN, DYN, DYN], result: DYN },
910
1056
  "util.callbackify": { argTypes: [DYN], result: DYN },
1057
+ /** util.promisify over an untyped function value: a native dyn function
1058
+ * whose calls answer a dyn promise the appended callback settles. */
1059
+ "util.promisifyDyn": { argTypes: [DYN], result: DYN },
911
1060
  "util.debuglog": { argTypes: [DYN, DYN], result: DYN },
912
1061
  "util.typeIs": { argTypes: [DYN, STRING], result: BOOL },
913
1062
  "util.typeValue": { argTypes: [DYN, STRING], result: DYN },
@@ -1058,10 +1207,33 @@ export const LIB_FN_SIGS = defineLibFnSignatures({
1058
1207
  "worker.root": { argTypes: [], result: F64 },
1059
1208
  "worker.data": { argTypes: [], result: DYN },
1060
1209
  "worker.parentPort": { argTypes: [], result: DYN },
1210
+ /** worker_threads.resourceLimits: {} in the main thread; a refusal in a
1211
+ * worker (scr_worker_events.c). */
1212
+ "worker.resourceLimits": { argTypes: [], result: DYN },
1213
+ /** worker_threads.threadName: the Worker's name in a worker, "" in the
1214
+ * main thread (scr_worker.c). */
1215
+ "worker.threadName": { argTypes: [], result: DYN },
1061
1216
  /** new MessageChannel() ({ port1, port2 }) and receiveMessageOnPort(port)
1062
1217
  * (scr_worker_events.c; the latter may throw). */
1063
1218
  "worker.channel": { argTypes: [], result: DYN },
1064
1219
  "worker.receiveMessageOnPort": { argTypes: [DYN], result: DYN },
1220
+ /** setEnvironmentData(key, value) and getEnvironmentData(key)
1221
+ * (scr_worker_events.c; arguments borrowed). */
1222
+ "worker.setEnvironmentData": { argTypes: [DYN, DYN], result: VOID },
1223
+ "worker.getEnvironmentData": { argTypes: [DYN], result: DYN },
1224
+ /** markAsUntransferable(value) and isMarkedAsUntransferable(value)
1225
+ * (scr_worker_events.c; the value borrowed). */
1226
+ "worker.markUntransferable": { argTypes: [DYN], result: VOID },
1227
+ "worker.isMarkedUntransferable": { argTypes: [DYN], result: BOOL },
1228
+ /** markAsUncloneable(value) (scr_json.c; the value borrowed). */
1229
+ "dyn.markUncloneable": { argTypes: [DYN], result: VOID },
1230
+ /** before new Worker() with the stdout or stderr option: links the stream
1231
+ * unit that worker.stdout and worker.stderr read through (scr_stream.c). */
1232
+ "stream.workerStdio": { argTypes: [], result: VOID },
1233
+ /** new BroadcastChannel(...args) (scr_worker_events.c; may throw), after
1234
+ * event.broadcastInstall, which installs its EventTarget side. */
1235
+ "worker.broadcastChannel": { argTypes: [DYN], result: DYN },
1236
+ "event.broadcastInstall": { argTypes: [], result: VOID },
1065
1237
  /** child_process.spawnSync (scr_child.c): posix_spawn + waitpid + piped
1066
1238
  * utf8 capture — cmd borrowed, args one borrowed string[] (the frontend
1067
1239
  * completes an omitted list to an empty literal), result an owned (+1)
@@ -1122,6 +1294,13 @@ export const LIB_FN_SIGS = defineLibFnSignatures({
1122
1294
  "net.createServer": { argTypes: [], result: NETSERVER_T },
1123
1295
  "net.createServerCb": { argTypes: [null], result: NETSERVER_T },
1124
1296
  "net.listen": { argTypes: [NETSERVER_T, F64], result: VOID },
1297
+ /** listen(path[, cb]): a Unix-socket server; the socket file is removed
1298
+ * when the server closes. Failures are the async 'error'. */
1299
+ "net.listenPath": { argTypes: [NETSERVER_T, STRING], result: VOID },
1300
+ "net.listenPathCb": {
1301
+ argTypes: [NETSERVER_T, STRING, { kind: "func", params: [], ret: VOID }],
1302
+ result: VOID,
1303
+ },
1125
1304
  "net.listenCb": {
1126
1305
  argTypes: [NETSERVER_T, F64, { kind: "func", params: [], ret: VOID }],
1127
1306
  result: VOID,
@@ -1164,6 +1343,15 @@ export const LIB_FN_SIGS = defineLibFnSignatures({
1164
1343
  * answers null (the serverPort stance). */
1165
1344
  "net.serverAddress": { argTypes: [NETSERVER_T], result: VOID },
1166
1345
  "net.serverClose": { argTypes: [NETSERVER_T], result: VOID },
1346
+ /** server.close((err) => ...): the callback (a dyn function) gets
1347
+ * undefined once the server closes, or Node's ERR_SERVER_NOT_RUNNING
1348
+ * when it was not listening. */
1349
+ "net.serverCloseDyn": { argTypes: [NETSERVER_T, DYN], result: VOID },
1350
+ /** server.address() in programs that may listen on a Unix socket: the
1351
+ * path a listening server answers ("" for a TCP server), and the check
1352
+ * a record-typed address() makes first (throws for a Unix server). */
1353
+ "net.serverUnixPath": { argTypes: [NETSERVER_T], result: STRING },
1354
+ "net.serverAddressCheck": { argTypes: [NETSERVER_T], result: VOID },
1167
1355
  "net.serverCloseCb": {
1168
1356
  argTypes: [NETSERVER_T, { kind: "func", params: [], ret: VOID }],
1169
1357
  result: VOID,
@@ -1210,6 +1398,11 @@ export const LIB_FN_SIGS = defineLibFnSignatures({
1210
1398
  * 'error'. A synchronous throw INSIDE the lookup propagates out of the
1211
1399
  * connect call (may-throw seed). */
1212
1400
  "net.connectLookup": { argTypes: [F64, STRING, null], result: NETSOCKET_T },
1401
+ /** connect({ host, port, lookup }) with a lookup of Node's own type, as
1402
+ * a checked-dynamic function: the runtime calls it with { hints, all:
1403
+ * true } and a callback taking an address string or list, then dials
1404
+ * the answers in order. MAY THROW (host validation, a lookup throw). */
1405
+ "net.connectLookupDyn": { argTypes: [F64, STRING, DYN], result: NETSOCKET_T },
1213
1406
  "net.sockWrite": { argTypes: [NETSOCKET_T, STRING], result: VOID },
1214
1407
  "net.sockWriteBytes": { argTypes: [NETSOCKET_T, BYTES_U8], result: VOID },
1215
1408
  "net.sockEnd": { argTypes: [NETSOCKET_T], result: VOID },
@@ -1280,10 +1473,10 @@ export const LIB_FN_SIGS = defineLibFnSignatures({
1280
1473
  "dgram.sendBytes": { argTypes: [DGRAMSOCK_T, BYTES_U8, F64, STRING], result: VOID },
1281
1474
  /** The send argument-validation ladder over dyn arguments (Node's
1282
1475
  * signature shuffle: slice bounds, list/type contracts, port/address
1283
- * validation, connected-state errors) — a fully-validated unconnected
1284
- * single-payload send RUNS; callback/list/connected forms meet the
1285
- * trailing fence. May-throw. */
1286
- "dgram.sendChk": { argTypes: [DGRAMSOCK_T, DYN, DYN, DYN, DYN, DYN, STRING], result: VOID },
1476
+ * validation, connected-state errors), then the send: lists, connected
1477
+ * sends and completion callbacks included. Up to six arguments, the
1478
+ * missing ones undefined. May-throw. */
1479
+ "dgram.sendChk": { argTypes: [DGRAMSOCK_T, DYN, DYN, DYN, DYN, DYN, DYN], result: VOID },
1287
1480
  "dgram.address": { argTypes: [DGRAMSOCK_T], result: VOID },
1288
1481
  "dgram.close": { argTypes: [DGRAMSOCK_T], result: VOID },
1289
1482
  "dgram.closeCb": {
@@ -1327,6 +1520,13 @@ export const LIB_FN_SIGS = defineLibFnSignatures({
1327
1520
  * callback) and lookupService(address, port, callback). */
1328
1521
  "dns.lookupDyn": { argTypes: [DYN, DYN, DYN, BOOL], result: VOID },
1329
1522
  "dns.lookupService": { argTypes: [DYN, DYN, DYN, BOOL], result: VOID },
1523
+ /** node:dns/promises: lookup(hostname, options) and lookupService(address,
1524
+ * port) over the callback forms; the promise fulfills with the dyn
1525
+ * { address, family } (array for all: true) / { hostname, service }.
1526
+ * Argument errors throw synchronously (may-throw), unlike the
1527
+ * util.promisify forms below. */
1528
+ "dns.promisesLookup": { argTypes: [DYN, DYN], result: { kind: "promise", inner: DYN } },
1529
+ "dns.promisesLookupService": { argTypes: [DYN, DYN], result: { kind: "promise", inner: DYN } },
1330
1530
  "dns.getServers": { argTypes: [], result: DYN },
1331
1531
  "dns.getDefaultResultOrder": { argTypes: [], result: STRING },
1332
1532
  "dns.setDefaultResultOrder": { argTypes: [DYN], result: VOID },
@@ -1357,11 +1557,10 @@ export const LIB_FN_SIGS = defineLibFnSignatures({
1357
1557
  argTypes: [STRING, F64, STRING, F64, STRING, F64, F64, F64],
1358
1558
  result: VOID,
1359
1559
  },
1360
- "test.suite": {
1361
- argTypes: [STRING, F64, STRING, { kind: "func", params: [], ret: VOID }, STRING, F64, F64],
1362
- result: VOID,
1363
- },
1364
- "test.hook": { argTypes: [F64, null, F64], result: VOID },
1560
+ // The suite body takes no parameters or its SuiteContext (flag 2).
1561
+ "test.suite": { argTypes: [STRING, F64, STRING, null, STRING, F64, F64], result: VOID },
1562
+ // The trailing string is the hook call's "file:line:col".
1563
+ "test.hook": { argTypes: [F64, null, F64, STRING], result: VOID },
1365
1564
  "test.sub": {
1366
1565
  argTypes: [TESTCTX_T, STRING, F64, STRING, null, F64, STRING, F64, F64, F64],
1367
1566
  result: { kind: "promise", inner: VOID },
@@ -1375,6 +1574,14 @@ export const LIB_FN_SIGS = defineLibFnSignatures({
1375
1574
  "test.ctxDiagnostic": { argTypes: [TESTCTX_T, STRING], result: VOID },
1376
1575
  "test.ctxName": { argTypes: [TESTCTX_T], result: STRING },
1377
1576
  "test.ctxFullName": { argTypes: [TESTCTX_T], result: STRING },
1577
+ // t.passed, and t.workerId's Number(NODE_TEST_WORKER_ID) with 0 for
1578
+ // undefined.
1579
+ "test.ctxPassed": { argTypes: [TESTCTX_T], result: BOOL },
1580
+ "test.workerId": { argTypes: [], result: F64 },
1581
+ // getTestContext(): whether a test, suite or hook is running in the
1582
+ // current async context, and that context.
1583
+ "test.hasContext": { argTypes: [], result: BOOL },
1584
+ "test.context": { argTypes: [], result: TESTCTX_T },
1378
1585
  // t.before/t.after/t.beforeEach/t.afterEach (which: 0 before, 1 after,
1379
1586
  // 2 beforeEach, 3 afterEach); a throwing t.before is captured on the test.
1380
1587
  "test.ctxHook": { argTypes: [TESTCTX_T, F64, null, F64], result: VOID },
@@ -1392,6 +1599,32 @@ export const LIB_FN_SIGS = defineLibFnSignatures({
1392
1599
  },
1393
1600
  "test.ctxMockRestoreAll": { argTypes: [TESTCTX_T], result: VOID },
1394
1601
  "test.ctxMockReset": { argTypes: [TESTCTX_T], result: VOID },
1602
+ // mock.timers on the module's `mock` and on t.mock. enable takes one
1603
+ // code per listed API ('T' setTimeout, 'I' setInterval), the `now`
1604
+ // value and its flags (1 given, 2 from a Date). enable, tick, runAll and
1605
+ // setTime throw Node's errors; tick and runAll run timer callbacks.
1606
+ // t.assert.snapshot and fileSnapshot: the escaped, wrapped serialized
1607
+ // value, and the stored value it is compared with (snapshot: the test,
1608
+ // the value, the snapshot file; fileSnapshot: the value, the path).
1609
+ // Both read or, in update mode, record; missing and unreadable
1610
+ // snapshots throw Node's ERR_INVALID_STATE.
1611
+ "test.snapshotValue": { argTypes: [STRING], result: STRING },
1612
+ "test.ctxSnapshot": { argTypes: [TESTCTX_T, STRING, STRING], result: STRING },
1613
+ "test.fileSnapshot": { argTypes: [STRING, STRING], result: STRING },
1614
+ // Node's serializeValue over a dyn array of serializers (undefined for
1615
+ // the default JSON.stringify(value, null, 2)); a throw becomes Node's
1616
+ // "The provided serializers did not generate a string." ERR_INVALID_STATE.
1617
+ "test.snapshotSerialize": { argTypes: [DYN, DYN], result: DYN },
1618
+ "test.mockTimersEnable": { argTypes: [STRING, F64, F64], result: VOID },
1619
+ "test.mockTimersTick": { argTypes: [F64], result: VOID },
1620
+ "test.mockTimersRunAll": { argTypes: [], result: VOID },
1621
+ "test.mockTimersReset": { argTypes: [], result: VOID },
1622
+ "test.mockTimersSetTime": { argTypes: [F64], result: VOID },
1623
+ "test.ctxMockTimersEnable": { argTypes: [TESTCTX_T, STRING, F64, F64], result: VOID },
1624
+ "test.ctxMockTimersTick": { argTypes: [TESTCTX_T, F64], result: VOID },
1625
+ "test.ctxMockTimersRunAll": { argTypes: [TESTCTX_T], result: VOID },
1626
+ "test.ctxMockTimersReset": { argTypes: [TESTCTX_T], result: VOID },
1627
+ "test.ctxMockTimersSetTime": { argTypes: [TESTCTX_T, F64], result: VOID },
1395
1628
  // node:http (scr_http.c over scr_net.c). The handler and the data
1396
1629
  // listeners are program-dependent closures (null slots, checked in the
1397
1630
  // libCall case); reqHeader's result is the interned string|undefined
@@ -1669,15 +1902,21 @@ export const LIB_FN_SIGS = defineLibFnSignatures({
1669
1902
  * socket POOLING is not modeled (one dial per request); maxSockets
1670
1903
  * accounting is real: over-limit requests defer their dial and queue.
1671
1904
  * MAY THROW. */
1672
- "http.agentNew": { argTypes: [BOOL, BOOL, F64, F64, F64, F64, F64], result: DYN },
1905
+ "http.agentNew": { argTypes: [BOOL, BOOL, F64, F64, F64, F64, F64, DYN], result: DYN },
1906
+ /** http.globalAgent / https.globalAgent (true): Node's keepAlive global
1907
+ * agent, the one requests without an agent option use. */
1908
+ "http.globalAgent": { argTypes: [BOOL], result: DYN },
1673
1909
  /** http.request's `signal` option over the fresh request: an aborted
1674
1910
  * signal destroys it with Node's AbortError now, a later abort event
1675
1911
  * does the same. A falsy value is ignored; a non-signal throws
1676
1912
  * ERR_INVALID_ARG_TYPE. */
1677
1913
  "http.clientSignal": { argTypes: [HTTPCLIENTREQ_T, DYN], result: VOID },
1678
- /** https.request's servername option: the TLS name sent and verified.
1679
- * The "https." prefix keeps the TLS unit linked. */
1680
- "https.clientServername": { argTypes: [HTTPCLIENTREQ_T, STRING], result: VOID },
1914
+ /** options.signal checked before the request is built (ERR_INVALID_ARG_TYPE). */
1915
+ "http.clientSignalCheck": { argTypes: [DYN], result: VOID },
1916
+ /** https.request's servername option, stored for the construction call
1917
+ * that follows: the TLS name sent and verified, and part of the pooled
1918
+ * socket key. The "https." prefix keeps the TLS unit linked. */
1919
+ "https.nextServername": { argTypes: [STRING], result: VOID },
1681
1920
  /** The maxHeaderSize option of createServer / http.request: Node's
1682
1921
  * validateInteger (ERR_OUT_OF_RANGE) then the header size bound.
1683
1922
  * MAY THROW. */
@@ -1707,6 +1946,17 @@ export const LIB_FN_SIGS = defineLibFnSignatures({
1707
1946
  * non-http scheme. */
1708
1947
  "http.requestUrl": { argTypes: [STRING, STRING, BOOL], result: HTTPCLIENTREQ_T },
1709
1948
  "http.requestUrlCb": { argTypes: [STRING, STRING, BOOL, null], result: HTTPCLIENTREQ_T },
1949
+ /** request/get with a runtime options record: a RequestOptions
1950
+ * variable, or a literal that spreads one or sets socketPath. Args
1951
+ * (options, autoEnd[, cb]). The runtime reads the record in the
1952
+ * ClientRequest constructor's order (host/port or socketPath, path,
1953
+ * method, headers, timeout, agent, signal, maxHeaderSize) with Node's
1954
+ * errors, and documented options it does not implement throw the
1955
+ * runtime fence. The "https." pair adds the TLS options. MAY THROW. */
1956
+ "http.requestDyn": { argTypes: [DYN, BOOL], result: HTTPCLIENTREQ_T },
1957
+ "http.requestDynCb": { argTypes: [DYN, BOOL, null], result: HTTPCLIENTREQ_T },
1958
+ "https.requestDyn": { argTypes: [DYN, BOOL], result: HTTPCLIENTREQ_T },
1959
+ "https.requestDynCb": { argTypes: [DYN, BOOL, null], result: HTTPCLIENTREQ_T },
1710
1960
  /** The paused-mode demux surface (portless's first-byte TLS peek:
1711
1961
  * once('readable') + read(1) + unshift + emit('connection')).
1712
1962
  * sockOnReadable registers a zero-param listener (a consumer: arrived
@@ -1752,6 +2002,10 @@ export const LIB_FN_SIGS = defineLibFnSignatures({
1752
2002
  /** Listeners with a parameter, as dyn functions: close(hadError),
1753
2003
  * write's cb(err) and end's cb. */
1754
2004
  "net.sockOnCloseDyn": { argTypes: [NETSOCKET_T, DYN, BOOL], result: VOID },
2005
+ /** socket.on/once('lookup', listener): the listener (a dyn function)
2006
+ * gets (err, address, family, host) once per resolved address, or once
2007
+ * with the lookup error, before the connect. */
2008
+ "net.sockOnLookup": { argTypes: [NETSOCKET_T, DYN, BOOL], result: VOID },
1755
2009
  "net.sockOnWriteFlush": {
1756
2010
  argTypes: [NETSOCKET_T, { kind: "func", params: [], ret: VOID }],
1757
2011
  result: VOID,
@@ -1769,6 +2023,14 @@ export const LIB_FN_SIGS = defineLibFnSignatures({
1769
2023
  "net.serverMaxConnectionsSet": { argTypes: [NETSERVER_T, DYN], result: VOID },
1770
2024
  "net.serverDropMaxConnectionGet": { argTypes: [NETSERVER_T], result: DYN },
1771
2025
  "net.serverDropMaxConnectionSet": { argTypes: [NETSERVER_T, DYN], result: VOID },
2026
+ /** net.SocketAddress and net.BlockList (scr_net.c): the constructors
2027
+ * take the argument array; the handles are dyn values. */
2028
+ "net.socketAddressNew": { argTypes: [DYN], result: DYN },
2029
+ "net.socketAddressParse": { argTypes: [DYN], result: DYN },
2030
+ "net.isSocketAddress": { argTypes: [DYN], result: BOOL },
2031
+ "net.blockListNew": { argTypes: [DYN], result: DYN },
2032
+ "net.isBlockList": { argTypes: [DYN], result: BOOL },
2033
+ "net.blockListPrivateRanges": { argTypes: [], result: DYN },
1772
2034
  "net.serverOnDrop": { argTypes: [NETSERVER_T, DYN, BOOL], result: VOID },
1773
2035
  "net.serverGetConnections": { argTypes: [NETSERVER_T, DYN], result: VOID },
1774
2036
  "net.sockReadable": { argTypes: [NETSOCKET_T], result: BOOL },
@@ -2143,11 +2405,13 @@ export const LIB_FN_SIGS = defineLibFnSignatures({
2143
2405
  result: VOID,
2144
2406
  },
2145
2407
  /** execFileSync/execSync as ONE entry (args: cmd, argv, shell, input,
2146
- * cwd, hasEnv, envPairs, timeoutMs, stdoutMode, stderrMode — see
2147
- * scr_runtime.h). Throws Node's exact errors: "Command failed: <cmd>"
2408
+ * cwd, hasEnv, envPairs, timeoutMs, stdoutMode, stderrMode, buffers —
2409
+ * see scr_child.h). Throws Node's exact errors: "Command failed: <cmd>"
2148
2410
  * (+ captured stderr) on non-zero exit or signal death, "spawnSync
2149
2411
  * <file> ENOENT" on spawn failure, "spawnSync <file> ETIMEDOUT" after
2150
- * the SIGTERM timeout. Result is the captured utf8 stdout (+1). */
2412
+ * the SIGTERM timeout, with Node's status, signal, output, pid, stdout
2413
+ * and stderr properties (Buffer outputs when buffers is set: no
2414
+ * encoding option). Result is the captured utf8 stdout (+1). */
2151
2415
  "cp.execSync": {
2152
2416
  argTypes: [
2153
2417
  STRING,
@@ -2161,6 +2425,7 @@ export const LIB_FN_SIGS = defineLibFnSignatures({
2161
2425
  F64,
2162
2426
  F64,
2163
2427
  F64,
2428
+ BOOL,
2164
2429
  ],
2165
2430
  result: STRING,
2166
2431
  },
@@ -2221,7 +2486,16 @@ export const LIB_FN_SIGS = defineLibFnSignatures({
2221
2486
  "child.onSpawn": { argTypes: [CHILD_T, null], result: VOID },
2222
2487
  /** Rest listeners use the checked function bridge to pack event arguments. */
2223
2488
  "child.onDyn": { argTypes: [CHILD_T, STRING, DYN], result: VOID },
2489
+ // Own properties JavaScript adds to children (handle-properties.ts).
2490
+ "child.propsInstall": { argTypes: [], result: VOID },
2491
+ "child.propsDefine": { argTypes: [DYN, DYN, DYN], result: DYN },
2492
+ "child.propsDescriptor": { argTypes: [DYN, DYN], result: DYN },
2493
+ "child.propsResolve": { argTypes: [DYN, DYN], result: { kind: "promise", inner: DYN } },
2494
+ "child.propsOnDyn": { argTypes: [CHILD_T, STRING, DYN], result: VOID },
2224
2495
  "process.connected": { argTypes: [], result: BOOL },
2496
+ /** Whether this fork child opened its channel; part of process.send's
2497
+ * presence in programs with fork targets. Never throws. */
2498
+ "process.ipcOpen": { argTypes: [], result: BOOL },
2225
2499
  "process.send": { argTypes: [STRING], result: BOOL },
2226
2500
  "process.sendCb": { argTypes: [STRING, null], result: BOOL },
2227
2501
  "process.disconnect": { argTypes: [], result: VOID },
@@ -2230,8 +2504,9 @@ export const LIB_FN_SIGS = defineLibFnSignatures({
2230
2504
  /** child_process.execFile's callback slice: starts an all-piped child,
2231
2505
  * captures stdout/stderr, and moves the error-first callback into the
2232
2506
  * child registry. The callback shape is program-dependent and checked
2233
- * by the validator/backends. */
2234
- "cp.execFile": { argTypes: [STRING, arrayOf(STRING), null], result: CHILD_T },
2507
+ * by the validator/backends. The last argument is exec's shell flag:
2508
+ * the argv is ["-c", command] and failure messages show the command. */
2509
+ "cp.execFile": { argTypes: [STRING, arrayOf(STRING), null, BOOL], result: CHILD_T },
2235
2510
  // spawn's options form: per-slot stdio modes (0 ignore / 1 inherit /
2236
2511
  // 2 fd) with the out/err fds for mode 2, detached, env replacement
2237
2512
  // pairs, cwd ("" = inherit).
@@ -2344,8 +2619,13 @@ export const LIB_FN_SIGS = defineLibFnSignatures({
2344
2619
  * queue, end/destroy settle it, writable is a pure state read, and
2345
2620
  * listener callbacks move into the writer registry. */
2346
2621
  "child.stdin": { argTypes: [CHILD_T], result: VOID },
2622
+ /** Under the general stream representation (general-streams.ts), a
2623
+ * stdio read (slot 0, 1 or 2) answers the child's bridged runtime stream
2624
+ * — `Writable | null` for stdin, `Readable | null` otherwise; the bridge
2625
+ * throws when the program lacks the stream unit's boxing helpers. */
2626
+ "child.stdioStream": { argTypes: [CHILD_T, F64], result: VOID },
2347
2627
  // Listener registrations: callback func shapes are program-dependent
2348
- // (zero-param / Buffer / Buffer-armed union) — the slots pin arity,
2628
+ // (zero-param / Buffer / string / unknown / Buffer-armed union) — the slots pin arity,
2349
2629
  // the stream receiver, and the once-flag.
2350
2630
  "stream.onData": { argTypes: [CHILDSTREAM_T, null, BOOL], result: VOID },
2351
2631
  "stream.onDataStr": { argTypes: [CHILDSTREAM_T, null, BOOL], result: VOID },
@@ -2365,6 +2645,39 @@ export const LIB_FN_SIGS = defineLibFnSignatures({
2365
2645
  * stderrWrite paths so buffering and ordering stay identical. Data
2366
2646
  * borrowed; the bool is Node's always-true backpressure signal. */
2367
2647
  "procStream.write": { argTypes: [PROCSTREAM_T, STRING], result: BOOL },
2648
+ /** process.stdout/stderr flowing into a runtime Writable slot under the
2649
+ * general stream representation: an fd-backed Writable (+1) whose
2650
+ * writes take process.stdout.write's synchronous path. */
2651
+ /** A pipeline() stage that is a checked-dynamic value: a boxed native
2652
+ * stream unwraps by identity (+1); anything else throws the given
2653
+ * not-supported message. Typed as a Duplex so every stage position
2654
+ * accepts it; the runtime pipeline checks the stream's real sides. */
2655
+ "stream.unboxDyn": {
2656
+ argTypes: [DYN, STRING],
2657
+ result: { kind: "object", className: "%Duplex" },
2658
+ },
2659
+ /** Checked-dynamic stream slots (dyn-streams.ts): the native stream a
2660
+ * checked-dynamic value boxes (+1) — a runtime stream with the readable
2661
+ * (1) or writable (2) side — or null for any other value. Never throws;
2662
+ * the result union is `%Readable | null` or `%Writable | null`. */
2663
+ "stream.dynNative": { argTypes: [DYN, F64], result: VOID },
2664
+ /** stream.dynNative for a pipe or unpipe destination: also a
2665
+ * constructor-function stream's runtime stream, in programs that link
2666
+ * that unit, unless it overrides write() or end(). */
2667
+ "stream.dynNativePipe": { argTypes: [DYN, F64], result: VOID },
2668
+ /** readable.pipe(destination, end) into a checked-dynamic destination
2669
+ * that is not a native stream: [source, the source boxed, destination,
2670
+ * end]. Node's pipe listener protocol over the destination's members
2671
+ * (scr_stream_dyn.c); throws what those members throw. */
2672
+ "stream.pipeDyn": { argTypes: [null, DYN, DYN, BOOL], result: VOID },
2673
+ /** readable.unpipe(destination) for a checked-dynamic destination that
2674
+ * is not a native stream: [source, destination]. Unpipes the pipe
2675
+ * stream.pipeDyn registered into it, if any (scr_stream_dyn.c). */
2676
+ "stream.unpipeDyn": { argTypes: [null, DYN], result: VOID },
2677
+ "stream.stdioWritable": {
2678
+ argTypes: [PROCSTREAM_T],
2679
+ result: { kind: "object", className: "%Writable" },
2680
+ },
2368
2681
  "child.killed": { argTypes: [CHILD_T], result: BOOL },
2369
2682
  "child.kill": { argTypes: [CHILD_T, STRING], result: BOOL },
2370
2683
  "child.killNum": { argTypes: [CHILD_T, F64], result: BOOL },
@@ -2412,6 +2725,12 @@ export const LIB_FN_SIGS = defineLibFnSignatures({
2412
2725
  * cipher, key, iv and options arguments (scr_cipher.c): a native
2413
2726
  * Cipheriv/Decipheriv handle whose methods dispatch through dynInvoke. */
2414
2727
  "crypto.cipherNew": { argTypes: [BOOL, DYN, DYN, DYN, DYN], result: DYN },
2728
+ /** createECDH(curveName) over a checked-dynamic curve (scr_ecdh.c): a
2729
+ * native ECDH handle whose methods dispatch through dynInvoke. */
2730
+ "crypto.ecdhNew": { argTypes: [DYN], result: DYN },
2731
+ /** ECDH.convertKey(key, curve, inputEncoding, outputEncoding, format):
2732
+ * the converted point as a Buffer or string. */
2733
+ "crypto.ecdhConvertKey": { argTypes: [DYN, DYN, DYN, DYN, DYN], result: DYN },
2415
2734
  "crypto.hmacNewStr": { argTypes: [STRING, STRING], result: CRYPTOHMAC_T },
2416
2735
  "crypto.hmacNewBytes": { argTypes: [STRING, BYTES_U8], result: CRYPTOHMAC_T },
2417
2736
  "crypto.hashUpdateStr": { argTypes: [CRYPTOHASH_T, STRING], result: CRYPTOHASH_T },
@@ -2450,6 +2769,11 @@ export const LIB_FN_SIGS = defineLibFnSignatures({
2450
2769
  * whether min was given. */
2451
2770
  "crypto.randomFillView": { argTypes: [null, F64, F64], result: BYTES_U8 },
2452
2771
  "crypto.randomFillViewRest": { argTypes: [null, F64], result: BYTES_U8 },
2772
+ /** crypto.getRandomValues: a view returns itself at its own type (the
2773
+ * float/size DOMExceptions are thrown at run time); any other value
2774
+ * takes the checked form. */
2775
+ "crypto.getRandomValues": { argTypes: [null], result: BYTES_U8 },
2776
+ "crypto.getRandomValuesDyn": { argTypes: [DYN], result: DYN },
2453
2777
  "crypto.randomFillSyncDyn": { argTypes: [DYN, DYN, DYN], result: DYN },
2454
2778
  "crypto.randomFillCb": { argTypes: [null, F64, F64, F64, null], result: VOID },
2455
2779
  "crypto.randomFillCbDyn": { argTypes: [DYN, DYN, DYN, F64, null], result: VOID },
@@ -2462,6 +2786,14 @@ export const LIB_FN_SIGS = defineLibFnSignatures({
2462
2786
  "crypto.generateKeyCb": { argTypes: [DYN, DYN, null], result: VOID },
2463
2787
  "crypto.keyObjectInput": { argTypes: [DYN], result: BYTES_U8 },
2464
2788
  "crypto.isKeyObject": { argTypes: [DYN], result: BOOL },
2789
+ /** WebCrypto (scr_webcrypto.c): each method takes its argument vector as
2790
+ * one dyn array and answers a promise that argument and validation
2791
+ * failures reject. CryptoKey values are native handles. */
2792
+ "webcrypto.importKey": { argTypes: [DYN], result: { kind: "promise", inner: DYN } },
2793
+ "webcrypto.sign": { argTypes: [DYN], result: { kind: "promise", inner: DYN } },
2794
+ "webcrypto.verify": { argTypes: [DYN], result: { kind: "promise", inner: BOOL } },
2795
+ "webcrypto.digest": { argTypes: [DYN], result: { kind: "promise", inner: DYN } },
2796
+ "webcrypto.isCryptoKey": { argTypes: [DYN], result: BOOL },
2465
2797
  "crypto.randomUUIDv7": { argTypes: [DYN], result: STRING },
2466
2798
  "crypto.pbkdf2": { argTypes: [BYTES_U8, BYTES_U8, F64, F64, STRING], result: BYTES_U8 },
2467
2799
  "crypto.randomBytesCb": { argTypes: [F64, null], result: VOID },
@@ -2470,6 +2802,25 @@ export const LIB_FN_SIGS = defineLibFnSignatures({
2470
2802
  "crypto.hkdfCb": { argTypes: [STRING, BYTES_U8, BYTES_U8, BYTES_U8, F64, null], result: VOID },
2471
2803
  "crypto.scrypt": { argTypes: [BYTES_U8, BYTES_U8, F64, DYN], result: BYTES_U8 },
2472
2804
  "crypto.scryptCb": { argTypes: [BYTES_U8, BYTES_U8, F64, DYN, null], result: VOID },
2805
+ /** util.promisify over the callback forms: the callback form's
2806
+ * arguments without the callback → a promise the callback form settles,
2807
+ * or rejected with an argument error; never throws. The result's value
2808
+ * type is the declared one (a Buffer, the filled view, a number, or a
2809
+ * checked-dynamic value); the validator checks it. */
2810
+ "crypto.randomBytesPromise": { argTypes: [F64], result: VOID },
2811
+ "crypto.pbkdf2Promise": { argTypes: [BYTES_U8, BYTES_U8, F64, F64, STRING], result: VOID },
2812
+ "crypto.scryptPromise": { argTypes: [BYTES_U8, BYTES_U8, F64, DYN], result: VOID },
2813
+ "crypto.hkdfPromise": { argTypes: [STRING, BYTES_U8, BYTES_U8, BYTES_U8, F64], result: VOID },
2814
+ "crypto.randomFillPromise": { argTypes: [null, F64, F64, F64], result: VOID },
2815
+ "crypto.randomFillPromiseDyn": { argTypes: [DYN, DYN, DYN, F64], result: VOID },
2816
+ "crypto.randomIntPromise": { argTypes: [F64, F64, F64], result: VOID },
2817
+ "crypto.generateKeyPromise": { argTypes: [DYN, DYN], result: VOID },
2818
+ /** util.promisify(dns.lookup) and util.promisify(dns.lookupService):
2819
+ * [hostname, options] and [address, port] → a promise of the
2820
+ * checked-dynamic result object (the address array with options.all),
2821
+ * or rejected with the error; never throws. */
2822
+ "dns.lookupPromise": { argTypes: [DYN, DYN], result: { kind: "promise", inner: DYN } },
2823
+ "dns.lookupServicePromise": { argTypes: [DYN, DYN], result: { kind: "promise", inner: DYN } },
2473
2824
  // The Buffer statics and the fs/zlib Buffer forms: fixed always-u8
2474
2825
  // signatures (Buffer IS a Uint8Array — one bytes kind).
2475
2826
  /** The Buffer statics with fixed (always-u8) signatures. fromStr is
@@ -2481,6 +2832,9 @@ export const LIB_FN_SIGS = defineLibFnSignatures({
2481
2832
  "buffer.fromStr": { argTypes: [STRING, STRING], result: BYTES_U8 },
2482
2833
  "buffer.fromStrChecked": { argTypes: [STRING, STRING], result: BYTES_U8 },
2483
2834
  "buffer.brand": { argTypes: [BYTES_U8], result: BYTES_U8 },
2835
+ /** Buffer.isBuffer over a typed view: whether the view carries the
2836
+ * Buffer brand (any element kind; only Buffers do). Never throws. */
2837
+ "buffer.isBranded": { argTypes: [null], result: BOOL },
2484
2838
  /** Buffer.from on checked-native strings, bytes, arrays and data-only
2485
2839
  * array-like/Buffer-JSON objects. The encoding is a normalized literal;
2486
2840
  * non-string inputs ignore it. Copies the input and may throw during
@@ -2488,6 +2842,7 @@ export const LIB_FN_SIGS = defineLibFnSignatures({
2488
2842
  * opaque reference inputs retain explicit runtime refusals. */
2489
2843
  "buffer.fromDyn": { argTypes: [DYN, STRING], result: BYTES_U8 },
2490
2844
  "buffer.concat": { argTypes: [arrayOf(BYTES_U8)], result: BYTES_U8 },
2845
+ "buffer.concatDyn": { argTypes: [DYN], result: BYTES_U8 },
2491
2846
  /** The pooled Buffer factories (Node's allocate/fromStringFast/
2492
2847
  * fromArrayLike): allocUnsafe, Buffer.from of strings, Uint8Arrays,
2493
2848
  * number[] and checked values, and concat return views into the
@@ -2495,6 +2850,9 @@ export const LIB_FN_SIGS = defineLibFnSignatures({
2495
2850
  * allocUnsafeSlow never pool. The size forms validate like Node
2496
2851
  * (ERR_OUT_OF_RANGE). poolSize reads and writes Buffer.poolSize. */
2497
2852
  "buffer.alloc": { argTypes: [F64], result: BYTES_U8 },
2853
+ /** Buffer.alloc as a function value: the size, fill and encoding arrive
2854
+ * unchecked, and the runtime fills as Node's alloc does. */
2855
+ "buffer.allocValue": { argTypes: [DYN, DYN, DYN], result: BYTES_U8 },
2498
2856
  "buffer.allocUnsafe": { argTypes: [F64], result: BYTES_U8 },
2499
2857
  "buffer.allocUnsafeSlow": { argTypes: [F64], result: BYTES_U8 },
2500
2858
  "buffer.poolFromStr": { argTypes: [STRING, STRING], result: BYTES_U8 },
@@ -2502,18 +2860,23 @@ export const LIB_FN_SIGS = defineLibFnSignatures({
2502
2860
  "buffer.poolFromBytes": { argTypes: [BYTES_U8], result: BYTES_U8 },
2503
2861
  "buffer.poolFromArray": { argTypes: [arrayOf(F64)], result: BYTES_U8 },
2504
2862
  "buffer.poolFromDyn": { argTypes: [DYN, STRING], result: BYTES_U8 },
2863
+ /** poolFromDyn that also copies an array crossing by reference. */
2864
+ "buffer.poolFromDynRef": { argTypes: [DYN, STRING], result: BYTES_U8 },
2505
2865
  "buffer.poolSize": { argTypes: [], result: F64 },
2506
2866
  "buffer.setPoolSize": { argTypes: [F64], result: VOID },
2507
2867
  /** Buffer.byteLength(string, enc) — enc a NORMALIZED literal like
2508
2868
  * fromStr's — and Buffer.isEncoding(name) over a runtime string
2509
2869
  * (case-insensitive against Node's alias set). Pure; never throw. */
2510
2870
  "buffer.byteLenDyn": { argTypes: [DYN, STRING], result: F64 },
2871
+ /** Buffer.byteLength as a function value: the encoding arrives at run time. */
2872
+ "buffer.byteLenValue": { argTypes: [DYN, DYN], result: F64 },
2511
2873
  "buffer.byteLenStr": { argTypes: [STRING, STRING], result: F64 },
2512
2874
  "buffer.isEncoding": { argTypes: [STRING], result: BOOL },
2513
2875
  /** Buffer.concat(list, totalLength): the concatenation truncated or
2514
2876
  * zero-padded to the total. THROWS Node's 'length' RangeError on a
2515
2877
  * negative/non-integer total (may-throw seed). */
2516
2878
  "buffer.concatLen": { argTypes: [arrayOf(BYTES_U8), F64], result: BYTES_U8 },
2879
+ "buffer.concatLenDyn": { argTypes: [DYN, F64], result: BYTES_U8 },
2517
2880
  // The checked-dynamic compare/equals validators (Node's argument
2518
2881
  // ladders over dyn-boxed invalid-input probes).
2519
2882
  /** The checked-dynamic compare/equals validators (scr_bytes_io.c) —
@@ -2657,6 +3020,9 @@ export const LIB_FN_SIGS = defineLibFnSignatures({
2657
3020
  * receivers are borrowed. */
2658
3021
  "zlib.streamNew": { argTypes: [F64, DYN], result: VOID },
2659
3022
  "zlib.streamBytesWritten": { argTypes: [null], result: F64 },
3023
+ /** `stream instanceof zlib.Gzip`: the borrowed stream and the class's
3024
+ * node_zlib_mode; true when the stream is a zlib stream of that mode. */
3025
+ "zlib.streamIs": { argTypes: [null, F64], result: BOOL },
2660
3026
  "zlib.streamFlush": { argTypes: [null, DYN], result: VOID },
2661
3027
  "zlib.streamFlushCb": { argTypes: [null, DYN, null], result: VOID },
2662
3028
  "zlib.streamParams": { argTypes: [null, DYN, DYN], result: VOID },
@@ -2784,6 +3150,9 @@ export const LIB_FN_SIGS = defineLibFnSignatures({
2784
3150
  },
2785
3151
  "fileHandle.stat": { argTypes: [FILEHANDLE_T], result: { kind: "promise", inner: STATS_T } },
2786
3152
  "process.argv": { argTypes: [], result: arrayOf(STRING) },
3153
+ // The Node runtime flag a node:test binary took out of process.argv
3154
+ // (--test-update-snapshots), or [] — a fresh array per read.
3155
+ "process.execArgv": { argTypes: [], result: arrayOf(STRING) },
2787
3156
  "process.platform": { argTypes: [], result: STRING },
2788
3157
  // The one libCall whose result type is program-dependent (union ids are
2789
3158
  // per-module): the `result` here is a placeholder — the libCall case
@@ -2812,8 +3181,13 @@ export const LIB_FN_SIGS = defineLibFnSignatures({
2812
3181
  "process.exit": { argTypes: [F64], result: VOID },
2813
3182
  /** Numeric process.exitCode write (integer validation, implicit exit status). */
2814
3183
  "process.setExitCode": { argTypes: [F64], result: VOID },
3184
+ /** The process.exitCode write of a program that also reads the
3185
+ * property: the same validation, and the code counts as assigned. */
3186
+ "process.setExitCodeTracked": { argTypes: [F64], result: VOID },
2815
3187
  /** The code for process.exit() with no argument, or zero when unset. */
2816
3188
  "process.currentExitCode": { argTypes: [], result: F64 },
3189
+ /** Whether process.exitCode reads a code rather than undefined. Never throws. */
3190
+ "process.hasExitCode": { argTypes: [], result: BOOL },
2817
3191
  "process.cwd": { argTypes: [], result: STRING },
2818
3192
  /** getpid(2) / getuid(2): zero args → f64. POSIX-only target, so both
2819
3193
  * always answer (the checker's `getuid?` optionality covers Windows —
@@ -2905,6 +3279,23 @@ export const LIB_FN_SIGS = defineLibFnSignatures({
2905
3279
  "error.hasCause": { argTypes: [null], result: BOOL },
2906
3280
  /** Assignment borrows both operands and retains the new cause. */
2907
3281
  "error.setCause": { argTypes: [null, DYN], result: VOID },
3282
+ /** `err.code = s` on an error-hierarchy receiver: the code slot that
3283
+ * error.code reads and coded throws stamp. Borrows both; never throws. */
3284
+ "error.setCode": { argTypes: [null, STRING], result: VOID },
3285
+ /** `err.code = v` with a value that is not statically a string: strings
3286
+ * take the code slot, anything else clears it and sets the dynamic own
3287
+ * property. Borrows both; never throws. */
3288
+ "error.setCodeDyn": { argTypes: [null, DYN], result: VOID },
3289
+ /** `Object.assign(err, ...sources)` onto an error-hierarchy receiver
3290
+ * (args: the error, a dyn array of the sources): the own-member copy
3291
+ * onto its checked-dynamic node, then the typed slots (name, message,
3292
+ * stack, cause, code) re-read from it. Throws what the copy throws. */
3293
+ "error.assign": { argTypes: [null, DYN], result: VOID },
3294
+ /** `key in err` for a key no compiled class of the receiver declares
3295
+ * (args: the error, the key): a runtime-set own property (Object.assign,
3296
+ * throw-site fields, dynamic writes) or an Object.prototype member. */
3297
+ "error.hasKey": { argTypes: [null, STRING], result: BOOL },
3298
+ "error.hasCode": { argTypes: [null], result: BOOL },
2908
3299
  "error.defineCause": { argTypes: [null, DYN], result: VOID },
2909
3300
  "error.deleteCause": { argTypes: [null], result: VOID },
2910
3301
  /** The compiler-resolved Node-parity throw for always-throwing lowered
@@ -2937,6 +3328,29 @@ export const LIB_FN_SIGS = defineLibFnSignatures({
2937
3328
  "dyn.compare": { argTypes: [DYN, DYN, STRING], result: BOOL },
2938
3329
  "dyn.bitwise": { argTypes: [DYN, DYN, STRING], result: DYN },
2939
3330
  "dyn.proxyNew": { argTypes: [DYN, DYN], result: DYN },
3331
+ /* Dynamic-tier values (jsval; two-tier design stage S3). The jsval pass
3332
+ * (ir/jsval.ts) introduces these in dynamic-tier functions only; the
3333
+ * runtime is scr_js_value.c. Arguments are borrowed and results owned,
3334
+ * like every libCall. Boundary conversions: js.fromDyn (a cell keeps its
3335
+ * identity), js.toDyn (an immediate is boxed), js.fromF64/fromBool/
3336
+ * fromStr/fromBigInt (the design's toJs: immediates, and strings and
3337
+ * BigInts under a tag without a copy) and js.toF64 (fromJs to number: dynCheck's
3338
+ * number check and TypeError). The operators are the dyn.* operators
3339
+ * over jsvals, with identical JS semantics. */
3340
+ "js.fromDyn": { argTypes: [DYN], result: JSVAL },
3341
+ "js.toDyn": { argTypes: [JSVAL], result: DYN },
3342
+ "js.fromF64": { argTypes: [F64], result: JSVAL },
3343
+ "js.fromBool": { argTypes: [BOOL], result: JSVAL },
3344
+ "js.fromStr": { argTypes: [STRING], result: JSVAL },
3345
+ "js.fromBigInt": { argTypes: [BIGINT_T], result: JSVAL },
3346
+ "js.toF64": { argTypes: [JSVAL], result: F64 },
3347
+ "js.add": { argTypes: [JSVAL, JSVAL], result: JSVAL },
3348
+ "js.arithmetic": { argTypes: [JSVAL, JSVAL, STRING], result: JSVAL },
3349
+ "js.bitwise": { argTypes: [JSVAL, JSVAL, STRING], result: JSVAL },
3350
+ "js.compare": { argTypes: [JSVAL, JSVAL, STRING], result: BOOL },
3351
+ "js.toNumeric": { argTypes: [JSVAL], result: JSVAL },
3352
+ "js.increment": { argTypes: [JSVAL, BOOL], result: JSVAL },
3353
+ "js.toNumberCoerce": { argTypes: [JSVAL], result: F64 },
2940
3354
  // Always throws; the result is the READ's declared type (a typed dummy
2941
3355
  // the unwind abandons) — the libCall case skips the result check.
2942
3356
  /** A read of a `declare`d const NOTHING defines (the bundler-define
@@ -2995,6 +3409,7 @@ export const LIB_FN_SIGS = defineLibFnSignatures({
2995
3409
  /** SameValue over checked values, including NaN, signed zero and reference identity. */
2996
3410
  "dyn.sameValue": { argTypes: [DYN, DYN], result: BOOL },
2997
3411
  "error.stack": { argTypes: [null], result: STRING },
3412
+ "error.setStack": { argTypes: [null, STRING], result: VOID },
2998
3413
  "error.stackLimitGet": { argTypes: [], result: F64 },
2999
3414
  "error.stackLimitSet": { argTypes: [F64], result: VOID },
3000
3415
  // Receiver (any error-hierarchy object) and the program-dependent
@@ -3100,6 +3515,7 @@ export const LIB_FN_SIGS = defineLibFnSignatures({
3100
3515
  "arrayBuffer.viewU8": { argTypes: [DYN, DYN, DYN], result: BYTES_U8 },
3101
3516
  "arrayBuffer.viewU32": { argTypes: [DYN, DYN, DYN], result: bytesOf("u32") },
3102
3517
  "arrayBuffer.viewI32": { argTypes: [DYN, DYN, DYN], result: bytesOf("i32") },
3518
+ "arrayBuffer.viewF16": { argTypes: [DYN, DYN, DYN], result: bytesOf("f16") },
3103
3519
  "arrayBuffer.viewF32": { argTypes: [DYN, DYN, DYN], result: bytesOf("f32") },
3104
3520
  "arrayBuffer.viewF64": { argTypes: [DYN, DYN, DYN], result: bytesOf("f64") },
3105
3521
  "arrayBuffer.viewDV": { argTypes: [DYN, DYN, DYN], result: BYTES_U8 },
@@ -3151,6 +3567,13 @@ export const LIB_FN_SIGS = defineLibFnSignatures({
3151
3567
  * `await using`. Both throw Node's TypeErrors or the method's error. */
3152
3568
  "dyn.usingMethod": { argTypes: [DYN, BOOL], result: DYN },
3153
3569
  "dyn.usingDispose": { argTypes: [DYN, DYN], result: DYN },
3570
+ /** DisposableStack (scr_symbol.c): a new stack handle; whether a value is
3571
+ * one; and `stack.use(value)` for a class instance, registering the
3572
+ * compiler's disposal function for it. The last throws Node's
3573
+ * ReferenceError on a disposed stack. */
3574
+ "disposable.stackNew": { argTypes: [], result: DYN },
3575
+ "disposable.stackIs": { argTypes: [DYN], result: BOOL },
3576
+ "disposable.stackUseCallback": { argTypes: [DYN, DYN, DYN], result: BOOL },
3154
3577
  "dyn.reflectSet": { argTypes: [DYN, DYN, DYN, DYN], result: BOOL },
3155
3578
  "dyn.reflectDefine": { argTypes: [DYN, DYN, DYN], result: BOOL },
3156
3579
  "dyn.abstractEq": { argTypes: [DYN, DYN], result: BOOL },
@@ -3164,6 +3587,20 @@ export const LIB_FN_SIGS = defineLibFnSignatures({
3164
3587
  "dyn.classPrototype": { argTypes: [DYN, DYN], result: DYN },
3165
3588
  "dyn.classBasePrototype": { argTypes: [DYN], result: DYN },
3166
3589
  "dyn.classInherit": { argTypes: [DYN, DYN], result: DYN },
3590
+ /** EventEmitter (0), Stream (1), Readable (2), Writable (3), Duplex (4),
3591
+ * Transform (5) and PassThrough (6) as untyped constructor values, one
3592
+ * per thread (scr_dyn_builtin_class.c). */
3593
+ "dyn.builtinClass": { argTypes: [F64], result: DYN },
3594
+ /** The stream classes (2-6 above) with their stream half: constructor
3595
+ * functions over them get native stream state
3596
+ * (scr_dyn_builtin_stream.c). */
3597
+ "dyn.builtinStreamClass": { argTypes: [F64], result: DYN },
3598
+ /** `value instanceof C` for those constructors, over the value's
3599
+ * prototype chain. */
3600
+ "dyn.builtinInstanceOf": { argTypes: [DYN, F64], result: BOOL },
3601
+ /** `value instanceof f` for an untyped constructor function: the
3602
+ * prototype chain against f.prototype. */
3603
+ "dyn.functionInstanceOf": { argTypes: [DYN, DYN], result: BOOL },
3167
3604
  "dyn.classSuper": { argTypes: [DYN, DYN, DYN], result: VOID },
3168
3605
  "dyn.assignPrototype": { argTypes: [DYN, DYN, DYN], result: DYN },
3169
3606
  "dyn.definePrototypeProps": { argTypes: [DYN, DYN, DYN], result: DYN },
@@ -3226,6 +3663,8 @@ export const LIB_FN_SIGS = defineLibFnSignatures({
3226
3663
  "regex.groupEquals": { argTypes: [arrayOf(STRING), F64, STRING], result: BOOL },
3227
3664
  "regex.groupNumber": { argTypes: [arrayOf(STRING), F64], result: F64 },
3228
3665
  "regex.groupParseInt": { argTypes: [arrayOf(STRING), F64, F64], result: F64 },
3666
+ // `.index` / `.input` (args[1]) of a match result. Borrowed; never throws.
3667
+ "regex.resultProp": { argTypes: [arrayOf(STRING), STRING], result: DYN },
3229
3668
  // node:events EventEmitter: receivers are emitter-hierarchy objects and
3230
3669
  // the chaining forms (on/off/removeAll/setMax) return the receiver's
3231
3670
  // own class — program-dependent object types, checked in the libCall
@@ -3252,6 +3691,9 @@ export const LIB_FN_SIGS = defineLibFnSignatures({
3252
3691
  * throws err when unhandled. count/countFn/names/listeners/getMax/
3253
3692
  * setMax/setDefaultMax/getDefaultMax are the introspection surface. */
3254
3693
  "emitter.new": { argTypes: [], result: VOID },
3694
+ /** `x.constructor.name` of an emitter or stream (a borrowed object of
3695
+ * EventEmitter's hierarchy): the +1 class name the instance records. */
3696
+ "emitter.className": { argTypes: [null], result: STRING },
3255
3697
  "emitter.ctor": { argTypes: [null], result: VOID },
3256
3698
  "emitter.on": { argTypes: [null, STRING, null, BOOL, BOOL], result: VOID },
3257
3699
  "emitter.off": { argTypes: [null, STRING, null], result: VOID },
@@ -3286,6 +3728,10 @@ export const LIB_FN_SIGS = defineLibFnSignatures({
3286
3728
  "emitter.getMax": { argTypes: [null], result: F64 },
3287
3729
  "emitter.setDefaultMax": { argTypes: [F64], result: VOID },
3288
3730
  "emitter.getDefaultMax": { argTypes: [], result: F64 },
3731
+ // The ES module namespace's copy of defaultMaxListeners, and
3732
+ // module.syncBuiltinESMExports() refreshing it.
3733
+ "emitter.esmDefaultMax": { argTypes: [], result: F64 },
3734
+ "emitter.esmSync": { argTypes: [], result: VOID },
3289
3735
  /** The events.errorMonitor event key: an immortal string the runtime
3290
3736
  * registry matches by identity, so no string event name reaches it. */
3291
3737
  "emitter.errorMonitor": { argTypes: [], result: STRING },
@@ -3312,7 +3758,9 @@ export const LIB_FN_SIGS = defineLibFnSignatures({
3312
3758
  * returns the below-hwm answer. readable.read: (recv, size — -1 for
3313
3759
  * absent) → Buffer|null union. pause/resume return recv +1 (`this`);
3314
3760
  * isPaused answers the flag. readable.pipe: (recv, dst, end) → dst +1,
3315
- * fires 'pipe' on dst; readable.unpipe (recv[, dst]) → recv +1.
3761
+ * fires 'pipe' on dst; readable.pipeGeneral: the same, with `end` off
3762
+ * when dst is the converted process.stdout / process.stderr;
3763
+ * readable.unpipe (recv[, dst]) → recv +1.
3316
3764
  * writable.write/writeStr: (recv, chunk[, cb]) → below-hwm bool (cb
3317
3765
  * MOVES when present, called after the user write completes).
3318
3766
  * writable.end: (recv, flags[, chunk][, cb]) → recv +1. cork/uncork are
@@ -3510,6 +3958,7 @@ export const LIB_FN_SIGS = defineLibFnSignatures({
3510
3958
  "readable.resume": { argTypes: [null], result: VOID },
3511
3959
  "readable.isPaused": { argTypes: [null], result: BOOL },
3512
3960
  "readable.pipe": { argTypes: [null, null, BOOL], result: VOID },
3961
+ "readable.pipeGeneral": { argTypes: [null, null, BOOL], result: VOID },
3513
3962
  "readable.unpipe": { argTypes: [null], result: VOID },
3514
3963
  "readable.flowing": { argTypes: [null], result: VOID },
3515
3964
  "writable.write": { argTypes: [null, BYTES_U8], result: BOOL },
@@ -3681,18 +4130,28 @@ export const LIB_FN_SIGS = defineLibFnSignatures({
3681
4130
  "insp.jsonDyn": { argTypes: [DYN], result: STRING },
3682
4131
  "insp.str": { argTypes: [STRING], result: STRING },
3683
4132
  "insp.regex": { argTypes: [REGEX], result: STRING },
4133
+ /** A Date's inspect text: toISOString(), or "Invalid Date". */
4134
+ "insp.date": { argTypes: [DATE_T], result: STRING },
3684
4135
  "insp.buffer": { argTypes: [BYTES_U8], result: STRING },
4136
+ /** A numeric typed array that is not a Buffer (any element kind). */
4137
+ "insp.typedArray": { argTypes: [null, F64, F64], result: STRING },
3685
4138
  "insp.error": { argTypes: [null, F64, F64], result: STRING },
4139
+ "insp.errorHasCause": { argTypes: [null], result: BOOL },
4140
+ "insp.errorBagHasProperties": { argTypes: [DYN], result: BOOL },
4141
+ "insp.errorCause": { argTypes: [null, F64, F64], result: STRING },
3686
4142
  "insp.dyn": { argTypes: [DYN, F64, F64], result: STRING },
3687
4143
  "insp.dynS": { argTypes: [DYN, F64], result: STRING },
3688
4144
  "insp.begin": { argTypes: [F64], result: VOID },
4145
+ /** util.inspect's breakLength, compact (0 for false) and sorted for the
4146
+ * renders that follow; the call site restores 80, 3 and false afterwards. */
4147
+ "insp.layout": { argTypes: [F64, F64, BOOL], result: VOID },
3689
4148
  "insp.entry": { argTypes: [STRING, BOOL], result: VOID },
3690
4149
  // Circular references: the receiver slot is program-dependent (any
3691
4150
  // cycle-capable record/array/map/class type — the insp.error precedent).
3692
4151
  /* Circular references over cycle-capable composites (recursive record/
3693
4152
  * class types): circCheck answers a value's circular id when it is
3694
4153
  * already on the traversal stack (0 otherwise), seenPush/refWrap
3695
- * bracket the frame (refWrap adds Node's "<ref *N> " prefix to values
4154
+ * bracket the frame (insp.end adds Node's "<ref *N> " prefix to values
3696
4155
  * the walk found circular), circular renders "[Circular *N]". */
3697
4156
  "insp.circCheck": { argTypes: [null], result: F64 },
3698
4157
  "insp.seenPush": { argTypes: [null], result: VOID },
@@ -3724,6 +4183,9 @@ export const LIB_FN_SIGS = defineLibFnSignatures({
3724
4183
  "strdec.write": { argTypes: [STRING, F64, BYTES_U8], result: STRING },
3725
4184
  "strdec.next": { argTypes: [STRING, F64, BYTES_U8], result: F64 },
3726
4185
  "strdec.end": { argTypes: [STRING, F64], result: STRING },
4186
+ /** A runtime encoding argument's canonical name (Node's normalizeEncoding:
4187
+ * nullish and "" are utf8); an unknown name throws ERR_UNKNOWN_ENCODING. */
4188
+ "strdec.encoding": { argTypes: [DYN], result: STRING },
3727
4189
  // node:readline: the interface handle is f64; the callbacks' func types
3728
4190
  // are program-dependent (the emitter picks the adapter by parameter
3729
4191
  // count), so those slots are null like child.onExit's.
@@ -3754,6 +4216,14 @@ export const LIB_FN_SIGS = defineLibFnSignatures({
3754
4216
  argTypes: [F64, STRING, DYN],
3755
4217
  result: { kind: "promise", inner: STRING },
3756
4218
  },
4219
+ /** The question forms with a checked-dynamic query (a JavaScript value
4220
+ * that need not be a string). */
4221
+ "rl.questionDyn": { argTypes: [F64, DYN, null], result: VOID },
4222
+ "rl.questionAsyncDyn": { argTypes: [F64, DYN], result: { kind: "promise", inner: STRING } },
4223
+ "rl.questionAsyncSignalDyn": {
4224
+ argTypes: [F64, DYN, DYN],
4225
+ result: { kind: "promise", inner: STRING },
4226
+ },
3757
4227
  "rl.close": { argTypes: [F64], result: VOID },
3758
4228
  "rl.pause": { argTypes: [F64], result: VOID },
3759
4229
  "rl.resume": { argTypes: [F64], result: VOID },
@@ -3761,6 +4231,7 @@ export const LIB_FN_SIGS = defineLibFnSignatures({
3761
4231
  /** prompt(preserveCursor): [handle, preserveCursor] */
3762
4232
  "rl.promptWith": { argTypes: [F64, BOOL], result: VOID },
3763
4233
  "rl.setPrompt": { argTypes: [F64, STRING], result: VOID },
4234
+ "rl.setPromptDyn": { argTypes: [F64, DYN], result: VOID },
3764
4235
  "rl.getPrompt": { argTypes: [F64], result: STRING },
3765
4236
  "rl.write": { argTypes: [F64, STRING], result: VOID },
3766
4237
  /** write(data, key): [handle, hasData, data, hasKey, hasName, name,
@@ -3793,6 +4264,14 @@ export const LIB_FN_SIGS = defineLibFnSignatures({
3793
4264
  "rl.terminal": { argTypes: [F64, F64, BOOL, DYN, BOOL], result: VOID },
3794
4265
  "rl.line": { argTypes: [F64], result: STRING },
3795
4266
  "rl.isTerminal": { argTypes: [F64], result: BOOL },
4267
+ "rl.isPromises": { argTypes: [F64], result: BOOL },
4268
+ /** createInterface's input or output as a checked-dynamic value:
4269
+ * [value, output] — the stream; refused when it is not one. */
4270
+ "rl.inputFromDyn": { argTypes: [DYN, BOOL], result: { kind: "object", className: "%Readable" } },
4271
+ "rl.outputFromDyn": {
4272
+ argTypes: [DYN, BOOL],
4273
+ result: { kind: "object", className: "%Writable" },
4274
+ },
3796
4275
  "rl.cursor": { argTypes: [F64], result: F64 },
3797
4276
  /** readline.cursorTo / moveCursor / clearLine / clearScreenDown: rl.seq
3798
4277
  * [kind (0-3), the first and second numbers, whether the second is
@@ -3828,17 +4307,33 @@ export const LIB_FN_SIGS = defineLibFnSignatures({
3828
4307
  * through the immediate queue (fires before due timers of later loop
3829
4308
  * turns, Node's check phase). Neither throws. */
3830
4309
  "tp.setTimeout": { argTypes: [F64], result: { kind: "promise", inner: VOID } },
4310
+ // scheduler.wait(delay): tp.setTimeout's promise. It throws Node's
4311
+ // ERR_INVALID_THIS once mock.timers has restored the real scheduler.wait.
4312
+ "tp.schedulerWait": { argTypes: [F64], result: { kind: "promise", inner: VOID } },
3831
4313
  "tp.setImmediate": { argTypes: [], result: { kind: "promise", inner: VOID } },
3832
4314
  /** events.once (scr_events_emitter.c): [emitter, name, boxer,
3833
4315
  * errorBoxer, listenForError] → a pending promise of any[]; the boxers
3834
4316
  * turn the event's and the 'error' tuple into that array. */
3835
4317
  "events.once": { argTypes: [null, STRING, null, null, BOOL], result: VOID },
4318
+ /** events.once(emitter, name, { signal }) (scr_events_once_signal.c):
4319
+ * events.once's arguments plus the checked-dynamic signal (an
4320
+ * AbortSignal or undefined). */
4321
+ "events.onceSignal": { argTypes: [null, STRING, null, null, BOOL, DYN], result: VOID },
3836
4322
  /** The resolve-value forms: [ms?, value, ref] → a pending promise of the
3837
4323
  * value's type that copies the borrowed already-resolved `value` promise
3838
4324
  * when the timer (or immediate) fires; ref false unrefs it. The result
3839
4325
  * type follows the value promise. */
3840
4326
  "tp.setTimeoutValue": { argTypes: [F64, null, BOOL], result: VOID },
3841
4327
  "tp.setImmediateValue": { argTypes: [null, BOOL], result: VOID },
4328
+ /** The same with options.signal (a checked-dynamic AbortSignal or
4329
+ * undefined) last: an abort clears the timer and rejects with an
4330
+ * AbortError (scr_event_target.c). */
4331
+ "tp.setTimeoutSignal": { argTypes: [F64, null, BOOL, DYN], result: VOID },
4332
+ "tp.setImmediateSignal": { argTypes: [null, BOOL, DYN], result: VOID },
4333
+ /** scheduler.wait(delay, options): tp.setTimeoutValue's and
4334
+ * tp.setTimeoutSignal's shapes, with tp.schedulerWait's throws. */
4335
+ "tp.schedulerWaitValue": { argTypes: [F64, null, BOOL], result: VOID },
4336
+ "tp.schedulerWaitSignal": { argTypes: [F64, null, BOOL, DYN], result: VOID },
3842
4337
  /** node:diagnostics_channel (scr_dc.c, linked when any dc.* appears —
3843
4338
  * the zlib gating precedent): a process-global name→channel registry;
3844
4339
  * channel values are f64 handles (type-mapper.ts maps Channel to F64, the
@@ -3934,6 +4429,7 @@ export const LIB_FN_SIGS = defineLibFnSignatures({
3934
4429
  * warnings and DeprecationWarning emissions read their truthiness. */
3935
4430
  "process.deprecationFlag": { argTypes: [F64], result: DYN },
3936
4431
  "process.setDeprecationFlag": { argTypes: [F64, DYN], result: VOID },
4432
+ "process.setEmitWarning": { argTypes: [DYN], result: VOID },
3937
4433
  /** AsyncLocalStorage (node:async_hooks — scr_async.c): stores are f64
3938
4434
  * handles; contexts are immutable fiber-carried snapshots (spawned
3939
4435
  * fibers inherit the spawner's — Node's init-time capture). run/exit
@@ -3991,6 +4487,9 @@ export const LIB_FN_SIGS = defineLibFnSignatures({
3991
4487
  "date.valueOf": { argTypes: [DATE_T], result: F64 },
3992
4488
  "date.toISOString": { argTypes: [F64], result: STRING },
3993
4489
  "date.toISOStringValue": { argTypes: [DATE_T], result: STRING },
4490
+ /** Date.prototype.toUTCString over a stored Date ("Invalid Date" for
4491
+ * NaN; never throws). */
4492
+ "date.toUTCString": { argTypes: [DATE_T], result: STRING },
3994
4493
  "date.getFullYear": { argTypes: [DATE_T], result: F64 },
3995
4494
  "date.getUTCFullYear": { argTypes: [DATE_T], result: F64 },
3996
4495
  "date.getMonth": { argTypes: [DATE_T], result: F64 },
@@ -4008,14 +4507,17 @@ export const LIB_FN_SIGS = defineLibFnSignatures({
4008
4507
  "date.getMilliseconds": { argTypes: [DATE_T], result: F64 },
4009
4508
  "date.getUTCMilliseconds": { argTypes: [DATE_T], result: F64 },
4010
4509
  "date.getTimezoneOffset": { argTypes: [DATE_T], result: F64 },
4510
+ /** Date.prototype.toString / toDateString / toTimeString and String(date):
4511
+ * V8's local-time formats with the host zone's long name, "Invalid Date"
4512
+ * for an invalid date. Owned (+1) string; never throws. */
4513
+ "date.toString": { argTypes: [DATE_T], result: STRING },
4514
+ "date.toDateString": { argTypes: [DATE_T], result: STRING },
4515
+ "date.toTimeString": { argTypes: [DATE_T], result: STRING },
4011
4516
  /** The composed `new Date(dateString).getTime()` read: one borrowed
4012
- * string, f64 milliseconds since epoch. The parsed grammar is BOUNDED
4013
- * (documented divergence — V8's parser accepts far more): the ASN.1
4014
- * validity shape X509Certificate.validFrom/validTo answer ("Jul 1
4015
- * 00:00:00 2026 GMT" — the portless cert-expiry read), and ECMA's own
4016
- * date-time string format (YYYY-MM-DD[THH:mm[:ss[.sss]]][Z|±HH:MM] —
4017
- * date-only forms are UTC, exactly the spec). Anything else is NaN,
4018
- * Node's invalid-date getTime. Never throws. */
4517
+ * string, f64 milliseconds since epoch, with V8's date-string grammar
4518
+ * (the ES5 format, then the legacy forms: RFC 1123/2822, Date#toString,
4519
+ * "Jan 2, 2024", ...). Zone-less dates are local time; anything V8
4520
+ * rejects is NaN, Node's invalid-date getTime. Never throws. */
4019
4521
  "date.parseGetTime": { argTypes: [STRING], result: F64 },
4020
4522
  /** `Date.UTC(...)` — seven f64 arguments (the frontend completes the
4021
4523
  * spec's defaults for omitted trailing parts: month 0, date 1, time
@@ -4023,6 +4525,12 @@ export const LIB_FN_SIGS = defineLibFnSignatures({
4023
4525
  * map to 1900+year, out-of-range months/dates roll over, non-finite
4024
4526
  * parts and out-of-range results answer NaN. Never throws. */
4025
4527
  "date.utc": { argTypes: [F64, F64, F64, F64, F64, F64, F64], result: F64 },
4528
+ /** `new Date(year, monthIndex[, date, hours, minutes, seconds, ms])` —
4529
+ * the same seven-f64 completion as date.utc, but the fields are LOCAL
4530
+ * time: V8's MakeDay/MakeTime, then UTC(t) in the host zone (DST gaps
4531
+ * read with the offset before the transition, overlaps answer the
4532
+ * earlier instant), then TimeClip. Never throws. */
4533
+ "date.newLocal": { argTypes: [F64, F64, F64, F64, F64, F64, F64], result: DATE_T },
4026
4534
  /** WHATWG TextDecoder.decode over u8 bytes (scr_bytes.c): utf-8 with
4027
4535
  * default options — the same maximal-subpart replacement decode as
4028
4536
  * Buffer.toString("utf8"), with the leading BOM stripped (the one
@@ -4033,6 +4541,9 @@ export const LIB_FN_SIGS = defineLibFnSignatures({
4033
4541
  * lone surrogate as U+FFFD). Borrowed arg; owned (+1) string; never throws. */
4034
4542
  "text.decode": { argTypes: [BYTES_U8], result: STRING },
4035
4543
  "bytes.bufferSource": { argTypes: [DYN], result: BYTES_U8 },
4544
+ /** The Buffer brand of a Uint8Array source onto a fresh Uint8Array
4545
+ * result (map and filter of a Buffer return a Buffer). */
4546
+ "bytes.copyBrand": { argTypes: [BYTES_U8, BYTES_U8], result: VOID },
4036
4547
  "text.decodeBufferSource": { argTypes: [DYN], result: STRING },
4037
4548
  "text.decodeOptions": { argTypes: [BYTES_U8, BOOL, BOOL], result: STRING },
4038
4549
  "text.decodeStream": { argTypes: [DYN, BYTES_U8, F64, BOOL, BOOL, BOOL], result: STRING },