@scriptc/compiler 0.3.6 → 0.4.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (1358) hide show
  1. package/ambient/scriptc-node-fallback.d.ts +717 -55
  2. package/ambient/scriptc.d.ts +134 -0
  3. package/dist/backend/cycle-analysis.d.ts +1 -1
  4. package/dist/backend/cycle-analysis.js +1 -0
  5. package/dist/backend/cycle-analysis.js.map +1 -1
  6. package/dist/backend/cycle-analysis.test.js +13 -1
  7. package/dist/backend/cycle-analysis.test.js.map +1 -1
  8. package/dist/backend/cycle-mutability.js +16 -5
  9. package/dist/backend/cycle-mutability.js.map +1 -1
  10. package/dist/backend/executable-features.js +20 -0
  11. package/dist/backend/executable-features.js.map +1 -1
  12. package/dist/backend/immutability.test.js +1 -1
  13. package/dist/backend/library-pack.js +9 -0
  14. package/dist/backend/library-pack.js.map +1 -1
  15. package/dist/backend/link-plan-core.d.ts +2 -0
  16. package/dist/backend/link-plan-core.js +2 -0
  17. package/dist/backend/link-plan-core.js.map +1 -1
  18. package/dist/backend/link-plan.d.ts +1 -0
  19. package/dist/backend/link-plan.js +1 -0
  20. package/dist/backend/link-plan.js.map +1 -1
  21. package/dist/backend/llvm/alloc.d.ts +41 -4
  22. package/dist/backend/llvm/alloc.js +138 -7
  23. package/dist/backend/llvm/alloc.js.map +1 -1
  24. package/dist/backend/llvm/alloc.test.js +30 -1
  25. package/dist/backend/llvm/alloc.test.js.map +1 -1
  26. package/dist/backend/llvm/appended-array-literals.test.js +1 -1
  27. package/dist/backend/llvm/array-search.js +3 -1
  28. package/dist/backend/llvm/array-search.js.map +1 -1
  29. package/dist/backend/llvm/array-search.test.js +1 -1
  30. package/dist/backend/llvm/blocks.d.ts +8 -0
  31. package/dist/backend/llvm/blocks.js +43 -1
  32. package/dist/backend/llvm/blocks.js.map +1 -1
  33. package/dist/backend/llvm/blocks.test.js +22 -1
  34. package/dist/backend/llvm/blocks.test.js.map +1 -1
  35. package/dist/backend/llvm/byte-numbers.js +15 -5
  36. package/dist/backend/llvm/byte-numbers.js.map +1 -1
  37. package/dist/backend/llvm/bytes-alias.d.ts +14 -0
  38. package/dist/backend/llvm/bytes-alias.js +20 -0
  39. package/dist/backend/llvm/bytes-alias.js.map +1 -0
  40. package/dist/backend/llvm/bytes-loop-versions.d.ts +86 -0
  41. package/dist/backend/llvm/bytes-loop-versions.js +506 -0
  42. package/dist/backend/llvm/bytes-loop-versions.js.map +1 -0
  43. package/dist/backend/llvm/bytes-loop-versions.test.d.ts +1 -0
  44. package/dist/backend/llvm/bytes-loop-versions.test.js +244 -0
  45. package/dist/backend/llvm/bytes-loop-versions.test.js.map +1 -0
  46. package/dist/backend/llvm/call-lifetimes.js +50 -1
  47. package/dist/backend/llvm/call-lifetimes.js.map +1 -1
  48. package/dist/backend/llvm/call-lifetimes.test.js +34 -0
  49. package/dist/backend/llvm/call-lifetimes.test.js.map +1 -1
  50. package/dist/backend/llvm/checked-narrows.test.js +1 -1
  51. package/dist/backend/llvm/checked-value-lifetimes.js +4 -1
  52. package/dist/backend/llvm/checked-value-lifetimes.js.map +1 -1
  53. package/dist/backend/llvm/classes.d.ts +38 -1
  54. package/dist/backend/llvm/classes.js +185 -35
  55. package/dist/backend/llvm/classes.js.map +1 -1
  56. package/dist/backend/llvm/classes.test.js +79 -17
  57. package/dist/backend/llvm/classes.test.js.map +1 -1
  58. package/dist/backend/llvm/common.d.ts +21 -3
  59. package/dist/backend/llvm/common.js +51 -3
  60. package/dist/backend/llvm/common.js.map +1 -1
  61. package/dist/backend/llvm/constant-callbacks.d.ts +5 -1
  62. package/dist/backend/llvm/constant-callbacks.js +55 -12
  63. package/dist/backend/llvm/constant-callbacks.js.map +1 -1
  64. package/dist/backend/llvm/constant-callbacks.test.js +88 -1
  65. package/dist/backend/llvm/constant-callbacks.test.js.map +1 -1
  66. package/dist/backend/llvm/counted-loops.d.ts +4 -0
  67. package/dist/backend/llvm/counted-loops.js +37 -0
  68. package/dist/backend/llvm/counted-loops.js.map +1 -1
  69. package/dist/backend/llvm/dense-array-access.d.ts +15 -4
  70. package/dist/backend/llvm/dense-array-access.js +125 -44
  71. package/dist/backend/llvm/dense-array-access.js.map +1 -1
  72. package/dist/backend/llvm/dense-array-access.test.js +63 -3
  73. package/dist/backend/llvm/dense-array-access.test.js.map +1 -1
  74. package/dist/backend/llvm/dense-array-loops.d.ts +51 -0
  75. package/dist/backend/llvm/dense-array-loops.js +162 -0
  76. package/dist/backend/llvm/dense-array-loops.js.map +1 -0
  77. package/dist/backend/llvm/dense-array-loops.test.d.ts +1 -0
  78. package/dist/backend/llvm/dense-array-loops.test.js +128 -0
  79. package/dist/backend/llvm/dense-array-loops.test.js.map +1 -0
  80. package/dist/backend/llvm/dyn-handle-tags.test.d.ts +1 -0
  81. package/dist/backend/llvm/dyn-handle-tags.test.js +38 -0
  82. package/dist/backend/llvm/dyn-handle-tags.test.js.map +1 -0
  83. package/dist/backend/llvm/dyn.d.ts +37 -4
  84. package/dist/backend/llvm/dyn.js +354 -183
  85. package/dist/backend/llvm/dyn.js.map +1 -1
  86. package/dist/backend/llvm/emit-function.d.ts +64 -0
  87. package/dist/backend/llvm/emit-function.js +1193 -0
  88. package/dist/backend/llvm/emit-function.js.map +1 -0
  89. package/dist/backend/llvm/emit-module.d.ts +24 -0
  90. package/dist/backend/llvm/emit-module.js +1557 -0
  91. package/dist/backend/llvm/emit-module.js.map +1 -0
  92. package/dist/backend/llvm/emit-statements.d.ts +59 -0
  93. package/dist/backend/llvm/emit-statements.js +2041 -0
  94. package/dist/backend/llvm/emit-statements.js.map +1 -0
  95. package/dist/backend/llvm/emitter.d.ts +566 -291
  96. package/dist/backend/llvm/emitter.js +728 -4671
  97. package/dist/backend/llvm/emitter.js.map +1 -1
  98. package/dist/backend/llvm/emitter.test.js +57 -3
  99. package/dist/backend/llvm/emitter.test.js.map +1 -1
  100. package/dist/backend/llvm/expr-async.js +73 -46
  101. package/dist/backend/llvm/expr-async.js.map +1 -1
  102. package/dist/backend/llvm/expr-async.test.js +1 -1
  103. package/dist/backend/llvm/expr-bytes.d.ts +2 -0
  104. package/dist/backend/llvm/expr-bytes.js +76 -29
  105. package/dist/backend/llvm/expr-bytes.js.map +1 -1
  106. package/dist/backend/llvm/expr-callbacks.d.ts +6 -2
  107. package/dist/backend/llvm/expr-callbacks.js +48 -11
  108. package/dist/backend/llvm/expr-callbacks.js.map +1 -1
  109. package/dist/backend/llvm/expr-calls.d.ts +1 -1
  110. package/dist/backend/llvm/expr-calls.js +87 -56
  111. package/dist/backend/llvm/expr-calls.js.map +1 -1
  112. package/dist/backend/llvm/expr-calls.test.js +1 -1
  113. package/dist/backend/llvm/expr-containers.js +45 -24
  114. package/dist/backend/llvm/expr-containers.js.map +1 -1
  115. package/dist/backend/llvm/expr-control.js +16 -16
  116. package/dist/backend/llvm/expr-control.js.map +1 -1
  117. package/dist/backend/llvm/expr-dynamic.d.ts +3 -0
  118. package/dist/backend/llvm/expr-dynamic.js +113 -66
  119. package/dist/backend/llvm/expr-dynamic.js.map +1 -1
  120. package/dist/backend/llvm/expr-primitives.js +124 -28
  121. package/dist/backend/llvm/expr-primitives.js.map +1 -1
  122. package/dist/backend/llvm/expr-primitives.test.js +57 -2
  123. package/dist/backend/llvm/expr-primitives.test.js.map +1 -1
  124. package/dist/backend/llvm/expr-records.d.ts +1 -1
  125. package/dist/backend/llvm/expr-records.js +32 -11
  126. package/dist/backend/llvm/expr-records.js.map +1 -1
  127. package/dist/backend/llvm/expr-stream-bridges.js +65 -27
  128. package/dist/backend/llvm/expr-stream-bridges.js.map +1 -1
  129. package/dist/backend/llvm/expr-stream-bridges.test.js +2 -2
  130. package/dist/backend/llvm/expr-stream-callbacks.js +22 -1
  131. package/dist/backend/llvm/expr-stream-callbacks.js.map +1 -1
  132. package/dist/backend/llvm/int32-abi.test.js +2 -2
  133. package/dist/backend/llvm/integer-clones.js +3 -3
  134. package/dist/backend/llvm/integer-clones.js.map +1 -1
  135. package/dist/backend/llvm/integer-clones.test.js +3 -3
  136. package/dist/backend/llvm/integer-remainder.d.ts +34 -13
  137. package/dist/backend/llvm/integer-remainder.js +156 -22
  138. package/dist/backend/llvm/integer-remainder.js.map +1 -1
  139. package/dist/backend/llvm/intern-tables.test.js +1 -1
  140. package/dist/backend/llvm/js-ic.d.ts +18 -0
  141. package/dist/backend/llvm/js-ic.js +712 -0
  142. package/dist/backend/llvm/js-ic.js.map +1 -0
  143. package/dist/backend/llvm/jsval-encoding.d.ts +21 -0
  144. package/dist/backend/llvm/jsval-encoding.js +20 -0
  145. package/dist/backend/llvm/jsval-encoding.js.map +1 -0
  146. package/dist/backend/llvm/jsval.d.ts +12 -0
  147. package/dist/backend/llvm/jsval.js +616 -0
  148. package/dist/backend/llvm/jsval.js.map +1 -0
  149. package/dist/backend/llvm/lazy-captures.d.ts +12 -2
  150. package/dist/backend/llvm/lazy-captures.js +39 -17
  151. package/dist/backend/llvm/lazy-captures.js.map +1 -1
  152. package/dist/backend/llvm/lib-abi.js +1 -1
  153. package/dist/backend/llvm/lib-abi.js.map +1 -1
  154. package/dist/backend/llvm/lib-connect.js +1 -1
  155. package/dist/backend/llvm/lib-connect.js.map +1 -1
  156. package/dist/backend/llvm/lib-datagram.js +14 -8
  157. package/dist/backend/llvm/lib-datagram.js.map +1 -1
  158. package/dist/backend/llvm/lib-dispatch.js +189 -23
  159. package/dist/backend/llvm/lib-dispatch.js.map +1 -1
  160. package/dist/backend/llvm/lib-filesystem.js +42 -13
  161. package/dist/backend/llvm/lib-filesystem.js.map +1 -1
  162. package/dist/backend/llvm/lib-http2.js +3 -3
  163. package/dist/backend/llvm/lib-http2.js.map +1 -1
  164. package/dist/backend/llvm/lib-lookup.js +2 -2
  165. package/dist/backend/llvm/lib-lookup.js.map +1 -1
  166. package/dist/backend/llvm/lib-network.js +56 -22
  167. package/dist/backend/llvm/lib-network.js.map +1 -1
  168. package/dist/backend/llvm/lib-process.js +94 -53
  169. package/dist/backend/llvm/lib-process.js.map +1 -1
  170. package/dist/backend/llvm/lib-shared.d.ts +12 -0
  171. package/dist/backend/llvm/lib-shared.js +209 -6
  172. package/dist/backend/llvm/lib-shared.js.map +1 -1
  173. package/dist/backend/llvm/lib-stream.js +46 -16
  174. package/dist/backend/llvm/lib-stream.js.map +1 -1
  175. package/dist/backend/llvm/lib-test.js +43 -7
  176. package/dist/backend/llvm/lib-test.js.map +1 -1
  177. package/dist/backend/llvm/lib-tls.js +4 -9
  178. package/dist/backend/llvm/lib-tls.js.map +1 -1
  179. package/dist/backend/llvm/local-array-reads.js +42 -33
  180. package/dist/backend/llvm/local-array-reads.js.map +1 -1
  181. package/dist/backend/llvm/local-array-reads.test.js +1 -1
  182. package/dist/backend/llvm/local-extents.d.ts +19 -0
  183. package/dist/backend/llvm/local-extents.js +169 -0
  184. package/dist/backend/llvm/local-extents.js.map +1 -0
  185. package/dist/backend/llvm/local-extents.test.d.ts +1 -0
  186. package/dist/backend/llvm/local-extents.test.js +92 -0
  187. package/dist/backend/llvm/local-extents.test.js.map +1 -0
  188. package/dist/backend/llvm/local-union-storage.js +7 -7
  189. package/dist/backend/llvm/local-union-storage.js.map +1 -1
  190. package/dist/backend/llvm/local-union-storage.test.js +2 -2
  191. package/dist/backend/llvm/map-entry-fusion.test.js +1 -1
  192. package/dist/backend/llvm/map-number-lookup.d.ts +20 -4
  193. package/dist/backend/llvm/map-number-lookup.js +45 -9
  194. package/dist/backend/llvm/map-number-lookup.js.map +1 -1
  195. package/dist/backend/llvm/map-number-lookup.test.js +2 -2
  196. package/dist/backend/llvm/map-read-lifetimes.test.js +2 -2
  197. package/dist/backend/llvm/narrow-guards.d.ts +38 -0
  198. package/dist/backend/llvm/narrow-guards.js +215 -0
  199. package/dist/backend/llvm/narrow-guards.js.map +1 -0
  200. package/dist/backend/llvm/nullable-unions.d.ts +64 -6
  201. package/dist/backend/llvm/nullable-unions.js +103 -6
  202. package/dist/backend/llvm/nullable-unions.js.map +1 -1
  203. package/dist/backend/llvm/nullable-unions.test.d.ts +1 -0
  204. package/dist/backend/llvm/nullable-unions.test.js +65 -0
  205. package/dist/backend/llvm/nullable-unions.test.js.map +1 -0
  206. package/dist/backend/llvm/publish.d.ts +7 -0
  207. package/dist/backend/llvm/publish.js +50 -19
  208. package/dist/backend/llvm/publish.js.map +1 -1
  209. package/dist/backend/llvm/publish.test.js +1 -1
  210. package/dist/backend/llvm/receivers.d.ts +31 -0
  211. package/dist/backend/llvm/receivers.js +395 -0
  212. package/dist/backend/llvm/receivers.js.map +1 -0
  213. package/dist/backend/llvm/record-results.d.ts +12 -1
  214. package/dist/backend/llvm/record-results.js +64 -4
  215. package/dist/backend/llvm/record-results.js.map +1 -1
  216. package/dist/backend/llvm/reference-effects.js +9 -0
  217. package/dist/backend/llvm/reference-effects.js.map +1 -1
  218. package/dist/backend/llvm/reference-writes.d.ts +4 -0
  219. package/dist/backend/llvm/reference-writes.js +142 -6
  220. package/dist/backend/llvm/reference-writes.js.map +1 -1
  221. package/dist/backend/llvm/reference-writes.test.d.ts +1 -0
  222. package/dist/backend/llvm/reference-writes.test.js +88 -0
  223. package/dist/backend/llvm/reference-writes.test.js.map +1 -0
  224. package/dist/backend/llvm/regex-matchers.d.ts +8 -0
  225. package/dist/backend/llvm/regex-matchers.js +33 -0
  226. package/dist/backend/llvm/regex-matchers.js.map +1 -1
  227. package/dist/backend/llvm/regex-matchers.test.js +23 -1
  228. package/dist/backend/llvm/regex-matchers.test.js.map +1 -1
  229. package/dist/backend/llvm/regions.d.ts +1 -1
  230. package/dist/backend/llvm/regions.js +10 -7
  231. package/dist/backend/llvm/regions.js.map +1 -1
  232. package/dist/backend/llvm/regions.test.js +8 -2
  233. package/dist/backend/llvm/regions.test.js.map +1 -1
  234. package/dist/backend/llvm/shapes.d.ts +74 -45
  235. package/dist/backend/llvm/shapes.js +289 -28
  236. package/dist/backend/llvm/shapes.js.map +1 -1
  237. package/dist/backend/llvm/shapes.test.js +37 -3
  238. package/dist/backend/llvm/shapes.test.js.map +1 -1
  239. package/dist/backend/llvm/speculative-integers.d.ts +20 -1
  240. package/dist/backend/llvm/speculative-integers.js +94 -6
  241. package/dist/backend/llvm/speculative-integers.js.map +1 -1
  242. package/dist/backend/llvm/speculative-integers.test.js +55 -1
  243. package/dist/backend/llvm/speculative-integers.test.js.map +1 -1
  244. package/dist/backend/llvm/split-loops.js +2 -2
  245. package/dist/backend/llvm/split-loops.js.map +1 -1
  246. package/dist/backend/llvm/stack-objects.d.ts +26 -6
  247. package/dist/backend/llvm/stack-objects.js +133 -10
  248. package/dist/backend/llvm/stack-objects.js.map +1 -1
  249. package/dist/backend/llvm/stack-objects.test.js +55 -1
  250. package/dist/backend/llvm/stack-objects.test.js.map +1 -1
  251. package/dist/backend/llvm/stack-unions.test.js +1 -1
  252. package/dist/backend/llvm/string-construction.test.js +1 -1
  253. package/dist/backend/llvm/string-lifetimes.test.js +15 -14
  254. package/dist/backend/llvm/string-lifetimes.test.js.map +1 -1
  255. package/dist/backend/llvm/string-reads.d.ts +1 -1
  256. package/dist/backend/llvm/string-reads.js +4 -4
  257. package/dist/backend/llvm/string-reads.js.map +1 -1
  258. package/dist/backend/llvm/string-slices.d.ts +25 -0
  259. package/dist/backend/llvm/string-slices.js +207 -1
  260. package/dist/backend/llvm/string-slices.js.map +1 -1
  261. package/dist/backend/llvm/string-slices.test.js +139 -2
  262. package/dist/backend/llvm/string-slices.test.js.map +1 -1
  263. package/dist/backend/llvm/switch-dispatch.test.js +2 -2
  264. package/dist/backend/llvm/thread-slots.d.ts +5 -0
  265. package/dist/backend/llvm/thread-slots.js +142 -0
  266. package/dist/backend/llvm/thread-slots.js.map +1 -0
  267. package/dist/backend/llvm/thread-slots.test.d.ts +1 -0
  268. package/dist/backend/llvm/thread-slots.test.js +111 -0
  269. package/dist/backend/llvm/thread-slots.test.js.map +1 -0
  270. package/dist/backend/llvm/union-repr.d.ts +7 -7
  271. package/dist/backend/llvm/union-repr.js +18 -2
  272. package/dist/backend/llvm/union-repr.js.map +1 -1
  273. package/dist/backend/llvm/union-retype.test.js +17 -3
  274. package/dist/backend/llvm/union-retype.test.js.map +1 -1
  275. package/dist/backend/llvm/walkers.d.ts +2 -2
  276. package/dist/backend/llvm/walkers.js +51 -26
  277. package/dist/backend/llvm/walkers.js.map +1 -1
  278. package/dist/backend/llvm/wasm-modules.d.ts +16 -0
  279. package/dist/backend/llvm/wasm-modules.js +66 -0
  280. package/dist/backend/llvm/wasm-modules.js.map +1 -0
  281. package/dist/backend/llvm/wrapping-sums.d.ts +7 -0
  282. package/dist/backend/llvm/wrapping-sums.js +11 -3
  283. package/dist/backend/llvm/wrapping-sums.js.map +1 -1
  284. package/dist/backend/mangle.d.ts +12 -0
  285. package/dist/backend/mangle.js +18 -0
  286. package/dist/backend/mangle.js.map +1 -1
  287. package/dist/backend/may-throw.d.ts +3 -0
  288. package/dist/backend/may-throw.js +4 -2
  289. package/dist/backend/may-throw.js.map +1 -1
  290. package/dist/backend/may-throw.test.js +1 -1
  291. package/dist/backend/native/contracts.d.ts +57 -0
  292. package/dist/backend/native/executable.js +211 -139
  293. package/dist/backend/native/executable.js.map +1 -1
  294. package/dist/backend/native/library.js +2 -0
  295. package/dist/backend/native/library.js.map +1 -1
  296. package/dist/backend/native/runtime-inputs.d.ts +1 -1
  297. package/dist/backend/native/runtime-inputs.js +1 -0
  298. package/dist/backend/native/runtime-inputs.js.map +1 -1
  299. package/dist/backend/native-codegen.d.ts +6 -0
  300. package/dist/backend/native-codegen.js +19 -0
  301. package/dist/backend/native-codegen.js.map +1 -1
  302. package/dist/backend/native-codegen.test.js +27 -0
  303. package/dist/backend/native-codegen.test.js.map +1 -1
  304. package/dist/backend/native-link-info-core.d.ts +48 -0
  305. package/dist/backend/native-link-info-core.js.map +1 -1
  306. package/dist/backend/native-profile.d.ts +32 -0
  307. package/dist/backend/native-profile.js +39 -0
  308. package/dist/backend/native-profile.js.map +1 -0
  309. package/dist/backend/native-profile.test.d.ts +1 -0
  310. package/dist/backend/native-profile.test.js +58 -0
  311. package/dist/backend/native-profile.test.js.map +1 -0
  312. package/dist/backend/native-tools.d.ts +14 -0
  313. package/dist/backend/native-tools.js +13 -0
  314. package/dist/backend/native-tools.js.map +1 -1
  315. package/dist/backend/publication.test.js +1 -1
  316. package/dist/backend/runtime-abi.d.ts +2 -2
  317. package/dist/backend/runtime-abi.js +2 -2
  318. package/dist/backend/runtime-pack-core.d.ts +13 -1
  319. package/dist/backend/runtime-pack-core.js +14 -1
  320. package/dist/backend/runtime-pack-core.js.map +1 -1
  321. package/dist/backend/runtime-pack-native.js +1 -1
  322. package/dist/backend/runtime-pack-native.js.map +1 -1
  323. package/dist/backend/runtime-pack-native.test.d.ts +1 -0
  324. package/dist/backend/runtime-pack-native.test.js +31 -0
  325. package/dist/backend/runtime-pack-native.test.js.map +1 -0
  326. package/dist/backend/runtime-pack-targets.test.js +9 -1
  327. package/dist/backend/runtime-pack-targets.test.js.map +1 -1
  328. package/dist/backend/runtime-pack.test.js +9 -1
  329. package/dist/backend/runtime-pack.test.js.map +1 -1
  330. package/dist/backend/stack-observations.d.ts +22 -0
  331. package/dist/backend/stack-observations.js +382 -0
  332. package/dist/backend/stack-observations.js.map +1 -0
  333. package/dist/backend/stack-observations.test.d.ts +1 -0
  334. package/dist/backend/stack-observations.test.js +233 -0
  335. package/dist/backend/stack-observations.test.js.map +1 -0
  336. package/dist/backend/target-diagnostics.js +15 -0
  337. package/dist/backend/target-diagnostics.js.map +1 -1
  338. package/dist/backend/target-diagnostics.test.js +1 -1
  339. package/dist/backend/warm-cache.js +8 -0
  340. package/dist/backend/warm-cache.js.map +1 -1
  341. package/dist/backend/young-nursery.d.ts +7 -0
  342. package/dist/backend/young-nursery.js +10 -0
  343. package/dist/backend/young-nursery.js.map +1 -0
  344. package/dist/cli/command.js +106 -4
  345. package/dist/cli/command.js.map +1 -1
  346. package/dist/cli/host.d.ts +3 -0
  347. package/dist/cli/output-options.d.ts +2 -0
  348. package/dist/cli/output-options.js +9 -0
  349. package/dist/cli/output-options.js.map +1 -1
  350. package/dist/cli/usage.d.ts +21 -1
  351. package/dist/cli/usage.js +43 -1
  352. package/dist/cli/usage.js.map +1 -1
  353. package/dist/compat/fetch-profile.js +10 -1
  354. package/dist/compat/fetch-profile.js.map +1 -1
  355. package/dist/compile-types.d.ts +22 -0
  356. package/dist/contracts/check.js +25 -8
  357. package/dist/contracts/check.js.map +1 -1
  358. package/dist/contracts/int32-elements.d.ts +115 -0
  359. package/dist/contracts/int32-elements.js +1179 -0
  360. package/dist/contracts/int32-elements.js.map +1 -0
  361. package/dist/coverage/report.d.ts +16 -0
  362. package/dist/coverage/report.js +182 -1
  363. package/dist/coverage/report.js.map +1 -1
  364. package/dist/coverage/surface-manifest.js +16 -3
  365. package/dist/coverage/surface-manifest.js.map +1 -1
  366. package/dist/coverage/verdict-cache.d.ts +2 -0
  367. package/dist/coverage/verdict-cache.js +12 -0
  368. package/dist/coverage/verdict-cache.js.map +1 -1
  369. package/dist/coverage/verdict-cache.test.js +2 -1
  370. package/dist/coverage/verdict-cache.test.js.map +1 -1
  371. package/dist/diagnostics/diagnostic.d.ts +10 -6
  372. package/dist/diagnostics/diagnostic.js +29 -21
  373. package/dist/diagnostics/diagnostic.js.map +1 -1
  374. package/dist/diagnostics/envelope.d.ts +39 -2
  375. package/dist/diagnostics/envelope.js.map +1 -1
  376. package/dist/diagnostics/render.d.ts +7 -0
  377. package/dist/diagnostics/render.js +50 -13
  378. package/dist/diagnostics/render.js.map +1 -1
  379. package/dist/diagnostics/render.test.d.ts +1 -0
  380. package/dist/diagnostics/render.test.js +49 -0
  381. package/dist/diagnostics/render.test.js.map +1 -0
  382. package/dist/executable/executable-cache.d.ts +27 -0
  383. package/dist/executable/executable-cache.js +19 -1
  384. package/dist/executable/executable-cache.js.map +1 -1
  385. package/dist/executable/executable-cache.test.js +12 -1
  386. package/dist/executable/executable-cache.test.js.map +1 -1
  387. package/dist/executable/prepare.js +2 -1
  388. package/dist/executable/prepare.js.map +1 -1
  389. package/dist/frontend/analysis.js +6 -1
  390. package/dist/frontend/analysis.js.map +1 -1
  391. package/dist/frontend/arguments-usage.d.ts +8 -0
  392. package/dist/frontend/arguments-usage.js +98 -0
  393. package/dist/frontend/arguments-usage.js.map +1 -1
  394. package/dist/frontend/arguments-usage.test.d.ts +1 -0
  395. package/dist/frontend/arguments-usage.test.js +32 -0
  396. package/dist/frontend/arguments-usage.test.js.map +1 -0
  397. package/dist/frontend/builtin-modules.d.ts +16 -2
  398. package/dist/frontend/builtin-modules.js +40 -7
  399. package/dist/frontend/builtin-modules.js.map +1 -1
  400. package/dist/frontend/builtin-package-aliases.d.ts +24 -0
  401. package/dist/frontend/builtin-package-aliases.js +133 -0
  402. package/dist/frontend/builtin-package-aliases.js.map +1 -0
  403. package/dist/frontend/builtin-package-aliases.test.d.ts +1 -0
  404. package/dist/frontend/builtin-package-aliases.test.js +48 -0
  405. package/dist/frontend/builtin-package-aliases.test.js.map +1 -0
  406. package/dist/frontend/cjs-syntax.js +52 -51
  407. package/dist/frontend/cjs-syntax.js.map +1 -1
  408. package/dist/frontend/contract-types.d.ts +3 -0
  409. package/dist/frontend/contract-types.js +36 -7
  410. package/dist/frontend/contract-types.js.map +1 -1
  411. package/dist/frontend/dts-paths.d.ts +4 -0
  412. package/dist/frontend/dts-paths.js +9 -1
  413. package/dist/frontend/dts-paths.js.map +1 -1
  414. package/dist/frontend/experimental-import.d.ts +5 -1
  415. package/dist/frontend/experimental-import.js +26 -7
  416. package/dist/frontend/experimental-import.js.map +1 -1
  417. package/dist/frontend/fork-target.js +20 -22
  418. package/dist/frontend/fork-target.js.map +1 -1
  419. package/dist/frontend/fork-target.test.js +2 -1
  420. package/dist/frontend/fork-target.test.js.map +1 -1
  421. package/dist/frontend/function-completion.js +6 -6
  422. package/dist/frontend/function-completion.js.map +1 -1
  423. package/dist/frontend/helper-tokens.js +15 -3
  424. package/dist/frontend/helper-tokens.js.map +1 -1
  425. package/dist/frontend/helper-tokens.test.js +7 -1
  426. package/dist/frontend/helper-tokens.test.js.map +1 -1
  427. package/dist/frontend/inferred-js-diagnostics.js +14 -17
  428. package/dist/frontend/inferred-js-diagnostics.js.map +1 -1
  429. package/dist/frontend/input-tracker.d.ts +3 -0
  430. package/dist/frontend/input-tracker.js +32 -3
  431. package/dist/frontend/input-tracker.js.map +1 -1
  432. package/dist/frontend/lib-contract.js +36 -32
  433. package/dist/frontend/lib-contract.js.map +1 -1
  434. package/dist/frontend/lib-exports.js +3 -3
  435. package/dist/frontend/lib-exports.js.map +1 -1
  436. package/dist/frontend/lowering/array-values.d.ts +8 -3
  437. package/dist/frontend/lowering/array-values.js +60 -11
  438. package/dist/frontend/lowering/array-values.js.map +1 -1
  439. package/dist/frontend/lowering/assert-instances.js +4 -4
  440. package/dist/frontend/lowering/assert-instances.js.map +1 -1
  441. package/dist/frontend/lowering/assertion-identity.d.ts +12 -0
  442. package/dist/frontend/lowering/assertion-identity.js +70 -0
  443. package/dist/frontend/lowering/assertion-identity.js.map +1 -0
  444. package/dist/frontend/lowering/assertion-members.d.ts +28 -0
  445. package/dist/frontend/lowering/assertion-members.js +185 -0
  446. package/dist/frontend/lowering/assertion-members.js.map +1 -0
  447. package/dist/frontend/lowering/binding-analysis.js +27 -20
  448. package/dist/frontend/lowering/binding-analysis.js.map +1 -1
  449. package/dist/frontend/lowering/builtin-calls.js +63 -5
  450. package/dist/frontend/lowering/builtin-calls.js.map +1 -1
  451. package/dist/frontend/lowering/builtin-function-fences.d.ts +14 -0
  452. package/dist/frontend/lowering/builtin-function-fences.js +42 -0
  453. package/dist/frontend/lowering/builtin-function-fences.js.map +1 -0
  454. package/dist/frontend/lowering/builtins/arguments.js +1 -1
  455. package/dist/frontend/lowering/builtins/arguments.js.map +1 -1
  456. package/dist/frontend/lowering/builtins/async-context.js +53 -52
  457. package/dist/frontend/lowering/builtins/async-context.js.map +1 -1
  458. package/dist/frontend/lowering/builtins/atomics.js +6 -6
  459. package/dist/frontend/lowering/builtins/atomics.js.map +1 -1
  460. package/dist/frontend/lowering/builtins/blob.js +8 -6
  461. package/dist/frontend/lowering/builtins/blob.js.map +1 -1
  462. package/dist/frontend/lowering/builtins/builtin-class-dyn.d.ts +31 -0
  463. package/dist/frontend/lowering/builtins/builtin-class-dyn.js +205 -0
  464. package/dist/frontend/lowering/builtins/builtin-class-dyn.js.map +1 -0
  465. package/dist/frontend/lowering/builtins/callable-aliases.js +17 -5
  466. package/dist/frontend/lowering/builtins/callable-aliases.js.map +1 -1
  467. package/dist/frontend/lowering/builtins/child-process-async.js +7 -7
  468. package/dist/frontend/lowering/builtins/child-process-async.js.map +1 -1
  469. package/dist/frontend/lowering/builtins/child-process-methods.d.ts +6 -4
  470. package/dist/frontend/lowering/builtins/child-process-methods.js +310 -57
  471. package/dist/frontend/lowering/builtins/child-process-methods.js.map +1 -1
  472. package/dist/frontend/lowering/builtins/child-process-sync.js +16 -10
  473. package/dist/frontend/lowering/builtins/child-process-sync.js.map +1 -1
  474. package/dist/frontend/lowering/builtins/child-process.d.ts +6 -4
  475. package/dist/frontend/lowering/builtins/child-process.js +85 -61
  476. package/dist/frontend/lowering/builtins/child-process.js.map +1 -1
  477. package/dist/frontend/lowering/builtins/class-values.d.ts +60 -0
  478. package/dist/frontend/lowering/builtins/class-values.js +226 -0
  479. package/dist/frontend/lowering/builtins/class-values.js.map +1 -0
  480. package/dist/frontend/lowering/builtins/compression.d.ts +9 -0
  481. package/dist/frontend/lowering/builtins/compression.js +107 -44
  482. package/dist/frontend/lowering/builtins/compression.js.map +1 -1
  483. package/dist/frontend/lowering/builtins/constants.d.ts +9 -1
  484. package/dist/frontend/lowering/builtins/constants.js +28 -7
  485. package/dist/frontend/lowering/builtins/constants.js.map +1 -1
  486. package/dist/frontend/lowering/builtins/crypto.d.ts +22 -0
  487. package/dist/frontend/lowering/builtins/crypto.js +215 -38
  488. package/dist/frontend/lowering/builtins/crypto.js.map +1 -1
  489. package/dist/frontend/lowering/builtins/dates.d.ts +7 -1
  490. package/dist/frontend/lowering/builtins/dates.js +92 -16
  491. package/dist/frontend/lowering/builtins/dates.js.map +1 -1
  492. package/dist/frontend/lowering/builtins/disposable-stack.d.ts +18 -0
  493. package/dist/frontend/lowering/builtins/disposable-stack.js +137 -0
  494. package/dist/frontend/lowering/builtins/disposable-stack.js.map +1 -0
  495. package/dist/frontend/lowering/builtins/ecdh.d.ts +10 -0
  496. package/dist/frontend/lowering/builtins/ecdh.js +208 -0
  497. package/dist/frontend/lowering/builtins/ecdh.js.map +1 -0
  498. package/dist/frontend/lowering/builtins/environment.js +3 -3
  499. package/dist/frontend/lowering/builtins/environment.js.map +1 -1
  500. package/dist/frontend/lowering/builtins/errors.d.ts +14 -10
  501. package/dist/frontend/lowering/builtins/errors.js +169 -3
  502. package/dist/frontend/lowering/builtins/errors.js.map +1 -1
  503. package/dist/frontend/lowering/builtins/filesystem-calls.js +128 -116
  504. package/dist/frontend/lowering/builtins/filesystem-calls.js.map +1 -1
  505. package/dist/frontend/lowering/builtins/filesystem.js +77 -77
  506. package/dist/frontend/lowering/builtins/filesystem.js.map +1 -1
  507. package/dist/frontend/lowering/builtins/fs-glob.js +3 -3
  508. package/dist/frontend/lowering/builtins/fs-glob.js.map +1 -1
  509. package/dist/frontend/lowering/builtins/fs-streams.js +10 -11
  510. package/dist/frontend/lowering/builtins/fs-streams.js.map +1 -1
  511. package/dist/frontend/lowering/builtins/ipc.js +45 -8
  512. package/dist/frontend/lowering/builtins/ipc.js.map +1 -1
  513. package/dist/frontend/lowering/builtins/json.js +284 -24
  514. package/dist/frontend/lowering/builtins/json.js.map +1 -1
  515. package/dist/frontend/lowering/builtins/key-object.js +4 -4
  516. package/dist/frontend/lowering/builtins/key-object.js.map +1 -1
  517. package/dist/frontend/lowering/builtins/module-bindings.d.ts +8 -0
  518. package/dist/frontend/lowering/builtins/module-bindings.js +71 -22
  519. package/dist/frontend/lowering/builtins/module-bindings.js.map +1 -1
  520. package/dist/frontend/lowering/builtins/module-calls.js +55 -44
  521. package/dist/frontend/lowering/builtins/module-calls.js.map +1 -1
  522. package/dist/frontend/lowering/builtins/module-resolution.d.ts +4 -3
  523. package/dist/frontend/lowering/builtins/module-resolution.js +24 -23
  524. package/dist/frontend/lowering/builtins/module-resolution.js.map +1 -1
  525. package/dist/frontend/lowering/builtins/navigator.d.ts +13 -0
  526. package/dist/frontend/lowering/builtins/navigator.js +40 -0
  527. package/dist/frontend/lowering/builtins/navigator.js.map +1 -0
  528. package/dist/frontend/lowering/builtins/net-address.d.ts +19 -0
  529. package/dist/frontend/lowering/builtins/net-address.js +156 -0
  530. package/dist/frontend/lowering/builtins/net-address.js.map +1 -0
  531. package/dist/frontend/lowering/builtins/numbers.js +25 -9
  532. package/dist/frontend/lowering/builtins/numbers.js.map +1 -1
  533. package/dist/frontend/lowering/builtins/operating-system.d.ts +4 -0
  534. package/dist/frontend/lowering/builtins/operating-system.js +25 -12
  535. package/dist/frontend/lowering/builtins/operating-system.js.map +1 -1
  536. package/dist/frontend/lowering/builtins/performance.d.ts +12 -0
  537. package/dist/frontend/lowering/builtins/performance.js +259 -8
  538. package/dist/frontend/lowering/builtins/performance.js.map +1 -1
  539. package/dist/frontend/lowering/builtins/process.d.ts +41 -1
  540. package/dist/frontend/lowering/builtins/process.js +505 -99
  541. package/dist/frontend/lowering/builtins/process.js.map +1 -1
  542. package/dist/frontend/lowering/builtins/promises.d.ts +5 -1
  543. package/dist/frontend/lowering/builtins/promises.js +326 -43
  544. package/dist/frontend/lowering/builtins/promises.js.map +1 -1
  545. package/dist/frontend/lowering/builtins/promisify-callback.d.ts +40 -0
  546. package/dist/frontend/lowering/builtins/promisify-callback.js +338 -0
  547. package/dist/frontend/lowering/builtins/promisify-callback.js.map +1 -0
  548. package/dist/frontend/lowering/builtins/properties.js +37 -1
  549. package/dist/frontend/lowering/builtins/properties.js.map +1 -1
  550. package/dist/frontend/lowering/builtins/querystring.js +14 -14
  551. package/dist/frontend/lowering/builtins/querystring.js.map +1 -1
  552. package/dist/frontend/lowering/builtins/readline.d.ts +12 -2
  553. package/dist/frontend/lowering/builtins/readline.js +136 -39
  554. package/dist/frontend/lowering/builtins/readline.js.map +1 -1
  555. package/dist/frontend/lowering/builtins/receiver-types.js +3 -5
  556. package/dist/frontend/lowering/builtins/receiver-types.js.map +1 -1
  557. package/dist/frontend/lowering/builtins/reflection.js +42 -14
  558. package/dist/frontend/lowering/builtins/reflection.js.map +1 -1
  559. package/dist/frontend/lowering/builtins/runtime-constructor.d.ts +26 -0
  560. package/dist/frontend/lowering/builtins/runtime-constructor.js +165 -0
  561. package/dist/frontend/lowering/builtins/runtime-constructor.js.map +1 -0
  562. package/dist/frontend/lowering/builtins/strings.js +101 -12
  563. package/dist/frontend/lowering/builtins/strings.js.map +1 -1
  564. package/dist/frontend/lowering/builtins/text-codecs.js +41 -38
  565. package/dist/frontend/lowering/builtins/text-codecs.js.map +1 -1
  566. package/dist/frontend/lowering/builtins/timers.js +79 -30
  567. package/dist/frontend/lowering/builtins/timers.js.map +1 -1
  568. package/dist/frontend/lowering/builtins/typed-array-members.d.ts +7 -0
  569. package/dist/frontend/lowering/builtins/typed-array-members.js +160 -0
  570. package/dist/frontend/lowering/builtins/typed-array-members.js.map +1 -0
  571. package/dist/frontend/lowering/builtins/url.d.ts +3 -0
  572. package/dist/frontend/lowering/builtins/url.js +120 -17
  573. package/dist/frontend/lowering/builtins/url.js.map +1 -1
  574. package/dist/frontend/lowering/builtins/util-types.js +20 -4
  575. package/dist/frontend/lowering/builtins/util-types.js.map +1 -1
  576. package/dist/frontend/lowering/builtins/v8.d.ts +11 -0
  577. package/dist/frontend/lowering/builtins/v8.js +105 -0
  578. package/dist/frontend/lowering/builtins/v8.js.map +1 -0
  579. package/dist/frontend/lowering/builtins/webassembly.d.ts +33 -0
  580. package/dist/frontend/lowering/builtins/webassembly.js +388 -0
  581. package/dist/frontend/lowering/builtins/webassembly.js.map +1 -0
  582. package/dist/frontend/lowering/builtins/webcrypto.d.ts +20 -0
  583. package/dist/frontend/lowering/builtins/webcrypto.js +112 -0
  584. package/dist/frontend/lowering/builtins/webcrypto.js.map +1 -0
  585. package/dist/frontend/lowering/builtins/workers.d.ts +12 -0
  586. package/dist/frontend/lowering/builtins/workers.js +193 -8
  587. package/dist/frontend/lowering/builtins/workers.js.map +1 -1
  588. package/dist/frontend/lowering/call-arguments.js +69 -14
  589. package/dist/frontend/lowering/call-arguments.js.map +1 -1
  590. package/dist/frontend/lowering/call-signatures.d.ts +23 -1
  591. package/dist/frontend/lowering/call-signatures.js +379 -55
  592. package/dist/frontend/lowering/call-signatures.js.map +1 -1
  593. package/dist/frontend/lowering/checked-promise-all.d.ts +3 -0
  594. package/dist/frontend/lowering/checked-promise-all.js +1 -1
  595. package/dist/frontend/lowering/checked-promise-all.js.map +1 -1
  596. package/dist/frontend/lowering/cjs-exports-object.d.ts +53 -0
  597. package/dist/frontend/lowering/cjs-exports-object.js +561 -0
  598. package/dist/frontend/lowering/cjs-exports-object.js.map +1 -0
  599. package/dist/frontend/lowering/cjs-inline-require.d.ts +86 -0
  600. package/dist/frontend/lowering/cjs-inline-require.js +314 -0
  601. package/dist/frontend/lowering/cjs-inline-require.js.map +1 -0
  602. package/dist/frontend/lowering/cjs-tsc-interop.d.ts +28 -0
  603. package/dist/frontend/lowering/cjs-tsc-interop.js +208 -0
  604. package/dist/frontend/lowering/cjs-tsc-interop.js.map +1 -0
  605. package/dist/frontend/lowering/class-attributes.d.ts +19 -0
  606. package/dist/frontend/lowering/class-attributes.js +378 -0
  607. package/dist/frontend/lowering/class-attributes.js.map +1 -0
  608. package/dist/frontend/lowering/class-callbacks.d.ts +3 -1
  609. package/dist/frontend/lowering/class-callbacks.js +21 -10
  610. package/dist/frontend/lowering/class-callbacks.js.map +1 -1
  611. package/dist/frontend/lowering/class-construction.js +49 -4
  612. package/dist/frontend/lowering/class-construction.js.map +1 -1
  613. package/dist/frontend/lowering/class-descriptors.d.ts +2 -0
  614. package/dist/frontend/lowering/class-descriptors.js +8 -8
  615. package/dist/frontend/lowering/class-descriptors.js.map +1 -1
  616. package/dist/frontend/lowering/class-dynamic-dispatch.d.ts +64 -0
  617. package/dist/frontend/lowering/class-dynamic-dispatch.js +1124 -90
  618. package/dist/frontend/lowering/class-dynamic-dispatch.js.map +1 -1
  619. package/dist/frontend/lowering/class-instance-constructor.js +1 -1
  620. package/dist/frontend/lowering/class-instance-constructor.js.map +1 -1
  621. package/dist/frontend/lowering/class-iterables.d.ts +11 -0
  622. package/dist/frontend/lowering/class-iterables.js +31 -0
  623. package/dist/frontend/lowering/class-iterables.js.map +1 -0
  624. package/dist/frontend/lowering/class-method-mutations.js +73 -35
  625. package/dist/frontend/lowering/class-method-mutations.js.map +1 -1
  626. package/dist/frontend/lowering/class-method-values.js +56 -10
  627. package/dist/frontend/lowering/class-method-values.js.map +1 -1
  628. package/dist/frontend/lowering/class-protocol-dispatch.js +24 -22
  629. package/dist/frontend/lowering/class-protocol-dispatch.js.map +1 -1
  630. package/dist/frontend/lowering/class-protocols.d.ts +10 -0
  631. package/dist/frontend/lowering/class-protocols.js +76 -45
  632. package/dist/frontend/lowering/class-protocols.js.map +1 -1
  633. package/dist/frontend/lowering/class-prototypes.d.ts +6 -0
  634. package/dist/frontend/lowering/class-prototypes.js +86 -19
  635. package/dist/frontend/lowering/class-prototypes.js.map +1 -1
  636. package/dist/frontend/lowering/class-runtime-statics.js +1 -1
  637. package/dist/frontend/lowering/class-runtime-statics.js.map +1 -1
  638. package/dist/frontend/lowering/class-static-data.js +2 -2
  639. package/dist/frontend/lowering/class-static-data.js.map +1 -1
  640. package/dist/frontend/lowering/class-to-primitive.d.ts +25 -0
  641. package/dist/frontend/lowering/class-to-primitive.js +264 -0
  642. package/dist/frontend/lowering/class-to-primitive.js.map +1 -0
  643. package/dist/frontend/lowering/class-unions.d.ts +25 -0
  644. package/dist/frontend/lowering/class-unions.js +102 -1
  645. package/dist/frontend/lowering/class-unions.js.map +1 -1
  646. package/dist/frontend/lowering/code-generation.d.ts +14 -0
  647. package/dist/frontend/lowering/code-generation.js +127 -0
  648. package/dist/frontend/lowering/code-generation.js.map +1 -0
  649. package/dist/frontend/lowering/coercions/fresh-spread.d.ts +13 -0
  650. package/dist/frontend/lowering/coercions/fresh-spread.js +95 -0
  651. package/dist/frontend/lowering/coercions/fresh-spread.js.map +1 -0
  652. package/dist/frontend/lowering/coercions/function-adapters.d.ts +16 -2
  653. package/dist/frontend/lowering/coercions/function-adapters.js +239 -68
  654. package/dist/frontend/lowering/coercions/function-adapters.js.map +1 -1
  655. package/dist/frontend/lowering/coercions/structural-plans.js +25 -3
  656. package/dist/frontend/lowering/coercions/structural-plans.js.map +1 -1
  657. package/dist/frontend/lowering/coercions/structural.js +35 -3
  658. package/dist/frontend/lowering/coercions/structural.js.map +1 -1
  659. package/dist/frontend/lowering/coercions/unions.d.ts +15 -0
  660. package/dist/frontend/lowering/coercions/unions.js +57 -1
  661. package/dist/frontend/lowering/coercions/unions.js.map +1 -1
  662. package/dist/frontend/lowering/collection-ingestion.js +2 -2
  663. package/dist/frontend/lowering/collection-ingestion.js.map +1 -1
  664. package/dist/frontend/lowering/collection-narrowing.js +2 -4
  665. package/dist/frontend/lowering/collection-narrowing.js.map +1 -1
  666. package/dist/frontend/lowering/construction-escapes.js +8 -8
  667. package/dist/frontend/lowering/construction-escapes.js.map +1 -1
  668. package/dist/frontend/lowering/construction-escapes.test.js +4 -4
  669. package/dist/frontend/lowering/construction-escapes.test.js.map +1 -1
  670. package/dist/frontend/lowering/constructor-returns.d.ts +61 -0
  671. package/dist/frontend/lowering/constructor-returns.js +477 -0
  672. package/dist/frontend/lowering/constructor-returns.js.map +1 -0
  673. package/dist/frontend/lowering/containers/array-callback-call.js +1 -1
  674. package/dist/frontend/lowering/containers/array-callback-call.js.map +1 -1
  675. package/dist/frontend/lowering/containers/array-callbacks.d.ts +17 -0
  676. package/dist/frontend/lowering/containers/array-callbacks.js +287 -118
  677. package/dist/frontend/lowering/containers/array-callbacks.js.map +1 -1
  678. package/dist/frontend/lowering/containers/array-concat.js +1 -1
  679. package/dist/frontend/lowering/containers/array-concat.js.map +1 -1
  680. package/dist/frontend/lowering/containers/array-construction.d.ts +0 -1
  681. package/dist/frontend/lowering/containers/array-construction.js +58 -13
  682. package/dist/frontend/lowering/containers/array-construction.js.map +1 -1
  683. package/dist/frontend/lowering/containers/array-from-async.d.ts +6 -5
  684. package/dist/frontend/lowering/containers/array-from-async.js +159 -14
  685. package/dist/frontend/lowering/containers/array-from-async.js.map +1 -1
  686. package/dist/frontend/lowering/containers/array-methods.js +94 -77
  687. package/dist/frontend/lowering/containers/array-methods.js.map +1 -1
  688. package/dist/frontend/lowering/containers/array-pipelines.js +1 -0
  689. package/dist/frontend/lowering/containers/array-pipelines.js.map +1 -1
  690. package/dist/frontend/lowering/containers/bytes.d.ts +9 -0
  691. package/dist/frontend/lowering/containers/bytes.js +649 -113
  692. package/dist/frontend/lowering/containers/bytes.js.map +1 -1
  693. package/dist/frontend/lowering/containers/callback-arguments.d.ts +9 -1
  694. package/dist/frontend/lowering/containers/callback-arguments.js +55 -5
  695. package/dist/frontend/lowering/containers/callback-arguments.js.map +1 -1
  696. package/dist/frontend/lowering/containers/collection-grouping.d.ts +7 -8
  697. package/dist/frontend/lowering/containers/collection-grouping.js +217 -26
  698. package/dist/frontend/lowering/containers/collection-grouping.js.map +1 -1
  699. package/dist/frontend/lowering/containers/collection-methods.js +126 -28
  700. package/dist/frontend/lowering/containers/collection-methods.js.map +1 -1
  701. package/dist/frontend/lowering/containers/dynamic-receivers.js +1 -1
  702. package/dist/frontend/lowering/containers/dynamic-receivers.js.map +1 -1
  703. package/dist/frontend/lowering/containers/exec-result-uses.js +2 -2
  704. package/dist/frontend/lowering/containers/exec-result-uses.js.map +1 -1
  705. package/dist/frontend/lowering/containers/for-of.d.ts +6 -0
  706. package/dist/frontend/lowering/containers/for-of.js +19 -19
  707. package/dist/frontend/lowering/containers/for-of.js.map +1 -1
  708. package/dist/frontend/lowering/containers/indexed-objects.js +142 -57
  709. package/dist/frontend/lowering/containers/indexed-objects.js.map +1 -1
  710. package/dist/frontend/lowering/containers/iterator-helpers.d.ts +53 -4
  711. package/dist/frontend/lowering/containers/iterator-helpers.js +1581 -462
  712. package/dist/frontend/lowering/containers/iterator-helpers.js.map +1 -1
  713. package/dist/frontend/lowering/containers/match-row-uses.d.ts +17 -0
  714. package/dist/frontend/lowering/containers/match-row-uses.js +264 -0
  715. package/dist/frontend/lowering/containers/match-row-uses.js.map +1 -0
  716. package/dist/frontend/lowering/containers/string-and-regexp.d.ts +14 -0
  717. package/dist/frontend/lowering/containers/string-and-regexp.js +455 -30
  718. package/dist/frontend/lowering/containers/string-and-regexp.js.map +1 -1
  719. package/dist/frontend/lowering/containers/string-replacement.js +1 -1
  720. package/dist/frontend/lowering/containers/string-replacement.js.map +1 -1
  721. package/dist/frontend/lowering/cycle-initialization.d.ts +30 -10
  722. package/dist/frontend/lowering/cycle-initialization.js +191 -35
  723. package/dist/frontend/lowering/cycle-initialization.js.map +1 -1
  724. package/dist/frontend/lowering/deferred-module-initializers.js +47 -43
  725. package/dist/frontend/lowering/deferred-module-initializers.js.map +1 -1
  726. package/dist/frontend/lowering/devirtualize.d.ts +1 -1
  727. package/dist/frontend/lowering/devirtualize.js +27 -7
  728. package/dist/frontend/lowering/devirtualize.js.map +1 -1
  729. package/dist/frontend/lowering/divergences.d.ts +0 -5
  730. package/dist/frontend/lowering/divergences.js +62 -125
  731. package/dist/frontend/lowering/divergences.js.map +1 -1
  732. package/dist/frontend/lowering/dyn-streams.d.ts +25 -0
  733. package/dist/frontend/lowering/dyn-streams.js +257 -0
  734. package/dist/frontend/lowering/dyn-streams.js.map +1 -0
  735. package/dist/frontend/lowering/error-methods.js +4 -1
  736. package/dist/frontend/lowering/error-methods.js.map +1 -1
  737. package/dist/frontend/lowering/error-name-order.d.ts +19 -0
  738. package/dist/frontend/lowering/error-name-order.js +93 -0
  739. package/dist/frontend/lowering/error-name-order.js.map +1 -0
  740. package/dist/frontend/lowering/expressions/array-literals.d.ts +21 -0
  741. package/dist/frontend/lowering/expressions/array-literals.js +723 -0
  742. package/dist/frontend/lowering/expressions/array-literals.js.map +1 -0
  743. package/dist/frontend/lowering/expressions/binary.d.ts +35 -0
  744. package/dist/frontend/lowering/expressions/binary.js +2557 -0
  745. package/dist/frontend/lowering/expressions/binary.js.map +1 -0
  746. package/dist/frontend/lowering/expressions/element-access.d.ts +31 -0
  747. package/dist/frontend/lowering/expressions/element-access.js +1804 -0
  748. package/dist/frontend/lowering/expressions/element-access.js.map +1 -0
  749. package/dist/frontend/lowering/expressions/evaluation-safety.js +4 -3
  750. package/dist/frontend/lowering/expressions/evaluation-safety.js.map +1 -1
  751. package/dist/frontend/lowering/expressions/hosted-narrowing.d.ts +38 -0
  752. package/dist/frontend/lowering/expressions/hosted-narrowing.js +160 -0
  753. package/dist/frontend/lowering/expressions/hosted-narrowing.js.map +1 -0
  754. package/dist/frontend/lowering/expressions/identifiers.d.ts +4 -0
  755. package/dist/frontend/lowering/expressions/identifiers.js +830 -0
  756. package/dist/frontend/lowering/expressions/identifiers.js.map +1 -0
  757. package/dist/frontend/lowering/expressions/keyed-field-targets.d.ts +52 -0
  758. package/dist/frontend/lowering/expressions/keyed-field-targets.js +307 -0
  759. package/dist/frontend/lowering/expressions/keyed-field-targets.js.map +1 -0
  760. package/dist/frontend/lowering/expressions/narrowing.d.ts +37 -0
  761. package/dist/frontend/lowering/expressions/narrowing.js +1337 -0
  762. package/dist/frontend/lowering/expressions/narrowing.js.map +1 -0
  763. package/dist/frontend/lowering/expressions/native-proxy.js +4 -4
  764. package/dist/frontend/lowering/expressions/native-proxy.js.map +1 -1
  765. package/dist/frontend/lowering/expressions/nullish-assignment.js +45 -0
  766. package/dist/frontend/lowering/expressions/nullish-assignment.js.map +1 -1
  767. package/dist/frontend/lowering/expressions/object-literals.d.ts +10 -0
  768. package/dist/frontend/lowering/expressions/object-literals.js +301 -86
  769. package/dist/frontend/lowering/expressions/object-literals.js.map +1 -1
  770. package/dist/frontend/lowering/expressions/optional-chains.d.ts +3 -2
  771. package/dist/frontend/lowering/expressions/optional-chains.js +103 -17
  772. package/dist/frontend/lowering/expressions/optional-chains.js.map +1 -1
  773. package/dist/frontend/lowering/expressions/property-access.d.ts +115 -0
  774. package/dist/frontend/lowering/expressions/property-access.js +3787 -0
  775. package/dist/frontend/lowering/expressions/property-access.js.map +1 -0
  776. package/dist/frontend/lowering/expressions/relational.d.ts +28 -0
  777. package/dist/frontend/lowering/expressions/relational.js +1724 -0
  778. package/dist/frontend/lowering/expressions/relational.js.map +1 -0
  779. package/dist/frontend/lowering/expressions/typeof.d.ts +22 -0
  780. package/dist/frontend/lowering/expressions/typeof.js +551 -0
  781. package/dist/frontend/lowering/expressions/typeof.js.map +1 -0
  782. package/dist/frontend/lowering/expressions/union-fields.js +1 -1
  783. package/dist/frontend/lowering/expressions/union-fields.js.map +1 -1
  784. package/dist/frontend/lowering/expressions/updates.d.ts +21 -0
  785. package/dist/frontend/lowering/expressions/updates.js +780 -0
  786. package/dist/frontend/lowering/expressions/updates.js.map +1 -0
  787. package/dist/frontend/lowering/function-context.d.ts +10 -0
  788. package/dist/frontend/lowering/function-context.js +11 -1
  789. package/dist/frontend/lowering/function-context.js.map +1 -1
  790. package/dist/frontend/lowering/function-returns.js +52 -28
  791. package/dist/frontend/lowering/function-returns.js.map +1 -1
  792. package/dist/frontend/lowering/general-streams.d.ts +25 -0
  793. package/dist/frontend/lowering/general-streams.js +108 -0
  794. package/dist/frontend/lowering/general-streams.js.map +1 -0
  795. package/dist/frontend/lowering/generator-delegation.d.ts +8 -0
  796. package/dist/frontend/lowering/generator-delegation.js +191 -1
  797. package/dist/frontend/lowering/generator-delegation.js.map +1 -1
  798. package/dist/frontend/lowering/generator-dynamic-dispatch.d.ts +7 -0
  799. package/dist/frontend/lowering/generator-dynamic-dispatch.js +172 -69
  800. package/dist/frontend/lowering/generator-dynamic-dispatch.js.map +1 -1
  801. package/dist/frontend/lowering/generic-functions.d.ts +43 -0
  802. package/dist/frontend/lowering/generic-functions.js +593 -118
  803. package/dist/frontend/lowering/generic-functions.js.map +1 -1
  804. package/dist/frontend/lowering/handle-properties.d.ts +24 -0
  805. package/dist/frontend/lowering/handle-properties.js +281 -0
  806. package/dist/frontend/lowering/handle-properties.js.map +1 -0
  807. package/dist/frontend/lowering/import-meta.js +2 -2
  808. package/dist/frontend/lowering/import-meta.js.map +1 -1
  809. package/dist/frontend/lowering/intern-tables.js +10 -9
  810. package/dist/frontend/lowering/intern-tables.js.map +1 -1
  811. package/dist/frontend/lowering/iterable-spelling.d.ts +7 -0
  812. package/dist/frontend/lowering/iterable-spelling.js +38 -0
  813. package/dist/frontend/lowering/iterable-spelling.js.map +1 -0
  814. package/dist/frontend/lowering/iterator-adapters.d.ts +19 -0
  815. package/dist/frontend/lowering/iterator-adapters.js +331 -3
  816. package/dist/frontend/lowering/iterator-adapters.js.map +1 -1
  817. package/dist/frontend/lowering/js-class-fields.d.ts +28 -0
  818. package/dist/frontend/lowering/js-class-fields.js +170 -0
  819. package/dist/frontend/lowering/js-class-fields.js.map +1 -0
  820. package/dist/frontend/lowering/js-dynamic-objects.d.ts +15 -0
  821. package/dist/frontend/lowering/js-dynamic-objects.js +299 -0
  822. package/dist/frontend/lowering/js-dynamic-objects.js.map +1 -0
  823. package/dist/frontend/lowering/js-dynamic-objects.test.d.ts +1 -0
  824. package/dist/frontend/lowering/js-dynamic-objects.test.js +35 -0
  825. package/dist/frontend/lowering/js-dynamic-objects.test.js.map +1 -0
  826. package/dist/frontend/lowering/json-require.d.ts +22 -0
  827. package/dist/frontend/lowering/json-require.js +131 -0
  828. package/dist/frontend/lowering/json-require.js.map +1 -0
  829. package/dist/frontend/lowering/key-order-witness.d.ts +44 -0
  830. package/dist/frontend/lowering/key-order-witness.js +641 -0
  831. package/dist/frontend/lowering/key-order-witness.js.map +1 -0
  832. package/dist/frontend/lowering/key-order-witness.test.d.ts +1 -0
  833. package/dist/frontend/lowering/key-order-witness.test.js +239 -0
  834. package/dist/frontend/lowering/key-order-witness.test.js.map +1 -0
  835. package/dist/frontend/lowering/lifetime-regions.js +7 -7
  836. package/dist/frontend/lowering/lifetime-regions.js.map +1 -1
  837. package/dist/frontend/lowering/lower-array-sort.d.ts +33 -15
  838. package/dist/frontend/lowering/lower-array-sort.js +117 -21
  839. package/dist/frontend/lowering/lower-array-sort.js.map +1 -1
  840. package/dist/frontend/lowering/lower-array-sort.test.js +93 -14
  841. package/dist/frontend/lowering/lower-array-sort.test.js.map +1 -1
  842. package/dist/frontend/lowering/lower-assert.js +61 -60
  843. package/dist/frontend/lowering/lower-assert.js.map +1 -1
  844. package/dist/frontend/lowering/lower-async-iteration.d.ts +10 -1
  845. package/dist/frontend/lowering/lower-async-iteration.js +34 -6
  846. package/dist/frontend/lowering/lower-async-iteration.js.map +1 -1
  847. package/dist/frontend/lowering/lower-builtin-values.d.ts +5 -0
  848. package/dist/frontend/lowering/lower-builtin-values.js +33 -3
  849. package/dist/frontend/lowering/lower-builtin-values.js.map +1 -1
  850. package/dist/frontend/lowering/lower-calls.js +1404 -448
  851. package/dist/frontend/lowering/lower-calls.js.map +1 -1
  852. package/dist/frontend/lowering/lower-classes.d.ts +54 -3
  853. package/dist/frontend/lowering/lower-classes.js +1529 -472
  854. package/dist/frontend/lowering/lower-classes.js.map +1 -1
  855. package/dist/frontend/lowering/lower-comptime.d.ts +4 -2
  856. package/dist/frontend/lowering/lower-comptime.js +111 -13
  857. package/dist/frontend/lowering/lower-comptime.js.map +1 -1
  858. package/dist/frontend/lowering/lower-console.js +13 -11
  859. package/dist/frontend/lowering/lower-console.js.map +1 -1
  860. package/dist/frontend/lowering/lower-dgram.d.ts +10 -0
  861. package/dist/frontend/lowering/lower-dgram.js +241 -21
  862. package/dist/frontend/lowering/lower-dgram.js.map +1 -1
  863. package/dist/frontend/lowering/lower-enums.js +113 -14
  864. package/dist/frontend/lowering/lower-enums.js.map +1 -1
  865. package/dist/frontend/lowering/lower-event-emitter.d.ts +16 -7
  866. package/dist/frontend/lowering/lower-event-emitter.js +258 -70
  867. package/dist/frontend/lowering/lower-event-emitter.js.map +1 -1
  868. package/dist/frontend/lowering/lower-event-target.js +2 -2
  869. package/dist/frontend/lowering/lower-event-target.js.map +1 -1
  870. package/dist/frontend/lowering/lower-expando.js +17 -13
  871. package/dist/frontend/lowering/lower-expando.js.map +1 -1
  872. package/dist/frontend/lowering/lower-exprs.d.ts +188 -186
  873. package/dist/frontend/lowering/lower-exprs.js +1509 -12486
  874. package/dist/frontend/lowering/lower-exprs.js.map +1 -1
  875. package/dist/frontend/lowering/lower-functions.js +72 -22
  876. package/dist/frontend/lowering/lower-functions.js.map +1 -1
  877. package/dist/frontend/lowering/lower-generators.d.ts +6 -0
  878. package/dist/frontend/lowering/lower-generators.js +39 -20
  879. package/dist/frontend/lowering/lower-generators.js.map +1 -1
  880. package/dist/frontend/lowering/lower-global-value.js +5 -1
  881. package/dist/frontend/lowering/lower-global-value.js.map +1 -1
  882. package/dist/frontend/lowering/lower-inspect.js +900 -107
  883. package/dist/frontend/lowering/lower-inspect.js.map +1 -1
  884. package/dist/frontend/lowering/lower-mixins.js +23 -20
  885. package/dist/frontend/lowering/lower-mixins.js.map +1 -1
  886. package/dist/frontend/lowering/lower-mock.d.ts +8 -1
  887. package/dist/frontend/lowering/lower-mock.js +185 -18
  888. package/dist/frontend/lowering/lower-mock.js.map +1 -1
  889. package/dist/frontend/lowering/lower-modules.d.ts +11 -3
  890. package/dist/frontend/lowering/lower-modules.js +445 -94
  891. package/dist/frontend/lowering/lower-modules.js.map +1 -1
  892. package/dist/frontend/lowering/lower-namespaces.d.ts +6 -0
  893. package/dist/frontend/lowering/lower-namespaces.js +65 -33
  894. package/dist/frontend/lowering/lower-namespaces.js.map +1 -1
  895. package/dist/frontend/lowering/lower-node-module.d.ts +16 -0
  896. package/dist/frontend/lowering/lower-node-module.js +147 -14
  897. package/dist/frontend/lowering/lower-node-module.js.map +1 -1
  898. package/dist/frontend/lowering/lower-server.d.ts +6 -6
  899. package/dist/frontend/lowering/lower-server.js +514 -101
  900. package/dist/frontend/lowering/lower-server.js.map +1 -1
  901. package/dist/frontend/lowering/lower-stdlib.d.ts +4 -0
  902. package/dist/frontend/lowering/lower-stdlib.js +179 -118
  903. package/dist/frontend/lowering/lower-stdlib.js.map +1 -1
  904. package/dist/frontend/lowering/lower-stmts.d.ts +30 -7
  905. package/dist/frontend/lowering/lower-stmts.js +1950 -433
  906. package/dist/frontend/lowering/lower-stmts.js.map +1 -1
  907. package/dist/frontend/lowering/lower-stream.d.ts +3 -0
  908. package/dist/frontend/lowering/lower-stream.js +398 -56
  909. package/dist/frontend/lowering/lower-stream.js.map +1 -1
  910. package/dist/frontend/lowering/lower-test.d.ts +3 -0
  911. package/dist/frontend/lowering/lower-test.js +437 -62
  912. package/dist/frontend/lowering/lower-test.js.map +1 -1
  913. package/dist/frontend/lowering/lower-timers.js +96 -32
  914. package/dist/frontend/lowering/lower-timers.js.map +1 -1
  915. package/dist/frontend/lowering/lower-url.js +1 -1
  916. package/dist/frontend/lowering/lower-url.js.map +1 -1
  917. package/dist/frontend/lowering/lowerer.d.ts +424 -27
  918. package/dist/frontend/lowering/lowerer.js +2062 -310
  919. package/dist/frontend/lowering/lowerer.js.map +1 -1
  920. package/dist/frontend/lowering/lowerer.test.js +10 -4
  921. package/dist/frontend/lowering/lowerer.test.js.map +1 -1
  922. package/dist/frontend/lowering/maybe-promise.d.ts +46 -0
  923. package/dist/frontend/lowering/maybe-promise.js +249 -0
  924. package/dist/frontend/lowering/maybe-promise.js.map +1 -0
  925. package/dist/frontend/lowering/module-member-this.d.ts +3 -0
  926. package/dist/frontend/lowering/module-member-this.js +262 -0
  927. package/dist/frontend/lowering/module-member-this.js.map +1 -0
  928. package/dist/frontend/lowering/module-namespace-elements.js +1 -1
  929. package/dist/frontend/lowering/module-namespace-elements.js.map +1 -1
  930. package/dist/frontend/lowering/nan-coded-reads.d.ts +3 -0
  931. package/dist/frontend/lowering/nan-coded-reads.js +45 -32
  932. package/dist/frontend/lowering/nan-coded-reads.js.map +1 -1
  933. package/dist/frontend/lowering/narrowing-stability.d.ts +18 -3
  934. package/dist/frontend/lowering/narrowing-stability.js +104 -32
  935. package/dist/frontend/lowering/narrowing-stability.js.map +1 -1
  936. package/dist/frontend/lowering/native-ffi.js +11 -11
  937. package/dist/frontend/lowering/native-ffi.js.map +1 -1
  938. package/dist/frontend/lowering/object-factory-new.js +6 -8
  939. package/dist/frontend/lowering/object-factory-new.js.map +1 -1
  940. package/dist/frontend/lowering/private-brands.d.ts +46 -0
  941. package/dist/frontend/lowering/private-brands.js +265 -0
  942. package/dist/frontend/lowering/private-brands.js.map +1 -0
  943. package/dist/frontend/lowering/promise-executor-adapter.d.ts +11 -0
  944. package/dist/frontend/lowering/promise-executor-adapter.js +87 -0
  945. package/dist/frontend/lowering/promise-executor-adapter.js.map +1 -0
  946. package/dist/frontend/lowering/rebindable-functions.d.ts +8 -0
  947. package/dist/frontend/lowering/rebindable-functions.js +54 -0
  948. package/dist/frontend/lowering/rebindable-functions.js.map +1 -0
  949. package/dist/frontend/lowering/require-initialization.d.ts +32 -0
  950. package/dist/frontend/lowering/require-initialization.js +246 -0
  951. package/dist/frontend/lowering/require-initialization.js.map +1 -0
  952. package/dist/frontend/lowering/runtime-optional-bounds.js +7 -7
  953. package/dist/frontend/lowering/runtime-optional-bounds.js.map +1 -1
  954. package/dist/frontend/lowering/runtime-optional-elements.js +12 -12
  955. package/dist/frontend/lowering/runtime-optional-elements.js.map +1 -1
  956. package/dist/frontend/lowering/runtime-optional-guards.js +10 -10
  957. package/dist/frontend/lowering/runtime-optional-guards.js.map +1 -1
  958. package/dist/frontend/lowering/runtime-optional-guards.test.js +1 -1
  959. package/dist/frontend/lowering/runtime-optional-guards.test.js.map +1 -1
  960. package/dist/frontend/lowering/runtime-optional-ownership.js +10 -9
  961. package/dist/frontend/lowering/runtime-optional-ownership.js.map +1 -1
  962. package/dist/frontend/lowering/runtime-optional-provenance.js +2 -2
  963. package/dist/frontend/lowering/runtime-optional-provenance.js.map +1 -1
  964. package/dist/frontend/lowering/runtime-optional-records.d.ts +35 -0
  965. package/dist/frontend/lowering/runtime-optional-records.js +205 -32
  966. package/dist/frontend/lowering/runtime-optional-records.js.map +1 -1
  967. package/dist/frontend/lowering/runtime-optional-records.test.js +19 -1
  968. package/dist/frontend/lowering/runtime-optional-records.test.js.map +1 -1
  969. package/dist/frontend/lowering/sanitize-class-types.test.js +2 -2
  970. package/dist/frontend/lowering/split-consumers.js +4 -4
  971. package/dist/frontend/lowering/split-consumers.js.map +1 -1
  972. package/dist/frontend/lowering/static-function-names.d.ts +28 -0
  973. package/dist/frontend/lowering/static-function-names.js +212 -0
  974. package/dist/frontend/lowering/static-function-names.js.map +1 -0
  975. package/dist/frontend/lowering/static-this.js +6 -6
  976. package/dist/frontend/lowering/static-this.js.map +1 -1
  977. package/dist/frontend/lowering/static-typeof.d.ts +26 -0
  978. package/dist/frontend/lowering/static-typeof.js +133 -0
  979. package/dist/frontend/lowering/static-typeof.js.map +1 -0
  980. package/dist/frontend/lowering/strict-mode.d.ts +5 -0
  981. package/dist/frontend/lowering/strict-mode.js +31 -0
  982. package/dist/frontend/lowering/strict-mode.js.map +1 -0
  983. package/dist/frontend/lowering/string-index-bounds.js +13 -12
  984. package/dist/frontend/lowering/string-index-bounds.js.map +1 -1
  985. package/dist/frontend/lowering/string-index.d.ts +12 -0
  986. package/dist/frontend/lowering/string-index.js +72 -1
  987. package/dist/frontend/lowering/string-index.js.map +1 -1
  988. package/dist/frontend/lowering/surfaces.d.ts +12 -3
  989. package/dist/frontend/lowering/surfaces.js +282 -45
  990. package/dist/frontend/lowering/surfaces.js.map +1 -1
  991. package/dist/frontend/lowering/symbol-fields.d.ts +7 -0
  992. package/dist/frontend/lowering/symbol-fields.js +204 -36
  993. package/dist/frontend/lowering/symbol-fields.js.map +1 -1
  994. package/dist/frontend/lowering/symbol-methods.d.ts +2 -1
  995. package/dist/frontend/lowering/symbol-methods.js +24 -6
  996. package/dist/frontend/lowering/symbol-methods.js.map +1 -1
  997. package/dist/frontend/lowering/thenables.d.ts +16 -0
  998. package/dist/frontend/lowering/thenables.js +124 -0
  999. package/dist/frontend/lowering/thenables.js.map +1 -0
  1000. package/dist/frontend/lowering/thread-slots.d.ts +13 -0
  1001. package/dist/frontend/lowering/thread-slots.js +208 -0
  1002. package/dist/frontend/lowering/thread-slots.js.map +1 -0
  1003. package/dist/frontend/lowering/typed-arguments.d.ts +74 -0
  1004. package/dist/frontend/lowering/typed-arguments.js +472 -0
  1005. package/dist/frontend/lowering/typed-arguments.js.map +1 -0
  1006. package/dist/frontend/lowering/union-retag.d.ts +8 -0
  1007. package/dist/frontend/lowering/union-retag.js +27 -0
  1008. package/dist/frontend/lowering/union-retag.js.map +1 -1
  1009. package/dist/frontend/lowering/union-retag.test.js +24 -1
  1010. package/dist/frontend/lowering/union-retag.test.js.map +1 -1
  1011. package/dist/frontend/lowering/var-hoisting.js +6 -6
  1012. package/dist/frontend/lowering/var-hoisting.js.map +1 -1
  1013. package/dist/frontend/lowering/width-lift.d.ts +4 -0
  1014. package/dist/frontend/mock-shapes.js +13 -6
  1015. package/dist/frontend/mock-shapes.js.map +1 -1
  1016. package/dist/frontend/module-source-candidates.js +1 -1
  1017. package/dist/frontend/module-source-candidates.js.map +1 -1
  1018. package/dist/frontend/module-source-candidates.test.js +2 -1
  1019. package/dist/frontend/module-source-candidates.test.js.map +1 -1
  1020. package/dist/frontend/module-syntax.js +8 -8
  1021. package/dist/frontend/module-syntax.js.map +1 -1
  1022. package/dist/frontend/npm-static-builtin-aliases.d.ts +8 -0
  1023. package/dist/frontend/npm-static-builtin-aliases.js +65 -0
  1024. package/dist/frontend/npm-static-builtin-aliases.js.map +1 -0
  1025. package/dist/frontend/npm-static-bundled-chunks.d.ts +58 -0
  1026. package/dist/frontend/npm-static-bundled-chunks.js +981 -0
  1027. package/dist/frontend/npm-static-bundled-chunks.js.map +1 -0
  1028. package/dist/frontend/npm-static-bundled-chunks.test.d.ts +1 -0
  1029. package/dist/frontend/npm-static-bundled-chunks.test.js +399 -0
  1030. package/dist/frontend/npm-static-bundled-chunks.test.js.map +1 -0
  1031. package/dist/frontend/npm-static-bundled-cjs.js +24 -23
  1032. package/dist/frontend/npm-static-bundled-cjs.js.map +1 -1
  1033. package/dist/frontend/npm-static-bundled-esm.d.ts +9 -0
  1034. package/dist/frontend/npm-static-bundled-esm.js +988 -0
  1035. package/dist/frontend/npm-static-bundled-esm.js.map +1 -0
  1036. package/dist/frontend/npm-static-bundled-esm.test.d.ts +1 -0
  1037. package/dist/frontend/npm-static-bundled-esm.test.js +336 -0
  1038. package/dist/frontend/npm-static-bundled-esm.test.js.map +1 -0
  1039. package/dist/frontend/npm-static-cjs-exports-alias.d.ts +2 -0
  1040. package/dist/frontend/npm-static-cjs-exports-alias.js +186 -0
  1041. package/dist/frontend/npm-static-cjs-exports-alias.js.map +1 -0
  1042. package/dist/frontend/npm-static-cjs-exports-alias.test.d.ts +1 -0
  1043. package/dist/frontend/npm-static-cjs-exports-alias.test.js +73 -0
  1044. package/dist/frontend/npm-static-cjs-exports-alias.test.js.map +1 -0
  1045. package/dist/frontend/npm-static-cjs-exports-var.d.ts +2 -0
  1046. package/dist/frontend/npm-static-cjs-exports-var.js +236 -0
  1047. package/dist/frontend/npm-static-cjs-exports-var.js.map +1 -0
  1048. package/dist/frontend/npm-static-declaration-syntax.js +102 -101
  1049. package/dist/frontend/npm-static-declaration-syntax.js.map +1 -1
  1050. package/dist/frontend/npm-static-enum-iife.d.ts +6 -0
  1051. package/dist/frontend/npm-static-enum-iife.js +280 -0
  1052. package/dist/frontend/npm-static-enum-iife.js.map +1 -0
  1053. package/dist/frontend/npm-static-enum-iife.test.d.ts +1 -0
  1054. package/dist/frontend/npm-static-enum-iife.test.js +116 -0
  1055. package/dist/frontend/npm-static-enum-iife.test.js.map +1 -0
  1056. package/dist/frontend/npm-static-prune.js +36 -24
  1057. package/dist/frontend/npm-static-prune.js.map +1 -1
  1058. package/dist/frontend/npm-static-rewrite-host.d.ts +4 -1
  1059. package/dist/frontend/npm-static-rewrite-host.js +14 -3
  1060. package/dist/frontend/npm-static-rewrite-host.js.map +1 -1
  1061. package/dist/frontend/npm-static-rewrite-syntax.d.ts +19 -0
  1062. package/dist/frontend/npm-static-rewrite-syntax.js +274 -101
  1063. package/dist/frontend/npm-static-rewrite-syntax.js.map +1 -1
  1064. package/dist/frontend/npm-static-subtyping.js +7 -9
  1065. package/dist/frontend/npm-static-subtyping.js.map +1 -1
  1066. package/dist/frontend/npm-static.d.ts +25 -1
  1067. package/dist/frontend/npm-static.js +212 -16
  1068. package/dist/frontend/npm-static.js.map +1 -1
  1069. package/dist/frontend/npm-static.test.js +22 -1
  1070. package/dist/frontend/npm-static.test.js.map +1 -1
  1071. package/dist/frontend/npm.js +13 -0
  1072. package/dist/frontend/npm.js.map +1 -1
  1073. package/dist/frontend/package-shims.d.ts +47 -0
  1074. package/dist/frontend/package-shims.js +300 -0
  1075. package/dist/frontend/package-shims.js.map +1 -0
  1076. package/dist/frontend/pipeline.js +230 -26
  1077. package/dist/frontend/pipeline.js.map +1 -1
  1078. package/dist/frontend/pipeline.test.js +22 -1
  1079. package/dist/frontend/pipeline.test.js.map +1 -1
  1080. package/dist/frontend/program-analysis.d.ts +6 -1
  1081. package/dist/frontend/program-analysis.js +7 -0
  1082. package/dist/frontend/program-analysis.js.map +1 -1
  1083. package/dist/frontend/program.d.ts +100 -2
  1084. package/dist/frontend/program.js +1627 -262
  1085. package/dist/frontend/program.js.map +1 -1
  1086. package/dist/frontend/program.test.js +76 -6
  1087. package/dist/frontend/program.test.js.map +1 -1
  1088. package/dist/frontend/resolve.js +49 -2
  1089. package/dist/frontend/resolve.js.map +1 -1
  1090. package/dist/frontend/resolve.test.js +49 -0
  1091. package/dist/frontend/resolve.test.js.map +1 -1
  1092. package/dist/frontend/services.d.ts +26 -1
  1093. package/dist/frontend/services.js +59 -3
  1094. package/dist/frontend/services.js.map +1 -1
  1095. package/dist/frontend/services.test.js +2 -1
  1096. package/dist/frontend/services.test.js.map +1 -1
  1097. package/dist/frontend/threads-import.js +1 -1
  1098. package/dist/frontend/threads-import.js.map +1 -1
  1099. package/dist/frontend/tier-analysis.d.ts +71 -0
  1100. package/dist/frontend/tier-analysis.js +522 -0
  1101. package/dist/frontend/tier-analysis.js.map +1 -0
  1102. package/dist/frontend/ts7/api-conformance.d.ts +234 -0
  1103. package/dist/frontend/ts7/api-conformance.js +7 -0
  1104. package/dist/frontend/ts7/api-conformance.js.map +1 -0
  1105. package/dist/frontend/ts7/ast-guards.generated.js +2 -1
  1106. package/dist/frontend/ts7/ast-guards.generated.js.map +1 -1
  1107. package/dist/frontend/ts7/ast-node.d.ts +47 -25
  1108. package/dist/frontend/ts7/ast-node.js +64 -18
  1109. package/dist/frontend/ts7/ast-node.js.map +1 -1
  1110. package/dist/frontend/ts7/ast-node.test.js +36 -12
  1111. package/dist/frontend/ts7/ast-node.test.js.map +1 -1
  1112. package/dist/frontend/ts7/ast-types.d.ts +10 -3
  1113. package/dist/frontend/ts7/ast-types.generated.d.ts +39 -39
  1114. package/dist/frontend/ts7/ast.d.ts +1 -0
  1115. package/dist/frontend/ts7/ast.js +3 -2
  1116. package/dist/frontend/ts7/ast.js.map +1 -1
  1117. package/dist/frontend/ts7/checker-backend.d.ts +23 -0
  1118. package/dist/frontend/ts7/checker-backend.js +88 -0
  1119. package/dist/frontend/ts7/checker-backend.js.map +1 -0
  1120. package/dist/frontend/ts7/checker-backend.test.d.ts +1 -0
  1121. package/dist/frontend/ts7/checker-backend.test.js +63 -0
  1122. package/dist/frontend/ts7/checker-backend.test.js.map +1 -0
  1123. package/dist/frontend/ts7/checker-cache.d.ts +0 -3
  1124. package/dist/frontend/ts7/checker-cache.js +0 -6
  1125. package/dist/frontend/ts7/checker-cache.js.map +1 -1
  1126. package/dist/frontend/ts7/checker.d.ts +18 -11
  1127. package/dist/frontend/ts7/checker.js +42 -55
  1128. package/dist/frontend/ts7/checker.js.map +1 -1
  1129. package/dist/frontend/ts7/checker.test.js +10 -7
  1130. package/dist/frontend/ts7/checker.test.js.map +1 -1
  1131. package/dist/frontend/ts7/diagnostic.d.ts +19 -0
  1132. package/dist/frontend/ts7/diagnostic.js +22 -0
  1133. package/dist/frontend/ts7/diagnostic.js.map +1 -0
  1134. package/dist/frontend/ts7/node-functions.d.ts +8 -0
  1135. package/dist/frontend/ts7/node-functions.js +18 -0
  1136. package/dist/frontend/ts7/node-functions.js.map +1 -0
  1137. package/dist/frontend/ts7/program-host.d.ts +10 -5
  1138. package/dist/frontend/ts7/program-host.js +19 -0
  1139. package/dist/frontend/ts7/program-host.js.map +1 -1
  1140. package/dist/frontend/ts7/rpc-api.d.ts +5 -1
  1141. package/dist/frontend/ts7/rpc-api.js +8 -1
  1142. package/dist/frontend/ts7/rpc-api.js.map +1 -1
  1143. package/dist/frontend/ts7/semantic-checker.d.ts +13 -6
  1144. package/dist/frontend/ts7/semantic-checker.js +26 -8
  1145. package/dist/frontend/ts7/semantic-checker.js.map +1 -1
  1146. package/dist/frontend/ts7/semantic-checker.test.js +12 -9
  1147. package/dist/frontend/ts7/semantic-checker.test.js.map +1 -1
  1148. package/dist/frontend/ts7/semantic-model.d.ts +57 -24
  1149. package/dist/frontend/ts7/semantic-model.js +114 -16
  1150. package/dist/frontend/ts7/semantic-model.js.map +1 -1
  1151. package/dist/frontend/ts7/semantic-model.test.js +4 -4
  1152. package/dist/frontend/ts7/semantic-model.test.js.map +1 -1
  1153. package/dist/frontend/ts7/semantic-types.d.ts +7 -3
  1154. package/dist/frontend/ts7/semantic-types.js +1 -1
  1155. package/dist/frontend/ts7/semantic-types.js.map +1 -1
  1156. package/dist/frontend/ts7/session.d.ts +30 -15
  1157. package/dist/frontend/ts7/session.js +8 -5
  1158. package/dist/frontend/ts7/session.js.map +1 -1
  1159. package/dist/frontend/ts7/session.test.js +9 -5
  1160. package/dist/frontend/ts7/session.test.js.map +1 -1
  1161. package/dist/frontend/ts7/source-parser.d.ts +6 -2
  1162. package/dist/frontend/ts7/source-parser.js +24 -3
  1163. package/dist/frontend/ts7/source-parser.js.map +1 -1
  1164. package/dist/frontend/ts7/source-parser.test.js +38 -17
  1165. package/dist/frontend/ts7/source-parser.test.js.map +1 -1
  1166. package/dist/frontend/type-mapper.d.ts +122 -2
  1167. package/dist/frontend/type-mapper.js +2735 -723
  1168. package/dist/frontend/type-mapper.js.map +1 -1
  1169. package/dist/frontend/type-only-imports.d.ts +28 -0
  1170. package/dist/frontend/type-only-imports.js +122 -0
  1171. package/dist/frontend/type-only-imports.js.map +1 -0
  1172. package/dist/frontend/worker-target.js +8 -8
  1173. package/dist/frontend/worker-target.js.map +1 -1
  1174. package/dist/index.d.ts +4 -1
  1175. package/dist/index.js +87 -8
  1176. package/dist/index.js.map +1 -1
  1177. package/dist/ir/analysis.js +4 -2
  1178. package/dist/ir/analysis.js.map +1 -1
  1179. package/dist/ir/api.d.ts +1 -1
  1180. package/dist/ir/api.js +1 -1
  1181. package/dist/ir/api.js.map +1 -1
  1182. package/dist/ir/array-length-stability.d.ts +31 -0
  1183. package/dist/ir/array-length-stability.js +249 -0
  1184. package/dist/ir/array-length-stability.js.map +1 -0
  1185. package/dist/ir/array-length-stability.test.d.ts +1 -0
  1186. package/dist/ir/array-length-stability.test.js +134 -0
  1187. package/dist/ir/array-length-stability.test.js.map +1 -0
  1188. package/dist/ir/build.d.ts +2 -2
  1189. package/dist/ir/build.js +1 -1
  1190. package/dist/ir/build.js.map +1 -1
  1191. package/dist/ir/builtin-effects.js +116 -0
  1192. package/dist/ir/builtin-effects.js.map +1 -1
  1193. package/dist/ir/builtin-signatures.d.ts +1 -1
  1194. package/dist/ir/builtin-signatures.js +540 -29
  1195. package/dist/ir/builtin-signatures.js.map +1 -1
  1196. package/dist/ir/byte-numbers.js +3 -0
  1197. package/dist/ir/byte-numbers.js.map +1 -1
  1198. package/dist/ir/callback-specialization.d.ts +37 -0
  1199. package/dist/ir/callback-specialization.js +459 -0
  1200. package/dist/ir/callback-specialization.js.map +1 -0
  1201. package/dist/ir/callback-specialization.test.d.ts +1 -0
  1202. package/dist/ir/callback-specialization.test.js +208 -0
  1203. package/dist/ir/callback-specialization.test.js.map +1 -0
  1204. package/dist/ir/capture-values.d.ts +0 -1
  1205. package/dist/ir/capture-values.js +51 -40
  1206. package/dist/ir/capture-values.js.map +1 -1
  1207. package/dist/ir/constant-globals.test.js +1 -1
  1208. package/dist/ir/constant-tables.test.js +1 -1
  1209. package/dist/ir/field-values.test.js +1 -1
  1210. package/dist/ir/final-fields.test.js +1 -1
  1211. package/dist/ir/function-references.test.js +9 -1
  1212. package/dist/ir/function-references.test.js.map +1 -1
  1213. package/dist/ir/init-only-globals.test.js +1 -1
  1214. package/dist/ir/initializer-bindings.test.js +1 -1
  1215. package/dist/ir/int32-slots.d.ts +14 -0
  1216. package/dist/ir/int32-slots.js +97 -14
  1217. package/dist/ir/int32-slots.js.map +1 -1
  1218. package/dist/ir/int32-slots.test.js +1 -1
  1219. package/dist/ir/integer-loop-facts.d.ts +7 -0
  1220. package/dist/ir/integer-loop-facts.js +103 -17
  1221. package/dist/ir/integer-loop-facts.js.map +1 -1
  1222. package/dist/ir/integer-loops.d.ts +1 -1
  1223. package/dist/ir/integer-loops.js +39 -9
  1224. package/dist/ir/integer-loops.js.map +1 -1
  1225. package/dist/ir/integer-loops.test.js +104 -0
  1226. package/dist/ir/integer-loops.test.js.map +1 -1
  1227. package/dist/ir/integer-ranges.d.ts +13 -1
  1228. package/dist/ir/integer-ranges.js +125 -26
  1229. package/dist/ir/integer-ranges.js.map +1 -1
  1230. package/dist/ir/integer-ranges.test.js +273 -2
  1231. package/dist/ir/integer-ranges.test.js.map +1 -1
  1232. package/dist/ir/intrinsic-signatures.js +6 -0
  1233. package/dist/ir/intrinsic-signatures.js.map +1 -1
  1234. package/dist/ir/ir.d.ts +221 -58
  1235. package/dist/ir/ir.js +127 -12
  1236. package/dist/ir/ir.js.map +1 -1
  1237. package/dist/ir/ir.test.js +10 -0
  1238. package/dist/ir/ir.test.js.map +1 -1
  1239. package/dist/ir/js-ic.d.ts +52 -0
  1240. package/dist/ir/js-ic.js +199 -0
  1241. package/dist/ir/js-ic.js.map +1 -0
  1242. package/dist/ir/js-ic.test.d.ts +1 -0
  1243. package/dist/ir/js-ic.test.js +148 -0
  1244. package/dist/ir/js-ic.test.js.map +1 -0
  1245. package/dist/ir/jsval.d.ts +8 -0
  1246. package/dist/ir/jsval.js +399 -0
  1247. package/dist/ir/jsval.js.map +1 -0
  1248. package/dist/ir/jsval.test.d.ts +1 -0
  1249. package/dist/ir/jsval.test.js +239 -0
  1250. package/dist/ir/jsval.test.js.map +1 -0
  1251. package/dist/ir/runtime-features.d.ts +183 -33
  1252. package/dist/ir/runtime-features.js +795 -422
  1253. package/dist/ir/runtime-features.js.map +1 -1
  1254. package/dist/ir/scalar-records.test.js +1 -1
  1255. package/dist/ir/self-captures.d.ts +33 -0
  1256. package/dist/ir/self-captures.js +245 -0
  1257. package/dist/ir/self-captures.js.map +1 -0
  1258. package/dist/ir/self-captures.test.d.ts +1 -0
  1259. package/dist/ir/self-captures.test.js +135 -0
  1260. package/dist/ir/self-captures.test.js.map +1 -0
  1261. package/dist/ir/serialize.d.ts +1 -1
  1262. package/dist/ir/serialize.js +7 -4
  1263. package/dist/ir/serialize.js.map +1 -1
  1264. package/dist/ir/tiers.d.ts +26 -0
  1265. package/dist/ir/tiers.js +101 -0
  1266. package/dist/ir/tiers.js.map +1 -0
  1267. package/dist/ir/tiers.test.d.ts +1 -0
  1268. package/dist/ir/tiers.test.js +140 -0
  1269. package/dist/ir/tiers.test.js.map +1 -0
  1270. package/dist/ir/traverse.js +201 -150
  1271. package/dist/ir/traverse.js.map +1 -1
  1272. package/dist/ir/traverse.test.js +33 -30
  1273. package/dist/ir/traverse.test.js.map +1 -1
  1274. package/dist/ir/unshare.js +65 -3
  1275. package/dist/ir/unshare.js.map +1 -1
  1276. package/dist/ir/unshare.test.js +1 -1
  1277. package/dist/ir/validate.js +196 -76
  1278. package/dist/ir/validate.js.map +1 -1
  1279. package/dist/ir/validate.test.js +41 -11
  1280. package/dist/ir/validate.test.js.map +1 -1
  1281. package/dist/library/fence-eval.test.js +1 -1
  1282. package/dist/library/int-infer.test.js +4 -4
  1283. package/dist/library/ir-policy.js +14 -0
  1284. package/dist/library/ir-policy.js.map +1 -1
  1285. package/dist/library/library-cache.d.ts +1 -0
  1286. package/dist/library/library-cache.js.map +1 -1
  1287. package/dist/library/library-cache.test.js +5 -5
  1288. package/dist/library/library-profile.d.ts +4 -4
  1289. package/dist/library/library-profile.js +35 -7
  1290. package/dist/library/library-profile.js.map +1 -1
  1291. package/dist/library/prepare.js +13 -1
  1292. package/dist/library/prepare.js.map +1 -1
  1293. package/dist/native/cli.js +22 -0
  1294. package/dist/native/cli.js.map +1 -1
  1295. package/dist/native/compiler.js +35 -6
  1296. package/dist/native/compiler.js.map +1 -1
  1297. package/dist/native/compiler.test.js +2 -2
  1298. package/dist/native/executable-cache.js +3 -0
  1299. package/dist/native/executable-cache.js.map +1 -1
  1300. package/dist/native/prepare.js +10 -0
  1301. package/dist/native/prepare.js.map +1 -1
  1302. package/dist/native/sanitizer.test.js +19 -0
  1303. package/dist/native/sanitizer.test.js.map +1 -1
  1304. package/dist/native/toolchain.d.ts +2 -0
  1305. package/dist/native/toolchain.js +10 -1
  1306. package/dist/native/toolchain.js.map +1 -1
  1307. package/dist/native/toolchain.test.js +39 -1
  1308. package/dist/native/toolchain.test.js.map +1 -1
  1309. package/dist/startup-cache.d.ts +1 -0
  1310. package/dist/startup-cache.js +1 -0
  1311. package/dist/startup-cache.js.map +1 -1
  1312. package/dist/wasm/base64.d.ts +5 -0
  1313. package/dist/wasm/base64.js +62 -0
  1314. package/dist/wasm/base64.js.map +1 -0
  1315. package/dist/wasm/binary.d.ts +36 -0
  1316. package/dist/wasm/binary.js +1976 -0
  1317. package/dist/wasm/binary.js.map +1 -0
  1318. package/dist/wasm/binary.test.d.ts +1 -0
  1319. package/dist/wasm/binary.test.js +190 -0
  1320. package/dist/wasm/binary.test.js.map +1 -0
  1321. package/dist/wasm/discover.d.ts +38 -0
  1322. package/dist/wasm/discover.js +377 -0
  1323. package/dist/wasm/discover.js.map +1 -0
  1324. package/dist/wasm/discover.test.d.ts +1 -0
  1325. package/dist/wasm/discover.test.js +24 -0
  1326. package/dist/wasm/discover.test.js.map +1 -0
  1327. package/dist/wasm/module.d.ts +151 -0
  1328. package/dist/wasm/module.js +575 -0
  1329. package/dist/wasm/module.js.map +1 -0
  1330. package/dist/wasm/translate.d.ts +48 -0
  1331. package/dist/wasm/translate.js +2129 -0
  1332. package/dist/wasm/translate.js.map +1 -0
  1333. package/dist/wasm/translate.test.d.ts +1 -0
  1334. package/dist/wasm/translate.test.js +207 -0
  1335. package/dist/wasm/translate.test.js.map +1 -0
  1336. package/package.json +22 -20
  1337. package/shims/fs-extra/core/api.ts +1192 -0
  1338. package/shims/fs-extra/index.ts +9 -0
  1339. package/shims/undici/core/agent.ts +163 -0
  1340. package/shims/undici/core/api.ts +93 -0
  1341. package/shims/undici/core/client.ts +1304 -0
  1342. package/shims/undici/core/connector.ts +157 -0
  1343. package/shims/undici/core/diagnostics-types.ts +68 -0
  1344. package/shims/undici/core/diagnostics.ts +16 -0
  1345. package/shims/undici/core/dispatcher.ts +574 -0
  1346. package/shims/undici/core/errors-v5.ts +22 -0
  1347. package/shims/undici/core/errors-v7.ts +25 -0
  1348. package/shims/undici/core/errors.ts +255 -0
  1349. package/shims/undici/core/fetch.ts +635 -0
  1350. package/shims/undici/core/pool.ts +280 -0
  1351. package/shims/undici/core/readable.ts +268 -0
  1352. package/shims/undici/core/request.ts +313 -0
  1353. package/shims/undici/core/timers.ts +80 -0
  1354. package/shims/undici/core/types.ts +167 -0
  1355. package/shims/undici/core/util.ts +67 -0
  1356. package/shims/undici/v5.ts +119 -0
  1357. package/shims/undici/v7.ts +119 -0
  1358. package/surface-manifest.json +304 -22
@@ -80,21 +80,54 @@ declare namespace NodeJS {
80
80
  path?: string | undefined;
81
81
  syscall?: string | undefined;
82
82
  }
83
- /* The piped child-output stream (child.stdout / child.stderr under
84
- * stdio ["ignore", "pipe", "pipe"]): 'data' fires one Buffer chunk per
85
- * read (≤64KB, consumer-driven — no listener, no read), 'end' fires
86
- * once at EOF and always BEFORE the child's 'exit'. A flowing stream
87
- * keeps the loop alive. */
83
+ /* The readable-stream interface every Node stream implements. The
84
+ * piped child-output stream (child.stdout / child.stderr under stdio
85
+ * ["ignore", "pipe", "pipe"]) is declared with it: 'data' fires one
86
+ * Buffer chunk per read (≤64KB, consumer-driven — no listener, no
87
+ * read), 'end' fires once at EOF and always BEFORE the child's 'exit'. A
88
+ * flowing stream keeps the loop alive. A program that also passes
89
+ * other streams (fs, zlib, node:stream) where this interface is
90
+ * expected compiles it as the node:stream Readable, with child output
91
+ * bridged into one. */
88
92
  interface ReadableStream {
89
93
  on(event: "data", listener: (chunk: Buffer) => void): void;
90
94
  on(event: "data", listener: (chunk: string) => void): void;
91
95
  on(event: "end", listener: () => void): void;
96
+ on(event: string, listener: (...args: any[]) => void): void;
92
97
  once(event: "data", listener: (chunk: Buffer) => void): void;
93
98
  once(event: "data", listener: (chunk: string) => void): void;
94
99
  once(event: "end", listener: () => void): void;
100
+ once(event: string, listener: (...args: any[]) => void): void;
95
101
  /* setEncoding('utf8') makes subsequent data chunks strings, including
96
102
  * multibyte sequences split across native pipe reads. */
97
103
  setEncoding(encoding: string): this;
104
+ readonly readable: boolean;
105
+ pause(): this;
106
+ resume(): this;
107
+ isPaused(): boolean;
108
+ pipe<T extends WritableStream>(destination: T, options?: { end?: boolean }): T;
109
+ unpipe(destination?: WritableStream): this;
110
+ [Symbol.asyncIterator](): AsyncIterableIterator<string | Buffer>;
111
+ }
112
+ /* The writable-stream interface every Node stream implements:
113
+ * process.stdout/process.stderr, fs.WriteStream and the node:stream
114
+ * Writable family. Written only to the process streams, it compiles as
115
+ * their descriptor; with other streams flowing into it, as the
116
+ * node:stream Writable (the process streams convert into one). */
117
+ interface WritableStream {
118
+ readonly writable: boolean;
119
+ write(data: string | Uint8Array, callback?: (error?: Error | null) => void): boolean;
120
+ write(
121
+ data: string | Uint8Array,
122
+ encoding: BufferEncoding,
123
+ callback?: (error?: Error | null) => void,
124
+ ): boolean;
125
+ end(callback?: () => void): void;
126
+ end(data: string | Uint8Array, callback?: () => void): void;
127
+ end(data: string | Uint8Array, encoding: BufferEncoding, callback?: () => void): void;
128
+ /* Node's EventEmitter signature: listeners take untyped arguments. */
129
+ on(event: string, listener: (...args: any[]) => void): void;
130
+ once(event: string, listener: (...args: any[]) => void): void;
98
131
  }
99
132
  }
100
133
 
@@ -511,14 +544,119 @@ declare var DOMException: {
511
544
  readonly prototype: DOMException;
512
545
  };
513
546
 
514
- /* Capability-gated globals harness code probes behind feature guards
515
- * (globalThis.crypto under a hasCrypto check, the SQLite-backed storage
516
- * pair): typed `unknown` — no lowering exists, the guard is expected to
517
- * be false in a compiled binary, and any reached use fences per site. */
518
- declare var crypto: unknown;
547
+ /* WebCrypto's HMAC slice (scr_webcrypto.c): crypto.subtle's importKey for
548
+ * raw HMAC keys, HMAC sign/verify and the SHA-1/SHA-2 digests, typed as
549
+ * exactly that surface (the declarations mirror @types/node's webcrypto
550
+ * shapes). Every other SubtleCrypto method and crypto member is absent,
551
+ * so a use is an honest type error. CryptoKey values are native handles
552
+ * whose four members read through the handle. */
553
+ declare var crypto: Crypto;
554
+ /* The Crypto and SubtleCrypto constructors (feature probes only) stay
555
+ * `unknown`; the values keep this declaration order. */
519
556
  declare var Crypto: unknown;
520
- declare var CryptoKey: unknown;
557
+ declare var CryptoKey: {
558
+ prototype: CryptoKey;
559
+ new (): CryptoKey;
560
+ };
521
561
  declare var SubtleCrypto: unknown;
562
+ type KeyUsage =
563
+ | "encrypt"
564
+ | "decrypt"
565
+ | "sign"
566
+ | "verify"
567
+ | "deriveKey"
568
+ | "deriveBits"
569
+ | "encapsulateBits"
570
+ | "decapsulateBits"
571
+ | "encapsulateKey"
572
+ | "decapsulateKey"
573
+ | "wrapKey"
574
+ | "unwrapKey";
575
+ type KeyType = "private" | "public" | "secret";
576
+ interface Algorithm {
577
+ name: string;
578
+ }
579
+ type AlgorithmIdentifier = Algorithm | string;
580
+ type HashAlgorithmIdentifier = AlgorithmIdentifier;
581
+ interface HmacImportParams extends Algorithm {
582
+ hash: HashAlgorithmIdentifier;
583
+ length?: number;
584
+ }
585
+ interface KeyAlgorithm {
586
+ name: string;
587
+ }
588
+ interface HmacKeyAlgorithm extends KeyAlgorithm {
589
+ hash: KeyAlgorithm;
590
+ length: number;
591
+ }
592
+ interface CryptoKey {
593
+ readonly algorithm: KeyAlgorithm;
594
+ readonly extractable: boolean;
595
+ readonly type: KeyType;
596
+ readonly usages: KeyUsage[];
597
+ }
598
+ type KeyFormat =
599
+ | "jwk"
600
+ | "pkcs8"
601
+ | "raw"
602
+ | "raw-private"
603
+ | "raw-public"
604
+ | "raw-secret"
605
+ | "raw-seed"
606
+ | "spki";
607
+ interface JsonWebKey {
608
+ alg?: string;
609
+ crv?: string;
610
+ d?: string;
611
+ dp?: string;
612
+ dq?: string;
613
+ e?: string;
614
+ ext?: boolean;
615
+ k?: string;
616
+ key_ops?: string[];
617
+ kty?: string;
618
+ n?: string;
619
+ p?: string;
620
+ q?: string;
621
+ qi?: string;
622
+ use?: string;
623
+ x?: string;
624
+ y?: string;
625
+ }
626
+ /* The 'jwk' form type-checks like @types/node's; the compiler refuses it
627
+ * (the JsonWebKey import is not implemented). */
628
+ interface SubtleCrypto {
629
+ digest(algorithm: AlgorithmIdentifier, data: BufferSource): Promise<ArrayBuffer>;
630
+ importKey(
631
+ format: "jwk",
632
+ keyData: JsonWebKey,
633
+ algorithm: AlgorithmIdentifier | HmacImportParams,
634
+ extractable: boolean,
635
+ keyUsages: readonly KeyUsage[],
636
+ ): Promise<CryptoKey>;
637
+ importKey(
638
+ format: Exclude<KeyFormat, "jwk">,
639
+ keyData: BufferSource,
640
+ algorithm: AlgorithmIdentifier | HmacImportParams,
641
+ extractable: boolean,
642
+ keyUsages: readonly KeyUsage[],
643
+ ): Promise<CryptoKey>;
644
+ sign(algorithm: AlgorithmIdentifier, key: CryptoKey, data: BufferSource): Promise<ArrayBuffer>;
645
+ verify(
646
+ algorithm: AlgorithmIdentifier,
647
+ key: CryptoKey,
648
+ signature: BufferSource,
649
+ data: BufferSource,
650
+ ): Promise<boolean>;
651
+ }
652
+ interface Crypto {
653
+ readonly subtle: SubtleCrypto;
654
+ }
655
+
656
+ /* Capability-gated globals harness code probes behind feature guards
657
+ * (the SQLite-backed storage pair): typed `unknown` — no lowering exists,
658
+ * the guard is expected to be false in a compiled binary, and any reached
659
+ * use fences per site. */
522
660
  declare var localStorage: unknown;
523
661
  declare var sessionStorage: unknown;
524
662
 
@@ -708,6 +846,7 @@ interface MessageEvent<T = unknown> extends Event {
708
846
  readonly data: T;
709
847
  readonly origin: string;
710
848
  readonly lastEventId: string;
849
+ readonly source: unknown;
711
850
  readonly ports: readonly MessagePort[];
712
851
  }
713
852
  declare var MessageEvent: {
@@ -1026,7 +1165,7 @@ declare module "node:timers/promises" {
1026
1165
  options?: unknown,
1027
1166
  ): AsyncGenerator<T, void, undefined>;
1028
1167
  export const scheduler: {
1029
- wait(delay?: number): Promise<void>;
1168
+ wait(delay?: number, options?: TimerOptions): Promise<void>;
1030
1169
  yield(): Promise<void>;
1031
1170
  };
1032
1171
  }
@@ -1165,8 +1304,37 @@ declare module "node:perf_hooks" {
1165
1304
  getEntriesByType(type: EntryType): PerformanceEntry[];
1166
1305
  clearMarks(name?: string): void;
1167
1306
  clearMeasures(name?: string): void;
1307
+ eventLoopUtilization(
1308
+ utilization1?: EventLoopUtilization,
1309
+ utilization2?: EventLoopUtilization,
1310
+ ): EventLoopUtilization;
1168
1311
  }
1169
1312
  export const performance: Performance;
1313
+ /* Event-loop metrics: utilization (idle/active ms since the loop started)
1314
+ * and monitorEventLoopDelay's sampling histogram (nanoseconds). */
1315
+ export interface EventLoopUtilization {
1316
+ idle: number;
1317
+ active: number;
1318
+ utilization: number;
1319
+ }
1320
+ export interface EventLoopMonitorOptions {
1321
+ resolution?: number | undefined;
1322
+ }
1323
+ export interface Histogram {
1324
+ readonly count: number;
1325
+ readonly exceeds: number;
1326
+ readonly max: number;
1327
+ readonly mean: number;
1328
+ readonly min: number;
1329
+ readonly stddev: number;
1330
+ percentile(percentile: number): number;
1331
+ reset(): void;
1332
+ }
1333
+ export interface IntervalHistogram extends Histogram {
1334
+ enable(): boolean;
1335
+ disable(): boolean;
1336
+ }
1337
+ export function monitorEventLoopDelay(options?: EventLoopMonitorOptions): IntervalHistogram;
1170
1338
  }
1171
1339
  declare module "perf_hooks" {
1172
1340
  export * from "node:perf_hooks";
@@ -1492,6 +1660,51 @@ declare module "node:fs" {
1492
1660
  readonly COPYFILE_EXCL: number;
1493
1661
  readonly COPYFILE_FICLONE: number;
1494
1662
  readonly COPYFILE_FICLONE_FORCE: number;
1663
+ readonly UV_FS_SYMLINK_DIR: number;
1664
+ readonly UV_FS_SYMLINK_JUNCTION: number;
1665
+ readonly UV_DIRENT_UNKNOWN: number;
1666
+ readonly UV_DIRENT_FILE: number;
1667
+ readonly UV_DIRENT_DIR: number;
1668
+ readonly UV_DIRENT_LINK: number;
1669
+ readonly UV_DIRENT_FIFO: number;
1670
+ readonly UV_DIRENT_SOCKET: number;
1671
+ readonly UV_DIRENT_CHAR: number;
1672
+ readonly UV_DIRENT_BLOCK: number;
1673
+ readonly UV_FS_O_FILEMAP: number;
1674
+ readonly UV_FS_O_TEMPORARY: number;
1675
+ readonly UV_FS_O_SHORT_LIVED: number;
1676
+ readonly UV_FS_O_SEQUENTIAL: number;
1677
+ readonly UV_FS_O_RANDOM: number;
1678
+ readonly UV_FS_COPYFILE_EXCL: number;
1679
+ readonly UV_FS_COPYFILE_FICLONE: number;
1680
+ readonly UV_FS_COPYFILE_FICLONE_FORCE: number;
1681
+ readonly S_IFMT: number;
1682
+ readonly S_IFREG: number;
1683
+ readonly S_IFDIR: number;
1684
+ readonly S_IFCHR: number;
1685
+ readonly S_IFBLK: number;
1686
+ readonly S_IFIFO: number;
1687
+ readonly S_IFLNK: number;
1688
+ readonly S_IFSOCK: number;
1689
+ readonly O_NOCTTY: number;
1690
+ readonly O_DIRECTORY: number;
1691
+ readonly O_NOATIME: number;
1692
+ readonly O_SYNC: number;
1693
+ readonly O_DSYNC: number;
1694
+ readonly O_SYMLINK: number;
1695
+ readonly O_DIRECT: number;
1696
+ readonly S_IRWXU: number;
1697
+ readonly S_IRUSR: number;
1698
+ readonly S_IWUSR: number;
1699
+ readonly S_IXUSR: number;
1700
+ readonly S_IRWXG: number;
1701
+ readonly S_IRGRP: number;
1702
+ readonly S_IWGRP: number;
1703
+ readonly S_IXGRP: number;
1704
+ readonly S_IRWXO: number;
1705
+ readonly S_IROTH: number;
1706
+ readonly S_IWOTH: number;
1707
+ readonly S_IXOTH: number;
1495
1708
  };
1496
1709
  /* A stat(2) snapshot (statSync follows symlinks, lstatSync does not —
1497
1710
  * Node's split) — immutable; the supported surface is exactly these
@@ -1727,6 +1940,13 @@ declare module "node:fs" {
1727
1940
  declare module "fs" {
1728
1941
  export * from "node:fs";
1729
1942
  }
1943
+ /* graceful-fs — served as node:fs (it monkeypatches fs and retries on
1944
+ * EMFILE/ENFILE; compiled programs call fs directly, without the retry
1945
+ * queue). gracefulify is a no-op statement. The @types/graceful-fs shape. */
1946
+ declare module "graceful-fs" {
1947
+ export * from "node:fs";
1948
+ export function gracefulify<T>(fsModule: T): T;
1949
+ }
1730
1950
 
1731
1951
  /* fs/promises — the SAME synchronous operations behind already-settled
1732
1952
  * promises: success fulfills, failure REJECTS with the would-be thrown
@@ -2109,6 +2329,8 @@ declare module "os" {
2109
2329
  export function version(): string;
2110
2330
  export function endianness(): "BE" | "LE";
2111
2331
  export function getPriority(pid?: number): number;
2332
+ export function setPriority(priority: number): void;
2333
+ export function setPriority(pid: number, priority: number): void;
2112
2334
  /* The TARGET platform's null device ("\\\\.\\nul" under a win32 triple). */
2113
2335
  export const devNull: string;
2114
2336
  /* The platform's constants: null-prototype objects with read-only
@@ -2554,6 +2776,23 @@ declare module "crypto" {
2554
2776
  a: ArrayBufferView | ArrayBufferLike,
2555
2777
  b: ArrayBufferView | ArrayBufferLike,
2556
2778
  ): boolean;
2779
+ /* WebCrypto's getRandomValues (also the webcrypto object's): integer
2780
+ * typed arrays, filled in place and returned. The crypto GLOBAL stays
2781
+ * unknown in fallback builds. */
2782
+ type RandomValuesArray =
2783
+ | Int8Array
2784
+ | Uint8Array
2785
+ | Uint8ClampedArray
2786
+ | Int16Array
2787
+ | Uint16Array
2788
+ | Int32Array
2789
+ | Uint32Array
2790
+ | BigInt64Array
2791
+ | BigUint64Array;
2792
+ export function getRandomValues<T extends RandomValuesArray>(typedArray: T): T;
2793
+ export const webcrypto: {
2794
+ getRandomValues<T extends RandomValuesArray>(typedArray: T): T;
2795
+ };
2557
2796
  export function randomFillSync<T extends ArrayBufferView | ArrayBufferLike>(
2558
2797
  buffer: T,
2559
2798
  offset?: number,
@@ -2694,6 +2933,34 @@ declare module "crypto" {
2694
2933
  iv: BinaryLike | null,
2695
2934
  options?: { authTagLength?: number },
2696
2935
  ): Decipheriv;
2936
+ export type ECDHKeyFormat = "compressed" | "uncompressed" | "hybrid";
2937
+ export class ECDH {
2938
+ private constructor();
2939
+ static convertKey(
2940
+ key: BinaryLike,
2941
+ curve: string,
2942
+ inputEncoding?: BinaryToTextEncoding,
2943
+ outputEncoding?: "latin1" | "hex" | "base64" | "base64url",
2944
+ format?: ECDHKeyFormat,
2945
+ ): Buffer | string;
2946
+ generateKeys(): Buffer;
2947
+ generateKeys(encoding: BinaryToTextEncoding, format?: ECDHKeyFormat): string;
2948
+ computeSecret(otherPublicKey: ArrayBufferView): Buffer;
2949
+ computeSecret(otherPublicKey: string, inputEncoding: BinaryToTextEncoding): Buffer;
2950
+ computeSecret(otherPublicKey: ArrayBufferView, outputEncoding: BinaryToTextEncoding): string;
2951
+ computeSecret(
2952
+ otherPublicKey: string,
2953
+ inputEncoding: BinaryToTextEncoding,
2954
+ outputEncoding: BinaryToTextEncoding,
2955
+ ): string;
2956
+ getPrivateKey(): Buffer;
2957
+ getPrivateKey(encoding: BinaryToTextEncoding): string;
2958
+ getPublicKey(encoding?: null, format?: ECDHKeyFormat): Buffer;
2959
+ getPublicKey(encoding: BinaryToTextEncoding, format?: ECDHKeyFormat): string;
2960
+ setPrivateKey(privateKey: ArrayBufferView): void;
2961
+ setPrivateKey(privateKey: string, encoding: BinaryToTextEncoding): void;
2962
+ }
2963
+ export function createECDH(curveName: string): ECDH;
2697
2964
  export interface ScryptOptions {
2698
2965
  N?: number;
2699
2966
  r?: number;
@@ -2889,8 +3156,10 @@ declare module "child_process" {
2889
3156
  destroy(): void;
2890
3157
  on(event: "drain" | "finish", listener: () => void): void;
2891
3158
  on(event: "error", listener: (err: Error) => void): void;
3159
+ on(event: string, listener: (...args: any[]) => void): void;
2892
3160
  once(event: "drain" | "finish", listener: () => void): void;
2893
3161
  once(event: "error", listener: (err: Error) => void): void;
3162
+ once(event: string, listener: (...args: any[]) => void): void;
2894
3163
  }
2895
3164
 
2896
3165
  export interface ChildProcess extends Disposable {
@@ -3030,10 +3299,10 @@ declare module "child_process" {
3030
3299
  args?: string[] | null,
3031
3300
  options?: ExecSyncOptions,
3032
3301
  ): unknown;
3033
- /* The async shell form — declared surface without full lowering (the
3034
- * type-level tolerance story): harness code on paths tests don't reach
3035
- * must typecheck; a reached call fences at its site. util.promisify
3036
- * recognizes it statically, as it does execFile. */
3302
+ /* The async shell form. The callback forms lower like execFile's, with
3303
+ * the command line run by /bin/sh -c, and util.promisify recognizes it
3304
+ * statically, as it does execFile; reached calls without a callback
3305
+ * fence at their site. */
3037
3306
  export function exec(
3038
3307
  command: string,
3039
3308
  options?: ExecSyncOptions | ((error: Error | null, stdout: string, stderr: string) => void),
@@ -3171,6 +3440,76 @@ declare module "util" {
3171
3440
  export function promisify(
3172
3441
  fn: typeof import("node:stream").finished,
3173
3442
  ): typeof import("node:stream/promises").finished;
3443
+ /* The crypto callback functions: the promise settles with the callback's
3444
+ * value. */
3445
+ export function promisify(
3446
+ fn: typeof import("node:crypto").randomBytes,
3447
+ ): (size: number) => Promise<Buffer>;
3448
+ export function promisify(
3449
+ fn: typeof import("node:crypto").pbkdf2,
3450
+ ): (
3451
+ password: string | Uint8Array,
3452
+ salt: string | Uint8Array,
3453
+ iterations: number,
3454
+ keylen: number,
3455
+ digest: string,
3456
+ ) => Promise<Buffer>;
3457
+ export function promisify(
3458
+ fn: typeof import("node:crypto").scrypt,
3459
+ ): (
3460
+ password: import("node:crypto").BinaryLike,
3461
+ salt: import("node:crypto").BinaryLike,
3462
+ keylen: number,
3463
+ options?: import("node:crypto").ScryptOptions,
3464
+ ) => Promise<Buffer>;
3465
+ export function promisify(
3466
+ fn: typeof import("node:crypto").hkdf,
3467
+ ): (
3468
+ digest: string,
3469
+ ikm: import("node:crypto").BinaryLike | import("node:crypto").KeyObject,
3470
+ salt: import("node:crypto").BinaryLike,
3471
+ info: import("node:crypto").BinaryLike,
3472
+ keylen: number,
3473
+ ) => Promise<ArrayBuffer>;
3474
+ /* A callback-only function (`obj.close.bind(obj)`): before the targets
3475
+ * whose leading parameters would otherwise capture it. Builtins that take
3476
+ * arguments before their callback never match these. */
3477
+ export function promisify<TResult>(
3478
+ fn: (callback: (err: any, result: TResult) => void) => void,
3479
+ ): () => Promise<TResult>;
3480
+ export function promisify(fn: (callback: (err?: any) => void) => void): () => Promise<void>;
3481
+ export function promisify(
3482
+ fn: typeof import("node:crypto").randomFill,
3483
+ ): <T extends ArrayBufferView | ArrayBufferLike>(
3484
+ buffer: T,
3485
+ offset?: number,
3486
+ size?: number,
3487
+ ) => Promise<T>;
3488
+ export function promisify(fn: typeof import("node:crypto").randomInt): {
3489
+ (max: number): Promise<number>;
3490
+ (min: number, max: number): Promise<number>;
3491
+ };
3492
+ export function promisify(
3493
+ fn: typeof import("node:crypto").generateKey,
3494
+ ): (
3495
+ type: "hmac" | "aes",
3496
+ options: { length: number },
3497
+ ) => Promise<import("node:crypto").KeyObject>;
3498
+ /* dns.lookup's promise settles with { address, family } (the address
3499
+ * array with options.all), and lookupService's with { hostname, service }. */
3500
+ export function promisify(fn: typeof import("node:dns").lookup): {
3501
+ (
3502
+ hostname: string,
3503
+ options: import("node:dns").LookupAllOptions,
3504
+ ): Promise<import("node:dns").LookupAddress[]>;
3505
+ (
3506
+ hostname: string,
3507
+ options?: number | import("node:dns").LookupOneOptions,
3508
+ ): Promise<import("node:dns").LookupAddress>;
3509
+ };
3510
+ export function promisify(
3511
+ fn: typeof import("node:dns").lookupService,
3512
+ ): (address: string, port: number) => Promise<{ hostname: string; service: string }>;
3174
3513
  /* Declared surface without full lowering (the type-level tolerance
3175
3514
  * story: guarded/diagnostic-path code must TYPECHECK; a reached use
3176
3515
  * without a lowering fences at its site). inspect's options carry the
@@ -3250,6 +3589,7 @@ declare module "util/types" {
3250
3589
  export function isInt8Array(value: unknown): value is Int8Array;
3251
3590
  export function isInt16Array(value: unknown): value is Int16Array;
3252
3591
  export function isInt32Array(value: unknown): value is Int32Array;
3592
+ export function isFloat16Array(value: unknown): value is Float16Array;
3253
3593
  export function isFloat32Array(value: unknown): value is Float32Array;
3254
3594
  export function isFloat64Array(value: unknown): value is Float64Array;
3255
3595
  export function isMap(value: unknown): value is Map<unknown, unknown>;
@@ -3264,6 +3604,21 @@ declare module "util/types" {
3264
3604
  export function isGeneratorFunction(value: unknown): boolean;
3265
3605
  export function isGeneratorObject(value: unknown): boolean;
3266
3606
  export function isModuleNamespaceObject(value: unknown): boolean;
3607
+ export function isDate(value: unknown): value is Date;
3608
+ export function isSharedArrayBuffer(value: unknown): value is SharedArrayBuffer;
3609
+ export function isMapIterator(value: unknown): boolean;
3610
+ export function isSetIterator(value: unknown): boolean;
3611
+ export function isKeyObject(value: unknown): boolean;
3612
+ export function isNumberObject(value: unknown): boolean;
3613
+ export function isStringObject(value: unknown): boolean;
3614
+ export function isBooleanObject(value: unknown): boolean;
3615
+ export function isBigIntObject(value: unknown): boolean;
3616
+ export function isSymbolObject(value: unknown): boolean;
3617
+ export function isBoxedPrimitive(value: unknown): boolean;
3618
+ export function isBigInt64Array(value: unknown): value is BigInt64Array;
3619
+ export function isBigUint64Array(value: unknown): value is BigUint64Array;
3620
+ export function isCryptoKey(value: unknown): boolean;
3621
+ export function isExternal(value: unknown): boolean;
3267
3622
  }
3268
3623
  declare module "node:util/types" {
3269
3624
  export * from "util/types";
@@ -3293,8 +3648,18 @@ declare module "node:util/types" {
3293
3648
  * suites typecheck but fence at their use sites (no lowering). */
3294
3649
  declare module "node:test" {
3295
3650
  type TestFn = (t: TestContext) => void | Promise<void>;
3296
- type SuiteFn = () => void;
3297
- type HookFn = () => void | Promise<void>;
3651
+ type SuiteFn = (s: SuiteContext) => void;
3652
+ type HookFn = (c: TestContext | SuiteContext) => void | Promise<void>;
3653
+ /* The describe/suite callback's context, and the before/after hook
3654
+ * context of a suite. */
3655
+ interface SuiteContext {
3656
+ readonly name: string;
3657
+ readonly fullName: string;
3658
+ readonly filePath: string | undefined;
3659
+ readonly attempt: number;
3660
+ readonly passed: boolean;
3661
+ diagnostic(message: string): void;
3662
+ }
3298
3663
  interface TestOptions {
3299
3664
  skip?: boolean | string;
3300
3665
  todo?: boolean | string;
@@ -3306,10 +3671,17 @@ declare module "node:test" {
3306
3671
  interface TestContext {
3307
3672
  readonly name: string;
3308
3673
  readonly fullName: string;
3674
+ readonly filePath: string | undefined;
3675
+ readonly attempt: number;
3676
+ readonly passed: boolean;
3677
+ readonly workerId: number | undefined;
3678
+ readonly tags: readonly string[];
3309
3679
  readonly assert: TestContextAssert;
3310
3680
  readonly mock: MockTracker;
3311
- test(name: string, fn?: TestFn): Promise<void>;
3312
- test(name: string, options: TestOptions, fn?: TestFn): Promise<void>;
3681
+ test(name?: string, fn?: TestFn): Promise<void>;
3682
+ test(name?: string, options?: TestOptions, fn?: TestFn): Promise<void>;
3683
+ test(options?: TestOptions, fn?: TestFn): Promise<void>;
3684
+ test(fn?: TestFn): Promise<void>;
3313
3685
  skip(message?: string): void;
3314
3686
  todo(message?: string): void;
3315
3687
  diagnostic(message: string): void;
@@ -3319,7 +3691,12 @@ declare module "node:test" {
3319
3691
  beforeEach(fn: HookFn): void;
3320
3692
  afterEach(fn: HookFn): void;
3321
3693
  }
3694
+ interface AssertSnapshotOptions {
3695
+ readonly serializers?: ReadonlyArray<(value: any) => any> | undefined;
3696
+ }
3322
3697
  interface TestContextAssert {
3698
+ snapshot(value: any, options?: AssertSnapshotOptions): void;
3699
+ fileSnapshot(value: any, path: string, options?: AssertSnapshotOptions): void;
3323
3700
  ok(value: unknown, message?: string): void;
3324
3701
  strictEqual(actual: unknown, expected: unknown, message?: string): void;
3325
3702
  notStrictEqual(actual: unknown, expected: unknown, message?: string): void;
@@ -3334,23 +3711,44 @@ declare module "node:test" {
3334
3711
  match(value: string, regExp: RegExp, message?: string): void;
3335
3712
  doesNotMatch(value: string, regExp: RegExp, message?: string): void;
3336
3713
  }
3337
- function test(name: string, fn?: TestFn): Promise<void>;
3338
- function test(name: string, options: TestOptions, fn?: TestFn): Promise<void>;
3714
+ /* The name, options and function are each optional, as in Node: a test
3715
+ * without a name takes the function's name, or "<anonymous>". */
3716
+ function test(name?: string, fn?: TestFn): Promise<void>;
3717
+ function test(name?: string, options?: TestOptions, fn?: TestFn): Promise<void>;
3718
+ function test(options?: TestOptions, fn?: TestFn): Promise<void>;
3719
+ function test(fn?: TestFn): Promise<void>;
3339
3720
  namespace test {
3340
- function skip(name: string, fn?: TestFn): Promise<void>;
3341
- function skip(name: string, options: TestOptions, fn?: TestFn): Promise<void>;
3342
- function todo(name: string, fn?: TestFn): Promise<void>;
3343
- function todo(name: string, options: TestOptions, fn?: TestFn): Promise<void>;
3344
- function only(name: string, fn?: TestFn): Promise<void>;
3345
- function only(name: string, options: TestOptions, fn?: TestFn): Promise<void>;
3721
+ function skip(name?: string, fn?: TestFn): Promise<void>;
3722
+ function skip(name?: string, options?: TestOptions, fn?: TestFn): Promise<void>;
3723
+ function skip(options?: TestOptions, fn?: TestFn): Promise<void>;
3724
+ function skip(fn?: TestFn): Promise<void>;
3725
+ function todo(name?: string, fn?: TestFn): Promise<void>;
3726
+ function todo(name?: string, options?: TestOptions, fn?: TestFn): Promise<void>;
3727
+ function todo(options?: TestOptions, fn?: TestFn): Promise<void>;
3728
+ function todo(fn?: TestFn): Promise<void>;
3729
+ function only(name?: string, fn?: TestFn): Promise<void>;
3730
+ function only(name?: string, options?: TestOptions, fn?: TestFn): Promise<void>;
3731
+ function only(options?: TestOptions, fn?: TestFn): Promise<void>;
3732
+ function only(fn?: TestFn): Promise<void>;
3346
3733
  }
3347
3734
  const it: typeof test;
3348
- function describe(name: string, fn?: SuiteFn): void;
3349
- function describe(name: string, options: TestOptions, fn?: SuiteFn): void;
3735
+ function describe(name?: string, fn?: SuiteFn): void;
3736
+ function describe(name?: string, options?: TestOptions, fn?: SuiteFn): void;
3737
+ function describe(options?: TestOptions, fn?: SuiteFn): void;
3738
+ function describe(fn?: SuiteFn): void;
3350
3739
  namespace describe {
3351
- function skip(name: string, fn?: SuiteFn): void;
3352
- function todo(name: string, fn?: SuiteFn): void;
3353
- function only(name: string, fn?: SuiteFn): void;
3740
+ function skip(name?: string, fn?: SuiteFn): void;
3741
+ function skip(name?: string, options?: TestOptions, fn?: SuiteFn): void;
3742
+ function skip(options?: TestOptions, fn?: SuiteFn): void;
3743
+ function skip(fn?: SuiteFn): void;
3744
+ function todo(name?: string, fn?: SuiteFn): void;
3745
+ function todo(name?: string, options?: TestOptions, fn?: SuiteFn): void;
3746
+ function todo(options?: TestOptions, fn?: SuiteFn): void;
3747
+ function todo(fn?: SuiteFn): void;
3748
+ function only(name?: string, fn?: SuiteFn): void;
3749
+ function only(name?: string, options?: TestOptions, fn?: SuiteFn): void;
3750
+ function only(options?: TestOptions, fn?: SuiteFn): void;
3751
+ function only(fn?: SuiteFn): void;
3354
3752
  }
3355
3753
  const suite: typeof describe;
3356
3754
  function before(fn: HookFn): void;
@@ -3410,8 +3808,24 @@ declare module "node:test" {
3410
3808
  : never;
3411
3809
  reset(): void;
3412
3810
  restoreAll(): void;
3811
+ readonly timers: MockTimers;
3812
+ }
3813
+ interface MockTimersOptions {
3814
+ apis: ReadonlyArray<"setInterval" | "setTimeout" | "setImmediate" | "Date">;
3815
+ now?: number | Date | undefined;
3816
+ }
3817
+ interface MockTimers {
3818
+ enable(options?: MockTimersOptions): void;
3819
+ setTime(milliseconds?: number): void;
3820
+ reset(): void;
3821
+ tick(milliseconds?: number): void;
3822
+ runAll(): void;
3823
+ [Symbol.dispose](): void;
3413
3824
  }
3414
3825
  const mock: MockTracker;
3826
+ /* The context of the test, suite or hook running in the current async
3827
+ * context; undefined outside one. */
3828
+ function getTestContext(): TestContext | SuiteContext | undefined;
3415
3829
  /* Declared for typechecking only — every use fences (no lowering).
3416
3830
  * `assert` is the module-level custom-assertion registry (v24's
3417
3831
  * `const { assert } = require('node:test')`), not TestContext.assert. */
@@ -3429,14 +3843,18 @@ declare module "node:test" {
3429
3843
  afterEach,
3430
3844
  mock,
3431
3845
  assert,
3846
+ getTestContext,
3432
3847
  run,
3433
3848
  snapshot,
3434
3849
  TestContext,
3850
+ SuiteContext,
3435
3851
  TestOptions,
3436
3852
  Mock,
3437
3853
  MockFunctionContext,
3438
3854
  MockFunctionCall,
3439
3855
  MockTracker,
3856
+ MockTimers,
3857
+ MockTimersOptions,
3440
3858
  };
3441
3859
  export default test;
3442
3860
  }
@@ -3618,7 +4036,8 @@ declare module "querystring" {
3618
4036
  | string
3619
4037
  | number
3620
4038
  | boolean
3621
- | ReadonlyArray<string | number | boolean>
4039
+ | bigint
4040
+ | ReadonlyArray<string | number | boolean | bigint>
3622
4041
  | null
3623
4042
  | undefined;
3624
4043
  }
@@ -3643,6 +4062,39 @@ declare module "node:querystring" {
3643
4062
  export * from "querystring";
3644
4063
  }
3645
4064
 
4065
+ /* node:punycode (deprecated, DEP0040) — punycode.js 2.1.0: decode and
4066
+ * toUnicode throw its RangeErrors on malformed input; ucs2 converts
4067
+ * between strings and UTF-16 code point arrays. */
4068
+ declare module "punycode" {
4069
+ export function decode(string: string): string;
4070
+ export function encode(string: string): string;
4071
+ export function toUnicode(domain: string): string;
4072
+ export function toASCII(domain: string): string;
4073
+ export namespace ucs2 {
4074
+ function decode(string: string): number[];
4075
+ function encode(codePoints: readonly number[]): string;
4076
+ }
4077
+ export const version: string;
4078
+ }
4079
+ declare module "node:punycode" {
4080
+ export * from "punycode";
4081
+ }
4082
+
4083
+ /* node:constants (deprecated, DEP0008) — one frozen object: os.constants'
4084
+ * dlopen, errno, priority and signals groups, fs.constants, and
4085
+ * crypto.constants. A platform's missing constant reads as undefined. */
4086
+ declare module "constants" {
4087
+ const constants: { readonly [name: string]: number } & {
4088
+ readonly defaultCoreCipherList: string;
4089
+ readonly defaultCipherList: string;
4090
+ };
4091
+ export = constants;
4092
+ }
4093
+ declare module "node:constants" {
4094
+ import constants = require("constants");
4095
+ export = constants;
4096
+ }
4097
+
3646
4098
  /* node:readline — the question/close slice: createInterface over exactly
3647
4099
  * { input: process.stdin, output: process.stdout }, question(query, cb)
3648
4100
  * (the query writes to stdout, the callback gets the next line's text),
@@ -3660,7 +4112,10 @@ declare module "readline" {
3660
4112
  meta?: boolean;
3661
4113
  shift?: boolean;
3662
4114
  }
3663
- export interface Interface extends Disposable {
4115
+ export class Interface implements Disposable {
4116
+ /* createInterface creates interfaces; instanceof tells the two
4117
+ * modules' classes apart. */
4118
+ protected constructor();
3664
4119
  /* terminal says whether the interface edits lines as a terminal;
3665
4120
  * line and cursor are the terminal's (line is '' otherwise). history
3666
4121
  * is the history option itself (or the interface's own empty array);
@@ -3775,7 +4230,10 @@ declare module "readline/promises" {
3775
4230
  /* The readline Interface with the promise question: it resolves with
3776
4231
  * the next line, rejects with an AbortError when options.signal aborts,
3777
4232
  * and with ERR_USE_AFTER_CLOSE after close(). */
3778
- export interface Interface extends Disposable {
4233
+ export class Interface implements Disposable {
4234
+ /* createInterface creates interfaces; instanceof tells the two
4235
+ * modules' classes apart. */
4236
+ protected constructor();
3779
4237
  /* terminal says whether the interface edits lines as a terminal;
3780
4238
  * line and cursor are the terminal's (line is '' otherwise). history
3781
4239
  * is the history option itself (or the interface's own empty array);
@@ -4328,6 +4786,11 @@ declare module "net" {
4328
4786
  on(event: "close", listener: (hadError: boolean) => void): void;
4329
4787
  on(event: "error", listener: (err: Error) => void): void;
4330
4788
  on(event: "session", listener: (session: Buffer) => void): void;
4789
+ /* The host name's resolution, before the connect. */
4790
+ on(
4791
+ event: "lookup",
4792
+ listener: (err: Error | null, address: string, family: number, host: string) => void,
4793
+ ): void;
4331
4794
  /* addListener IS on (Node aliases them) — the suite spells both. */
4332
4795
  addListener(event: "data", listener: (chunk: Buffer) => void): void;
4333
4796
  /* After setEncoding the chunk is a string. */
@@ -4339,6 +4802,11 @@ declare module "net" {
4339
4802
  addListener(event: "close", listener: (hadError: boolean) => void): void;
4340
4803
  addListener(event: "error", listener: (err: Error) => void): void;
4341
4804
  addListener(event: "session", listener: (session: Buffer) => void): void;
4805
+ /* The host name's resolution, before the connect. */
4806
+ addListener(
4807
+ event: "lookup",
4808
+ listener: (err: Error | null, address: string, family: number, host: string) => void,
4809
+ ): void;
4342
4810
  once(event: "data", listener: (chunk: Buffer) => void): void;
4343
4811
  /* After setEncoding the chunk is a string. */
4344
4812
  once(event: "data", listener: (chunk: string) => void): void;
@@ -4349,6 +4817,11 @@ declare module "net" {
4349
4817
  once(event: "close", listener: (hadError: boolean) => void): void;
4350
4818
  once(event: "error", listener: (err: Error) => void): void;
4351
4819
  once(event: "session", listener: (session: Buffer) => void): void;
4820
+ /* The host name's resolution, before the connect. */
4821
+ once(
4822
+ event: "lookup",
4823
+ listener: (err: Error | null, address: string, family: number, host: string) => void,
4824
+ ): void;
4352
4825
  }
4353
4826
  export interface Server {
4354
4827
  /* Whether the server keeps the event loop alive (ref'd by default). */
@@ -4367,6 +4840,8 @@ declare module "net" {
4367
4840
  /* The positional bind address (the options form's host in argument
4368
4841
  * spelling). */
4369
4842
  listen(port: number, host: string, callback?: () => void): Server;
4843
+ /* A Unix-socket server; the socket file is removed when it closes. */
4844
+ listen(path: string, callback?: () => void): Server;
4370
4845
  /* The explicit-interface bind: host is an IP literal (absent = the
4371
4846
  * host-less dual-stack any); ipv6Only sets IPV6_V6ONLY and reusePort
4372
4847
  * requests kernel connection distribution where Node supports it. */
@@ -4436,6 +4911,48 @@ declare module "net" {
4436
4911
  remoteFamily?: string;
4437
4912
  }
4438
4913
  export type AddressInfo = import("node:dgram").AddressInfo;
4914
+ export type IPVersion = "ipv4" | "ipv6";
4915
+ export interface SocketAddressInitOptions {
4916
+ address?: string;
4917
+ family?: IPVersion;
4918
+ flowlabel?: number;
4919
+ port?: number;
4920
+ }
4921
+ /* A native handle (scr_net.c); the getters read its parsed address. */
4922
+ export class SocketAddress {
4923
+ constructor(options?: SocketAddressInitOptions);
4924
+ readonly address: string;
4925
+ readonly family: IPVersion;
4926
+ readonly port: number;
4927
+ readonly flowlabel: number;
4928
+ toJSON(): { address: string; port: number; family: IPVersion; flowlabel: number };
4929
+ /* undefined when the input is not "<ip>[:<port>]" */
4930
+ static parse(input: string): SocketAddress | undefined;
4931
+ static isSocketAddress(value: unknown): value is SocketAddress;
4932
+ }
4933
+ /* Address, range and subnet rules; check() matches IPv4 addresses
4934
+ * against IPv6 rules through their IPv4-mapped form, as Node does. */
4935
+ export class BlockList {
4936
+ constructor();
4937
+ readonly rules: readonly string[];
4938
+ readonly size: number;
4939
+ addAddress(address: string | SocketAddress, type?: IPVersion): void;
4940
+ addAddresses(addresses: readonly (string | SocketAddress)[], type?: IPVersion): void;
4941
+ addRange(start: string | SocketAddress, end: string | SocketAddress, type?: IPVersion): void;
4942
+ addSubnet(net: string | SocketAddress, prefix: number, type?: IPVersion): void;
4943
+ addCIDR(cidr: string): void;
4944
+ addCIDRs(cidrs: readonly string[]): void;
4945
+ removeAddress(address: string | SocketAddress, type?: IPVersion): void;
4946
+ removeRange(start: string | SocketAddress, end: string | SocketAddress, type?: IPVersion): void;
4947
+ removeSubnet(net: string | SocketAddress, prefix: number, type?: IPVersion): void;
4948
+ removeCIDR(cidr: string): void;
4949
+ clear(): void;
4950
+ check(address: string | SocketAddress, type?: IPVersion): boolean;
4951
+ toJSON(): string[];
4952
+ fromJSON(data: string | readonly string[]): void;
4953
+ static isBlockList(value: unknown): value is BlockList;
4954
+ static readonly PRIVATE_RANGES: readonly string[];
4955
+ }
4439
4956
  /* Node's IPv4Reg and IPv6Reg tests: 4, 6, or 0 for isIP. */
4440
4957
  export function isIP(input: string): number;
4441
4958
  export function isIPv4(input: string): boolean;
@@ -4451,15 +4968,17 @@ declare module "net" {
4451
4968
  host?: string,
4452
4969
  connectListener?: () => void,
4453
4970
  ): Socket;
4454
- /* The caller-resolver dial (@types/node's net.LookupFunction, narrowed
4455
- * to the lowered shape): the runtime invokes it as Node does and dials
4456
- * the answered addresses in order under autoSelectFamily: true. */
4971
+ /* The caller-resolver dial (@types/node's net.LookupFunction): the
4972
+ * runtime invokes it as Node's autoSelectFamily dial does (options
4973
+ * { hints, all: true }, so the callback answers an address list) and
4974
+ * dials the answered addresses in order. */
4457
4975
  export type LookupFunction = (
4458
4976
  hostname: string,
4459
- options: unknown,
4977
+ options: import("node:dns").LookupOptions,
4460
4978
  callback: (
4461
4979
  err: NodeJS.ErrnoException | null,
4462
- addresses: { address: string; family: number }[],
4980
+ address: string | import("node:dns").LookupAddress[],
4981
+ family?: number,
4463
4982
  ) => void,
4464
4983
  ) => void;
4465
4984
  export function connect(
@@ -4648,10 +5167,11 @@ declare module "http" {
4648
5167
  * callback receives the response as an IncomingMessage (statusCode,
4649
5168
  * headers, body via on("data"/"end")). */
4650
5169
  export interface RequestOptions {
4651
- hostname?: string;
4652
- host?: string;
4653
- port?: number;
4654
- path?: string;
5170
+ hostname?: string | null;
5171
+ host?: string | null;
5172
+ /* A string port (a URL's .port) is accepted, as by Node. */
5173
+ port?: number | string | null;
5174
+ path?: string | null;
4655
5175
  method?: string;
4656
5176
  timeout?: number;
4657
5177
  headers?: OutgoingHttpHeaders;
@@ -4665,6 +5185,8 @@ declare module "http" {
4665
5185
  agent?: Agent | boolean | null;
4666
5186
  /* Aborting destroys the request with an AbortError. */
4667
5187
  signal?: AbortSignal;
5188
+ /* HTTP over the Unix socket at this path instead of host:port. */
5189
+ socketPath?: string;
4668
5190
  /* The options-record stance: Node ignores an options record's
4669
5191
  * unknown keys, so every key typechecks here — the option WALK in
4670
5192
  * the lowering decides per key (lower, fence by name, or drop
@@ -4674,17 +5196,16 @@ declare module "http" {
4674
5196
  /* The Agent lowers to a checked-dynamic HANDLE: option parsing at the
4675
5197
  * literal construction site, getName, destroy, the sockets/requests/
4676
5198
  * freeSockets snapshots, and REAL maxSockets accounting (over-limit
4677
- * requests defer their dial and queue). keepAlive: true throws the
4678
- * named pooling fence — this client dials one connection per request
4679
- * and closes it with the response, so freeSockets is always
4680
- * empty. */
5199
+ * requests defer their dial and queue). keepAlive: true keeps finished
5200
+ * connections in freeSockets for the next request to the same name,
5201
+ * taken in `scheduling` order. */
4681
5202
  export interface AgentOptions {
4682
5203
  keepAlive?: boolean;
4683
5204
  keepAliveMsecs?: number;
4684
5205
  maxSockets?: number;
4685
5206
  maxFreeSockets?: number;
4686
5207
  maxTotalSockets?: number;
4687
- scheduling?: string;
5208
+ scheduling?: "fifo" | "lifo";
4688
5209
  timeout?: number;
4689
5210
  port?: number;
4690
5211
  [option: string]: unknown;
@@ -4714,6 +5235,7 @@ declare module "http" {
4714
5235
  readonly freeSockets: { [key: string]: unknown[] };
4715
5236
  readonly requests: { [key: string]: unknown[] };
4716
5237
  }
5238
+ /* Node's keepAlive global agent for requests without an agent option. */
4717
5239
  export const globalAgent: Agent;
4718
5240
  export interface ClientRequest {
4719
5241
  readonly destroyed: boolean;
@@ -4850,6 +5372,8 @@ declare module "tls" {
4850
5372
  getProtocol(): string | null;
4851
5373
  /* OpenSSL's suite name, the IANA name and the suite's version */
4852
5374
  getCipher(): CipherNameAndProtocol;
5375
+ /* whether the handshake resumed a cached session */
5376
+ isSessionReused(): boolean;
4853
5377
  }
4854
5378
  export interface CipherNameAndProtocol {
4855
5379
  name: string;
@@ -4917,6 +5441,8 @@ declare module "https" {
4917
5441
  import { Server } from "http";
4918
5442
  import { Agent, ClientRequest, IncomingMessage, ServerResponse } from "http";
4919
5443
  export { Agent, Server };
5444
+ /* Node's keepAlive global agent for requests without an agent option. */
5445
+ export const globalAgent: Agent;
4920
5446
  export interface ServerOptions {
4921
5447
  cert: string | Uint8Array;
4922
5448
  key: string | Uint8Array;
@@ -4936,6 +5462,7 @@ declare module "https" {
4936
5462
  agent?: Agent | boolean | null;
4937
5463
  /* Aborting destroys the request with an AbortError. */
4938
5464
  signal?: AbortSignal;
5465
+ socketPath?: string;
4939
5466
  /* The options-record stance (see http.RequestOptions). */
4940
5467
  [option: string]: unknown;
4941
5468
  }
@@ -5753,10 +6280,79 @@ declare module "dns" {
5753
6280
  export function getServers(): string[];
5754
6281
  export function getDefaultResultOrder(): "ipv4first" | "ipv6first" | "verbatim";
5755
6282
  export function setDefaultResultOrder(order: "ipv4first" | "ipv6first" | "verbatim"): void;
6283
+ /* The promise forms (node:dns/promises). */
6284
+ export const promises: typeof import("dns/promises");
5756
6285
  }
5757
6286
  declare module "node:dns" {
5758
6287
  export * from "dns";
5759
6288
  }
6289
+ /* node:dns/promises — lookup and lookupService as promises over the same
6290
+ * resolution as the callback forms: argument errors throw synchronously,
6291
+ * failures reject with the callbacks' errors. */
6292
+ declare module "dns/promises" {
6293
+ import type { LookupAddress, LookupAllOptions, LookupOneOptions, LookupOptions } from "dns";
6294
+ export function lookup(hostname: string, family: number): Promise<LookupAddress>;
6295
+ export function lookup(hostname: string, options: LookupOneOptions): Promise<LookupAddress>;
6296
+ export function lookup(hostname: string, options: LookupAllOptions): Promise<LookupAddress[]>;
6297
+ export function lookup(
6298
+ hostname: string,
6299
+ options: LookupOptions,
6300
+ ): Promise<LookupAddress | LookupAddress[]>;
6301
+ export function lookup(hostname: string): Promise<LookupAddress>;
6302
+ export function lookupService(
6303
+ address: string,
6304
+ port: number,
6305
+ ): Promise<{ hostname: string; service: string }>;
6306
+ export function getServers(): string[];
6307
+ export function getDefaultResultOrder(): "ipv4first" | "ipv6first" | "verbatim";
6308
+ export function setDefaultResultOrder(order: "ipv4first" | "ipv6first" | "verbatim"): void;
6309
+ }
6310
+ declare module "node:dns/promises" {
6311
+ export * from "dns/promises";
6312
+ }
6313
+
6314
+ /* node:v8 — importable for the packages that require it at top level.
6315
+ * getHeapStatistics answers allocator-derived figures in Node's shape
6316
+ * (approximate: the runtime heap's total and used bytes, the machine's
6317
+ * memory as the limit; V8-only figures are 0). The other members observe
6318
+ * V8 itself and fence at their use with the by-design reason; they are
6319
+ * declared so programs that type-check under their own tsc reach that
6320
+ * fence. */
6321
+ declare module "v8" {
6322
+ type DoesZapCodeSpaceFlag = 0 | 1;
6323
+ export interface HeapInfo {
6324
+ total_heap_size: number;
6325
+ total_heap_size_executable: number;
6326
+ total_physical_size: number;
6327
+ total_available_size: number;
6328
+ used_heap_size: number;
6329
+ heap_size_limit: number;
6330
+ malloced_memory: number;
6331
+ peak_malloced_memory: number;
6332
+ does_zap_garbage: DoesZapCodeSpaceFlag;
6333
+ number_of_native_contexts: number;
6334
+ number_of_detached_contexts: number;
6335
+ total_global_handles_size: number;
6336
+ used_global_handles_size: number;
6337
+ external_memory: number;
6338
+ }
6339
+ export function getHeapStatistics(): HeapInfo;
6340
+ export function cachedDataVersionTag(): number;
6341
+ export function getHeapSpaceStatistics(): unknown[];
6342
+ export function getHeapCodeStatistics(): unknown;
6343
+ export function getHeapSnapshot(options?: unknown): unknown;
6344
+ export function writeHeapSnapshot(fileName?: string, options?: unknown): string;
6345
+ export function setFlagsFromString(flags: string): void;
6346
+ export function setHeapSnapshotNearHeapLimit(limit: number): void;
6347
+ export function serialize(value: unknown): Buffer;
6348
+ export function deserialize(buffer: Uint8Array): unknown;
6349
+ export function takeCoverage(): void;
6350
+ export function stopCoverage(): void;
6351
+ export function isStringOneByteRepresentation(content: string): boolean;
6352
+ }
6353
+ declare module "node:v8" {
6354
+ export * from "v8";
6355
+ }
5760
6356
 
5761
6357
  /* node:worker_threads — native workers use statically compiled entry points.
5762
6358
  * Lowering and runtime diagnostics define the supported options and methods. */
@@ -5764,19 +6360,42 @@ declare module "worker_threads" {
5764
6360
  export const isMainThread: boolean;
5765
6361
  export const isInternalThread: boolean;
5766
6362
  export const threadId: number;
6363
+ export interface ResourceLimits {
6364
+ maxYoungGenerationSizeMb?: number;
6365
+ maxOldGenerationSizeMb?: number;
6366
+ codeRangeSizeMb?: number;
6367
+ stackSizeMb?: number;
6368
+ }
6369
+ /* {} in the main thread */
6370
+ export const resourceLimits: ResourceLimits;
6371
+ /* the Worker's name option, trimmed ("WorkerThread" by default); "" in the main thread */
6372
+ export const threadName: string | null;
5767
6373
  export interface WorkerOptions {
5768
6374
  workerData?: unknown;
5769
6375
  transferList?: readonly unknown[];
5770
6376
  argv?: readonly unknown[];
5771
6377
  name?: string;
6378
+ resourceLimits?: ResourceLimits;
6379
+ stdout?: boolean;
6380
+ stderr?: boolean;
6381
+ stdin?: boolean;
5772
6382
  [option: string]: unknown;
5773
6383
  }
5774
6384
  export class Worker {
5775
6385
  constructor(filename: string | URL, options?: WorkerOptions);
5776
6386
  readonly threadId: number;
6387
+ readonly resourceLimits?: ResourceLimits;
6388
+ readonly threadName: string | null;
6389
+ /* with the stdout/stderr options: the worker's writes to those streams */
6390
+ readonly stdout: import("stream").Readable;
6391
+ readonly stderr: import("stream").Readable;
6392
+ /* with the stdin option: what the worker reads from process.stdin */
6393
+ readonly stdin: import("stream").Writable | null;
6394
+ /* terminate(), resolving with undefined once the worker exited */
6395
+ [Symbol.asyncDispose](): Promise<void>;
5777
6396
  on(event: "online", listener: () => void): this;
5778
6397
  on(event: "message", listener: (value: any) => void): this;
5779
- on(event: "error", listener: (error: Error) => void): this;
6398
+ on(event: "error", listener: (error: any) => void): this;
5780
6399
  on(event: "exit", listener: (code: number) => void): this;
5781
6400
  on(event: string, listener: (...args: any[]) => void): this;
5782
6401
  once(event: string, listener: (...args: any[]) => void): this;
@@ -5818,6 +6437,27 @@ declare module "worker_threads" {
5818
6437
  readonly port2: MessagePort;
5819
6438
  }
5820
6439
  export function receiveMessageOnPort(port: MessagePort): { message: any } | undefined;
6440
+ /* This thread's environment data; each new Worker starts from a clone. */
6441
+ export function setEnvironmentData(key: any, value?: any): void;
6442
+ export function getEnvironmentData(key: any): any;
6443
+ /* A marked object cannot be listed in a transfer list. */
6444
+ export function markAsUntransferable(object: any): void;
6445
+ /* structuredClone and postMessage throw DataCloneError for a marked
6446
+ * object, error or class instance */
6447
+ export function markAsUncloneable(object: any): void;
6448
+ export function isMarkedAsUntransferable(object: any): boolean;
6449
+ /* Delivers each message to every other open channel with the name, in
6450
+ * any thread, as a 'message' MessageEvent. */
6451
+ export class BroadcastChannel extends EventTarget {
6452
+ constructor(name: string);
6453
+ readonly name: string;
6454
+ onmessage: ((event: MessageEvent) => void) | null;
6455
+ onmessageerror: ((event: MessageEvent) => void) | null;
6456
+ postMessage(message: unknown): void;
6457
+ close(): void;
6458
+ ref(): this;
6459
+ unref(): this;
6460
+ }
5821
6461
  export const parentPort: MessagePort | null;
5822
6462
  export const workerData: any;
5823
6463
  }
@@ -5868,7 +6508,7 @@ declare module "node:cluster" {
5868
6508
  /* node:tty — the fd probe (the same isatty(3) behind process.*.isTTY)
5869
6509
  * and the supported structural view of a process output stream. */
5870
6510
  declare module "tty" {
5871
- export interface WriteStream {
6511
+ export interface WriteStream extends NodeJS.WritableStream {
5872
6512
  write(data: string | Uint8Array, callback?: (error?: Error | null) => void): boolean;
5873
6513
  write(
5874
6514
  data: string | Uint8Array,
@@ -5959,10 +6599,16 @@ declare module "events" {
5959
6599
  export { internal as EventEmitter };
5960
6600
  // The event's arguments, as checked-dynamic values.
5961
6601
  export function once(
5962
- emitter: EventEmitter,
6602
+ emitter: EventEmitter | NodeJS.ReadableStream | NodeJS.WritableStream,
5963
6603
  eventName: string,
5964
6604
  options?: { signal?: AbortSignal },
5965
6605
  ): Promise<unknown[]>;
6606
+ /* The emitter's own listenerCount/getMaxListeners/setMaxListeners/
6607
+ * listeners, over EventEmitter instances. */
6608
+ export function listenerCount(emitter: EventEmitter, eventName: string | symbol): number;
6609
+ export function getMaxListeners(emitter: EventEmitter): number;
6610
+ export function setMaxListeners(n?: number, ...eventTargets: EventEmitter[]): void;
6611
+ export function getEventListeners(emitter: EventEmitter, name: string): Array<() => void>;
5966
6612
  }
5967
6613
  export = EventEmitter;
5968
6614
  }
@@ -6112,8 +6758,8 @@ declare module "stream" {
6112
6758
  resume(): this;
6113
6759
  isPaused(): boolean;
6114
6760
  setEncoding(encoding: string): this;
6115
- pipe<T extends Writable>(destination: T, options?: { end?: boolean }): T;
6116
- unpipe(destination?: Writable): this;
6761
+ pipe<T extends NodeJS.WritableStream>(destination: T, options?: { end?: boolean }): T;
6762
+ unpipe(destination?: NodeJS.WritableStream): this;
6117
6763
  destroy(error?: Error): this;
6118
6764
  readonly readable: boolean;
6119
6765
  readonly readableEnded: boolean;
@@ -6496,6 +7142,22 @@ declare module "node:stream/consumers" {
6496
7142
  import streamConsumers = require("stream/consumers");
6497
7143
  export = streamConsumers;
6498
7144
  }
7145
+ /* node:stream/web — the module exports the web stream globals themselves
7146
+ * (require("stream/web").ReadableStream === globalThis.ReadableStream).
7147
+ * ReadableStream is the implemented class; its reader and controller are
7148
+ * exported as types. */
7149
+ declare module "stream/web" {
7150
+ export const ReadableStream: typeof globalThis.ReadableStream;
7151
+ export type ReadableStream<T = unknown> = globalThis.ReadableStream<T>;
7152
+ export type ReadableStreamDefaultReader<T = unknown> = globalThis.ReadableStreamDefaultReader<T>;
7153
+ export type ReadableStreamDefaultController<T = unknown> =
7154
+ globalThis.ReadableStreamDefaultController<T>;
7155
+ export type UnderlyingSource<T = unknown> = globalThis.UnderlyingSource<T>;
7156
+ export type QueuingStrategy<T = unknown> = globalThis.QueuingStrategy<T>;
7157
+ }
7158
+ declare module "node:stream/web" {
7159
+ export * from "stream/web";
7160
+ }
6499
7161
  interface ErrorConstructor {
6500
7162
  stackTraceLimit: number;
6501
7163
  }