@scriptc/compiler 0.3.6 → 0.4.0

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 (1218) hide show
  1. package/ambient/scriptc-node-fallback.d.ts +682 -50
  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 +13 -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 +6 -0
  14. package/dist/backend/library-pack.js.map +1 -1
  15. package/dist/backend/llvm/alloc.d.ts +41 -4
  16. package/dist/backend/llvm/alloc.js +138 -7
  17. package/dist/backend/llvm/alloc.js.map +1 -1
  18. package/dist/backend/llvm/alloc.test.js +30 -1
  19. package/dist/backend/llvm/alloc.test.js.map +1 -1
  20. package/dist/backend/llvm/appended-array-literals.test.js +1 -1
  21. package/dist/backend/llvm/array-search.test.js +1 -1
  22. package/dist/backend/llvm/blocks.d.ts +8 -0
  23. package/dist/backend/llvm/blocks.js +43 -1
  24. package/dist/backend/llvm/blocks.js.map +1 -1
  25. package/dist/backend/llvm/blocks.test.js +22 -1
  26. package/dist/backend/llvm/blocks.test.js.map +1 -1
  27. package/dist/backend/llvm/byte-numbers.js +15 -5
  28. package/dist/backend/llvm/byte-numbers.js.map +1 -1
  29. package/dist/backend/llvm/bytes-alias.d.ts +14 -0
  30. package/dist/backend/llvm/bytes-alias.js +20 -0
  31. package/dist/backend/llvm/bytes-alias.js.map +1 -0
  32. package/dist/backend/llvm/bytes-loop-versions.d.ts +86 -0
  33. package/dist/backend/llvm/bytes-loop-versions.js +506 -0
  34. package/dist/backend/llvm/bytes-loop-versions.js.map +1 -0
  35. package/dist/backend/llvm/bytes-loop-versions.test.d.ts +1 -0
  36. package/dist/backend/llvm/bytes-loop-versions.test.js +244 -0
  37. package/dist/backend/llvm/bytes-loop-versions.test.js.map +1 -0
  38. package/dist/backend/llvm/call-lifetimes.js +50 -1
  39. package/dist/backend/llvm/call-lifetimes.js.map +1 -1
  40. package/dist/backend/llvm/call-lifetimes.test.js +34 -0
  41. package/dist/backend/llvm/call-lifetimes.test.js.map +1 -1
  42. package/dist/backend/llvm/checked-narrows.test.js +1 -1
  43. package/dist/backend/llvm/checked-value-lifetimes.js +4 -1
  44. package/dist/backend/llvm/checked-value-lifetimes.js.map +1 -1
  45. package/dist/backend/llvm/classes.d.ts +11 -0
  46. package/dist/backend/llvm/classes.js +71 -14
  47. package/dist/backend/llvm/classes.js.map +1 -1
  48. package/dist/backend/llvm/classes.test.js +58 -8
  49. package/dist/backend/llvm/classes.test.js.map +1 -1
  50. package/dist/backend/llvm/common.js +1 -0
  51. package/dist/backend/llvm/common.js.map +1 -1
  52. package/dist/backend/llvm/constant-callbacks.d.ts +5 -1
  53. package/dist/backend/llvm/constant-callbacks.js +55 -12
  54. package/dist/backend/llvm/constant-callbacks.js.map +1 -1
  55. package/dist/backend/llvm/constant-callbacks.test.js +88 -1
  56. package/dist/backend/llvm/constant-callbacks.test.js.map +1 -1
  57. package/dist/backend/llvm/counted-loops.d.ts +4 -0
  58. package/dist/backend/llvm/counted-loops.js +37 -0
  59. package/dist/backend/llvm/counted-loops.js.map +1 -1
  60. package/dist/backend/llvm/dense-array-access.d.ts +12 -3
  61. package/dist/backend/llvm/dense-array-access.js +72 -14
  62. package/dist/backend/llvm/dense-array-access.js.map +1 -1
  63. package/dist/backend/llvm/dense-array-access.test.js +59 -3
  64. package/dist/backend/llvm/dense-array-access.test.js.map +1 -1
  65. package/dist/backend/llvm/dense-array-loops.d.ts +51 -0
  66. package/dist/backend/llvm/dense-array-loops.js +162 -0
  67. package/dist/backend/llvm/dense-array-loops.js.map +1 -0
  68. package/dist/backend/llvm/dense-array-loops.test.d.ts +1 -0
  69. package/dist/backend/llvm/dense-array-loops.test.js +128 -0
  70. package/dist/backend/llvm/dense-array-loops.test.js.map +1 -0
  71. package/dist/backend/llvm/dyn-handle-tags.test.d.ts +1 -0
  72. package/dist/backend/llvm/dyn-handle-tags.test.js +38 -0
  73. package/dist/backend/llvm/dyn-handle-tags.test.js.map +1 -0
  74. package/dist/backend/llvm/dyn.d.ts +28 -4
  75. package/dist/backend/llvm/dyn.js +293 -178
  76. package/dist/backend/llvm/dyn.js.map +1 -1
  77. package/dist/backend/llvm/emit-function.d.ts +64 -0
  78. package/dist/backend/llvm/emit-function.js +1190 -0
  79. package/dist/backend/llvm/emit-function.js.map +1 -0
  80. package/dist/backend/llvm/emit-module.d.ts +24 -0
  81. package/dist/backend/llvm/emit-module.js +1535 -0
  82. package/dist/backend/llvm/emit-module.js.map +1 -0
  83. package/dist/backend/llvm/emit-statements.d.ts +58 -0
  84. package/dist/backend/llvm/emit-statements.js +1964 -0
  85. package/dist/backend/llvm/emit-statements.js.map +1 -0
  86. package/dist/backend/llvm/emitter.d.ts +547 -283
  87. package/dist/backend/llvm/emitter.js +689 -4643
  88. package/dist/backend/llvm/emitter.js.map +1 -1
  89. package/dist/backend/llvm/emitter.test.js +57 -3
  90. package/dist/backend/llvm/emitter.test.js.map +1 -1
  91. package/dist/backend/llvm/expr-async.js +73 -46
  92. package/dist/backend/llvm/expr-async.js.map +1 -1
  93. package/dist/backend/llvm/expr-async.test.js +1 -1
  94. package/dist/backend/llvm/expr-bytes.d.ts +2 -0
  95. package/dist/backend/llvm/expr-bytes.js +76 -29
  96. package/dist/backend/llvm/expr-bytes.js.map +1 -1
  97. package/dist/backend/llvm/expr-callbacks.d.ts +6 -2
  98. package/dist/backend/llvm/expr-callbacks.js +48 -11
  99. package/dist/backend/llvm/expr-callbacks.js.map +1 -1
  100. package/dist/backend/llvm/expr-calls.d.ts +1 -1
  101. package/dist/backend/llvm/expr-calls.js +71 -53
  102. package/dist/backend/llvm/expr-calls.js.map +1 -1
  103. package/dist/backend/llvm/expr-calls.test.js +1 -1
  104. package/dist/backend/llvm/expr-containers.js +39 -15
  105. package/dist/backend/llvm/expr-containers.js.map +1 -1
  106. package/dist/backend/llvm/expr-control.js +16 -16
  107. package/dist/backend/llvm/expr-control.js.map +1 -1
  108. package/dist/backend/llvm/expr-dynamic.d.ts +3 -0
  109. package/dist/backend/llvm/expr-dynamic.js +67 -62
  110. package/dist/backend/llvm/expr-dynamic.js.map +1 -1
  111. package/dist/backend/llvm/expr-primitives.js +121 -25
  112. package/dist/backend/llvm/expr-primitives.js.map +1 -1
  113. package/dist/backend/llvm/expr-primitives.test.js +2 -2
  114. package/dist/backend/llvm/expr-records.d.ts +1 -1
  115. package/dist/backend/llvm/expr-records.js +32 -11
  116. package/dist/backend/llvm/expr-records.js.map +1 -1
  117. package/dist/backend/llvm/expr-stream-bridges.js +54 -12
  118. package/dist/backend/llvm/expr-stream-bridges.js.map +1 -1
  119. package/dist/backend/llvm/expr-stream-bridges.test.js +2 -2
  120. package/dist/backend/llvm/expr-stream-callbacks.js +22 -1
  121. package/dist/backend/llvm/expr-stream-callbacks.js.map +1 -1
  122. package/dist/backend/llvm/int32-abi.test.js +2 -2
  123. package/dist/backend/llvm/integer-clones.test.js +3 -3
  124. package/dist/backend/llvm/integer-remainder.d.ts +34 -13
  125. package/dist/backend/llvm/integer-remainder.js +156 -22
  126. package/dist/backend/llvm/integer-remainder.js.map +1 -1
  127. package/dist/backend/llvm/intern-tables.test.js +1 -1
  128. package/dist/backend/llvm/jsval-encoding.d.ts +21 -0
  129. package/dist/backend/llvm/jsval-encoding.js +20 -0
  130. package/dist/backend/llvm/jsval-encoding.js.map +1 -0
  131. package/dist/backend/llvm/jsval.d.ts +12 -0
  132. package/dist/backend/llvm/jsval.js +488 -0
  133. package/dist/backend/llvm/jsval.js.map +1 -0
  134. package/dist/backend/llvm/lazy-captures.d.ts +12 -2
  135. package/dist/backend/llvm/lazy-captures.js +39 -17
  136. package/dist/backend/llvm/lazy-captures.js.map +1 -1
  137. package/dist/backend/llvm/lib-abi.js +1 -1
  138. package/dist/backend/llvm/lib-abi.js.map +1 -1
  139. package/dist/backend/llvm/lib-connect.js +1 -1
  140. package/dist/backend/llvm/lib-connect.js.map +1 -1
  141. package/dist/backend/llvm/lib-datagram.js +14 -8
  142. package/dist/backend/llvm/lib-datagram.js.map +1 -1
  143. package/dist/backend/llvm/lib-dispatch.js +189 -23
  144. package/dist/backend/llvm/lib-dispatch.js.map +1 -1
  145. package/dist/backend/llvm/lib-filesystem.js +42 -13
  146. package/dist/backend/llvm/lib-filesystem.js.map +1 -1
  147. package/dist/backend/llvm/lib-http2.js +3 -3
  148. package/dist/backend/llvm/lib-http2.js.map +1 -1
  149. package/dist/backend/llvm/lib-lookup.js +2 -2
  150. package/dist/backend/llvm/lib-lookup.js.map +1 -1
  151. package/dist/backend/llvm/lib-network.js +56 -22
  152. package/dist/backend/llvm/lib-network.js.map +1 -1
  153. package/dist/backend/llvm/lib-process.js +90 -50
  154. package/dist/backend/llvm/lib-process.js.map +1 -1
  155. package/dist/backend/llvm/lib-shared.d.ts +12 -0
  156. package/dist/backend/llvm/lib-shared.js +187 -6
  157. package/dist/backend/llvm/lib-shared.js.map +1 -1
  158. package/dist/backend/llvm/lib-stream.js +46 -16
  159. package/dist/backend/llvm/lib-stream.js.map +1 -1
  160. package/dist/backend/llvm/lib-test.js +43 -7
  161. package/dist/backend/llvm/lib-test.js.map +1 -1
  162. package/dist/backend/llvm/lib-tls.js +4 -9
  163. package/dist/backend/llvm/lib-tls.js.map +1 -1
  164. package/dist/backend/llvm/local-array-reads.js +2 -2
  165. package/dist/backend/llvm/local-array-reads.test.js +1 -1
  166. package/dist/backend/llvm/local-extents.d.ts +19 -0
  167. package/dist/backend/llvm/local-extents.js +169 -0
  168. package/dist/backend/llvm/local-extents.js.map +1 -0
  169. package/dist/backend/llvm/local-extents.test.d.ts +1 -0
  170. package/dist/backend/llvm/local-extents.test.js +92 -0
  171. package/dist/backend/llvm/local-extents.test.js.map +1 -0
  172. package/dist/backend/llvm/local-union-storage.js +7 -7
  173. package/dist/backend/llvm/local-union-storage.js.map +1 -1
  174. package/dist/backend/llvm/local-union-storage.test.js +2 -2
  175. package/dist/backend/llvm/map-entry-fusion.test.js +1 -1
  176. package/dist/backend/llvm/map-number-lookup.js +2 -2
  177. package/dist/backend/llvm/map-number-lookup.test.js +2 -2
  178. package/dist/backend/llvm/map-read-lifetimes.test.js +2 -2
  179. package/dist/backend/llvm/narrow-guards.d.ts +38 -0
  180. package/dist/backend/llvm/narrow-guards.js +151 -0
  181. package/dist/backend/llvm/narrow-guards.js.map +1 -0
  182. package/dist/backend/llvm/nullable-unions.d.ts +64 -6
  183. package/dist/backend/llvm/nullable-unions.js +103 -6
  184. package/dist/backend/llvm/nullable-unions.js.map +1 -1
  185. package/dist/backend/llvm/nullable-unions.test.d.ts +1 -0
  186. package/dist/backend/llvm/nullable-unions.test.js +65 -0
  187. package/dist/backend/llvm/nullable-unions.test.js.map +1 -0
  188. package/dist/backend/llvm/publish.d.ts +4 -0
  189. package/dist/backend/llvm/publish.js +14 -2
  190. package/dist/backend/llvm/publish.js.map +1 -1
  191. package/dist/backend/llvm/publish.test.js +1 -1
  192. package/dist/backend/llvm/receivers.d.ts +31 -0
  193. package/dist/backend/llvm/receivers.js +395 -0
  194. package/dist/backend/llvm/receivers.js.map +1 -0
  195. package/dist/backend/llvm/record-results.d.ts +12 -1
  196. package/dist/backend/llvm/record-results.js +64 -4
  197. package/dist/backend/llvm/record-results.js.map +1 -1
  198. package/dist/backend/llvm/reference-effects.js +9 -0
  199. package/dist/backend/llvm/reference-effects.js.map +1 -1
  200. package/dist/backend/llvm/reference-writes.d.ts +4 -0
  201. package/dist/backend/llvm/reference-writes.js +142 -6
  202. package/dist/backend/llvm/reference-writes.js.map +1 -1
  203. package/dist/backend/llvm/reference-writes.test.d.ts +1 -0
  204. package/dist/backend/llvm/reference-writes.test.js +88 -0
  205. package/dist/backend/llvm/reference-writes.test.js.map +1 -0
  206. package/dist/backend/llvm/regex-matchers.d.ts +8 -0
  207. package/dist/backend/llvm/regex-matchers.js +33 -0
  208. package/dist/backend/llvm/regex-matchers.js.map +1 -1
  209. package/dist/backend/llvm/regex-matchers.test.js +23 -1
  210. package/dist/backend/llvm/regex-matchers.test.js.map +1 -1
  211. package/dist/backend/llvm/regions.d.ts +1 -1
  212. package/dist/backend/llvm/regions.js +9 -6
  213. package/dist/backend/llvm/regions.js.map +1 -1
  214. package/dist/backend/llvm/regions.test.js +1 -1
  215. package/dist/backend/llvm/shapes.d.ts +66 -43
  216. package/dist/backend/llvm/shapes.js +280 -21
  217. package/dist/backend/llvm/shapes.js.map +1 -1
  218. package/dist/backend/llvm/shapes.test.js +37 -3
  219. package/dist/backend/llvm/shapes.test.js.map +1 -1
  220. package/dist/backend/llvm/split-loops.js +2 -2
  221. package/dist/backend/llvm/split-loops.js.map +1 -1
  222. package/dist/backend/llvm/stack-objects.d.ts +26 -6
  223. package/dist/backend/llvm/stack-objects.js +133 -10
  224. package/dist/backend/llvm/stack-objects.js.map +1 -1
  225. package/dist/backend/llvm/stack-objects.test.js +55 -1
  226. package/dist/backend/llvm/stack-objects.test.js.map +1 -1
  227. package/dist/backend/llvm/stack-unions.test.js +1 -1
  228. package/dist/backend/llvm/string-construction.test.js +1 -1
  229. package/dist/backend/llvm/string-lifetimes.test.js +15 -14
  230. package/dist/backend/llvm/string-lifetimes.test.js.map +1 -1
  231. package/dist/backend/llvm/string-slices.d.ts +25 -0
  232. package/dist/backend/llvm/string-slices.js +207 -1
  233. package/dist/backend/llvm/string-slices.js.map +1 -1
  234. package/dist/backend/llvm/string-slices.test.js +139 -2
  235. package/dist/backend/llvm/string-slices.test.js.map +1 -1
  236. package/dist/backend/llvm/switch-dispatch.test.js +2 -2
  237. package/dist/backend/llvm/thread-slots.d.ts +5 -0
  238. package/dist/backend/llvm/thread-slots.js +142 -0
  239. package/dist/backend/llvm/thread-slots.js.map +1 -0
  240. package/dist/backend/llvm/thread-slots.test.d.ts +1 -0
  241. package/dist/backend/llvm/thread-slots.test.js +110 -0
  242. package/dist/backend/llvm/thread-slots.test.js.map +1 -0
  243. package/dist/backend/llvm/union-repr.d.ts +7 -7
  244. package/dist/backend/llvm/union-repr.js +18 -2
  245. package/dist/backend/llvm/union-repr.js.map +1 -1
  246. package/dist/backend/llvm/union-retype.test.js +17 -3
  247. package/dist/backend/llvm/union-retype.test.js.map +1 -1
  248. package/dist/backend/llvm/walkers.d.ts +2 -2
  249. package/dist/backend/llvm/walkers.js +51 -26
  250. package/dist/backend/llvm/walkers.js.map +1 -1
  251. package/dist/backend/llvm/wasm-modules.d.ts +16 -0
  252. package/dist/backend/llvm/wasm-modules.js +66 -0
  253. package/dist/backend/llvm/wasm-modules.js.map +1 -0
  254. package/dist/backend/llvm/wrapping-sums.d.ts +7 -0
  255. package/dist/backend/llvm/wrapping-sums.js +11 -3
  256. package/dist/backend/llvm/wrapping-sums.js.map +1 -1
  257. package/dist/backend/mangle.d.ts +7 -0
  258. package/dist/backend/mangle.js +11 -0
  259. package/dist/backend/mangle.js.map +1 -1
  260. package/dist/backend/may-throw.d.ts +3 -0
  261. package/dist/backend/may-throw.js +4 -2
  262. package/dist/backend/may-throw.js.map +1 -1
  263. package/dist/backend/may-throw.test.js +1 -1
  264. package/dist/backend/native/contracts.d.ts +37 -0
  265. package/dist/backend/native/executable.js +192 -137
  266. package/dist/backend/native/executable.js.map +1 -1
  267. package/dist/backend/native/library.js +1 -0
  268. package/dist/backend/native/library.js.map +1 -1
  269. package/dist/backend/native/runtime-inputs.d.ts +1 -1
  270. package/dist/backend/native/runtime-inputs.js +1 -0
  271. package/dist/backend/native/runtime-inputs.js.map +1 -1
  272. package/dist/backend/native-link-info-core.d.ts +30 -0
  273. package/dist/backend/native-link-info-core.js.map +1 -1
  274. package/dist/backend/publication.test.js +1 -1
  275. package/dist/backend/runtime-pack-core.d.ts +9 -1
  276. package/dist/backend/runtime-pack-core.js +10 -1
  277. package/dist/backend/runtime-pack-core.js.map +1 -1
  278. package/dist/backend/runtime-pack-native.js +1 -1
  279. package/dist/backend/runtime-pack-native.js.map +1 -1
  280. package/dist/backend/runtime-pack-native.test.d.ts +1 -0
  281. package/dist/backend/runtime-pack-native.test.js +31 -0
  282. package/dist/backend/runtime-pack-native.test.js.map +1 -0
  283. package/dist/backend/runtime-pack-targets.test.js +5 -0
  284. package/dist/backend/runtime-pack-targets.test.js.map +1 -1
  285. package/dist/backend/runtime-pack.test.js +5 -0
  286. package/dist/backend/runtime-pack.test.js.map +1 -1
  287. package/dist/backend/stack-observations.d.ts +22 -0
  288. package/dist/backend/stack-observations.js +382 -0
  289. package/dist/backend/stack-observations.js.map +1 -0
  290. package/dist/backend/stack-observations.test.d.ts +1 -0
  291. package/dist/backend/stack-observations.test.js +233 -0
  292. package/dist/backend/stack-observations.test.js.map +1 -0
  293. package/dist/backend/target-diagnostics.js +8 -0
  294. package/dist/backend/target-diagnostics.js.map +1 -1
  295. package/dist/backend/target-diagnostics.test.js +1 -1
  296. package/dist/backend/warm-cache.js +5 -0
  297. package/dist/backend/warm-cache.js.map +1 -1
  298. package/dist/backend/young-nursery.d.ts +7 -0
  299. package/dist/backend/young-nursery.js +10 -0
  300. package/dist/backend/young-nursery.js.map +1 -0
  301. package/dist/cli/command.js +44 -4
  302. package/dist/cli/command.js.map +1 -1
  303. package/dist/cli/usage.d.ts +11 -1
  304. package/dist/cli/usage.js +20 -1
  305. package/dist/cli/usage.js.map +1 -1
  306. package/dist/compat/fetch-profile.js +10 -1
  307. package/dist/compat/fetch-profile.js.map +1 -1
  308. package/dist/compile-types.d.ts +13 -0
  309. package/dist/contracts/check.js +24 -6
  310. package/dist/contracts/check.js.map +1 -1
  311. package/dist/contracts/int32-elements.d.ts +115 -0
  312. package/dist/contracts/int32-elements.js +1179 -0
  313. package/dist/contracts/int32-elements.js.map +1 -0
  314. package/dist/coverage/report.d.ts +16 -0
  315. package/dist/coverage/report.js +182 -1
  316. package/dist/coverage/report.js.map +1 -1
  317. package/dist/coverage/surface-manifest.js +16 -3
  318. package/dist/coverage/surface-manifest.js.map +1 -1
  319. package/dist/coverage/verdict-cache.d.ts +2 -0
  320. package/dist/coverage/verdict-cache.js +12 -0
  321. package/dist/coverage/verdict-cache.js.map +1 -1
  322. package/dist/coverage/verdict-cache.test.js +2 -1
  323. package/dist/coverage/verdict-cache.test.js.map +1 -1
  324. package/dist/diagnostics/diagnostic.d.ts +10 -6
  325. package/dist/diagnostics/diagnostic.js +29 -21
  326. package/dist/diagnostics/diagnostic.js.map +1 -1
  327. package/dist/diagnostics/envelope.d.ts +39 -2
  328. package/dist/diagnostics/envelope.js.map +1 -1
  329. package/dist/diagnostics/render.d.ts +7 -0
  330. package/dist/diagnostics/render.js +50 -13
  331. package/dist/diagnostics/render.js.map +1 -1
  332. package/dist/diagnostics/render.test.d.ts +1 -0
  333. package/dist/diagnostics/render.test.js +49 -0
  334. package/dist/diagnostics/render.test.js.map +1 -0
  335. package/dist/executable/executable-cache.d.ts +17 -0
  336. package/dist/executable/executable-cache.js +13 -1
  337. package/dist/executable/executable-cache.js.map +1 -1
  338. package/dist/executable/executable-cache.test.js +7 -1
  339. package/dist/executable/executable-cache.test.js.map +1 -1
  340. package/dist/executable/prepare.js +2 -1
  341. package/dist/executable/prepare.js.map +1 -1
  342. package/dist/frontend/analysis.js +6 -1
  343. package/dist/frontend/analysis.js.map +1 -1
  344. package/dist/frontend/builtin-modules.d.ts +16 -2
  345. package/dist/frontend/builtin-modules.js +40 -7
  346. package/dist/frontend/builtin-modules.js.map +1 -1
  347. package/dist/frontend/cjs-syntax.js +52 -51
  348. package/dist/frontend/cjs-syntax.js.map +1 -1
  349. package/dist/frontend/contract-types.d.ts +3 -0
  350. package/dist/frontend/contract-types.js +36 -7
  351. package/dist/frontend/contract-types.js.map +1 -1
  352. package/dist/frontend/experimental-import.d.ts +5 -1
  353. package/dist/frontend/experimental-import.js +26 -7
  354. package/dist/frontend/experimental-import.js.map +1 -1
  355. package/dist/frontend/fork-target.js +20 -22
  356. package/dist/frontend/fork-target.js.map +1 -1
  357. package/dist/frontend/fork-target.test.js +2 -1
  358. package/dist/frontend/fork-target.test.js.map +1 -1
  359. package/dist/frontend/function-completion.js +6 -6
  360. package/dist/frontend/function-completion.js.map +1 -1
  361. package/dist/frontend/helper-tokens.js +15 -3
  362. package/dist/frontend/helper-tokens.js.map +1 -1
  363. package/dist/frontend/helper-tokens.test.js +7 -1
  364. package/dist/frontend/helper-tokens.test.js.map +1 -1
  365. package/dist/frontend/inferred-js-diagnostics.js +14 -17
  366. package/dist/frontend/inferred-js-diagnostics.js.map +1 -1
  367. package/dist/frontend/input-tracker.d.ts +3 -0
  368. package/dist/frontend/input-tracker.js +32 -3
  369. package/dist/frontend/input-tracker.js.map +1 -1
  370. package/dist/frontend/lib-contract.js +36 -32
  371. package/dist/frontend/lib-contract.js.map +1 -1
  372. package/dist/frontend/lib-exports.js +3 -3
  373. package/dist/frontend/lib-exports.js.map +1 -1
  374. package/dist/frontend/lowering/array-values.d.ts +8 -3
  375. package/dist/frontend/lowering/array-values.js +60 -11
  376. package/dist/frontend/lowering/array-values.js.map +1 -1
  377. package/dist/frontend/lowering/assert-instances.js +4 -4
  378. package/dist/frontend/lowering/assert-instances.js.map +1 -1
  379. package/dist/frontend/lowering/assertion-identity.d.ts +12 -0
  380. package/dist/frontend/lowering/assertion-identity.js +70 -0
  381. package/dist/frontend/lowering/assertion-identity.js.map +1 -0
  382. package/dist/frontend/lowering/assertion-members.d.ts +28 -0
  383. package/dist/frontend/lowering/assertion-members.js +185 -0
  384. package/dist/frontend/lowering/assertion-members.js.map +1 -0
  385. package/dist/frontend/lowering/binding-analysis.js +27 -20
  386. package/dist/frontend/lowering/binding-analysis.js.map +1 -1
  387. package/dist/frontend/lowering/builtin-calls.js +63 -5
  388. package/dist/frontend/lowering/builtin-calls.js.map +1 -1
  389. package/dist/frontend/lowering/builtin-function-fences.d.ts +14 -0
  390. package/dist/frontend/lowering/builtin-function-fences.js +42 -0
  391. package/dist/frontend/lowering/builtin-function-fences.js.map +1 -0
  392. package/dist/frontend/lowering/builtins/arguments.js +1 -1
  393. package/dist/frontend/lowering/builtins/arguments.js.map +1 -1
  394. package/dist/frontend/lowering/builtins/async-context.js +53 -52
  395. package/dist/frontend/lowering/builtins/async-context.js.map +1 -1
  396. package/dist/frontend/lowering/builtins/atomics.js +6 -6
  397. package/dist/frontend/lowering/builtins/atomics.js.map +1 -1
  398. package/dist/frontend/lowering/builtins/blob.js +8 -6
  399. package/dist/frontend/lowering/builtins/blob.js.map +1 -1
  400. package/dist/frontend/lowering/builtins/builtin-class-dyn.d.ts +23 -0
  401. package/dist/frontend/lowering/builtins/builtin-class-dyn.js +156 -0
  402. package/dist/frontend/lowering/builtins/builtin-class-dyn.js.map +1 -0
  403. package/dist/frontend/lowering/builtins/callable-aliases.js +16 -5
  404. package/dist/frontend/lowering/builtins/callable-aliases.js.map +1 -1
  405. package/dist/frontend/lowering/builtins/child-process-async.js +7 -7
  406. package/dist/frontend/lowering/builtins/child-process-async.js.map +1 -1
  407. package/dist/frontend/lowering/builtins/child-process-methods.d.ts +6 -4
  408. package/dist/frontend/lowering/builtins/child-process-methods.js +310 -57
  409. package/dist/frontend/lowering/builtins/child-process-methods.js.map +1 -1
  410. package/dist/frontend/lowering/builtins/child-process-sync.js +16 -10
  411. package/dist/frontend/lowering/builtins/child-process-sync.js.map +1 -1
  412. package/dist/frontend/lowering/builtins/child-process.d.ts +6 -4
  413. package/dist/frontend/lowering/builtins/child-process.js +85 -61
  414. package/dist/frontend/lowering/builtins/child-process.js.map +1 -1
  415. package/dist/frontend/lowering/builtins/class-values.d.ts +60 -0
  416. package/dist/frontend/lowering/builtins/class-values.js +226 -0
  417. package/dist/frontend/lowering/builtins/class-values.js.map +1 -0
  418. package/dist/frontend/lowering/builtins/compression.d.ts +9 -0
  419. package/dist/frontend/lowering/builtins/compression.js +107 -44
  420. package/dist/frontend/lowering/builtins/compression.js.map +1 -1
  421. package/dist/frontend/lowering/builtins/constants.d.ts +9 -1
  422. package/dist/frontend/lowering/builtins/constants.js +28 -7
  423. package/dist/frontend/lowering/builtins/constants.js.map +1 -1
  424. package/dist/frontend/lowering/builtins/crypto.d.ts +19 -0
  425. package/dist/frontend/lowering/builtins/crypto.js +211 -37
  426. package/dist/frontend/lowering/builtins/crypto.js.map +1 -1
  427. package/dist/frontend/lowering/builtins/dates.d.ts +7 -1
  428. package/dist/frontend/lowering/builtins/dates.js +92 -16
  429. package/dist/frontend/lowering/builtins/dates.js.map +1 -1
  430. package/dist/frontend/lowering/builtins/disposable-stack.d.ts +18 -0
  431. package/dist/frontend/lowering/builtins/disposable-stack.js +137 -0
  432. package/dist/frontend/lowering/builtins/disposable-stack.js.map +1 -0
  433. package/dist/frontend/lowering/builtins/environment.js +3 -3
  434. package/dist/frontend/lowering/builtins/environment.js.map +1 -1
  435. package/dist/frontend/lowering/builtins/errors.d.ts +14 -10
  436. package/dist/frontend/lowering/builtins/errors.js +169 -3
  437. package/dist/frontend/lowering/builtins/errors.js.map +1 -1
  438. package/dist/frontend/lowering/builtins/filesystem-calls.js +128 -116
  439. package/dist/frontend/lowering/builtins/filesystem-calls.js.map +1 -1
  440. package/dist/frontend/lowering/builtins/filesystem.js +77 -77
  441. package/dist/frontend/lowering/builtins/filesystem.js.map +1 -1
  442. package/dist/frontend/lowering/builtins/fs-glob.js +3 -3
  443. package/dist/frontend/lowering/builtins/fs-glob.js.map +1 -1
  444. package/dist/frontend/lowering/builtins/fs-streams.js +10 -11
  445. package/dist/frontend/lowering/builtins/fs-streams.js.map +1 -1
  446. package/dist/frontend/lowering/builtins/ipc.js +45 -8
  447. package/dist/frontend/lowering/builtins/ipc.js.map +1 -1
  448. package/dist/frontend/lowering/builtins/json.js +232 -24
  449. package/dist/frontend/lowering/builtins/json.js.map +1 -1
  450. package/dist/frontend/lowering/builtins/key-object.js +4 -4
  451. package/dist/frontend/lowering/builtins/key-object.js.map +1 -1
  452. package/dist/frontend/lowering/builtins/module-bindings.d.ts +8 -0
  453. package/dist/frontend/lowering/builtins/module-bindings.js +71 -22
  454. package/dist/frontend/lowering/builtins/module-bindings.js.map +1 -1
  455. package/dist/frontend/lowering/builtins/module-calls.js +55 -44
  456. package/dist/frontend/lowering/builtins/module-calls.js.map +1 -1
  457. package/dist/frontend/lowering/builtins/module-resolution.d.ts +4 -3
  458. package/dist/frontend/lowering/builtins/module-resolution.js +24 -23
  459. package/dist/frontend/lowering/builtins/module-resolution.js.map +1 -1
  460. package/dist/frontend/lowering/builtins/navigator.d.ts +13 -0
  461. package/dist/frontend/lowering/builtins/navigator.js +40 -0
  462. package/dist/frontend/lowering/builtins/navigator.js.map +1 -0
  463. package/dist/frontend/lowering/builtins/net-address.d.ts +19 -0
  464. package/dist/frontend/lowering/builtins/net-address.js +156 -0
  465. package/dist/frontend/lowering/builtins/net-address.js.map +1 -0
  466. package/dist/frontend/lowering/builtins/numbers.js +25 -9
  467. package/dist/frontend/lowering/builtins/numbers.js.map +1 -1
  468. package/dist/frontend/lowering/builtins/operating-system.d.ts +4 -0
  469. package/dist/frontend/lowering/builtins/operating-system.js +25 -12
  470. package/dist/frontend/lowering/builtins/operating-system.js.map +1 -1
  471. package/dist/frontend/lowering/builtins/performance.d.ts +12 -0
  472. package/dist/frontend/lowering/builtins/performance.js +259 -8
  473. package/dist/frontend/lowering/builtins/performance.js.map +1 -1
  474. package/dist/frontend/lowering/builtins/process.d.ts +32 -1
  475. package/dist/frontend/lowering/builtins/process.js +461 -99
  476. package/dist/frontend/lowering/builtins/process.js.map +1 -1
  477. package/dist/frontend/lowering/builtins/promises.d.ts +5 -1
  478. package/dist/frontend/lowering/builtins/promises.js +326 -43
  479. package/dist/frontend/lowering/builtins/promises.js.map +1 -1
  480. package/dist/frontend/lowering/builtins/promisify-callback.d.ts +37 -0
  481. package/dist/frontend/lowering/builtins/promisify-callback.js +320 -0
  482. package/dist/frontend/lowering/builtins/promisify-callback.js.map +1 -0
  483. package/dist/frontend/lowering/builtins/properties.js +37 -1
  484. package/dist/frontend/lowering/builtins/properties.js.map +1 -1
  485. package/dist/frontend/lowering/builtins/querystring.js +14 -14
  486. package/dist/frontend/lowering/builtins/querystring.js.map +1 -1
  487. package/dist/frontend/lowering/builtins/readline.d.ts +12 -2
  488. package/dist/frontend/lowering/builtins/readline.js +136 -39
  489. package/dist/frontend/lowering/builtins/readline.js.map +1 -1
  490. package/dist/frontend/lowering/builtins/receiver-types.js +3 -5
  491. package/dist/frontend/lowering/builtins/receiver-types.js.map +1 -1
  492. package/dist/frontend/lowering/builtins/reflection.js +16 -14
  493. package/dist/frontend/lowering/builtins/reflection.js.map +1 -1
  494. package/dist/frontend/lowering/builtins/runtime-constructor.d.ts +26 -0
  495. package/dist/frontend/lowering/builtins/runtime-constructor.js +165 -0
  496. package/dist/frontend/lowering/builtins/runtime-constructor.js.map +1 -0
  497. package/dist/frontend/lowering/builtins/strings.js +101 -12
  498. package/dist/frontend/lowering/builtins/strings.js.map +1 -1
  499. package/dist/frontend/lowering/builtins/text-codecs.js +41 -38
  500. package/dist/frontend/lowering/builtins/text-codecs.js.map +1 -1
  501. package/dist/frontend/lowering/builtins/timers.js +75 -30
  502. package/dist/frontend/lowering/builtins/timers.js.map +1 -1
  503. package/dist/frontend/lowering/builtins/url.d.ts +3 -0
  504. package/dist/frontend/lowering/builtins/url.js +120 -17
  505. package/dist/frontend/lowering/builtins/url.js.map +1 -1
  506. package/dist/frontend/lowering/builtins/util-types.js +20 -4
  507. package/dist/frontend/lowering/builtins/util-types.js.map +1 -1
  508. package/dist/frontend/lowering/builtins/v8.d.ts +11 -0
  509. package/dist/frontend/lowering/builtins/v8.js +105 -0
  510. package/dist/frontend/lowering/builtins/v8.js.map +1 -0
  511. package/dist/frontend/lowering/builtins/webassembly.d.ts +33 -0
  512. package/dist/frontend/lowering/builtins/webassembly.js +388 -0
  513. package/dist/frontend/lowering/builtins/webassembly.js.map +1 -0
  514. package/dist/frontend/lowering/builtins/webcrypto.d.ts +20 -0
  515. package/dist/frontend/lowering/builtins/webcrypto.js +112 -0
  516. package/dist/frontend/lowering/builtins/webcrypto.js.map +1 -0
  517. package/dist/frontend/lowering/builtins/workers.d.ts +12 -0
  518. package/dist/frontend/lowering/builtins/workers.js +193 -8
  519. package/dist/frontend/lowering/builtins/workers.js.map +1 -1
  520. package/dist/frontend/lowering/call-arguments.js +69 -14
  521. package/dist/frontend/lowering/call-arguments.js.map +1 -1
  522. package/dist/frontend/lowering/call-signatures.d.ts +19 -1
  523. package/dist/frontend/lowering/call-signatures.js +254 -47
  524. package/dist/frontend/lowering/call-signatures.js.map +1 -1
  525. package/dist/frontend/lowering/checked-promise-all.d.ts +3 -0
  526. package/dist/frontend/lowering/checked-promise-all.js +1 -1
  527. package/dist/frontend/lowering/checked-promise-all.js.map +1 -1
  528. package/dist/frontend/lowering/cjs-exports-object.d.ts +53 -0
  529. package/dist/frontend/lowering/cjs-exports-object.js +528 -0
  530. package/dist/frontend/lowering/cjs-exports-object.js.map +1 -0
  531. package/dist/frontend/lowering/cjs-inline-require.d.ts +86 -0
  532. package/dist/frontend/lowering/cjs-inline-require.js +314 -0
  533. package/dist/frontend/lowering/cjs-inline-require.js.map +1 -0
  534. package/dist/frontend/lowering/cjs-tsc-interop.d.ts +28 -0
  535. package/dist/frontend/lowering/cjs-tsc-interop.js +208 -0
  536. package/dist/frontend/lowering/cjs-tsc-interop.js.map +1 -0
  537. package/dist/frontend/lowering/class-attributes.d.ts +19 -0
  538. package/dist/frontend/lowering/class-attributes.js +378 -0
  539. package/dist/frontend/lowering/class-attributes.js.map +1 -0
  540. package/dist/frontend/lowering/class-callbacks.d.ts +3 -1
  541. package/dist/frontend/lowering/class-callbacks.js +21 -10
  542. package/dist/frontend/lowering/class-callbacks.js.map +1 -1
  543. package/dist/frontend/lowering/class-construction.js +49 -4
  544. package/dist/frontend/lowering/class-construction.js.map +1 -1
  545. package/dist/frontend/lowering/class-descriptors.d.ts +2 -0
  546. package/dist/frontend/lowering/class-descriptors.js +8 -8
  547. package/dist/frontend/lowering/class-descriptors.js.map +1 -1
  548. package/dist/frontend/lowering/class-dynamic-dispatch.d.ts +64 -0
  549. package/dist/frontend/lowering/class-dynamic-dispatch.js +1115 -89
  550. package/dist/frontend/lowering/class-dynamic-dispatch.js.map +1 -1
  551. package/dist/frontend/lowering/class-instance-constructor.js +1 -1
  552. package/dist/frontend/lowering/class-instance-constructor.js.map +1 -1
  553. package/dist/frontend/lowering/class-iterables.d.ts +11 -0
  554. package/dist/frontend/lowering/class-iterables.js +31 -0
  555. package/dist/frontend/lowering/class-iterables.js.map +1 -0
  556. package/dist/frontend/lowering/class-method-mutations.js +73 -35
  557. package/dist/frontend/lowering/class-method-mutations.js.map +1 -1
  558. package/dist/frontend/lowering/class-method-values.js +56 -10
  559. package/dist/frontend/lowering/class-method-values.js.map +1 -1
  560. package/dist/frontend/lowering/class-protocol-dispatch.js +24 -22
  561. package/dist/frontend/lowering/class-protocol-dispatch.js.map +1 -1
  562. package/dist/frontend/lowering/class-protocols.js +25 -44
  563. package/dist/frontend/lowering/class-protocols.js.map +1 -1
  564. package/dist/frontend/lowering/class-prototypes.d.ts +6 -0
  565. package/dist/frontend/lowering/class-prototypes.js +80 -18
  566. package/dist/frontend/lowering/class-prototypes.js.map +1 -1
  567. package/dist/frontend/lowering/class-runtime-statics.js +1 -1
  568. package/dist/frontend/lowering/class-runtime-statics.js.map +1 -1
  569. package/dist/frontend/lowering/class-static-data.js +2 -2
  570. package/dist/frontend/lowering/class-static-data.js.map +1 -1
  571. package/dist/frontend/lowering/class-to-primitive.d.ts +25 -0
  572. package/dist/frontend/lowering/class-to-primitive.js +261 -0
  573. package/dist/frontend/lowering/class-to-primitive.js.map +1 -0
  574. package/dist/frontend/lowering/class-unions.d.ts +25 -0
  575. package/dist/frontend/lowering/class-unions.js +102 -1
  576. package/dist/frontend/lowering/class-unions.js.map +1 -1
  577. package/dist/frontend/lowering/code-generation.d.ts +14 -0
  578. package/dist/frontend/lowering/code-generation.js +127 -0
  579. package/dist/frontend/lowering/code-generation.js.map +1 -0
  580. package/dist/frontend/lowering/coercions/function-adapters.d.ts +16 -2
  581. package/dist/frontend/lowering/coercions/function-adapters.js +145 -3
  582. package/dist/frontend/lowering/coercions/function-adapters.js.map +1 -1
  583. package/dist/frontend/lowering/coercions/structural-plans.js +25 -3
  584. package/dist/frontend/lowering/coercions/structural-plans.js.map +1 -1
  585. package/dist/frontend/lowering/coercions/structural.js +35 -3
  586. package/dist/frontend/lowering/coercions/structural.js.map +1 -1
  587. package/dist/frontend/lowering/coercions/unions.d.ts +15 -0
  588. package/dist/frontend/lowering/coercions/unions.js +57 -1
  589. package/dist/frontend/lowering/coercions/unions.js.map +1 -1
  590. package/dist/frontend/lowering/collection-ingestion.js +2 -2
  591. package/dist/frontend/lowering/collection-ingestion.js.map +1 -1
  592. package/dist/frontend/lowering/collection-narrowing.js +2 -4
  593. package/dist/frontend/lowering/collection-narrowing.js.map +1 -1
  594. package/dist/frontend/lowering/construction-escapes.js +8 -8
  595. package/dist/frontend/lowering/construction-escapes.js.map +1 -1
  596. package/dist/frontend/lowering/construction-escapes.test.js +4 -4
  597. package/dist/frontend/lowering/construction-escapes.test.js.map +1 -1
  598. package/dist/frontend/lowering/constructor-returns.d.ts +61 -0
  599. package/dist/frontend/lowering/constructor-returns.js +477 -0
  600. package/dist/frontend/lowering/constructor-returns.js.map +1 -0
  601. package/dist/frontend/lowering/containers/array-callback-call.js +1 -1
  602. package/dist/frontend/lowering/containers/array-callback-call.js.map +1 -1
  603. package/dist/frontend/lowering/containers/array-callbacks.d.ts +9 -0
  604. package/dist/frontend/lowering/containers/array-callbacks.js +266 -100
  605. package/dist/frontend/lowering/containers/array-callbacks.js.map +1 -1
  606. package/dist/frontend/lowering/containers/array-concat.js +1 -1
  607. package/dist/frontend/lowering/containers/array-concat.js.map +1 -1
  608. package/dist/frontend/lowering/containers/array-construction.d.ts +0 -1
  609. package/dist/frontend/lowering/containers/array-construction.js +51 -13
  610. package/dist/frontend/lowering/containers/array-construction.js.map +1 -1
  611. package/dist/frontend/lowering/containers/array-from-async.d.ts +6 -5
  612. package/dist/frontend/lowering/containers/array-from-async.js +159 -14
  613. package/dist/frontend/lowering/containers/array-from-async.js.map +1 -1
  614. package/dist/frontend/lowering/containers/array-methods.js +89 -77
  615. package/dist/frontend/lowering/containers/array-methods.js.map +1 -1
  616. package/dist/frontend/lowering/containers/array-pipelines.js +1 -0
  617. package/dist/frontend/lowering/containers/array-pipelines.js.map +1 -1
  618. package/dist/frontend/lowering/containers/bytes.js +161 -101
  619. package/dist/frontend/lowering/containers/bytes.js.map +1 -1
  620. package/dist/frontend/lowering/containers/callback-arguments.d.ts +9 -1
  621. package/dist/frontend/lowering/containers/callback-arguments.js +55 -5
  622. package/dist/frontend/lowering/containers/callback-arguments.js.map +1 -1
  623. package/dist/frontend/lowering/containers/collection-grouping.d.ts +7 -8
  624. package/dist/frontend/lowering/containers/collection-grouping.js +217 -26
  625. package/dist/frontend/lowering/containers/collection-grouping.js.map +1 -1
  626. package/dist/frontend/lowering/containers/collection-methods.js +54 -25
  627. package/dist/frontend/lowering/containers/collection-methods.js.map +1 -1
  628. package/dist/frontend/lowering/containers/dynamic-receivers.js +1 -1
  629. package/dist/frontend/lowering/containers/dynamic-receivers.js.map +1 -1
  630. package/dist/frontend/lowering/containers/exec-result-uses.js +2 -2
  631. package/dist/frontend/lowering/containers/exec-result-uses.js.map +1 -1
  632. package/dist/frontend/lowering/containers/for-of.d.ts +6 -0
  633. package/dist/frontend/lowering/containers/for-of.js +19 -19
  634. package/dist/frontend/lowering/containers/for-of.js.map +1 -1
  635. package/dist/frontend/lowering/containers/indexed-objects.js +142 -57
  636. package/dist/frontend/lowering/containers/indexed-objects.js.map +1 -1
  637. package/dist/frontend/lowering/containers/iterator-helpers.d.ts +53 -4
  638. package/dist/frontend/lowering/containers/iterator-helpers.js +1581 -462
  639. package/dist/frontend/lowering/containers/iterator-helpers.js.map +1 -1
  640. package/dist/frontend/lowering/containers/match-row-uses.d.ts +17 -0
  641. package/dist/frontend/lowering/containers/match-row-uses.js +264 -0
  642. package/dist/frontend/lowering/containers/match-row-uses.js.map +1 -0
  643. package/dist/frontend/lowering/containers/string-and-regexp.d.ts +14 -0
  644. package/dist/frontend/lowering/containers/string-and-regexp.js +419 -30
  645. package/dist/frontend/lowering/containers/string-and-regexp.js.map +1 -1
  646. package/dist/frontend/lowering/containers/string-replacement.js +1 -1
  647. package/dist/frontend/lowering/containers/string-replacement.js.map +1 -1
  648. package/dist/frontend/lowering/cycle-initialization.d.ts +4 -0
  649. package/dist/frontend/lowering/cycle-initialization.js +39 -0
  650. package/dist/frontend/lowering/cycle-initialization.js.map +1 -1
  651. package/dist/frontend/lowering/deferred-module-initializers.js +47 -43
  652. package/dist/frontend/lowering/deferred-module-initializers.js.map +1 -1
  653. package/dist/frontend/lowering/devirtualize.d.ts +1 -1
  654. package/dist/frontend/lowering/devirtualize.js +27 -7
  655. package/dist/frontend/lowering/devirtualize.js.map +1 -1
  656. package/dist/frontend/lowering/divergences.d.ts +0 -5
  657. package/dist/frontend/lowering/divergences.js +62 -125
  658. package/dist/frontend/lowering/divergences.js.map +1 -1
  659. package/dist/frontend/lowering/dyn-streams.d.ts +25 -0
  660. package/dist/frontend/lowering/dyn-streams.js +257 -0
  661. package/dist/frontend/lowering/dyn-streams.js.map +1 -0
  662. package/dist/frontend/lowering/error-methods.js +4 -1
  663. package/dist/frontend/lowering/error-methods.js.map +1 -1
  664. package/dist/frontend/lowering/error-name-order.d.ts +19 -0
  665. package/dist/frontend/lowering/error-name-order.js +93 -0
  666. package/dist/frontend/lowering/error-name-order.js.map +1 -0
  667. package/dist/frontend/lowering/expressions/array-literals.d.ts +21 -0
  668. package/dist/frontend/lowering/expressions/array-literals.js +703 -0
  669. package/dist/frontend/lowering/expressions/array-literals.js.map +1 -0
  670. package/dist/frontend/lowering/expressions/binary.d.ts +35 -0
  671. package/dist/frontend/lowering/expressions/binary.js +2483 -0
  672. package/dist/frontend/lowering/expressions/binary.js.map +1 -0
  673. package/dist/frontend/lowering/expressions/element-access.d.ts +31 -0
  674. package/dist/frontend/lowering/expressions/element-access.js +1797 -0
  675. package/dist/frontend/lowering/expressions/element-access.js.map +1 -0
  676. package/dist/frontend/lowering/expressions/evaluation-safety.js +4 -3
  677. package/dist/frontend/lowering/expressions/evaluation-safety.js.map +1 -1
  678. package/dist/frontend/lowering/expressions/hosted-narrowing.d.ts +38 -0
  679. package/dist/frontend/lowering/expressions/hosted-narrowing.js +160 -0
  680. package/dist/frontend/lowering/expressions/hosted-narrowing.js.map +1 -0
  681. package/dist/frontend/lowering/expressions/identifiers.d.ts +4 -0
  682. package/dist/frontend/lowering/expressions/identifiers.js +830 -0
  683. package/dist/frontend/lowering/expressions/identifiers.js.map +1 -0
  684. package/dist/frontend/lowering/expressions/keyed-field-targets.d.ts +40 -0
  685. package/dist/frontend/lowering/expressions/keyed-field-targets.js +226 -0
  686. package/dist/frontend/lowering/expressions/keyed-field-targets.js.map +1 -0
  687. package/dist/frontend/lowering/expressions/narrowing.d.ts +37 -0
  688. package/dist/frontend/lowering/expressions/narrowing.js +1322 -0
  689. package/dist/frontend/lowering/expressions/narrowing.js.map +1 -0
  690. package/dist/frontend/lowering/expressions/native-proxy.js +4 -4
  691. package/dist/frontend/lowering/expressions/native-proxy.js.map +1 -1
  692. package/dist/frontend/lowering/expressions/nullish-assignment.js +45 -0
  693. package/dist/frontend/lowering/expressions/nullish-assignment.js.map +1 -1
  694. package/dist/frontend/lowering/expressions/object-literals.d.ts +10 -0
  695. package/dist/frontend/lowering/expressions/object-literals.js +253 -85
  696. package/dist/frontend/lowering/expressions/object-literals.js.map +1 -1
  697. package/dist/frontend/lowering/expressions/optional-chains.d.ts +2 -1
  698. package/dist/frontend/lowering/expressions/optional-chains.js +91 -14
  699. package/dist/frontend/lowering/expressions/optional-chains.js.map +1 -1
  700. package/dist/frontend/lowering/expressions/property-access.d.ts +110 -0
  701. package/dist/frontend/lowering/expressions/property-access.js +3544 -0
  702. package/dist/frontend/lowering/expressions/property-access.js.map +1 -0
  703. package/dist/frontend/lowering/expressions/relational.d.ts +28 -0
  704. package/dist/frontend/lowering/expressions/relational.js +1679 -0
  705. package/dist/frontend/lowering/expressions/relational.js.map +1 -0
  706. package/dist/frontend/lowering/expressions/typeof.d.ts +22 -0
  707. package/dist/frontend/lowering/expressions/typeof.js +538 -0
  708. package/dist/frontend/lowering/expressions/typeof.js.map +1 -0
  709. package/dist/frontend/lowering/expressions/union-fields.js +1 -1
  710. package/dist/frontend/lowering/expressions/union-fields.js.map +1 -1
  711. package/dist/frontend/lowering/expressions/updates.d.ts +21 -0
  712. package/dist/frontend/lowering/expressions/updates.js +780 -0
  713. package/dist/frontend/lowering/expressions/updates.js.map +1 -0
  714. package/dist/frontend/lowering/function-context.d.ts +10 -0
  715. package/dist/frontend/lowering/function-context.js +11 -1
  716. package/dist/frontend/lowering/function-context.js.map +1 -1
  717. package/dist/frontend/lowering/function-returns.js +52 -28
  718. package/dist/frontend/lowering/function-returns.js.map +1 -1
  719. package/dist/frontend/lowering/general-streams.d.ts +25 -0
  720. package/dist/frontend/lowering/general-streams.js +108 -0
  721. package/dist/frontend/lowering/general-streams.js.map +1 -0
  722. package/dist/frontend/lowering/generator-dynamic-dispatch.d.ts +7 -0
  723. package/dist/frontend/lowering/generator-dynamic-dispatch.js +172 -69
  724. package/dist/frontend/lowering/generator-dynamic-dispatch.js.map +1 -1
  725. package/dist/frontend/lowering/generic-functions.d.ts +39 -0
  726. package/dist/frontend/lowering/generic-functions.js +393 -75
  727. package/dist/frontend/lowering/generic-functions.js.map +1 -1
  728. package/dist/frontend/lowering/import-meta.js +2 -2
  729. package/dist/frontend/lowering/import-meta.js.map +1 -1
  730. package/dist/frontend/lowering/intern-tables.js +10 -9
  731. package/dist/frontend/lowering/intern-tables.js.map +1 -1
  732. package/dist/frontend/lowering/iterator-adapters.d.ts +19 -0
  733. package/dist/frontend/lowering/iterator-adapters.js +331 -3
  734. package/dist/frontend/lowering/iterator-adapters.js.map +1 -1
  735. package/dist/frontend/lowering/js-class-fields.d.ts +28 -0
  736. package/dist/frontend/lowering/js-class-fields.js +170 -0
  737. package/dist/frontend/lowering/js-class-fields.js.map +1 -0
  738. package/dist/frontend/lowering/js-dynamic-objects.d.ts +15 -0
  739. package/dist/frontend/lowering/js-dynamic-objects.js +299 -0
  740. package/dist/frontend/lowering/js-dynamic-objects.js.map +1 -0
  741. package/dist/frontend/lowering/js-dynamic-objects.test.d.ts +1 -0
  742. package/dist/frontend/lowering/js-dynamic-objects.test.js +35 -0
  743. package/dist/frontend/lowering/js-dynamic-objects.test.js.map +1 -0
  744. package/dist/frontend/lowering/json-require.d.ts +22 -0
  745. package/dist/frontend/lowering/json-require.js +131 -0
  746. package/dist/frontend/lowering/json-require.js.map +1 -0
  747. package/dist/frontend/lowering/key-order-witness.d.ts +44 -0
  748. package/dist/frontend/lowering/key-order-witness.js +641 -0
  749. package/dist/frontend/lowering/key-order-witness.js.map +1 -0
  750. package/dist/frontend/lowering/key-order-witness.test.d.ts +1 -0
  751. package/dist/frontend/lowering/key-order-witness.test.js +239 -0
  752. package/dist/frontend/lowering/key-order-witness.test.js.map +1 -0
  753. package/dist/frontend/lowering/lifetime-regions.js +7 -7
  754. package/dist/frontend/lowering/lifetime-regions.js.map +1 -1
  755. package/dist/frontend/lowering/lower-assert.js +61 -60
  756. package/dist/frontend/lowering/lower-assert.js.map +1 -1
  757. package/dist/frontend/lowering/lower-async-iteration.d.ts +10 -1
  758. package/dist/frontend/lowering/lower-async-iteration.js +34 -6
  759. package/dist/frontend/lowering/lower-async-iteration.js.map +1 -1
  760. package/dist/frontend/lowering/lower-builtin-values.d.ts +5 -0
  761. package/dist/frontend/lowering/lower-builtin-values.js +32 -3
  762. package/dist/frontend/lowering/lower-builtin-values.js.map +1 -1
  763. package/dist/frontend/lowering/lower-calls.js +1239 -442
  764. package/dist/frontend/lowering/lower-calls.js.map +1 -1
  765. package/dist/frontend/lowering/lower-classes.d.ts +50 -3
  766. package/dist/frontend/lowering/lower-classes.js +1473 -468
  767. package/dist/frontend/lowering/lower-classes.js.map +1 -1
  768. package/dist/frontend/lowering/lower-comptime.d.ts +4 -2
  769. package/dist/frontend/lowering/lower-comptime.js +111 -13
  770. package/dist/frontend/lowering/lower-comptime.js.map +1 -1
  771. package/dist/frontend/lowering/lower-console.js +13 -11
  772. package/dist/frontend/lowering/lower-console.js.map +1 -1
  773. package/dist/frontend/lowering/lower-dgram.d.ts +10 -0
  774. package/dist/frontend/lowering/lower-dgram.js +179 -8
  775. package/dist/frontend/lowering/lower-dgram.js.map +1 -1
  776. package/dist/frontend/lowering/lower-enums.js +113 -14
  777. package/dist/frontend/lowering/lower-enums.js.map +1 -1
  778. package/dist/frontend/lowering/lower-event-emitter.d.ts +16 -7
  779. package/dist/frontend/lowering/lower-event-emitter.js +258 -70
  780. package/dist/frontend/lowering/lower-event-emitter.js.map +1 -1
  781. package/dist/frontend/lowering/lower-event-target.js +2 -2
  782. package/dist/frontend/lowering/lower-event-target.js.map +1 -1
  783. package/dist/frontend/lowering/lower-expando.js +17 -13
  784. package/dist/frontend/lowering/lower-expando.js.map +1 -1
  785. package/dist/frontend/lowering/lower-exprs.d.ts +188 -186
  786. package/dist/frontend/lowering/lower-exprs.js +1481 -12489
  787. package/dist/frontend/lowering/lower-exprs.js.map +1 -1
  788. package/dist/frontend/lowering/lower-functions.js +68 -22
  789. package/dist/frontend/lowering/lower-functions.js.map +1 -1
  790. package/dist/frontend/lowering/lower-generators.d.ts +6 -0
  791. package/dist/frontend/lowering/lower-generators.js +29 -16
  792. package/dist/frontend/lowering/lower-generators.js.map +1 -1
  793. package/dist/frontend/lowering/lower-global-value.js +5 -1
  794. package/dist/frontend/lowering/lower-global-value.js.map +1 -1
  795. package/dist/frontend/lowering/lower-inspect.js +331 -96
  796. package/dist/frontend/lowering/lower-inspect.js.map +1 -1
  797. package/dist/frontend/lowering/lower-mixins.js +23 -20
  798. package/dist/frontend/lowering/lower-mixins.js.map +1 -1
  799. package/dist/frontend/lowering/lower-mock.d.ts +8 -1
  800. package/dist/frontend/lowering/lower-mock.js +185 -18
  801. package/dist/frontend/lowering/lower-mock.js.map +1 -1
  802. package/dist/frontend/lowering/lower-modules.js +267 -61
  803. package/dist/frontend/lowering/lower-modules.js.map +1 -1
  804. package/dist/frontend/lowering/lower-namespaces.d.ts +6 -0
  805. package/dist/frontend/lowering/lower-namespaces.js +45 -33
  806. package/dist/frontend/lowering/lower-namespaces.js.map +1 -1
  807. package/dist/frontend/lowering/lower-node-module.d.ts +16 -0
  808. package/dist/frontend/lowering/lower-node-module.js +147 -14
  809. package/dist/frontend/lowering/lower-node-module.js.map +1 -1
  810. package/dist/frontend/lowering/lower-server.d.ts +6 -6
  811. package/dist/frontend/lowering/lower-server.js +488 -100
  812. package/dist/frontend/lowering/lower-server.js.map +1 -1
  813. package/dist/frontend/lowering/lower-stdlib.d.ts +4 -0
  814. package/dist/frontend/lowering/lower-stdlib.js +151 -109
  815. package/dist/frontend/lowering/lower-stdlib.js.map +1 -1
  816. package/dist/frontend/lowering/lower-stmts.d.ts +28 -2
  817. package/dist/frontend/lowering/lower-stmts.js +1541 -391
  818. package/dist/frontend/lowering/lower-stmts.js.map +1 -1
  819. package/dist/frontend/lowering/lower-stream.d.ts +3 -0
  820. package/dist/frontend/lowering/lower-stream.js +398 -56
  821. package/dist/frontend/lowering/lower-stream.js.map +1 -1
  822. package/dist/frontend/lowering/lower-test.d.ts +3 -0
  823. package/dist/frontend/lowering/lower-test.js +437 -62
  824. package/dist/frontend/lowering/lower-test.js.map +1 -1
  825. package/dist/frontend/lowering/lower-timers.js +80 -32
  826. package/dist/frontend/lowering/lower-timers.js.map +1 -1
  827. package/dist/frontend/lowering/lower-url.js +1 -1
  828. package/dist/frontend/lowering/lower-url.js.map +1 -1
  829. package/dist/frontend/lowering/lowerer.d.ts +399 -26
  830. package/dist/frontend/lowering/lowerer.js +1910 -305
  831. package/dist/frontend/lowering/lowerer.js.map +1 -1
  832. package/dist/frontend/lowering/lowerer.test.js +10 -4
  833. package/dist/frontend/lowering/lowerer.test.js.map +1 -1
  834. package/dist/frontend/lowering/maybe-promise.d.ts +46 -0
  835. package/dist/frontend/lowering/maybe-promise.js +249 -0
  836. package/dist/frontend/lowering/maybe-promise.js.map +1 -0
  837. package/dist/frontend/lowering/module-member-this.d.ts +3 -0
  838. package/dist/frontend/lowering/module-member-this.js +262 -0
  839. package/dist/frontend/lowering/module-member-this.js.map +1 -0
  840. package/dist/frontend/lowering/module-namespace-elements.js +1 -1
  841. package/dist/frontend/lowering/module-namespace-elements.js.map +1 -1
  842. package/dist/frontend/lowering/nan-coded-reads.d.ts +3 -0
  843. package/dist/frontend/lowering/nan-coded-reads.js +45 -32
  844. package/dist/frontend/lowering/nan-coded-reads.js.map +1 -1
  845. package/dist/frontend/lowering/narrowing-stability.d.ts +18 -3
  846. package/dist/frontend/lowering/narrowing-stability.js +104 -32
  847. package/dist/frontend/lowering/narrowing-stability.js.map +1 -1
  848. package/dist/frontend/lowering/native-ffi.js +11 -11
  849. package/dist/frontend/lowering/native-ffi.js.map +1 -1
  850. package/dist/frontend/lowering/object-factory-new.js +6 -8
  851. package/dist/frontend/lowering/object-factory-new.js.map +1 -1
  852. package/dist/frontend/lowering/private-brands.d.ts +46 -0
  853. package/dist/frontend/lowering/private-brands.js +265 -0
  854. package/dist/frontend/lowering/private-brands.js.map +1 -0
  855. package/dist/frontend/lowering/promise-executor-adapter.d.ts +11 -0
  856. package/dist/frontend/lowering/promise-executor-adapter.js +87 -0
  857. package/dist/frontend/lowering/promise-executor-adapter.js.map +1 -0
  858. package/dist/frontend/lowering/require-initialization.d.ts +32 -0
  859. package/dist/frontend/lowering/require-initialization.js +246 -0
  860. package/dist/frontend/lowering/require-initialization.js.map +1 -0
  861. package/dist/frontend/lowering/runtime-optional-bounds.js +7 -7
  862. package/dist/frontend/lowering/runtime-optional-bounds.js.map +1 -1
  863. package/dist/frontend/lowering/runtime-optional-elements.js +12 -12
  864. package/dist/frontend/lowering/runtime-optional-elements.js.map +1 -1
  865. package/dist/frontend/lowering/runtime-optional-guards.js +10 -10
  866. package/dist/frontend/lowering/runtime-optional-guards.js.map +1 -1
  867. package/dist/frontend/lowering/runtime-optional-guards.test.js +1 -1
  868. package/dist/frontend/lowering/runtime-optional-guards.test.js.map +1 -1
  869. package/dist/frontend/lowering/runtime-optional-ownership.js +10 -9
  870. package/dist/frontend/lowering/runtime-optional-ownership.js.map +1 -1
  871. package/dist/frontend/lowering/runtime-optional-provenance.js +2 -2
  872. package/dist/frontend/lowering/runtime-optional-provenance.js.map +1 -1
  873. package/dist/frontend/lowering/runtime-optional-records.d.ts +35 -0
  874. package/dist/frontend/lowering/runtime-optional-records.js +205 -32
  875. package/dist/frontend/lowering/runtime-optional-records.js.map +1 -1
  876. package/dist/frontend/lowering/runtime-optional-records.test.js +19 -1
  877. package/dist/frontend/lowering/runtime-optional-records.test.js.map +1 -1
  878. package/dist/frontend/lowering/sanitize-class-types.test.js +2 -2
  879. package/dist/frontend/lowering/split-consumers.js +4 -4
  880. package/dist/frontend/lowering/split-consumers.js.map +1 -1
  881. package/dist/frontend/lowering/static-function-names.d.ts +28 -0
  882. package/dist/frontend/lowering/static-function-names.js +212 -0
  883. package/dist/frontend/lowering/static-function-names.js.map +1 -0
  884. package/dist/frontend/lowering/static-this.js +6 -6
  885. package/dist/frontend/lowering/static-this.js.map +1 -1
  886. package/dist/frontend/lowering/strict-mode.d.ts +5 -0
  887. package/dist/frontend/lowering/strict-mode.js +31 -0
  888. package/dist/frontend/lowering/strict-mode.js.map +1 -0
  889. package/dist/frontend/lowering/string-index-bounds.js +10 -10
  890. package/dist/frontend/lowering/string-index-bounds.js.map +1 -1
  891. package/dist/frontend/lowering/string-index.d.ts +12 -0
  892. package/dist/frontend/lowering/string-index.js +72 -1
  893. package/dist/frontend/lowering/string-index.js.map +1 -1
  894. package/dist/frontend/lowering/surfaces.d.ts +12 -3
  895. package/dist/frontend/lowering/surfaces.js +252 -41
  896. package/dist/frontend/lowering/surfaces.js.map +1 -1
  897. package/dist/frontend/lowering/symbol-fields.d.ts +7 -0
  898. package/dist/frontend/lowering/symbol-fields.js +204 -36
  899. package/dist/frontend/lowering/symbol-fields.js.map +1 -1
  900. package/dist/frontend/lowering/symbol-methods.d.ts +2 -1
  901. package/dist/frontend/lowering/symbol-methods.js +24 -6
  902. package/dist/frontend/lowering/symbol-methods.js.map +1 -1
  903. package/dist/frontend/lowering/thread-slots.d.ts +13 -0
  904. package/dist/frontend/lowering/thread-slots.js +208 -0
  905. package/dist/frontend/lowering/thread-slots.js.map +1 -0
  906. package/dist/frontend/lowering/typed-arguments.d.ts +74 -0
  907. package/dist/frontend/lowering/typed-arguments.js +472 -0
  908. package/dist/frontend/lowering/typed-arguments.js.map +1 -0
  909. package/dist/frontend/lowering/union-retag.d.ts +8 -0
  910. package/dist/frontend/lowering/union-retag.js +27 -0
  911. package/dist/frontend/lowering/union-retag.js.map +1 -1
  912. package/dist/frontend/lowering/union-retag.test.js +24 -1
  913. package/dist/frontend/lowering/union-retag.test.js.map +1 -1
  914. package/dist/frontend/lowering/var-hoisting.js +6 -6
  915. package/dist/frontend/lowering/var-hoisting.js.map +1 -1
  916. package/dist/frontend/lowering/width-lift.d.ts +4 -0
  917. package/dist/frontend/mock-shapes.js +13 -6
  918. package/dist/frontend/mock-shapes.js.map +1 -1
  919. package/dist/frontend/module-source-candidates.js +1 -1
  920. package/dist/frontend/module-source-candidates.js.map +1 -1
  921. package/dist/frontend/module-source-candidates.test.js +2 -1
  922. package/dist/frontend/module-source-candidates.test.js.map +1 -1
  923. package/dist/frontend/module-syntax.js +8 -8
  924. package/dist/frontend/module-syntax.js.map +1 -1
  925. package/dist/frontend/npm-static-bundled-chunks.d.ts +51 -0
  926. package/dist/frontend/npm-static-bundled-chunks.js +810 -0
  927. package/dist/frontend/npm-static-bundled-chunks.js.map +1 -0
  928. package/dist/frontend/npm-static-bundled-chunks.test.d.ts +1 -0
  929. package/dist/frontend/npm-static-bundled-chunks.test.js +287 -0
  930. package/dist/frontend/npm-static-bundled-chunks.test.js.map +1 -0
  931. package/dist/frontend/npm-static-bundled-cjs.js +24 -23
  932. package/dist/frontend/npm-static-bundled-cjs.js.map +1 -1
  933. package/dist/frontend/npm-static-bundled-esm.d.ts +9 -0
  934. package/dist/frontend/npm-static-bundled-esm.js +768 -0
  935. package/dist/frontend/npm-static-bundled-esm.js.map +1 -0
  936. package/dist/frontend/npm-static-bundled-esm.test.d.ts +1 -0
  937. package/dist/frontend/npm-static-bundled-esm.test.js +207 -0
  938. package/dist/frontend/npm-static-bundled-esm.test.js.map +1 -0
  939. package/dist/frontend/npm-static-cjs-exports-alias.d.ts +2 -0
  940. package/dist/frontend/npm-static-cjs-exports-alias.js +186 -0
  941. package/dist/frontend/npm-static-cjs-exports-alias.js.map +1 -0
  942. package/dist/frontend/npm-static-cjs-exports-alias.test.d.ts +1 -0
  943. package/dist/frontend/npm-static-cjs-exports-alias.test.js +73 -0
  944. package/dist/frontend/npm-static-cjs-exports-alias.test.js.map +1 -0
  945. package/dist/frontend/npm-static-cjs-exports-var.d.ts +2 -0
  946. package/dist/frontend/npm-static-cjs-exports-var.js +236 -0
  947. package/dist/frontend/npm-static-cjs-exports-var.js.map +1 -0
  948. package/dist/frontend/npm-static-declaration-syntax.js +102 -101
  949. package/dist/frontend/npm-static-declaration-syntax.js.map +1 -1
  950. package/dist/frontend/npm-static-prune.js +36 -24
  951. package/dist/frontend/npm-static-prune.js.map +1 -1
  952. package/dist/frontend/npm-static-rewrite-host.d.ts +4 -1
  953. package/dist/frontend/npm-static-rewrite-host.js +14 -3
  954. package/dist/frontend/npm-static-rewrite-host.js.map +1 -1
  955. package/dist/frontend/npm-static-rewrite-syntax.d.ts +19 -0
  956. package/dist/frontend/npm-static-rewrite-syntax.js +274 -101
  957. package/dist/frontend/npm-static-rewrite-syntax.js.map +1 -1
  958. package/dist/frontend/npm-static-subtyping.js +7 -9
  959. package/dist/frontend/npm-static-subtyping.js.map +1 -1
  960. package/dist/frontend/npm-static.d.ts +17 -1
  961. package/dist/frontend/npm-static.js +167 -16
  962. package/dist/frontend/npm-static.js.map +1 -1
  963. package/dist/frontend/npm-static.test.js +22 -1
  964. package/dist/frontend/npm-static.test.js.map +1 -1
  965. package/dist/frontend/pipeline.js +164 -26
  966. package/dist/frontend/pipeline.js.map +1 -1
  967. package/dist/frontend/pipeline.test.js +22 -1
  968. package/dist/frontend/pipeline.test.js.map +1 -1
  969. package/dist/frontend/program-analysis.d.ts +6 -1
  970. package/dist/frontend/program-analysis.js +7 -0
  971. package/dist/frontend/program-analysis.js.map +1 -1
  972. package/dist/frontend/program.d.ts +92 -2
  973. package/dist/frontend/program.js +1557 -255
  974. package/dist/frontend/program.js.map +1 -1
  975. package/dist/frontend/program.test.js +76 -6
  976. package/dist/frontend/program.test.js.map +1 -1
  977. package/dist/frontend/resolve.js +36 -2
  978. package/dist/frontend/resolve.js.map +1 -1
  979. package/dist/frontend/resolve.test.js +49 -0
  980. package/dist/frontend/resolve.test.js.map +1 -1
  981. package/dist/frontend/services.d.ts +20 -1
  982. package/dist/frontend/services.js +40 -3
  983. package/dist/frontend/services.js.map +1 -1
  984. package/dist/frontend/services.test.js +2 -1
  985. package/dist/frontend/services.test.js.map +1 -1
  986. package/dist/frontend/threads-import.js +1 -1
  987. package/dist/frontend/threads-import.js.map +1 -1
  988. package/dist/frontend/tier-analysis.d.ts +71 -0
  989. package/dist/frontend/tier-analysis.js +522 -0
  990. package/dist/frontend/tier-analysis.js.map +1 -0
  991. package/dist/frontend/ts7/api-conformance.d.ts +234 -0
  992. package/dist/frontend/ts7/api-conformance.js +7 -0
  993. package/dist/frontend/ts7/api-conformance.js.map +1 -0
  994. package/dist/frontend/ts7/ast-guards.generated.js +2 -1
  995. package/dist/frontend/ts7/ast-guards.generated.js.map +1 -1
  996. package/dist/frontend/ts7/ast-node.d.ts +47 -25
  997. package/dist/frontend/ts7/ast-node.js +64 -18
  998. package/dist/frontend/ts7/ast-node.js.map +1 -1
  999. package/dist/frontend/ts7/ast-node.test.js +36 -12
  1000. package/dist/frontend/ts7/ast-node.test.js.map +1 -1
  1001. package/dist/frontend/ts7/ast-types.d.ts +10 -3
  1002. package/dist/frontend/ts7/ast-types.generated.d.ts +39 -39
  1003. package/dist/frontend/ts7/ast.d.ts +1 -0
  1004. package/dist/frontend/ts7/ast.js +3 -2
  1005. package/dist/frontend/ts7/ast.js.map +1 -1
  1006. package/dist/frontend/ts7/checker-backend.d.ts +23 -0
  1007. package/dist/frontend/ts7/checker-backend.js +88 -0
  1008. package/dist/frontend/ts7/checker-backend.js.map +1 -0
  1009. package/dist/frontend/ts7/checker-backend.test.d.ts +1 -0
  1010. package/dist/frontend/ts7/checker-backend.test.js +63 -0
  1011. package/dist/frontend/ts7/checker-backend.test.js.map +1 -0
  1012. package/dist/frontend/ts7/checker-cache.d.ts +0 -3
  1013. package/dist/frontend/ts7/checker-cache.js +0 -6
  1014. package/dist/frontend/ts7/checker-cache.js.map +1 -1
  1015. package/dist/frontend/ts7/checker.d.ts +18 -11
  1016. package/dist/frontend/ts7/checker.js +42 -55
  1017. package/dist/frontend/ts7/checker.js.map +1 -1
  1018. package/dist/frontend/ts7/checker.test.js +10 -7
  1019. package/dist/frontend/ts7/checker.test.js.map +1 -1
  1020. package/dist/frontend/ts7/diagnostic.d.ts +19 -0
  1021. package/dist/frontend/ts7/diagnostic.js +22 -0
  1022. package/dist/frontend/ts7/diagnostic.js.map +1 -0
  1023. package/dist/frontend/ts7/node-functions.d.ts +8 -0
  1024. package/dist/frontend/ts7/node-functions.js +18 -0
  1025. package/dist/frontend/ts7/node-functions.js.map +1 -0
  1026. package/dist/frontend/ts7/program-host.d.ts +5 -1
  1027. package/dist/frontend/ts7/program-host.js +12 -0
  1028. package/dist/frontend/ts7/program-host.js.map +1 -1
  1029. package/dist/frontend/ts7/rpc-api.d.ts +5 -1
  1030. package/dist/frontend/ts7/rpc-api.js +8 -1
  1031. package/dist/frontend/ts7/rpc-api.js.map +1 -1
  1032. package/dist/frontend/ts7/semantic-checker.d.ts +13 -6
  1033. package/dist/frontend/ts7/semantic-checker.js +26 -8
  1034. package/dist/frontend/ts7/semantic-checker.js.map +1 -1
  1035. package/dist/frontend/ts7/semantic-checker.test.js +12 -9
  1036. package/dist/frontend/ts7/semantic-checker.test.js.map +1 -1
  1037. package/dist/frontend/ts7/semantic-model.d.ts +54 -24
  1038. package/dist/frontend/ts7/semantic-model.js +88 -16
  1039. package/dist/frontend/ts7/semantic-model.js.map +1 -1
  1040. package/dist/frontend/ts7/semantic-model.test.js +4 -4
  1041. package/dist/frontend/ts7/semantic-model.test.js.map +1 -1
  1042. package/dist/frontend/ts7/semantic-types.d.ts +7 -3
  1043. package/dist/frontend/ts7/semantic-types.js +1 -1
  1044. package/dist/frontend/ts7/semantic-types.js.map +1 -1
  1045. package/dist/frontend/ts7/session.d.ts +11 -11
  1046. package/dist/frontend/ts7/session.js +8 -5
  1047. package/dist/frontend/ts7/session.js.map +1 -1
  1048. package/dist/frontend/ts7/session.test.js +9 -5
  1049. package/dist/frontend/ts7/session.test.js.map +1 -1
  1050. package/dist/frontend/ts7/source-parser.d.ts +6 -2
  1051. package/dist/frontend/ts7/source-parser.js +24 -3
  1052. package/dist/frontend/ts7/source-parser.js.map +1 -1
  1053. package/dist/frontend/ts7/source-parser.test.js +38 -17
  1054. package/dist/frontend/ts7/source-parser.test.js.map +1 -1
  1055. package/dist/frontend/type-mapper.d.ts +122 -2
  1056. package/dist/frontend/type-mapper.js +2545 -719
  1057. package/dist/frontend/type-mapper.js.map +1 -1
  1058. package/dist/frontend/type-only-imports.d.ts +28 -0
  1059. package/dist/frontend/type-only-imports.js +122 -0
  1060. package/dist/frontend/type-only-imports.js.map +1 -0
  1061. package/dist/frontend/worker-target.js +8 -8
  1062. package/dist/frontend/worker-target.js.map +1 -1
  1063. package/dist/index.d.ts +3 -1
  1064. package/dist/index.js +29 -2
  1065. package/dist/index.js.map +1 -1
  1066. package/dist/ir/analysis.js +4 -2
  1067. package/dist/ir/analysis.js.map +1 -1
  1068. package/dist/ir/api.d.ts +1 -1
  1069. package/dist/ir/api.js +1 -1
  1070. package/dist/ir/api.js.map +1 -1
  1071. package/dist/ir/array-length-stability.d.ts +30 -0
  1072. package/dist/ir/array-length-stability.js +236 -0
  1073. package/dist/ir/array-length-stability.js.map +1 -0
  1074. package/dist/ir/array-length-stability.test.d.ts +1 -0
  1075. package/dist/ir/array-length-stability.test.js +113 -0
  1076. package/dist/ir/array-length-stability.test.js.map +1 -0
  1077. package/dist/ir/build.d.ts +2 -2
  1078. package/dist/ir/build.js +1 -1
  1079. package/dist/ir/build.js.map +1 -1
  1080. package/dist/ir/builtin-effects.js +103 -0
  1081. package/dist/ir/builtin-effects.js.map +1 -1
  1082. package/dist/ir/builtin-signatures.d.ts +1 -1
  1083. package/dist/ir/builtin-signatures.js +494 -25
  1084. package/dist/ir/builtin-signatures.js.map +1 -1
  1085. package/dist/ir/byte-numbers.js +3 -0
  1086. package/dist/ir/byte-numbers.js.map +1 -1
  1087. package/dist/ir/callback-specialization.d.ts +37 -0
  1088. package/dist/ir/callback-specialization.js +459 -0
  1089. package/dist/ir/callback-specialization.js.map +1 -0
  1090. package/dist/ir/callback-specialization.test.d.ts +1 -0
  1091. package/dist/ir/callback-specialization.test.js +208 -0
  1092. package/dist/ir/callback-specialization.test.js.map +1 -0
  1093. package/dist/ir/capture-values.d.ts +0 -1
  1094. package/dist/ir/capture-values.js +51 -40
  1095. package/dist/ir/capture-values.js.map +1 -1
  1096. package/dist/ir/constant-globals.test.js +1 -1
  1097. package/dist/ir/constant-tables.test.js +1 -1
  1098. package/dist/ir/field-values.test.js +1 -1
  1099. package/dist/ir/final-fields.test.js +1 -1
  1100. package/dist/ir/function-references.test.js +9 -1
  1101. package/dist/ir/function-references.test.js.map +1 -1
  1102. package/dist/ir/init-only-globals.test.js +1 -1
  1103. package/dist/ir/initializer-bindings.test.js +1 -1
  1104. package/dist/ir/int32-slots.d.ts +14 -0
  1105. package/dist/ir/int32-slots.js +97 -14
  1106. package/dist/ir/int32-slots.js.map +1 -1
  1107. package/dist/ir/int32-slots.test.js +1 -1
  1108. package/dist/ir/integer-loop-facts.d.ts +2 -0
  1109. package/dist/ir/integer-loop-facts.js +24 -3
  1110. package/dist/ir/integer-loop-facts.js.map +1 -1
  1111. package/dist/ir/integer-loops.d.ts +1 -1
  1112. package/dist/ir/integer-loops.js +39 -9
  1113. package/dist/ir/integer-loops.js.map +1 -1
  1114. package/dist/ir/integer-loops.test.js +104 -0
  1115. package/dist/ir/integer-loops.test.js.map +1 -1
  1116. package/dist/ir/integer-ranges.d.ts +3 -0
  1117. package/dist/ir/integer-ranges.js +3 -1
  1118. package/dist/ir/integer-ranges.js.map +1 -1
  1119. package/dist/ir/integer-ranges.test.js +82 -1
  1120. package/dist/ir/integer-ranges.test.js.map +1 -1
  1121. package/dist/ir/intrinsic-signatures.js +6 -0
  1122. package/dist/ir/intrinsic-signatures.js.map +1 -1
  1123. package/dist/ir/ir.d.ts +221 -58
  1124. package/dist/ir/ir.js +119 -12
  1125. package/dist/ir/ir.js.map +1 -1
  1126. package/dist/ir/ir.test.js +10 -0
  1127. package/dist/ir/ir.test.js.map +1 -1
  1128. package/dist/ir/jsval.d.ts +8 -0
  1129. package/dist/ir/jsval.js +365 -0
  1130. package/dist/ir/jsval.js.map +1 -0
  1131. package/dist/ir/jsval.test.d.ts +1 -0
  1132. package/dist/ir/jsval.test.js +239 -0
  1133. package/dist/ir/jsval.test.js.map +1 -0
  1134. package/dist/ir/runtime-features.d.ts +148 -33
  1135. package/dist/ir/runtime-features.js +629 -386
  1136. package/dist/ir/runtime-features.js.map +1 -1
  1137. package/dist/ir/scalar-records.test.js +1 -1
  1138. package/dist/ir/self-captures.d.ts +33 -0
  1139. package/dist/ir/self-captures.js +245 -0
  1140. package/dist/ir/self-captures.js.map +1 -0
  1141. package/dist/ir/self-captures.test.d.ts +1 -0
  1142. package/dist/ir/self-captures.test.js +135 -0
  1143. package/dist/ir/self-captures.test.js.map +1 -0
  1144. package/dist/ir/serialize.d.ts +1 -1
  1145. package/dist/ir/serialize.js +7 -4
  1146. package/dist/ir/serialize.js.map +1 -1
  1147. package/dist/ir/tiers.d.ts +26 -0
  1148. package/dist/ir/tiers.js +101 -0
  1149. package/dist/ir/tiers.js.map +1 -0
  1150. package/dist/ir/tiers.test.d.ts +1 -0
  1151. package/dist/ir/tiers.test.js +140 -0
  1152. package/dist/ir/tiers.test.js.map +1 -0
  1153. package/dist/ir/traverse.js +103 -94
  1154. package/dist/ir/traverse.js.map +1 -1
  1155. package/dist/ir/traverse.test.js +33 -30
  1156. package/dist/ir/traverse.test.js.map +1 -1
  1157. package/dist/ir/unshare.js +65 -3
  1158. package/dist/ir/unshare.js.map +1 -1
  1159. package/dist/ir/unshare.test.js +1 -1
  1160. package/dist/ir/validate.js +175 -68
  1161. package/dist/ir/validate.js.map +1 -1
  1162. package/dist/ir/validate.test.js +26 -9
  1163. package/dist/ir/validate.test.js.map +1 -1
  1164. package/dist/library/fence-eval.test.js +1 -1
  1165. package/dist/library/int-infer.test.js +4 -4
  1166. package/dist/library/ir-policy.js +13 -0
  1167. package/dist/library/ir-policy.js.map +1 -1
  1168. package/dist/library/library-cache.d.ts +1 -0
  1169. package/dist/library/library-cache.js.map +1 -1
  1170. package/dist/library/library-cache.test.js +5 -5
  1171. package/dist/library/library-profile.d.ts +4 -4
  1172. package/dist/library/library-profile.js +35 -7
  1173. package/dist/library/library-profile.js.map +1 -1
  1174. package/dist/library/prepare.js +13 -1
  1175. package/dist/library/prepare.js.map +1 -1
  1176. package/dist/native/cli.js +5 -0
  1177. package/dist/native/cli.js.map +1 -1
  1178. package/dist/native/compiler.js +2 -2
  1179. package/dist/native/compiler.js.map +1 -1
  1180. package/dist/native/compiler.test.js +2 -2
  1181. package/dist/native/prepare.js +7 -0
  1182. package/dist/native/prepare.js.map +1 -1
  1183. package/dist/native/sanitizer.test.js +12 -0
  1184. package/dist/native/sanitizer.test.js.map +1 -1
  1185. package/dist/native/toolchain.d.ts +2 -0
  1186. package/dist/native/toolchain.js +10 -1
  1187. package/dist/native/toolchain.js.map +1 -1
  1188. package/dist/native/toolchain.test.js +39 -1
  1189. package/dist/native/toolchain.test.js.map +1 -1
  1190. package/dist/startup-cache.d.ts +1 -0
  1191. package/dist/startup-cache.js +1 -0
  1192. package/dist/startup-cache.js.map +1 -1
  1193. package/dist/wasm/base64.d.ts +5 -0
  1194. package/dist/wasm/base64.js +62 -0
  1195. package/dist/wasm/base64.js.map +1 -0
  1196. package/dist/wasm/binary.d.ts +36 -0
  1197. package/dist/wasm/binary.js +1976 -0
  1198. package/dist/wasm/binary.js.map +1 -0
  1199. package/dist/wasm/binary.test.d.ts +1 -0
  1200. package/dist/wasm/binary.test.js +190 -0
  1201. package/dist/wasm/binary.test.js.map +1 -0
  1202. package/dist/wasm/discover.d.ts +38 -0
  1203. package/dist/wasm/discover.js +377 -0
  1204. package/dist/wasm/discover.js.map +1 -0
  1205. package/dist/wasm/discover.test.d.ts +1 -0
  1206. package/dist/wasm/discover.test.js +24 -0
  1207. package/dist/wasm/discover.test.js.map +1 -0
  1208. package/dist/wasm/module.d.ts +151 -0
  1209. package/dist/wasm/module.js +575 -0
  1210. package/dist/wasm/module.js.map +1 -0
  1211. package/dist/wasm/translate.d.ts +48 -0
  1212. package/dist/wasm/translate.js +2129 -0
  1213. package/dist/wasm/translate.js.map +1 -0
  1214. package/dist/wasm/translate.test.d.ts +1 -0
  1215. package/dist/wasm/translate.test.js +207 -0
  1216. package/dist/wasm/translate.test.js.map +1 -0
  1217. package/package.json +21 -20
  1218. package/surface-manifest.json +303 -19
@@ -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,16 @@ 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 },
131
172
  "dyn.iteratorResult": { argTypes: [DYN], result: DYN },
132
173
  "dyn.iteratorCanStep": { argTypes: [DYN, DYN], result: BOOL },
133
174
  "dyn.iteratorStep": { argTypes: [DYN], result: DYN },
134
175
  "dyn.iteratorStepDone": { argTypes: [DYN], result: BOOL },
176
+ "dyn.setGeneratorMembers": { argTypes: [DYN, DYN], result: VOID },
177
+ "dyn.iteratorHelperMethod": { argTypes: [STRING], result: DYN },
178
+ "dyn.collectionIteratorIndex": { argTypes: [DYN], result: F64 },
135
179
  "dyn.mapSeedEntries": { argTypes: [DYN], result: DYN },
136
180
  "dyn.mapSeedEntry": { argTypes: [DYN], result: DYN },
137
181
  /** The for-of-over-dyn pack accessors — the emitted index loop drives
@@ -151,12 +195,47 @@ export const LIB_FN_SIGS = defineLibFnSignatures({
151
195
  "dyn.in": { argTypes: [DYN, STRING], result: BOOL },
152
196
  "dyn.freeze": { argTypes: [DYN], result: DYN },
153
197
  "dyn.isFrozen": { argTypes: [DYN], result: BOOL },
198
+ /** Object.defineProperty on a declared class field (scr_json.c): the
199
+ * field's current value (borrowed), its FIELD_* attribute word, the
200
+ * instance's CLASS_* integrity word, the field name and the descriptor.
201
+ * Validates as Node does (TypeError "Cannot redefine property: f") and
202
+ * answers a one-property holder of the defined value and attributes (+1),
203
+ * read back with class.definedBits and class.definedValue. */
204
+ "class.defineField": { argTypes: [DYN, F64, F64, STRING, DYN], result: DYN },
205
+ "class.definedBits": { argTypes: [DYN, STRING], result: F64 },
206
+ "class.definedValue": { argTypes: [DYN, STRING], result: DYN },
207
+ /** Whether a property descriptor has a `value` member. */
208
+ "class.descriptorHasValue": { argTypes: [DYN], result: BOOL },
209
+ /** Throws Node's TypeError for a write to a read-only class field: the
210
+ * field name and the instance's class name. */
211
+ "class.throwReadOnly": { argTypes: [STRING, STRING], result: VOID },
212
+ /** Throws Node's TypeError for a class field initializer on a
213
+ * non-extensible instance: the field name. */
214
+ "class.throwNotExtensible": { argTypes: [STRING], result: VOID },
154
215
  "dyn.nativeSetNew": { argTypes: [DYN], result: DYN },
155
216
  "dyn.nativeSetIs": { argTypes: [DYN], result: BOOL },
156
217
  "dyn.nativeMapIs": { argTypes: [DYN], result: BOOL },
157
218
  "dyn.nativeUrlIs": { argTypes: [DYN], result: BOOL },
158
219
  "dyn.nativeDateIs": { argTypes: [DYN], result: BOOL },
220
+ /** A builtin constructor (`Object`, `Date`, `RegExp`, `Map`, `Set`,
221
+ * `Promise`, `WeakMap`, `WeakSet`) read as a JavaScript value: one
222
+ * interned function per name, the same one dynamic values answer for
223
+ * `.constructor`. The name is a compiler-chosen literal. */
224
+ "dyn.globalConstructor": { argTypes: [STRING], result: DYN },
225
+ /** A builtin global function (setTimeout, setInterval, setImmediate,
226
+ * the clear functions, queueMicrotask, process.nextTick) read as a
227
+ * JavaScript value: one interned function per name whose calls run the
228
+ * timer APIs (it pulls in the event loop). The name is a compiler-chosen
229
+ * literal. */
230
+ "dyn.builtinFunction": { argTypes: [STRING], result: DYN },
159
231
  "date.nativeNew": { argTypes: [DYN], result: DYN },
232
+ /** `new Date(year, monthIndex, ...)` in JavaScript: the argument array's
233
+ * first seven values pass through ToNumber in order (later ones are
234
+ * evaluated, never converted), then the local-time field constructor. */
235
+ "date.nativeNewFields": { argTypes: [DYN], result: DYN },
236
+ /** `new Date(value)` in JavaScript: a string argument parses with V8's
237
+ * full date parser; every other value constructs as date.nativeNew. */
238
+ "date.nativeNewValue": { argTypes: [DYN], result: DYN },
160
239
  "date.checkedValue": { argTypes: [DYN], result: DATE_T },
161
240
  "dyn.nativeRegexIs": { argTypes: [DYN], result: BOOL },
162
241
  /** toString() on a checked-dynamic receiver: runtime kind dispatch
@@ -164,6 +243,7 @@ export const LIB_FN_SIGS = defineLibFnSignatures({
164
243
  * numbers, booleans, arrays, objects answer JS-exactly; undefined and
165
244
  * null throw the catchable TypeError). */
166
245
  "dyn.toString": { argTypes: [DYN, DYN, STRING], result: STRING },
246
+ "dyn.valueOf": { argTypes: [DYN, STRING], result: DYN },
167
247
  /** Object.defineProperties over dyn values (args: target, descriptors —
168
248
  * both borrowed dyn; result: the target, +1 — JS's return value).
169
249
  * Value descriptors become own properties on OBJ and FUNC targets;
@@ -183,6 +263,10 @@ export const LIB_FN_SIGS = defineLibFnSignatures({
183
263
  "dyn.promiseAll": { argTypes: [DYN, DYN], result: { kind: "promise", inner: DYN } },
184
264
  "dyn.promiseAllSettled": { argTypes: [DYN, DYN], result: { kind: "promise", inner: DYN } },
185
265
  "dyn.promiseAny": { argTypes: [DYN, DYN], result: { kind: "promise", inner: DYN } },
266
+ /** PromiseResolve over one checked-dynamic value: the promise it holds,
267
+ * a promise that adopts a thenable's settlement, or a promise fulfilled
268
+ * with the value. The second argument reads `then` as above. */
269
+ "dyn.promiseResolve": { argTypes: [DYN, DYN], result: { kind: "promise", inner: DYN } },
186
270
  /** Bare `typeof v` on a dyn value AS A STRING (arg: the dyn value,
187
271
  * borrowed; result: an owned string) — the dyn kind's JS answer:
188
272
  * undefined→"undefined", null/object/array/bytes→"object" (JS's oldest
@@ -306,6 +390,20 @@ export const LIB_FN_SIGS = defineLibFnSignatures({
306
390
  "perf.entryDetail": { argTypes: [F64], result: DYN },
307
391
  "perf.entryKeep": { argTypes: [DYN], result: VOID },
308
392
  "perf.entryRef": { argTypes: [F64], result: DYN },
393
+ /** perf_hooks event-loop metrics (scr_perf_loop.c): loopStart is the
394
+ * loop's start in performance.now() ms (0 before it), idleTime the idle
395
+ * ms since. eldNew(resolution ms) creates a monitorEventLoopDelay
396
+ * histogram handle (MAY THROW Node's resolution RangeError); enable/disable answer whether the state changed;
397
+ * eldPercentile expects Node's validated range; eldStat(which) reads
398
+ * 0 min, 1 max, 2 mean, 3 stddev, 4 count, 5 exceeds. */
399
+ "perf.loopStart": { argTypes: [], result: F64 },
400
+ "perf.idleTime": { argTypes: [], result: F64 },
401
+ "perf.eldNew": { argTypes: [F64], result: F64 },
402
+ "perf.eldEnable": { argTypes: [F64], result: BOOL },
403
+ "perf.eldDisable": { argTypes: [F64], result: BOOL },
404
+ "perf.eldReset": { argTypes: [F64], result: VOID },
405
+ "perf.eldPercentile": { argTypes: [F64, F64], result: F64 },
406
+ "perf.eldStat": { argTypes: [F64, F64], result: F64 },
309
407
  /** process.memoryUsage(): memoryUsageTake samples the resident set and
310
408
  * the runtime heap once (MAY THROW Node's uv_resident_set_memory error)
311
409
  * and memoryUsageField(k) reads that sample (0 rss, 1 heapTotal, 2
@@ -500,6 +598,10 @@ export const LIB_FN_SIGS = defineLibFnSignatures({
500
598
  /** os.getPriority(pid): validateInt32 (RangeError ERR_OUT_OF_RANGE),
501
599
  * then the priority; a failure throws Node's SystemError. */
502
600
  "os.getPriority": { argTypes: [F64], result: F64 },
601
+ /** os.setPriority(pid, priority): validateInt32 for both (priority in
602
+ * -20..19, RangeError ERR_OUT_OF_RANGE), then the priority; a failure
603
+ * throws Node's SystemError. */
604
+ "os.setPriority": { argTypes: [F64, F64], result: VOID },
503
605
  /** os.cpus(): cpusTake snapshots every CPU and answers the count;
504
606
  * cpusModel(i) and cpusField(i, k) (k: 0 speed, 1 user, 2 nice, 3 sys,
505
607
  * 4 idle, 5 irq) read the snapshot. Never throw. */
@@ -509,6 +611,12 @@ export const LIB_FN_SIGS = defineLibFnSignatures({
509
611
  /** os.constants: the per-thread null-prototype constants object (dlopen,
510
612
  * errno, signals, priority, UV_UDP_REUSEADDR). Never throws. */
511
613
  "os.constants": { argTypes: [], result: DYN },
614
+ /** fs.constants: the target's cached null-prototype constants object. */
615
+ "fs.constants": { argTypes: [], result: DYN },
616
+ /** The deprecated node:constants object (scr_os.c): the os groups and
617
+ * fs.constants merged with the borrowed baked crypto.constants table,
618
+ * frozen, one per thread. */
619
+ "constants.object": { argTypes: [DYN], result: DYN },
512
620
  /** umask(2): arg < 0 reads without setting (umask has no read-only form
513
621
  * — set 0, restore); otherwise sets and answers the PREVIOUS mask.
514
622
  * Never throws. */
@@ -593,6 +701,7 @@ export const LIB_FN_SIGS = defineLibFnSignatures({
593
701
  "math.sign": { argTypes: [F64], result: F64 },
594
702
  "math.exp": { argTypes: [F64], result: F64 },
595
703
  "math.expm1": { argTypes: [F64], result: F64 },
704
+ "math.f16round": { argTypes: [F64], result: F64 },
596
705
  "math.fround": { argTypes: [F64], result: F64 },
597
706
  "math.sqrt": { argTypes: [F64], result: F64 },
598
707
  "math.log": { argTypes: [F64], result: F64 },
@@ -630,6 +739,13 @@ export const LIB_FN_SIGS = defineLibFnSignatures({
630
739
  /** `a.localeCompare(b)`: -1/0/1 in Node's root-locale collation for
631
740
  * Latin-script text (scr_str_locale_compare). Never throws. */
632
741
  "str.localeCompare": { argTypes: [STRING, STRING], result: F64 },
742
+ /** Annex B substr(start, length) with start ToNumber'd and length's
743
+ * presence; never throws. */
744
+ "str.substr": { argTypes: [STRING, F64, F64, BOOL], result: STRING },
745
+ /** toLocaleLowerCase/toLocaleUpperCase (scr_regex.c): the locales value
746
+ * as written, upper=true for toLocaleUpperCase. Throws for null and for
747
+ * locale forms with no native rules. */
748
+ "str.localeCase": { argTypes: [STRING, DYN, BOOL], result: STRING },
633
749
  "str.replaceLiteral": { argTypes: [STRING, STRING, STRING, BOOL], result: STRING },
634
750
  // (subject, characters, NUL-separated replacement texts): the fused
635
751
  // chain of global one-character replacements.
@@ -694,7 +810,15 @@ export const LIB_FN_SIGS = defineLibFnSignatures({
694
810
  "num.toExponential": { argTypes: [F64], result: STRING },
695
811
  "num.toFixed0": { argTypes: [F64], result: STRING },
696
812
  "num.toFixed": { argTypes: [F64, F64], result: STRING },
813
+ /** toPrecision(precision) with the argument ToNumber'd and its presence
814
+ * (undefined answers ToString); toExponential with a DEFINED
815
+ * fractionDigits. Both throw V8's RangeError for out-of-range digits. */
816
+ "num.toPrecision": { argTypes: [F64, F64, BOOL], result: STRING },
817
+ "num.toExponentialDigits": { argTypes: [F64, F64], result: STRING },
697
818
  "num.toStringRadix": { argTypes: [F64, DYN], result: STRING },
819
+ /** toString(radix) with a number radix (scr_lib.c): truncates it as
820
+ * ToIntegerOrInfinity does, THROWS RangeError outside 2..36. */
821
+ "num.toStringRadixF64": { argTypes: [F64, F64], result: STRING },
698
822
  /** Object.is over two numbers — the spec's SameValue on doubles: NaN
699
823
  * equals NaN, +0 differs from -0, everything else is `===`. Plain bool
700
824
  * result; never throws. (Union-armed operands take unionEq's sameValue
@@ -805,6 +929,19 @@ export const LIB_FN_SIGS = defineLibFnSignatures({
805
929
  "url.legacyResolve": { argTypes: [DYN, DYN, BOOL], result: STRING },
806
930
  "url.domainToASCII": { argTypes: [DYN, BOOL], result: STRING },
807
931
  "url.domainToUnicode": { argTypes: [DYN, BOOL], result: STRING },
932
+ /** node:punycode (scr_url.c): punycode.js 2.1.0's string conversions;
933
+ * decode/toUnicode (and, past 32-bit deltas, encode/toASCII) throw the
934
+ * module's RangeErrors, ucs2Encode String.fromCodePoint's. warn marks the
935
+ * module's first load (scr_async_dyn.c) and reports DEP0040 then unless
936
+ * the second argument is false: at once for a static ES import, on the
937
+ * next tick for a require() call. */
938
+ "punycode.decode": { argTypes: [STRING], result: STRING },
939
+ "punycode.encode": { argTypes: [STRING], result: STRING },
940
+ "punycode.toASCII": { argTypes: [STRING], result: STRING },
941
+ "punycode.toUnicode": { argTypes: [STRING], result: STRING },
942
+ "punycode.ucs2Decode": { argTypes: [STRING], result: arrayOf(F64) },
943
+ "punycode.ucs2Encode": { argTypes: [arrayOf(F64)], result: STRING },
944
+ "punycode.warn": { argTypes: [BOOL, BOOL], result: VOID },
808
945
  "url.fileURLToPathBuffer": { argTypes: [DYN, DYN], result: BYTES_U8 },
809
946
  "url.pathToFileURLChecked": { argTypes: [DYN, DYN], result: URL_T },
810
947
  "url.fileURLToPathStr": { argTypes: [STRING], result: STRING },
@@ -1058,10 +1195,33 @@ export const LIB_FN_SIGS = defineLibFnSignatures({
1058
1195
  "worker.root": { argTypes: [], result: F64 },
1059
1196
  "worker.data": { argTypes: [], result: DYN },
1060
1197
  "worker.parentPort": { argTypes: [], result: DYN },
1198
+ /** worker_threads.resourceLimits: {} in the main thread; a refusal in a
1199
+ * worker (scr_worker_events.c). */
1200
+ "worker.resourceLimits": { argTypes: [], result: DYN },
1201
+ /** worker_threads.threadName: the Worker's name in a worker, "" in the
1202
+ * main thread (scr_worker.c). */
1203
+ "worker.threadName": { argTypes: [], result: DYN },
1061
1204
  /** new MessageChannel() ({ port1, port2 }) and receiveMessageOnPort(port)
1062
1205
  * (scr_worker_events.c; the latter may throw). */
1063
1206
  "worker.channel": { argTypes: [], result: DYN },
1064
1207
  "worker.receiveMessageOnPort": { argTypes: [DYN], result: DYN },
1208
+ /** setEnvironmentData(key, value) and getEnvironmentData(key)
1209
+ * (scr_worker_events.c; arguments borrowed). */
1210
+ "worker.setEnvironmentData": { argTypes: [DYN, DYN], result: VOID },
1211
+ "worker.getEnvironmentData": { argTypes: [DYN], result: DYN },
1212
+ /** markAsUntransferable(value) and isMarkedAsUntransferable(value)
1213
+ * (scr_worker_events.c; the value borrowed). */
1214
+ "worker.markUntransferable": { argTypes: [DYN], result: VOID },
1215
+ "worker.isMarkedUntransferable": { argTypes: [DYN], result: BOOL },
1216
+ /** markAsUncloneable(value) (scr_json.c; the value borrowed). */
1217
+ "dyn.markUncloneable": { argTypes: [DYN], result: VOID },
1218
+ /** before new Worker() with the stdout or stderr option: links the stream
1219
+ * unit that worker.stdout and worker.stderr read through (scr_stream.c). */
1220
+ "stream.workerStdio": { argTypes: [], result: VOID },
1221
+ /** new BroadcastChannel(...args) (scr_worker_events.c; may throw), after
1222
+ * event.broadcastInstall, which installs its EventTarget side. */
1223
+ "worker.broadcastChannel": { argTypes: [DYN], result: DYN },
1224
+ "event.broadcastInstall": { argTypes: [], result: VOID },
1065
1225
  /** child_process.spawnSync (scr_child.c): posix_spawn + waitpid + piped
1066
1226
  * utf8 capture — cmd borrowed, args one borrowed string[] (the frontend
1067
1227
  * completes an omitted list to an empty literal), result an owned (+1)
@@ -1122,6 +1282,13 @@ export const LIB_FN_SIGS = defineLibFnSignatures({
1122
1282
  "net.createServer": { argTypes: [], result: NETSERVER_T },
1123
1283
  "net.createServerCb": { argTypes: [null], result: NETSERVER_T },
1124
1284
  "net.listen": { argTypes: [NETSERVER_T, F64], result: VOID },
1285
+ /** listen(path[, cb]): a Unix-socket server; the socket file is removed
1286
+ * when the server closes. Failures are the async 'error'. */
1287
+ "net.listenPath": { argTypes: [NETSERVER_T, STRING], result: VOID },
1288
+ "net.listenPathCb": {
1289
+ argTypes: [NETSERVER_T, STRING, { kind: "func", params: [], ret: VOID }],
1290
+ result: VOID,
1291
+ },
1125
1292
  "net.listenCb": {
1126
1293
  argTypes: [NETSERVER_T, F64, { kind: "func", params: [], ret: VOID }],
1127
1294
  result: VOID,
@@ -1164,6 +1331,15 @@ export const LIB_FN_SIGS = defineLibFnSignatures({
1164
1331
  * answers null (the serverPort stance). */
1165
1332
  "net.serverAddress": { argTypes: [NETSERVER_T], result: VOID },
1166
1333
  "net.serverClose": { argTypes: [NETSERVER_T], result: VOID },
1334
+ /** server.close((err) => ...): the callback (a dyn function) gets
1335
+ * undefined once the server closes, or Node's ERR_SERVER_NOT_RUNNING
1336
+ * when it was not listening. */
1337
+ "net.serverCloseDyn": { argTypes: [NETSERVER_T, DYN], result: VOID },
1338
+ /** server.address() in programs that may listen on a Unix socket: the
1339
+ * path a listening server answers ("" for a TCP server), and the check
1340
+ * a record-typed address() makes first (throws for a Unix server). */
1341
+ "net.serverUnixPath": { argTypes: [NETSERVER_T], result: STRING },
1342
+ "net.serverAddressCheck": { argTypes: [NETSERVER_T], result: VOID },
1167
1343
  "net.serverCloseCb": {
1168
1344
  argTypes: [NETSERVER_T, { kind: "func", params: [], ret: VOID }],
1169
1345
  result: VOID,
@@ -1327,6 +1503,13 @@ export const LIB_FN_SIGS = defineLibFnSignatures({
1327
1503
  * callback) and lookupService(address, port, callback). */
1328
1504
  "dns.lookupDyn": { argTypes: [DYN, DYN, DYN, BOOL], result: VOID },
1329
1505
  "dns.lookupService": { argTypes: [DYN, DYN, DYN, BOOL], result: VOID },
1506
+ /** node:dns/promises: lookup(hostname, options) and lookupService(address,
1507
+ * port) over the callback forms; the promise fulfills with the dyn
1508
+ * { address, family } (array for all: true) / { hostname, service }.
1509
+ * Argument errors throw synchronously (may-throw), unlike the
1510
+ * util.promisify forms below. */
1511
+ "dns.promisesLookup": { argTypes: [DYN, DYN], result: { kind: "promise", inner: DYN } },
1512
+ "dns.promisesLookupService": { argTypes: [DYN, DYN], result: { kind: "promise", inner: DYN } },
1330
1513
  "dns.getServers": { argTypes: [], result: DYN },
1331
1514
  "dns.getDefaultResultOrder": { argTypes: [], result: STRING },
1332
1515
  "dns.setDefaultResultOrder": { argTypes: [DYN], result: VOID },
@@ -1357,11 +1540,10 @@ export const LIB_FN_SIGS = defineLibFnSignatures({
1357
1540
  argTypes: [STRING, F64, STRING, F64, STRING, F64, F64, F64],
1358
1541
  result: VOID,
1359
1542
  },
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 },
1543
+ // The suite body takes no parameters or its SuiteContext (flag 2).
1544
+ "test.suite": { argTypes: [STRING, F64, STRING, null, STRING, F64, F64], result: VOID },
1545
+ // The trailing string is the hook call's "file:line:col".
1546
+ "test.hook": { argTypes: [F64, null, F64, STRING], result: VOID },
1365
1547
  "test.sub": {
1366
1548
  argTypes: [TESTCTX_T, STRING, F64, STRING, null, F64, STRING, F64, F64, F64],
1367
1549
  result: { kind: "promise", inner: VOID },
@@ -1375,6 +1557,14 @@ export const LIB_FN_SIGS = defineLibFnSignatures({
1375
1557
  "test.ctxDiagnostic": { argTypes: [TESTCTX_T, STRING], result: VOID },
1376
1558
  "test.ctxName": { argTypes: [TESTCTX_T], result: STRING },
1377
1559
  "test.ctxFullName": { argTypes: [TESTCTX_T], result: STRING },
1560
+ // t.passed, and t.workerId's Number(NODE_TEST_WORKER_ID) with 0 for
1561
+ // undefined.
1562
+ "test.ctxPassed": { argTypes: [TESTCTX_T], result: BOOL },
1563
+ "test.workerId": { argTypes: [], result: F64 },
1564
+ // getTestContext(): whether a test, suite or hook is running in the
1565
+ // current async context, and that context.
1566
+ "test.hasContext": { argTypes: [], result: BOOL },
1567
+ "test.context": { argTypes: [], result: TESTCTX_T },
1378
1568
  // t.before/t.after/t.beforeEach/t.afterEach (which: 0 before, 1 after,
1379
1569
  // 2 beforeEach, 3 afterEach); a throwing t.before is captured on the test.
1380
1570
  "test.ctxHook": { argTypes: [TESTCTX_T, F64, null, F64], result: VOID },
@@ -1392,6 +1582,32 @@ export const LIB_FN_SIGS = defineLibFnSignatures({
1392
1582
  },
1393
1583
  "test.ctxMockRestoreAll": { argTypes: [TESTCTX_T], result: VOID },
1394
1584
  "test.ctxMockReset": { argTypes: [TESTCTX_T], result: VOID },
1585
+ // mock.timers on the module's `mock` and on t.mock. enable takes one
1586
+ // code per listed API ('T' setTimeout, 'I' setInterval), the `now`
1587
+ // value and its flags (1 given, 2 from a Date). enable, tick, runAll and
1588
+ // setTime throw Node's errors; tick and runAll run timer callbacks.
1589
+ // t.assert.snapshot and fileSnapshot: the escaped, wrapped serialized
1590
+ // value, and the stored value it is compared with (snapshot: the test,
1591
+ // the value, the snapshot file; fileSnapshot: the value, the path).
1592
+ // Both read or, in update mode, record; missing and unreadable
1593
+ // snapshots throw Node's ERR_INVALID_STATE.
1594
+ "test.snapshotValue": { argTypes: [STRING], result: STRING },
1595
+ "test.ctxSnapshot": { argTypes: [TESTCTX_T, STRING, STRING], result: STRING },
1596
+ "test.fileSnapshot": { argTypes: [STRING, STRING], result: STRING },
1597
+ // Node's serializeValue over a dyn array of serializers (undefined for
1598
+ // the default JSON.stringify(value, null, 2)); a throw becomes Node's
1599
+ // "The provided serializers did not generate a string." ERR_INVALID_STATE.
1600
+ "test.snapshotSerialize": { argTypes: [DYN, DYN], result: DYN },
1601
+ "test.mockTimersEnable": { argTypes: [STRING, F64, F64], result: VOID },
1602
+ "test.mockTimersTick": { argTypes: [F64], result: VOID },
1603
+ "test.mockTimersRunAll": { argTypes: [], result: VOID },
1604
+ "test.mockTimersReset": { argTypes: [], result: VOID },
1605
+ "test.mockTimersSetTime": { argTypes: [F64], result: VOID },
1606
+ "test.ctxMockTimersEnable": { argTypes: [TESTCTX_T, STRING, F64, F64], result: VOID },
1607
+ "test.ctxMockTimersTick": { argTypes: [TESTCTX_T, F64], result: VOID },
1608
+ "test.ctxMockTimersRunAll": { argTypes: [TESTCTX_T], result: VOID },
1609
+ "test.ctxMockTimersReset": { argTypes: [TESTCTX_T], result: VOID },
1610
+ "test.ctxMockTimersSetTime": { argTypes: [TESTCTX_T, F64], result: VOID },
1395
1611
  // node:http (scr_http.c over scr_net.c). The handler and the data
1396
1612
  // listeners are program-dependent closures (null slots, checked in the
1397
1613
  // libCall case); reqHeader's result is the interned string|undefined
@@ -1669,15 +1885,21 @@ export const LIB_FN_SIGS = defineLibFnSignatures({
1669
1885
  * socket POOLING is not modeled (one dial per request); maxSockets
1670
1886
  * accounting is real: over-limit requests defer their dial and queue.
1671
1887
  * MAY THROW. */
1672
- "http.agentNew": { argTypes: [BOOL, BOOL, F64, F64, F64, F64, F64], result: DYN },
1888
+ "http.agentNew": { argTypes: [BOOL, BOOL, F64, F64, F64, F64, F64, DYN], result: DYN },
1889
+ /** http.globalAgent / https.globalAgent (true): Node's keepAlive global
1890
+ * agent, the one requests without an agent option use. */
1891
+ "http.globalAgent": { argTypes: [BOOL], result: DYN },
1673
1892
  /** http.request's `signal` option over the fresh request: an aborted
1674
1893
  * signal destroys it with Node's AbortError now, a later abort event
1675
1894
  * does the same. A falsy value is ignored; a non-signal throws
1676
1895
  * ERR_INVALID_ARG_TYPE. */
1677
1896
  "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 },
1897
+ /** options.signal checked before the request is built (ERR_INVALID_ARG_TYPE). */
1898
+ "http.clientSignalCheck": { argTypes: [DYN], result: VOID },
1899
+ /** https.request's servername option, stored for the construction call
1900
+ * that follows: the TLS name sent and verified, and part of the pooled
1901
+ * socket key. The "https." prefix keeps the TLS unit linked. */
1902
+ "https.nextServername": { argTypes: [STRING], result: VOID },
1681
1903
  /** The maxHeaderSize option of createServer / http.request: Node's
1682
1904
  * validateInteger (ERR_OUT_OF_RANGE) then the header size bound.
1683
1905
  * MAY THROW. */
@@ -1707,6 +1929,17 @@ export const LIB_FN_SIGS = defineLibFnSignatures({
1707
1929
  * non-http scheme. */
1708
1930
  "http.requestUrl": { argTypes: [STRING, STRING, BOOL], result: HTTPCLIENTREQ_T },
1709
1931
  "http.requestUrlCb": { argTypes: [STRING, STRING, BOOL, null], result: HTTPCLIENTREQ_T },
1932
+ /** request/get with a runtime options record: a RequestOptions
1933
+ * variable, or a literal that spreads one or sets socketPath. Args
1934
+ * (options, autoEnd[, cb]). The runtime reads the record in the
1935
+ * ClientRequest constructor's order (host/port or socketPath, path,
1936
+ * method, headers, timeout, agent, signal, maxHeaderSize) with Node's
1937
+ * errors, and documented options it does not implement throw the
1938
+ * runtime fence. The "https." pair adds the TLS options. MAY THROW. */
1939
+ "http.requestDyn": { argTypes: [DYN, BOOL], result: HTTPCLIENTREQ_T },
1940
+ "http.requestDynCb": { argTypes: [DYN, BOOL, null], result: HTTPCLIENTREQ_T },
1941
+ "https.requestDyn": { argTypes: [DYN, BOOL], result: HTTPCLIENTREQ_T },
1942
+ "https.requestDynCb": { argTypes: [DYN, BOOL, null], result: HTTPCLIENTREQ_T },
1710
1943
  /** The paused-mode demux surface (portless's first-byte TLS peek:
1711
1944
  * once('readable') + read(1) + unshift + emit('connection')).
1712
1945
  * sockOnReadable registers a zero-param listener (a consumer: arrived
@@ -1752,6 +1985,10 @@ export const LIB_FN_SIGS = defineLibFnSignatures({
1752
1985
  /** Listeners with a parameter, as dyn functions: close(hadError),
1753
1986
  * write's cb(err) and end's cb. */
1754
1987
  "net.sockOnCloseDyn": { argTypes: [NETSOCKET_T, DYN, BOOL], result: VOID },
1988
+ /** socket.on/once('lookup', listener): the listener (a dyn function)
1989
+ * gets (err, address, family, host) once per resolved address, or once
1990
+ * with the lookup error, before the connect. */
1991
+ "net.sockOnLookup": { argTypes: [NETSOCKET_T, DYN, BOOL], result: VOID },
1755
1992
  "net.sockOnWriteFlush": {
1756
1993
  argTypes: [NETSOCKET_T, { kind: "func", params: [], ret: VOID }],
1757
1994
  result: VOID,
@@ -1769,6 +2006,14 @@ export const LIB_FN_SIGS = defineLibFnSignatures({
1769
2006
  "net.serverMaxConnectionsSet": { argTypes: [NETSERVER_T, DYN], result: VOID },
1770
2007
  "net.serverDropMaxConnectionGet": { argTypes: [NETSERVER_T], result: DYN },
1771
2008
  "net.serverDropMaxConnectionSet": { argTypes: [NETSERVER_T, DYN], result: VOID },
2009
+ /** net.SocketAddress and net.BlockList (scr_net.c): the constructors
2010
+ * take the argument array; the handles are dyn values. */
2011
+ "net.socketAddressNew": { argTypes: [DYN], result: DYN },
2012
+ "net.socketAddressParse": { argTypes: [DYN], result: DYN },
2013
+ "net.isSocketAddress": { argTypes: [DYN], result: BOOL },
2014
+ "net.blockListNew": { argTypes: [DYN], result: DYN },
2015
+ "net.isBlockList": { argTypes: [DYN], result: BOOL },
2016
+ "net.blockListPrivateRanges": { argTypes: [], result: DYN },
1772
2017
  "net.serverOnDrop": { argTypes: [NETSERVER_T, DYN, BOOL], result: VOID },
1773
2018
  "net.serverGetConnections": { argTypes: [NETSERVER_T, DYN], result: VOID },
1774
2019
  "net.sockReadable": { argTypes: [NETSOCKET_T], result: BOOL },
@@ -2143,11 +2388,13 @@ export const LIB_FN_SIGS = defineLibFnSignatures({
2143
2388
  result: VOID,
2144
2389
  },
2145
2390
  /** 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>"
2391
+ * cwd, hasEnv, envPairs, timeoutMs, stdoutMode, stderrMode, buffers —
2392
+ * see scr_child.h). Throws Node's exact errors: "Command failed: <cmd>"
2148
2393
  * (+ captured stderr) on non-zero exit or signal death, "spawnSync
2149
2394
  * <file> ENOENT" on spawn failure, "spawnSync <file> ETIMEDOUT" after
2150
- * the SIGTERM timeout. Result is the captured utf8 stdout (+1). */
2395
+ * the SIGTERM timeout, with Node's status, signal, output, pid, stdout
2396
+ * and stderr properties (Buffer outputs when buffers is set: no
2397
+ * encoding option). Result is the captured utf8 stdout (+1). */
2151
2398
  "cp.execSync": {
2152
2399
  argTypes: [
2153
2400
  STRING,
@@ -2161,6 +2408,7 @@ export const LIB_FN_SIGS = defineLibFnSignatures({
2161
2408
  F64,
2162
2409
  F64,
2163
2410
  F64,
2411
+ BOOL,
2164
2412
  ],
2165
2413
  result: STRING,
2166
2414
  },
@@ -2222,6 +2470,9 @@ export const LIB_FN_SIGS = defineLibFnSignatures({
2222
2470
  /** Rest listeners use the checked function bridge to pack event arguments. */
2223
2471
  "child.onDyn": { argTypes: [CHILD_T, STRING, DYN], result: VOID },
2224
2472
  "process.connected": { argTypes: [], result: BOOL },
2473
+ /** Whether this fork child opened its channel; part of process.send's
2474
+ * presence in programs with fork targets. Never throws. */
2475
+ "process.ipcOpen": { argTypes: [], result: BOOL },
2225
2476
  "process.send": { argTypes: [STRING], result: BOOL },
2226
2477
  "process.sendCb": { argTypes: [STRING, null], result: BOOL },
2227
2478
  "process.disconnect": { argTypes: [], result: VOID },
@@ -2230,8 +2481,9 @@ export const LIB_FN_SIGS = defineLibFnSignatures({
2230
2481
  /** child_process.execFile's callback slice: starts an all-piped child,
2231
2482
  * captures stdout/stderr, and moves the error-first callback into the
2232
2483
  * 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 },
2484
+ * by the validator/backends. The last argument is exec's shell flag:
2485
+ * the argv is ["-c", command] and failure messages show the command. */
2486
+ "cp.execFile": { argTypes: [STRING, arrayOf(STRING), null, BOOL], result: CHILD_T },
2235
2487
  // spawn's options form: per-slot stdio modes (0 ignore / 1 inherit /
2236
2488
  // 2 fd) with the out/err fds for mode 2, detached, env replacement
2237
2489
  // pairs, cwd ("" = inherit).
@@ -2344,8 +2596,13 @@ export const LIB_FN_SIGS = defineLibFnSignatures({
2344
2596
  * queue, end/destroy settle it, writable is a pure state read, and
2345
2597
  * listener callbacks move into the writer registry. */
2346
2598
  "child.stdin": { argTypes: [CHILD_T], result: VOID },
2599
+ /** Under the general stream representation (general-streams.ts), a
2600
+ * stdio read (slot 0, 1 or 2) answers the child's bridged runtime stream
2601
+ * — `Writable | null` for stdin, `Readable | null` otherwise; the bridge
2602
+ * throws when the program lacks the stream unit's boxing helpers. */
2603
+ "child.stdioStream": { argTypes: [CHILD_T, F64], result: VOID },
2347
2604
  // Listener registrations: callback func shapes are program-dependent
2348
- // (zero-param / Buffer / Buffer-armed union) — the slots pin arity,
2605
+ // (zero-param / Buffer / string / unknown / Buffer-armed union) — the slots pin arity,
2349
2606
  // the stream receiver, and the once-flag.
2350
2607
  "stream.onData": { argTypes: [CHILDSTREAM_T, null, BOOL], result: VOID },
2351
2608
  "stream.onDataStr": { argTypes: [CHILDSTREAM_T, null, BOOL], result: VOID },
@@ -2365,6 +2622,39 @@ export const LIB_FN_SIGS = defineLibFnSignatures({
2365
2622
  * stderrWrite paths so buffering and ordering stay identical. Data
2366
2623
  * borrowed; the bool is Node's always-true backpressure signal. */
2367
2624
  "procStream.write": { argTypes: [PROCSTREAM_T, STRING], result: BOOL },
2625
+ /** process.stdout/stderr flowing into a runtime Writable slot under the
2626
+ * general stream representation: an fd-backed Writable (+1) whose
2627
+ * writes take process.stdout.write's synchronous path. */
2628
+ /** A pipeline() stage that is a checked-dynamic value: a boxed native
2629
+ * stream unwraps by identity (+1); anything else throws the given
2630
+ * not-supported message. Typed as a Duplex so every stage position
2631
+ * accepts it; the runtime pipeline checks the stream's real sides. */
2632
+ "stream.unboxDyn": {
2633
+ argTypes: [DYN, STRING],
2634
+ result: { kind: "object", className: "%Duplex" },
2635
+ },
2636
+ /** Checked-dynamic stream slots (dyn-streams.ts): the native stream a
2637
+ * checked-dynamic value boxes (+1) — a runtime stream with the readable
2638
+ * (1) or writable (2) side — or null for any other value. Never throws;
2639
+ * the result union is `%Readable | null` or `%Writable | null`. */
2640
+ "stream.dynNative": { argTypes: [DYN, F64], result: VOID },
2641
+ /** stream.dynNative for a pipe or unpipe destination: also a
2642
+ * constructor-function stream's runtime stream, in programs that link
2643
+ * that unit, unless it overrides write() or end(). */
2644
+ "stream.dynNativePipe": { argTypes: [DYN, F64], result: VOID },
2645
+ /** readable.pipe(destination, end) into a checked-dynamic destination
2646
+ * that is not a native stream: [source, the source boxed, destination,
2647
+ * end]. Node's pipe listener protocol over the destination's members
2648
+ * (scr_stream_dyn.c); throws what those members throw. */
2649
+ "stream.pipeDyn": { argTypes: [null, DYN, DYN, BOOL], result: VOID },
2650
+ /** readable.unpipe(destination) for a checked-dynamic destination that
2651
+ * is not a native stream: [source, destination]. Unpipes the pipe
2652
+ * stream.pipeDyn registered into it, if any (scr_stream_dyn.c). */
2653
+ "stream.unpipeDyn": { argTypes: [null, DYN], result: VOID },
2654
+ "stream.stdioWritable": {
2655
+ argTypes: [PROCSTREAM_T],
2656
+ result: { kind: "object", className: "%Writable" },
2657
+ },
2368
2658
  "child.killed": { argTypes: [CHILD_T], result: BOOL },
2369
2659
  "child.kill": { argTypes: [CHILD_T, STRING], result: BOOL },
2370
2660
  "child.killNum": { argTypes: [CHILD_T, F64], result: BOOL },
@@ -2450,6 +2740,11 @@ export const LIB_FN_SIGS = defineLibFnSignatures({
2450
2740
  * whether min was given. */
2451
2741
  "crypto.randomFillView": { argTypes: [null, F64, F64], result: BYTES_U8 },
2452
2742
  "crypto.randomFillViewRest": { argTypes: [null, F64], result: BYTES_U8 },
2743
+ /** crypto.getRandomValues: a view returns itself at its own type (the
2744
+ * float/size DOMExceptions are thrown at run time); any other value
2745
+ * takes the checked form. */
2746
+ "crypto.getRandomValues": { argTypes: [null], result: BYTES_U8 },
2747
+ "crypto.getRandomValuesDyn": { argTypes: [DYN], result: DYN },
2453
2748
  "crypto.randomFillSyncDyn": { argTypes: [DYN, DYN, DYN], result: DYN },
2454
2749
  "crypto.randomFillCb": { argTypes: [null, F64, F64, F64, null], result: VOID },
2455
2750
  "crypto.randomFillCbDyn": { argTypes: [DYN, DYN, DYN, F64, null], result: VOID },
@@ -2462,6 +2757,14 @@ export const LIB_FN_SIGS = defineLibFnSignatures({
2462
2757
  "crypto.generateKeyCb": { argTypes: [DYN, DYN, null], result: VOID },
2463
2758
  "crypto.keyObjectInput": { argTypes: [DYN], result: BYTES_U8 },
2464
2759
  "crypto.isKeyObject": { argTypes: [DYN], result: BOOL },
2760
+ /** WebCrypto (scr_webcrypto.c): each method takes its argument vector as
2761
+ * one dyn array and answers a promise that argument and validation
2762
+ * failures reject. CryptoKey values are native handles. */
2763
+ "webcrypto.importKey": { argTypes: [DYN], result: { kind: "promise", inner: DYN } },
2764
+ "webcrypto.sign": { argTypes: [DYN], result: { kind: "promise", inner: DYN } },
2765
+ "webcrypto.verify": { argTypes: [DYN], result: { kind: "promise", inner: BOOL } },
2766
+ "webcrypto.digest": { argTypes: [DYN], result: { kind: "promise", inner: DYN } },
2767
+ "webcrypto.isCryptoKey": { argTypes: [DYN], result: BOOL },
2465
2768
  "crypto.randomUUIDv7": { argTypes: [DYN], result: STRING },
2466
2769
  "crypto.pbkdf2": { argTypes: [BYTES_U8, BYTES_U8, F64, F64, STRING], result: BYTES_U8 },
2467
2770
  "crypto.randomBytesCb": { argTypes: [F64, null], result: VOID },
@@ -2470,6 +2773,25 @@ export const LIB_FN_SIGS = defineLibFnSignatures({
2470
2773
  "crypto.hkdfCb": { argTypes: [STRING, BYTES_U8, BYTES_U8, BYTES_U8, F64, null], result: VOID },
2471
2774
  "crypto.scrypt": { argTypes: [BYTES_U8, BYTES_U8, F64, DYN], result: BYTES_U8 },
2472
2775
  "crypto.scryptCb": { argTypes: [BYTES_U8, BYTES_U8, F64, DYN, null], result: VOID },
2776
+ /** util.promisify over the callback forms: the callback form's
2777
+ * arguments without the callback → a promise the callback form settles,
2778
+ * or rejected with an argument error; never throws. The result's value
2779
+ * type is the declared one (a Buffer, the filled view, a number, or a
2780
+ * checked-dynamic value); the validator checks it. */
2781
+ "crypto.randomBytesPromise": { argTypes: [F64], result: VOID },
2782
+ "crypto.pbkdf2Promise": { argTypes: [BYTES_U8, BYTES_U8, F64, F64, STRING], result: VOID },
2783
+ "crypto.scryptPromise": { argTypes: [BYTES_U8, BYTES_U8, F64, DYN], result: VOID },
2784
+ "crypto.hkdfPromise": { argTypes: [STRING, BYTES_U8, BYTES_U8, BYTES_U8, F64], result: VOID },
2785
+ "crypto.randomFillPromise": { argTypes: [null, F64, F64, F64], result: VOID },
2786
+ "crypto.randomFillPromiseDyn": { argTypes: [DYN, DYN, DYN, F64], result: VOID },
2787
+ "crypto.randomIntPromise": { argTypes: [F64, F64, F64], result: VOID },
2788
+ "crypto.generateKeyPromise": { argTypes: [DYN, DYN], result: VOID },
2789
+ /** util.promisify(dns.lookup) and util.promisify(dns.lookupService):
2790
+ * [hostname, options] and [address, port] → a promise of the
2791
+ * checked-dynamic result object (the address array with options.all),
2792
+ * or rejected with the error; never throws. */
2793
+ "dns.lookupPromise": { argTypes: [DYN, DYN], result: { kind: "promise", inner: DYN } },
2794
+ "dns.lookupServicePromise": { argTypes: [DYN, DYN], result: { kind: "promise", inner: DYN } },
2473
2795
  // The Buffer statics and the fs/zlib Buffer forms: fixed always-u8
2474
2796
  // signatures (Buffer IS a Uint8Array — one bytes kind).
2475
2797
  /** The Buffer statics with fixed (always-u8) signatures. fromStr is
@@ -2481,6 +2803,9 @@ export const LIB_FN_SIGS = defineLibFnSignatures({
2481
2803
  "buffer.fromStr": { argTypes: [STRING, STRING], result: BYTES_U8 },
2482
2804
  "buffer.fromStrChecked": { argTypes: [STRING, STRING], result: BYTES_U8 },
2483
2805
  "buffer.brand": { argTypes: [BYTES_U8], result: BYTES_U8 },
2806
+ /** Buffer.isBuffer over a typed view: whether the view carries the
2807
+ * Buffer brand (any element kind; only Buffers do). Never throws. */
2808
+ "buffer.isBranded": { argTypes: [null], result: BOOL },
2484
2809
  /** Buffer.from on checked-native strings, bytes, arrays and data-only
2485
2810
  * array-like/Buffer-JSON objects. The encoding is a normalized literal;
2486
2811
  * non-string inputs ignore it. Copies the input and may throw during
@@ -2488,6 +2813,7 @@ export const LIB_FN_SIGS = defineLibFnSignatures({
2488
2813
  * opaque reference inputs retain explicit runtime refusals. */
2489
2814
  "buffer.fromDyn": { argTypes: [DYN, STRING], result: BYTES_U8 },
2490
2815
  "buffer.concat": { argTypes: [arrayOf(BYTES_U8)], result: BYTES_U8 },
2816
+ "buffer.concatDyn": { argTypes: [DYN], result: BYTES_U8 },
2491
2817
  /** The pooled Buffer factories (Node's allocate/fromStringFast/
2492
2818
  * fromArrayLike): allocUnsafe, Buffer.from of strings, Uint8Arrays,
2493
2819
  * number[] and checked values, and concat return views into the
@@ -2514,6 +2840,7 @@ export const LIB_FN_SIGS = defineLibFnSignatures({
2514
2840
  * zero-padded to the total. THROWS Node's 'length' RangeError on a
2515
2841
  * negative/non-integer total (may-throw seed). */
2516
2842
  "buffer.concatLen": { argTypes: [arrayOf(BYTES_U8), F64], result: BYTES_U8 },
2843
+ "buffer.concatLenDyn": { argTypes: [DYN, F64], result: BYTES_U8 },
2517
2844
  // The checked-dynamic compare/equals validators (Node's argument
2518
2845
  // ladders over dyn-boxed invalid-input probes).
2519
2846
  /** The checked-dynamic compare/equals validators (scr_bytes_io.c) —
@@ -2657,6 +2984,9 @@ export const LIB_FN_SIGS = defineLibFnSignatures({
2657
2984
  * receivers are borrowed. */
2658
2985
  "zlib.streamNew": { argTypes: [F64, DYN], result: VOID },
2659
2986
  "zlib.streamBytesWritten": { argTypes: [null], result: F64 },
2987
+ /** `stream instanceof zlib.Gzip`: the borrowed stream and the class's
2988
+ * node_zlib_mode; true when the stream is a zlib stream of that mode. */
2989
+ "zlib.streamIs": { argTypes: [null, F64], result: BOOL },
2660
2990
  "zlib.streamFlush": { argTypes: [null, DYN], result: VOID },
2661
2991
  "zlib.streamFlushCb": { argTypes: [null, DYN, null], result: VOID },
2662
2992
  "zlib.streamParams": { argTypes: [null, DYN, DYN], result: VOID },
@@ -2784,6 +3114,9 @@ export const LIB_FN_SIGS = defineLibFnSignatures({
2784
3114
  },
2785
3115
  "fileHandle.stat": { argTypes: [FILEHANDLE_T], result: { kind: "promise", inner: STATS_T } },
2786
3116
  "process.argv": { argTypes: [], result: arrayOf(STRING) },
3117
+ // The Node runtime flag a node:test binary took out of process.argv
3118
+ // (--test-update-snapshots), or [] — a fresh array per read.
3119
+ "process.execArgv": { argTypes: [], result: arrayOf(STRING) },
2787
3120
  "process.platform": { argTypes: [], result: STRING },
2788
3121
  // The one libCall whose result type is program-dependent (union ids are
2789
3122
  // per-module): the `result` here is a placeholder — the libCall case
@@ -2812,8 +3145,13 @@ export const LIB_FN_SIGS = defineLibFnSignatures({
2812
3145
  "process.exit": { argTypes: [F64], result: VOID },
2813
3146
  /** Numeric process.exitCode write (integer validation, implicit exit status). */
2814
3147
  "process.setExitCode": { argTypes: [F64], result: VOID },
3148
+ /** The process.exitCode write of a program that also reads the
3149
+ * property: the same validation, and the code counts as assigned. */
3150
+ "process.setExitCodeTracked": { argTypes: [F64], result: VOID },
2815
3151
  /** The code for process.exit() with no argument, or zero when unset. */
2816
3152
  "process.currentExitCode": { argTypes: [], result: F64 },
3153
+ /** Whether process.exitCode reads a code rather than undefined. Never throws. */
3154
+ "process.hasExitCode": { argTypes: [], result: BOOL },
2817
3155
  "process.cwd": { argTypes: [], result: STRING },
2818
3156
  /** getpid(2) / getuid(2): zero args → f64. POSIX-only target, so both
2819
3157
  * always answer (the checker's `getuid?` optionality covers Windows —
@@ -2905,6 +3243,23 @@ export const LIB_FN_SIGS = defineLibFnSignatures({
2905
3243
  "error.hasCause": { argTypes: [null], result: BOOL },
2906
3244
  /** Assignment borrows both operands and retains the new cause. */
2907
3245
  "error.setCause": { argTypes: [null, DYN], result: VOID },
3246
+ /** `err.code = s` on an error-hierarchy receiver: the code slot that
3247
+ * error.code reads and coded throws stamp. Borrows both; never throws. */
3248
+ "error.setCode": { argTypes: [null, STRING], result: VOID },
3249
+ /** `err.code = v` with a value that is not statically a string: strings
3250
+ * take the code slot, anything else clears it and sets the dynamic own
3251
+ * property. Borrows both; never throws. */
3252
+ "error.setCodeDyn": { argTypes: [null, DYN], result: VOID },
3253
+ /** `Object.assign(err, ...sources)` onto an error-hierarchy receiver
3254
+ * (args: the error, a dyn array of the sources): the own-member copy
3255
+ * onto its checked-dynamic node, then the typed slots (name, message,
3256
+ * stack, cause, code) re-read from it. Throws what the copy throws. */
3257
+ "error.assign": { argTypes: [null, DYN], result: VOID },
3258
+ /** `key in err` for a key no compiled class of the receiver declares
3259
+ * (args: the error, the key): a runtime-set own property (Object.assign,
3260
+ * throw-site fields, dynamic writes) or an Object.prototype member. */
3261
+ "error.hasKey": { argTypes: [null, STRING], result: BOOL },
3262
+ "error.hasCode": { argTypes: [null], result: BOOL },
2908
3263
  "error.defineCause": { argTypes: [null, DYN], result: VOID },
2909
3264
  "error.deleteCause": { argTypes: [null], result: VOID },
2910
3265
  /** The compiler-resolved Node-parity throw for always-throwing lowered
@@ -2937,6 +3292,29 @@ export const LIB_FN_SIGS = defineLibFnSignatures({
2937
3292
  "dyn.compare": { argTypes: [DYN, DYN, STRING], result: BOOL },
2938
3293
  "dyn.bitwise": { argTypes: [DYN, DYN, STRING], result: DYN },
2939
3294
  "dyn.proxyNew": { argTypes: [DYN, DYN], result: DYN },
3295
+ /* Dynamic-tier values (jsval; two-tier design stage S3). The jsval pass
3296
+ * (ir/jsval.ts) introduces these in dynamic-tier functions only; the
3297
+ * runtime is scr_js_value.c. Arguments are borrowed and results owned,
3298
+ * like every libCall. Boundary conversions: js.fromDyn (a cell keeps its
3299
+ * identity), js.toDyn (an immediate is boxed), js.fromF64/fromBool/
3300
+ * fromStr/fromBigInt (the design's toJs: immediates, and strings and
3301
+ * BigInts under a tag without a copy) and js.toF64 (fromJs to number: dynCheck's
3302
+ * number check and TypeError). The operators are the dyn.* operators
3303
+ * over jsvals, with identical JS semantics. */
3304
+ "js.fromDyn": { argTypes: [DYN], result: JSVAL },
3305
+ "js.toDyn": { argTypes: [JSVAL], result: DYN },
3306
+ "js.fromF64": { argTypes: [F64], result: JSVAL },
3307
+ "js.fromBool": { argTypes: [BOOL], result: JSVAL },
3308
+ "js.fromStr": { argTypes: [STRING], result: JSVAL },
3309
+ "js.fromBigInt": { argTypes: [BIGINT_T], result: JSVAL },
3310
+ "js.toF64": { argTypes: [JSVAL], result: F64 },
3311
+ "js.add": { argTypes: [JSVAL, JSVAL], result: JSVAL },
3312
+ "js.arithmetic": { argTypes: [JSVAL, JSVAL, STRING], result: JSVAL },
3313
+ "js.bitwise": { argTypes: [JSVAL, JSVAL, STRING], result: JSVAL },
3314
+ "js.compare": { argTypes: [JSVAL, JSVAL, STRING], result: BOOL },
3315
+ "js.toNumeric": { argTypes: [JSVAL], result: JSVAL },
3316
+ "js.increment": { argTypes: [JSVAL, BOOL], result: JSVAL },
3317
+ "js.toNumberCoerce": { argTypes: [JSVAL], result: F64 },
2940
3318
  // Always throws; the result is the READ's declared type (a typed dummy
2941
3319
  // the unwind abandons) — the libCall case skips the result check.
2942
3320
  /** A read of a `declare`d const NOTHING defines (the bundler-define
@@ -2995,6 +3373,7 @@ export const LIB_FN_SIGS = defineLibFnSignatures({
2995
3373
  /** SameValue over checked values, including NaN, signed zero and reference identity. */
2996
3374
  "dyn.sameValue": { argTypes: [DYN, DYN], result: BOOL },
2997
3375
  "error.stack": { argTypes: [null], result: STRING },
3376
+ "error.setStack": { argTypes: [null, STRING], result: VOID },
2998
3377
  "error.stackLimitGet": { argTypes: [], result: F64 },
2999
3378
  "error.stackLimitSet": { argTypes: [F64], result: VOID },
3000
3379
  // Receiver (any error-hierarchy object) and the program-dependent
@@ -3100,6 +3479,7 @@ export const LIB_FN_SIGS = defineLibFnSignatures({
3100
3479
  "arrayBuffer.viewU8": { argTypes: [DYN, DYN, DYN], result: BYTES_U8 },
3101
3480
  "arrayBuffer.viewU32": { argTypes: [DYN, DYN, DYN], result: bytesOf("u32") },
3102
3481
  "arrayBuffer.viewI32": { argTypes: [DYN, DYN, DYN], result: bytesOf("i32") },
3482
+ "arrayBuffer.viewF16": { argTypes: [DYN, DYN, DYN], result: bytesOf("f16") },
3103
3483
  "arrayBuffer.viewF32": { argTypes: [DYN, DYN, DYN], result: bytesOf("f32") },
3104
3484
  "arrayBuffer.viewF64": { argTypes: [DYN, DYN, DYN], result: bytesOf("f64") },
3105
3485
  "arrayBuffer.viewDV": { argTypes: [DYN, DYN, DYN], result: BYTES_U8 },
@@ -3151,6 +3531,13 @@ export const LIB_FN_SIGS = defineLibFnSignatures({
3151
3531
  * `await using`. Both throw Node's TypeErrors or the method's error. */
3152
3532
  "dyn.usingMethod": { argTypes: [DYN, BOOL], result: DYN },
3153
3533
  "dyn.usingDispose": { argTypes: [DYN, DYN], result: DYN },
3534
+ /** DisposableStack (scr_symbol.c): a new stack handle; whether a value is
3535
+ * one; and `stack.use(value)` for a class instance, registering the
3536
+ * compiler's disposal function for it. The last throws Node's
3537
+ * ReferenceError on a disposed stack. */
3538
+ "disposable.stackNew": { argTypes: [], result: DYN },
3539
+ "disposable.stackIs": { argTypes: [DYN], result: BOOL },
3540
+ "disposable.stackUseCallback": { argTypes: [DYN, DYN, DYN], result: BOOL },
3154
3541
  "dyn.reflectSet": { argTypes: [DYN, DYN, DYN, DYN], result: BOOL },
3155
3542
  "dyn.reflectDefine": { argTypes: [DYN, DYN, DYN], result: BOOL },
3156
3543
  "dyn.abstractEq": { argTypes: [DYN, DYN], result: BOOL },
@@ -3164,6 +3551,20 @@ export const LIB_FN_SIGS = defineLibFnSignatures({
3164
3551
  "dyn.classPrototype": { argTypes: [DYN, DYN], result: DYN },
3165
3552
  "dyn.classBasePrototype": { argTypes: [DYN], result: DYN },
3166
3553
  "dyn.classInherit": { argTypes: [DYN, DYN], result: DYN },
3554
+ /** EventEmitter (0), Stream (1), Readable (2), Writable (3), Duplex (4),
3555
+ * Transform (5) and PassThrough (6) as untyped constructor values, one
3556
+ * per thread (scr_dyn_builtin_class.c). */
3557
+ "dyn.builtinClass": { argTypes: [F64], result: DYN },
3558
+ /** The stream classes (2-6 above) with their stream half: constructor
3559
+ * functions over them get native stream state
3560
+ * (scr_dyn_builtin_stream.c). */
3561
+ "dyn.builtinStreamClass": { argTypes: [F64], result: DYN },
3562
+ /** `value instanceof C` for those constructors, over the value's
3563
+ * prototype chain. */
3564
+ "dyn.builtinInstanceOf": { argTypes: [DYN, F64], result: BOOL },
3565
+ /** `value instanceof f` for an untyped constructor function: the
3566
+ * prototype chain against f.prototype. */
3567
+ "dyn.functionInstanceOf": { argTypes: [DYN, DYN], result: BOOL },
3167
3568
  "dyn.classSuper": { argTypes: [DYN, DYN, DYN], result: VOID },
3168
3569
  "dyn.assignPrototype": { argTypes: [DYN, DYN, DYN], result: DYN },
3169
3570
  "dyn.definePrototypeProps": { argTypes: [DYN, DYN, DYN], result: DYN },
@@ -3226,6 +3627,8 @@ export const LIB_FN_SIGS = defineLibFnSignatures({
3226
3627
  "regex.groupEquals": { argTypes: [arrayOf(STRING), F64, STRING], result: BOOL },
3227
3628
  "regex.groupNumber": { argTypes: [arrayOf(STRING), F64], result: F64 },
3228
3629
  "regex.groupParseInt": { argTypes: [arrayOf(STRING), F64, F64], result: F64 },
3630
+ // `.index` / `.input` (args[1]) of a match result. Borrowed; never throws.
3631
+ "regex.resultProp": { argTypes: [arrayOf(STRING), STRING], result: DYN },
3229
3632
  // node:events EventEmitter: receivers are emitter-hierarchy objects and
3230
3633
  // the chaining forms (on/off/removeAll/setMax) return the receiver's
3231
3634
  // own class — program-dependent object types, checked in the libCall
@@ -3252,6 +3655,9 @@ export const LIB_FN_SIGS = defineLibFnSignatures({
3252
3655
  * throws err when unhandled. count/countFn/names/listeners/getMax/
3253
3656
  * setMax/setDefaultMax/getDefaultMax are the introspection surface. */
3254
3657
  "emitter.new": { argTypes: [], result: VOID },
3658
+ /** `x.constructor.name` of an emitter or stream (a borrowed object of
3659
+ * EventEmitter's hierarchy): the +1 class name the instance records. */
3660
+ "emitter.className": { argTypes: [null], result: STRING },
3255
3661
  "emitter.ctor": { argTypes: [null], result: VOID },
3256
3662
  "emitter.on": { argTypes: [null, STRING, null, BOOL, BOOL], result: VOID },
3257
3663
  "emitter.off": { argTypes: [null, STRING, null], result: VOID },
@@ -3286,6 +3692,10 @@ export const LIB_FN_SIGS = defineLibFnSignatures({
3286
3692
  "emitter.getMax": { argTypes: [null], result: F64 },
3287
3693
  "emitter.setDefaultMax": { argTypes: [F64], result: VOID },
3288
3694
  "emitter.getDefaultMax": { argTypes: [], result: F64 },
3695
+ // The ES module namespace's copy of defaultMaxListeners, and
3696
+ // module.syncBuiltinESMExports() refreshing it.
3697
+ "emitter.esmDefaultMax": { argTypes: [], result: F64 },
3698
+ "emitter.esmSync": { argTypes: [], result: VOID },
3289
3699
  /** The events.errorMonitor event key: an immortal string the runtime
3290
3700
  * registry matches by identity, so no string event name reaches it. */
3291
3701
  "emitter.errorMonitor": { argTypes: [], result: STRING },
@@ -3312,7 +3722,9 @@ export const LIB_FN_SIGS = defineLibFnSignatures({
3312
3722
  * returns the below-hwm answer. readable.read: (recv, size — -1 for
3313
3723
  * absent) → Buffer|null union. pause/resume return recv +1 (`this`);
3314
3724
  * isPaused answers the flag. readable.pipe: (recv, dst, end) → dst +1,
3315
- * fires 'pipe' on dst; readable.unpipe (recv[, dst]) → recv +1.
3725
+ * fires 'pipe' on dst; readable.pipeGeneral: the same, with `end` off
3726
+ * when dst is the converted process.stdout / process.stderr;
3727
+ * readable.unpipe (recv[, dst]) → recv +1.
3316
3728
  * writable.write/writeStr: (recv, chunk[, cb]) → below-hwm bool (cb
3317
3729
  * MOVES when present, called after the user write completes).
3318
3730
  * writable.end: (recv, flags[, chunk][, cb]) → recv +1. cork/uncork are
@@ -3510,6 +3922,7 @@ export const LIB_FN_SIGS = defineLibFnSignatures({
3510
3922
  "readable.resume": { argTypes: [null], result: VOID },
3511
3923
  "readable.isPaused": { argTypes: [null], result: BOOL },
3512
3924
  "readable.pipe": { argTypes: [null, null, BOOL], result: VOID },
3925
+ "readable.pipeGeneral": { argTypes: [null, null, BOOL], result: VOID },
3513
3926
  "readable.unpipe": { argTypes: [null], result: VOID },
3514
3927
  "readable.flowing": { argTypes: [null], result: VOID },
3515
3928
  "writable.write": { argTypes: [null, BYTES_U8], result: BOOL },
@@ -3681,18 +4094,25 @@ export const LIB_FN_SIGS = defineLibFnSignatures({
3681
4094
  "insp.jsonDyn": { argTypes: [DYN], result: STRING },
3682
4095
  "insp.str": { argTypes: [STRING], result: STRING },
3683
4096
  "insp.regex": { argTypes: [REGEX], result: STRING },
4097
+ /** A Date's inspect text: toISOString(), or "Invalid Date". */
4098
+ "insp.date": { argTypes: [DATE_T], result: STRING },
3684
4099
  "insp.buffer": { argTypes: [BYTES_U8], result: STRING },
4100
+ /** A numeric typed array that is not a Buffer (any element kind). */
4101
+ "insp.typedArray": { argTypes: [null, F64, F64], result: STRING },
3685
4102
  "insp.error": { argTypes: [null, F64, F64], result: STRING },
3686
4103
  "insp.dyn": { argTypes: [DYN, F64, F64], result: STRING },
3687
4104
  "insp.dynS": { argTypes: [DYN, F64], result: STRING },
3688
4105
  "insp.begin": { argTypes: [F64], result: VOID },
4106
+ /** util.inspect's breakLength, compact (0 for false) and sorted for the
4107
+ * renders that follow; the call site restores 80, 3 and false afterwards. */
4108
+ "insp.layout": { argTypes: [F64, F64, BOOL], result: VOID },
3689
4109
  "insp.entry": { argTypes: [STRING, BOOL], result: VOID },
3690
4110
  // Circular references: the receiver slot is program-dependent (any
3691
4111
  // cycle-capable record/array/map/class type — the insp.error precedent).
3692
4112
  /* Circular references over cycle-capable composites (recursive record/
3693
4113
  * class types): circCheck answers a value's circular id when it is
3694
4114
  * already on the traversal stack (0 otherwise), seenPush/refWrap
3695
- * bracket the frame (refWrap adds Node's "<ref *N> " prefix to values
4115
+ * bracket the frame (insp.end adds Node's "<ref *N> " prefix to values
3696
4116
  * the walk found circular), circular renders "[Circular *N]". */
3697
4117
  "insp.circCheck": { argTypes: [null], result: F64 },
3698
4118
  "insp.seenPush": { argTypes: [null], result: VOID },
@@ -3724,6 +4144,9 @@ export const LIB_FN_SIGS = defineLibFnSignatures({
3724
4144
  "strdec.write": { argTypes: [STRING, F64, BYTES_U8], result: STRING },
3725
4145
  "strdec.next": { argTypes: [STRING, F64, BYTES_U8], result: F64 },
3726
4146
  "strdec.end": { argTypes: [STRING, F64], result: STRING },
4147
+ /** A runtime encoding argument's canonical name (Node's normalizeEncoding:
4148
+ * nullish and "" are utf8); an unknown name throws ERR_UNKNOWN_ENCODING. */
4149
+ "strdec.encoding": { argTypes: [DYN], result: STRING },
3727
4150
  // node:readline: the interface handle is f64; the callbacks' func types
3728
4151
  // are program-dependent (the emitter picks the adapter by parameter
3729
4152
  // count), so those slots are null like child.onExit's.
@@ -3754,6 +4177,14 @@ export const LIB_FN_SIGS = defineLibFnSignatures({
3754
4177
  argTypes: [F64, STRING, DYN],
3755
4178
  result: { kind: "promise", inner: STRING },
3756
4179
  },
4180
+ /** The question forms with a checked-dynamic query (a JavaScript value
4181
+ * that need not be a string). */
4182
+ "rl.questionDyn": { argTypes: [F64, DYN, null], result: VOID },
4183
+ "rl.questionAsyncDyn": { argTypes: [F64, DYN], result: { kind: "promise", inner: STRING } },
4184
+ "rl.questionAsyncSignalDyn": {
4185
+ argTypes: [F64, DYN, DYN],
4186
+ result: { kind: "promise", inner: STRING },
4187
+ },
3757
4188
  "rl.close": { argTypes: [F64], result: VOID },
3758
4189
  "rl.pause": { argTypes: [F64], result: VOID },
3759
4190
  "rl.resume": { argTypes: [F64], result: VOID },
@@ -3761,6 +4192,7 @@ export const LIB_FN_SIGS = defineLibFnSignatures({
3761
4192
  /** prompt(preserveCursor): [handle, preserveCursor] */
3762
4193
  "rl.promptWith": { argTypes: [F64, BOOL], result: VOID },
3763
4194
  "rl.setPrompt": { argTypes: [F64, STRING], result: VOID },
4195
+ "rl.setPromptDyn": { argTypes: [F64, DYN], result: VOID },
3764
4196
  "rl.getPrompt": { argTypes: [F64], result: STRING },
3765
4197
  "rl.write": { argTypes: [F64, STRING], result: VOID },
3766
4198
  /** write(data, key): [handle, hasData, data, hasKey, hasName, name,
@@ -3793,6 +4225,14 @@ export const LIB_FN_SIGS = defineLibFnSignatures({
3793
4225
  "rl.terminal": { argTypes: [F64, F64, BOOL, DYN, BOOL], result: VOID },
3794
4226
  "rl.line": { argTypes: [F64], result: STRING },
3795
4227
  "rl.isTerminal": { argTypes: [F64], result: BOOL },
4228
+ "rl.isPromises": { argTypes: [F64], result: BOOL },
4229
+ /** createInterface's input or output as a checked-dynamic value:
4230
+ * [value, output] — the stream; refused when it is not one. */
4231
+ "rl.inputFromDyn": { argTypes: [DYN, BOOL], result: { kind: "object", className: "%Readable" } },
4232
+ "rl.outputFromDyn": {
4233
+ argTypes: [DYN, BOOL],
4234
+ result: { kind: "object", className: "%Writable" },
4235
+ },
3796
4236
  "rl.cursor": { argTypes: [F64], result: F64 },
3797
4237
  /** readline.cursorTo / moveCursor / clearLine / clearScreenDown: rl.seq
3798
4238
  * [kind (0-3), the first and second numbers, whether the second is
@@ -3828,17 +4268,33 @@ export const LIB_FN_SIGS = defineLibFnSignatures({
3828
4268
  * through the immediate queue (fires before due timers of later loop
3829
4269
  * turns, Node's check phase). Neither throws. */
3830
4270
  "tp.setTimeout": { argTypes: [F64], result: { kind: "promise", inner: VOID } },
4271
+ // scheduler.wait(delay): tp.setTimeout's promise. It throws Node's
4272
+ // ERR_INVALID_THIS once mock.timers has restored the real scheduler.wait.
4273
+ "tp.schedulerWait": { argTypes: [F64], result: { kind: "promise", inner: VOID } },
3831
4274
  "tp.setImmediate": { argTypes: [], result: { kind: "promise", inner: VOID } },
3832
4275
  /** events.once (scr_events_emitter.c): [emitter, name, boxer,
3833
4276
  * errorBoxer, listenForError] → a pending promise of any[]; the boxers
3834
4277
  * turn the event's and the 'error' tuple into that array. */
3835
4278
  "events.once": { argTypes: [null, STRING, null, null, BOOL], result: VOID },
4279
+ /** events.once(emitter, name, { signal }) (scr_events_once_signal.c):
4280
+ * events.once's arguments plus the checked-dynamic signal (an
4281
+ * AbortSignal or undefined). */
4282
+ "events.onceSignal": { argTypes: [null, STRING, null, null, BOOL, DYN], result: VOID },
3836
4283
  /** The resolve-value forms: [ms?, value, ref] → a pending promise of the
3837
4284
  * value's type that copies the borrowed already-resolved `value` promise
3838
4285
  * when the timer (or immediate) fires; ref false unrefs it. The result
3839
4286
  * type follows the value promise. */
3840
4287
  "tp.setTimeoutValue": { argTypes: [F64, null, BOOL], result: VOID },
3841
4288
  "tp.setImmediateValue": { argTypes: [null, BOOL], result: VOID },
4289
+ /** The same with options.signal (a checked-dynamic AbortSignal or
4290
+ * undefined) last: an abort clears the timer and rejects with an
4291
+ * AbortError (scr_event_target.c). */
4292
+ "tp.setTimeoutSignal": { argTypes: [F64, null, BOOL, DYN], result: VOID },
4293
+ "tp.setImmediateSignal": { argTypes: [null, BOOL, DYN], result: VOID },
4294
+ /** scheduler.wait(delay, options): tp.setTimeoutValue's and
4295
+ * tp.setTimeoutSignal's shapes, with tp.schedulerWait's throws. */
4296
+ "tp.schedulerWaitValue": { argTypes: [F64, null, BOOL], result: VOID },
4297
+ "tp.schedulerWaitSignal": { argTypes: [F64, null, BOOL, DYN], result: VOID },
3842
4298
  /** node:diagnostics_channel (scr_dc.c, linked when any dc.* appears —
3843
4299
  * the zlib gating precedent): a process-global name→channel registry;
3844
4300
  * channel values are f64 handles (type-mapper.ts maps Channel to F64, the
@@ -3934,6 +4390,7 @@ export const LIB_FN_SIGS = defineLibFnSignatures({
3934
4390
  * warnings and DeprecationWarning emissions read their truthiness. */
3935
4391
  "process.deprecationFlag": { argTypes: [F64], result: DYN },
3936
4392
  "process.setDeprecationFlag": { argTypes: [F64, DYN], result: VOID },
4393
+ "process.setEmitWarning": { argTypes: [DYN], result: VOID },
3937
4394
  /** AsyncLocalStorage (node:async_hooks — scr_async.c): stores are f64
3938
4395
  * handles; contexts are immutable fiber-carried snapshots (spawned
3939
4396
  * fibers inherit the spawner's — Node's init-time capture). run/exit
@@ -3991,6 +4448,9 @@ export const LIB_FN_SIGS = defineLibFnSignatures({
3991
4448
  "date.valueOf": { argTypes: [DATE_T], result: F64 },
3992
4449
  "date.toISOString": { argTypes: [F64], result: STRING },
3993
4450
  "date.toISOStringValue": { argTypes: [DATE_T], result: STRING },
4451
+ /** Date.prototype.toUTCString over a stored Date ("Invalid Date" for
4452
+ * NaN; never throws). */
4453
+ "date.toUTCString": { argTypes: [DATE_T], result: STRING },
3994
4454
  "date.getFullYear": { argTypes: [DATE_T], result: F64 },
3995
4455
  "date.getUTCFullYear": { argTypes: [DATE_T], result: F64 },
3996
4456
  "date.getMonth": { argTypes: [DATE_T], result: F64 },
@@ -4008,14 +4468,17 @@ export const LIB_FN_SIGS = defineLibFnSignatures({
4008
4468
  "date.getMilliseconds": { argTypes: [DATE_T], result: F64 },
4009
4469
  "date.getUTCMilliseconds": { argTypes: [DATE_T], result: F64 },
4010
4470
  "date.getTimezoneOffset": { argTypes: [DATE_T], result: F64 },
4471
+ /** Date.prototype.toString / toDateString / toTimeString and String(date):
4472
+ * V8's local-time formats with the host zone's long name, "Invalid Date"
4473
+ * for an invalid date. Owned (+1) string; never throws. */
4474
+ "date.toString": { argTypes: [DATE_T], result: STRING },
4475
+ "date.toDateString": { argTypes: [DATE_T], result: STRING },
4476
+ "date.toTimeString": { argTypes: [DATE_T], result: STRING },
4011
4477
  /** 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. */
4478
+ * string, f64 milliseconds since epoch, with V8's date-string grammar
4479
+ * (the ES5 format, then the legacy forms: RFC 1123/2822, Date#toString,
4480
+ * "Jan 2, 2024", ...). Zone-less dates are local time; anything V8
4481
+ * rejects is NaN, Node's invalid-date getTime. Never throws. */
4019
4482
  "date.parseGetTime": { argTypes: [STRING], result: F64 },
4020
4483
  /** `Date.UTC(...)` — seven f64 arguments (the frontend completes the
4021
4484
  * spec's defaults for omitted trailing parts: month 0, date 1, time
@@ -4023,6 +4486,12 @@ export const LIB_FN_SIGS = defineLibFnSignatures({
4023
4486
  * map to 1900+year, out-of-range months/dates roll over, non-finite
4024
4487
  * parts and out-of-range results answer NaN. Never throws. */
4025
4488
  "date.utc": { argTypes: [F64, F64, F64, F64, F64, F64, F64], result: F64 },
4489
+ /** `new Date(year, monthIndex[, date, hours, minutes, seconds, ms])` —
4490
+ * the same seven-f64 completion as date.utc, but the fields are LOCAL
4491
+ * time: V8's MakeDay/MakeTime, then UTC(t) in the host zone (DST gaps
4492
+ * read with the offset before the transition, overlaps answer the
4493
+ * earlier instant), then TimeClip. Never throws. */
4494
+ "date.newLocal": { argTypes: [F64, F64, F64, F64, F64, F64, F64], result: DATE_T },
4026
4495
  /** WHATWG TextDecoder.decode over u8 bytes (scr_bytes.c): utf-8 with
4027
4496
  * default options — the same maximal-subpart replacement decode as
4028
4497
  * Buffer.toString("utf8"), with the leading BOM stripped (the one