@scriptc/compiler 0.4.6 → 0.4.8

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 (1082) hide show
  1. package/ambient/node-fallback/child_process.d.ts +71 -22
  2. package/ambient/node-fallback/crypto.d.ts +15 -7
  3. package/ambient/node-fallback/events.d.ts +29 -6
  4. package/ambient/node-fallback/fs-promises.d.ts +1 -1
  5. package/ambient/node-fallback/fs.d.ts +57 -12
  6. package/ambient/node-fallback/http.d.ts +26 -18
  7. package/ambient/node-fallback/https.d.ts +5 -2
  8. package/ambient/node-fallback/net.d.ts +25 -0
  9. package/ambient/node-fallback/os.d.ts +11 -1
  10. package/ambient/node-fallback/path-posix.d.ts +6 -0
  11. package/ambient/node-fallback/path-win32.d.ts +5 -0
  12. package/ambient/node-fallback/path.d.ts +2 -0
  13. package/ambient/node-fallback/querystring.d.ts +3 -3
  14. package/ambient/node-fallback/zlib.d.ts +31 -2
  15. package/ambient/scriptc-node-fallback.d.ts +95 -20
  16. package/ambient/scriptc.d.ts +7 -2
  17. package/dist/backend/executable-features.js +22 -1
  18. package/dist/backend/executable-features.js.map +1 -1
  19. package/dist/backend/immutability.d.ts +12 -1
  20. package/dist/backend/immutability.js +50 -4
  21. package/dist/backend/immutability.js.map +1 -1
  22. package/dist/backend/immutability.test.js +95 -1
  23. package/dist/backend/immutability.test.js.map +1 -1
  24. package/dist/backend/library-pack.d.ts +6 -0
  25. package/dist/backend/library-pack.js +18 -5
  26. package/dist/backend/library-pack.js.map +1 -1
  27. package/dist/backend/library-pack.test.d.ts +1 -0
  28. package/dist/backend/library-pack.test.js +28 -0
  29. package/dist/backend/library-pack.test.js.map +1 -0
  30. package/dist/backend/linker.d.ts +20 -2
  31. package/dist/backend/linker.js +221 -35
  32. package/dist/backend/linker.js.map +1 -1
  33. package/dist/backend/lld.d.ts +15 -6
  34. package/dist/backend/lld.js +24 -16
  35. package/dist/backend/lld.js.map +1 -1
  36. package/dist/backend/lld.test.js +13 -5
  37. package/dist/backend/lld.test.js.map +1 -1
  38. package/dist/backend/llvm/alloc.d.ts +15 -2
  39. package/dist/backend/llvm/alloc.js +172 -36
  40. package/dist/backend/llvm/alloc.js.map +1 -1
  41. package/dist/backend/llvm/alloc.test.js +69 -1
  42. package/dist/backend/llvm/alloc.test.js.map +1 -1
  43. package/dist/backend/llvm/arenas.d.ts +17 -4
  44. package/dist/backend/llvm/arenas.js +105 -10
  45. package/dist/backend/llvm/arenas.js.map +1 -1
  46. package/dist/backend/llvm/arenas.test.js +229 -0
  47. package/dist/backend/llvm/arenas.test.js.map +1 -1
  48. package/dist/backend/llvm/bytes-alias.js +10 -1
  49. package/dist/backend/llvm/bytes-alias.js.map +1 -1
  50. package/dist/backend/llvm/bytes-headers.js +6 -0
  51. package/dist/backend/llvm/bytes-headers.js.map +1 -1
  52. package/dist/backend/llvm/bytes-loop-versions.test.js +25 -0
  53. package/dist/backend/llvm/bytes-loop-versions.test.js.map +1 -1
  54. package/dist/backend/llvm/call-lifetimes.js +10 -0
  55. package/dist/backend/llvm/call-lifetimes.js.map +1 -1
  56. package/dist/backend/llvm/classes.d.ts +16 -9
  57. package/dist/backend/llvm/classes.js +142 -37
  58. package/dist/backend/llvm/classes.js.map +1 -1
  59. package/dist/backend/llvm/classes.test.js +42 -0
  60. package/dist/backend/llvm/classes.test.js.map +1 -1
  61. package/dist/backend/llvm/constant-callbacks.test.js +50 -1
  62. package/dist/backend/llvm/constant-callbacks.test.js.map +1 -1
  63. package/dist/backend/llvm/cpu-dispatch.d.ts +15 -5
  64. package/dist/backend/llvm/cpu-dispatch.js +34 -9
  65. package/dist/backend/llvm/cpu-dispatch.js.map +1 -1
  66. package/dist/backend/llvm/dyn.d.ts +64 -3
  67. package/dist/backend/llvm/dyn.js +251 -15
  68. package/dist/backend/llvm/dyn.js.map +1 -1
  69. package/dist/backend/llvm/emit-function.js +68 -5
  70. package/dist/backend/llvm/emit-function.js.map +1 -1
  71. package/dist/backend/llvm/emit-module.js +226 -77
  72. package/dist/backend/llvm/emit-module.js.map +1 -1
  73. package/dist/backend/llvm/emit-module.test.d.ts +1 -0
  74. package/dist/backend/llvm/emit-module.test.js +52 -0
  75. package/dist/backend/llvm/emit-module.test.js.map +1 -0
  76. package/dist/backend/llvm/emit-statements.js +138 -34
  77. package/dist/backend/llvm/emit-statements.js.map +1 -1
  78. package/dist/backend/llvm/emitter.d.ts +142 -10
  79. package/dist/backend/llvm/emitter.js +523 -73
  80. package/dist/backend/llvm/emitter.js.map +1 -1
  81. package/dist/backend/llvm/emitter.test.js +31 -3
  82. package/dist/backend/llvm/emitter.test.js.map +1 -1
  83. package/dist/backend/llvm/expr-async.js +19 -1
  84. package/dist/backend/llvm/expr-async.js.map +1 -1
  85. package/dist/backend/llvm/expr-bytes.js +16 -1
  86. package/dist/backend/llvm/expr-bytes.js.map +1 -1
  87. package/dist/backend/llvm/expr-calls.d.ts +4 -1
  88. package/dist/backend/llvm/expr-calls.js +38 -6
  89. package/dist/backend/llvm/expr-calls.js.map +1 -1
  90. package/dist/backend/llvm/expr-dynamic.js +237 -23
  91. package/dist/backend/llvm/expr-dynamic.js.map +1 -1
  92. package/dist/backend/llvm/expr-primitives.js +123 -12
  93. package/dist/backend/llvm/expr-primitives.js.map +1 -1
  94. package/dist/backend/llvm/expr-records.d.ts +1 -1
  95. package/dist/backend/llvm/expr-records.js +124 -56
  96. package/dist/backend/llvm/expr-records.js.map +1 -1
  97. package/dist/backend/llvm/expr-stream-bridges.d.ts +8 -0
  98. package/dist/backend/llvm/expr-stream-bridges.js +59 -2
  99. package/dist/backend/llvm/expr-stream-bridges.js.map +1 -1
  100. package/dist/backend/llvm/expr-stream-callbacks.d.ts +16 -0
  101. package/dist/backend/llvm/expr-stream-callbacks.js +206 -20
  102. package/dist/backend/llvm/expr-stream-callbacks.js.map +1 -1
  103. package/dist/backend/llvm/integer-values.d.ts +2 -0
  104. package/dist/backend/llvm/integer-values.js +6 -0
  105. package/dist/backend/llvm/integer-values.js.map +1 -1
  106. package/dist/backend/llvm/js-groups.d.ts +21 -0
  107. package/dist/backend/llvm/js-groups.js +277 -0
  108. package/dist/backend/llvm/js-groups.js.map +1 -0
  109. package/dist/backend/llvm/js-ic.d.ts +57 -1
  110. package/dist/backend/llvm/js-ic.js +389 -22
  111. package/dist/backend/llvm/js-ic.js.map +1 -1
  112. package/dist/backend/llvm/lib-dispatch.js +152 -1
  113. package/dist/backend/llvm/lib-dispatch.js.map +1 -1
  114. package/dist/backend/llvm/lib-filesystem.js +116 -11
  115. package/dist/backend/llvm/lib-filesystem.js.map +1 -1
  116. package/dist/backend/llvm/lib-network.js +33 -6
  117. package/dist/backend/llvm/lib-network.js.map +1 -1
  118. package/dist/backend/llvm/lib-process.js +180 -27
  119. package/dist/backend/llvm/lib-process.js.map +1 -1
  120. package/dist/backend/llvm/lib-shared.js +139 -2
  121. package/dist/backend/llvm/lib-shared.js.map +1 -1
  122. package/dist/backend/llvm/lib-stream.js +67 -0
  123. package/dist/backend/llvm/lib-stream.js.map +1 -1
  124. package/dist/backend/llvm/local-union-storage.test.js +32 -0
  125. package/dist/backend/llvm/local-union-storage.test.js.map +1 -1
  126. package/dist/backend/llvm/loop-entry-versions.d.ts +2 -2
  127. package/dist/backend/llvm/loop-entry-versions.js +43 -21
  128. package/dist/backend/llvm/loop-entry-versions.js.map +1 -1
  129. package/dist/backend/llvm/loop-state.d.ts +7 -1
  130. package/dist/backend/llvm/loop-state.js +26 -3
  131. package/dist/backend/llvm/loop-state.js.map +1 -1
  132. package/dist/backend/llvm/map-entry-fusion.d.ts +8 -0
  133. package/dist/backend/llvm/map-entry-fusion.js +3 -3
  134. package/dist/backend/llvm/map-entry-fusion.js.map +1 -1
  135. package/dist/backend/llvm/map-number-lookup.d.ts +3 -1
  136. package/dist/backend/llvm/map-number-lookup.js +7 -3
  137. package/dist/backend/llvm/map-number-lookup.js.map +1 -1
  138. package/dist/backend/llvm/map-number-lookup.test.js +58 -17
  139. package/dist/backend/llvm/map-number-lookup.test.js.map +1 -1
  140. package/dist/backend/llvm/nullable-unions.js +7 -6
  141. package/dist/backend/llvm/nullable-unions.js.map +1 -1
  142. package/dist/backend/llvm/nullable-unions.test.js +4 -1
  143. package/dist/backend/llvm/nullable-unions.test.js.map +1 -1
  144. package/dist/backend/llvm/receiver-brackets.test.d.ts +1 -0
  145. package/dist/backend/llvm/receiver-brackets.test.js +68 -0
  146. package/dist/backend/llvm/receiver-brackets.test.js.map +1 -0
  147. package/dist/backend/llvm/receivers.js +3 -0
  148. package/dist/backend/llvm/receivers.js.map +1 -1
  149. package/dist/backend/llvm/record-entry-fusion.d.ts +32 -0
  150. package/dist/backend/llvm/record-entry-fusion.js +217 -0
  151. package/dist/backend/llvm/record-entry-fusion.js.map +1 -0
  152. package/dist/backend/llvm/record-results.d.ts +5 -2
  153. package/dist/backend/llvm/record-results.js +13 -12
  154. package/dist/backend/llvm/record-results.js.map +1 -1
  155. package/dist/backend/llvm/record-views.d.ts +22 -2
  156. package/dist/backend/llvm/record-views.js +147 -12
  157. package/dist/backend/llvm/record-views.js.map +1 -1
  158. package/dist/backend/llvm/record-views.test.js +76 -0
  159. package/dist/backend/llvm/record-views.test.js.map +1 -1
  160. package/dist/backend/llvm/reference-effects.js +1 -0
  161. package/dist/backend/llvm/reference-effects.js.map +1 -1
  162. package/dist/backend/llvm/reference-writes.js +4 -0
  163. package/dist/backend/llvm/reference-writes.js.map +1 -1
  164. package/dist/backend/llvm/region-ir.js +1 -0
  165. package/dist/backend/llvm/region-ir.js.map +1 -1
  166. package/dist/backend/llvm/region-sites.d.ts +18 -0
  167. package/dist/backend/llvm/region-sites.js +79 -1
  168. package/dist/backend/llvm/region-sites.js.map +1 -1
  169. package/dist/backend/llvm/runtime-registries.test.js +53 -6
  170. package/dist/backend/llvm/runtime-registries.test.js.map +1 -1
  171. package/dist/backend/llvm/serialized-ir-emission.test.js +3 -1
  172. package/dist/backend/llvm/serialized-ir-emission.test.js.map +1 -1
  173. package/dist/backend/llvm/shapes.d.ts +36 -3
  174. package/dist/backend/llvm/shapes.js +201 -16
  175. package/dist/backend/llvm/shapes.js.map +1 -1
  176. package/dist/backend/llvm/shapes.test.js +4 -0
  177. package/dist/backend/llvm/shapes.test.js.map +1 -1
  178. package/dist/backend/llvm/speculative-integers.d.ts +10 -1
  179. package/dist/backend/llvm/speculative-integers.js +59 -8
  180. package/dist/backend/llvm/speculative-integers.js.map +1 -1
  181. package/dist/backend/llvm/stack-objects.d.ts +1 -2
  182. package/dist/backend/llvm/stack-objects.js +8 -5
  183. package/dist/backend/llvm/stack-objects.js.map +1 -1
  184. package/dist/backend/llvm/unwind-abi.d.ts +3 -3
  185. package/dist/backend/llvm/unwind-abi.js +8 -3
  186. package/dist/backend/llvm/unwind-abi.js.map +1 -1
  187. package/dist/backend/llvm/walkers.d.ts +12 -0
  188. package/dist/backend/llvm/walkers.js +47 -3
  189. package/dist/backend/llvm/walkers.js.map +1 -1
  190. package/dist/backend/may-throw.js +12 -2
  191. package/dist/backend/may-throw.js.map +1 -1
  192. package/dist/backend/may-throw.test.js +13 -0
  193. package/dist/backend/may-throw.test.js.map +1 -1
  194. package/dist/backend/native/contracts.d.ts +94 -0
  195. package/dist/backend/native/executable.js +134 -10
  196. package/dist/backend/native/executable.js.map +1 -1
  197. package/dist/backend/native/helper-identity-record.d.ts +11 -0
  198. package/dist/backend/native/helper-identity-record.js +76 -0
  199. package/dist/backend/native/helper-identity-record.js.map +1 -0
  200. package/dist/backend/native/helper-identity-record.test.d.ts +1 -0
  201. package/dist/backend/native/helper-identity-record.test.js +101 -0
  202. package/dist/backend/native/helper-identity-record.test.js.map +1 -0
  203. package/dist/backend/native/library.js +10 -2
  204. package/dist/backend/native/library.js.map +1 -1
  205. package/dist/backend/native/runtime-inputs.js +8 -1
  206. package/dist/backend/native/runtime-inputs.js.map +1 -1
  207. package/dist/backend/native/vendor.d.ts +1 -1
  208. package/dist/backend/native/vendor.js +1 -1
  209. package/dist/backend/native/vendor.js.map +1 -1
  210. package/dist/backend/native-codegen-core.d.ts +13 -10
  211. package/dist/backend/native-codegen-core.js +26 -13
  212. package/dist/backend/native-codegen-core.js.map +1 -1
  213. package/dist/backend/native-codegen.js +30 -8
  214. package/dist/backend/native-codegen.js.map +1 -1
  215. package/dist/backend/native-codegen.test.js +110 -14
  216. package/dist/backend/native-codegen.test.js.map +1 -1
  217. package/dist/backend/native-link-info-core.d.ts +72 -0
  218. package/dist/backend/native-link-info-core.js.map +1 -1
  219. package/dist/backend/native-link-info.js +1 -0
  220. package/dist/backend/native-link-info.js.map +1 -1
  221. package/dist/backend/native-profile.d.ts +4 -1
  222. package/dist/backend/native-profile.js +12 -1
  223. package/dist/backend/native-profile.js.map +1 -1
  224. package/dist/backend/native-profile.test.js +10 -0
  225. package/dist/backend/native-profile.test.js.map +1 -1
  226. package/dist/backend/publication.d.ts +4 -1
  227. package/dist/backend/publication.js +4 -2
  228. package/dist/backend/publication.js.map +1 -1
  229. package/dist/backend/runtime-abi.d.ts +2 -2
  230. package/dist/backend/runtime-abi.js +2 -2
  231. package/dist/backend/runtime-pack-core.d.ts +46 -7
  232. package/dist/backend/runtime-pack-core.js +37 -2
  233. package/dist/backend/runtime-pack-core.js.map +1 -1
  234. package/dist/backend/runtime-pack-native.d.ts +18 -1
  235. package/dist/backend/runtime-pack-native.js +138 -29
  236. package/dist/backend/runtime-pack-native.js.map +1 -1
  237. package/dist/backend/runtime-pack-native.test.js +166 -4
  238. package/dist/backend/runtime-pack-native.test.js.map +1 -1
  239. package/dist/backend/runtime-pack-targets.test.js +3 -1
  240. package/dist/backend/runtime-pack-targets.test.js.map +1 -1
  241. package/dist/backend/runtime-pack.d.ts +7 -0
  242. package/dist/backend/runtime-pack.js +25 -3
  243. package/dist/backend/runtime-pack.js.map +1 -1
  244. package/dist/backend/runtime-pack.test.js +213 -12
  245. package/dist/backend/runtime-pack.test.js.map +1 -1
  246. package/dist/backend/tree-classes.d.ts +42 -0
  247. package/dist/backend/tree-classes.js +723 -0
  248. package/dist/backend/tree-classes.js.map +1 -0
  249. package/dist/backend/tree-classes.test.d.ts +1 -0
  250. package/dist/backend/tree-classes.test.js +338 -0
  251. package/dist/backend/tree-classes.test.js.map +1 -0
  252. package/dist/backend/vendor-archives.d.ts +8 -1
  253. package/dist/backend/vendor-archives.js +313 -8
  254. package/dist/backend/vendor-archives.js.map +1 -1
  255. package/dist/backend/vendor-inputs.d.ts +60 -3
  256. package/dist/backend/vendor-inputs.js +109 -3
  257. package/dist/backend/vendor-inputs.js.map +1 -1
  258. package/dist/backend/vendor-inputs.test.js +62 -1
  259. package/dist/backend/vendor-inputs.test.js.map +1 -1
  260. package/dist/backend/warm-cache.js +2 -0
  261. package/dist/backend/warm-cache.js.map +1 -1
  262. package/dist/compat/fetch-profile.d.ts +7 -1
  263. package/dist/compat/fetch-profile.js +25 -12
  264. package/dist/compat/fetch-profile.js.map +1 -1
  265. package/dist/compile-types.d.ts +7 -0
  266. package/dist/contracts/check.d.ts +3 -0
  267. package/dist/contracts/check.js +18 -5
  268. package/dist/contracts/check.js.map +1 -1
  269. package/dist/coverage/report.js +47 -0
  270. package/dist/coverage/report.js.map +1 -1
  271. package/dist/coverage/surface-manifest.js +1 -1
  272. package/dist/coverage/surface-manifest.js.map +1 -1
  273. package/dist/diagnostics/codes.d.ts +14 -0
  274. package/dist/diagnostics/codes.js +14 -0
  275. package/dist/diagnostics/codes.js.map +1 -1
  276. package/dist/diagnostics/diagnostic.d.ts +68 -0
  277. package/dist/diagnostics/diagnostic.js +186 -6
  278. package/dist/diagnostics/diagnostic.js.map +1 -1
  279. package/dist/diagnostics/dynamic-tier.js +3 -1
  280. package/dist/diagnostics/dynamic-tier.js.map +1 -1
  281. package/dist/diagnostics/envelope.d.ts +18 -0
  282. package/dist/diagnostics/envelope.js.map +1 -1
  283. package/dist/executable/executable-cache.d.ts +48 -0
  284. package/dist/executable/executable-cache.js +38 -0
  285. package/dist/executable/executable-cache.js.map +1 -1
  286. package/dist/executable/executable-cache.test.js +127 -1
  287. package/dist/executable/executable-cache.test.js.map +1 -1
  288. package/dist/executable/prepare.d.ts +13 -3
  289. package/dist/executable/prepare.js +438 -234
  290. package/dist/executable/prepare.js.map +1 -1
  291. package/dist/frontend/analysis.js +200 -18
  292. package/dist/frontend/analysis.js.map +1 -1
  293. package/dist/frontend/builtin-modules.d.ts +4 -0
  294. package/dist/frontend/builtin-modules.js +10 -0
  295. package/dist/frontend/builtin-modules.js.map +1 -1
  296. package/dist/frontend/early-errors.d.ts +24 -0
  297. package/dist/frontend/early-errors.js +836 -0
  298. package/dist/frontend/early-errors.js.map +1 -0
  299. package/dist/frontend/early-errors.test.d.ts +1 -0
  300. package/dist/frontend/early-errors.test.js +207 -0
  301. package/dist/frontend/early-errors.test.js.map +1 -0
  302. package/dist/frontend/inferred-js-diagnostics.test.js +88 -0
  303. package/dist/frontend/inferred-js-diagnostics.test.js.map +1 -1
  304. package/dist/frontend/input-tracker.d.ts +47 -0
  305. package/dist/frontend/input-tracker.js +173 -36
  306. package/dist/frontend/input-tracker.js.map +1 -1
  307. package/dist/frontend/input-tracker.test.js +86 -2
  308. package/dist/frontend/input-tracker.test.js.map +1 -1
  309. package/dist/frontend/js-inference.d.ts +2 -0
  310. package/dist/frontend/js-inference.js +18 -0
  311. package/dist/frontend/js-inference.js.map +1 -0
  312. package/dist/frontend/jsx-opinion-sites.test.d.ts +1 -0
  313. package/dist/frontend/jsx-opinion-sites.test.js +86 -0
  314. package/dist/frontend/jsx-opinion-sites.test.js.map +1 -0
  315. package/dist/frontend/lib-exports.d.ts +23 -4
  316. package/dist/frontend/lib-exports.js +98 -26
  317. package/dist/frontend/lib-exports.js.map +1 -1
  318. package/dist/frontend/lowering/binding-analysis.d.ts +2 -1
  319. package/dist/frontend/lowering/binding-analysis.js +86 -4
  320. package/dist/frontend/lowering/binding-analysis.js.map +1 -1
  321. package/dist/frontend/lowering/buffers.d.ts +8 -0
  322. package/dist/frontend/lowering/buffers.js +43 -0
  323. package/dist/frontend/lowering/buffers.js.map +1 -0
  324. package/dist/frontend/lowering/builtin-calls.js +13 -0
  325. package/dist/frontend/lowering/builtin-calls.js.map +1 -1
  326. package/dist/frontend/lowering/builtin-namespaces.d.ts +3 -2
  327. package/dist/frontend/lowering/builtin-namespaces.js +41 -3
  328. package/dist/frontend/lowering/builtin-namespaces.js.map +1 -1
  329. package/dist/frontend/lowering/builtin-statics.d.ts +24 -0
  330. package/dist/frontend/lowering/builtin-statics.js +407 -0
  331. package/dist/frontend/lowering/builtin-statics.js.map +1 -0
  332. package/dist/frontend/lowering/builtins/arguments.d.ts +4 -0
  333. package/dist/frontend/lowering/builtins/arguments.js +12 -0
  334. package/dist/frontend/lowering/builtins/arguments.js.map +1 -1
  335. package/dist/frontend/lowering/builtins/atomics.d.ts +6 -1
  336. package/dist/frontend/lowering/builtins/atomics.js +87 -1
  337. package/dist/frontend/lowering/builtins/atomics.js.map +1 -1
  338. package/dist/frontend/lowering/builtins/child-process-methods.d.ts +7 -0
  339. package/dist/frontend/lowering/builtins/child-process-methods.js +52 -12
  340. package/dist/frontend/lowering/builtins/child-process-methods.js.map +1 -1
  341. package/dist/frontend/lowering/builtins/child-process-sync.d.ts +13 -0
  342. package/dist/frontend/lowering/builtins/child-process-sync.js +1 -13
  343. package/dist/frontend/lowering/builtins/child-process-sync.js.map +1 -1
  344. package/dist/frontend/lowering/builtins/child-process.d.ts +10 -4
  345. package/dist/frontend/lowering/builtins/child-process.js +565 -28
  346. package/dist/frontend/lowering/builtins/child-process.js.map +1 -1
  347. package/dist/frontend/lowering/builtins/compression.d.ts +2 -2
  348. package/dist/frontend/lowering/builtins/compression.js +41 -21
  349. package/dist/frontend/lowering/builtins/compression.js.map +1 -1
  350. package/dist/frontend/lowering/builtins/constants.js +7 -2
  351. package/dist/frontend/lowering/builtins/constants.js.map +1 -1
  352. package/dist/frontend/lowering/builtins/dates.d.ts +1 -1
  353. package/dist/frontend/lowering/builtins/dates.js +23 -1
  354. package/dist/frontend/lowering/builtins/dates.js.map +1 -1
  355. package/dist/frontend/lowering/builtins/environment.d.ts +55 -0
  356. package/dist/frontend/lowering/builtins/environment.js +213 -2
  357. package/dist/frontend/lowering/builtins/environment.js.map +1 -1
  358. package/dist/frontend/lowering/builtins/filesystem-calls.d.ts +1 -0
  359. package/dist/frontend/lowering/builtins/filesystem-calls.js +75 -18
  360. package/dist/frontend/lowering/builtins/filesystem-calls.js.map +1 -1
  361. package/dist/frontend/lowering/builtins/filesystem.d.ts +25 -7
  362. package/dist/frontend/lowering/builtins/filesystem.js +185 -16
  363. package/dist/frontend/lowering/builtins/filesystem.js.map +1 -1
  364. package/dist/frontend/lowering/builtins/json.js +4 -0
  365. package/dist/frontend/lowering/builtins/json.js.map +1 -1
  366. package/dist/frontend/lowering/builtins/module-calls.js +42 -3
  367. package/dist/frontend/lowering/builtins/module-calls.js.map +1 -1
  368. package/dist/frontend/lowering/builtins/module-resolution.d.ts +8 -0
  369. package/dist/frontend/lowering/builtins/module-resolution.js +31 -5
  370. package/dist/frontend/lowering/builtins/module-resolution.js.map +1 -1
  371. package/dist/frontend/lowering/builtins/numbers.d.ts +4 -1
  372. package/dist/frontend/lowering/builtins/numbers.js +10 -2
  373. package/dist/frontend/lowering/builtins/numbers.js.map +1 -1
  374. package/dist/frontend/lowering/builtins/operating-system.d.ts +9 -5
  375. package/dist/frontend/lowering/builtins/operating-system.js +101 -20
  376. package/dist/frontend/lowering/builtins/operating-system.js.map +1 -1
  377. package/dist/frontend/lowering/builtins/process.d.ts +18 -2
  378. package/dist/frontend/lowering/builtins/process.js +386 -25
  379. package/dist/frontend/lowering/builtins/process.js.map +1 -1
  380. package/dist/frontend/lowering/builtins/promises.js +169 -8
  381. package/dist/frontend/lowering/builtins/promises.js.map +1 -1
  382. package/dist/frontend/lowering/builtins/properties.js +6 -2
  383. package/dist/frontend/lowering/builtins/properties.js.map +1 -1
  384. package/dist/frontend/lowering/builtins/querystring.d.ts +8 -0
  385. package/dist/frontend/lowering/builtins/querystring.js +202 -18
  386. package/dist/frontend/lowering/builtins/querystring.js.map +1 -1
  387. package/dist/frontend/lowering/builtins/readline.d.ts +6 -4
  388. package/dist/frontend/lowering/builtins/readline.js +200 -38
  389. package/dist/frontend/lowering/builtins/readline.js.map +1 -1
  390. package/dist/frontend/lowering/builtins/reflection.js +60 -1
  391. package/dist/frontend/lowering/builtins/reflection.js.map +1 -1
  392. package/dist/frontend/lowering/builtins/text-codecs.js +208 -59
  393. package/dist/frontend/lowering/builtins/text-codecs.js.map +1 -1
  394. package/dist/frontend/lowering/builtins/url.js +55 -13
  395. package/dist/frontend/lowering/builtins/url.js.map +1 -1
  396. package/dist/frontend/lowering/builtins/v8.d.ts +5 -5
  397. package/dist/frontend/lowering/builtins/v8.js +7 -5
  398. package/dist/frontend/lowering/builtins/v8.js.map +1 -1
  399. package/dist/frontend/lowering/builtins/web-streams-dyn.d.ts +17 -2
  400. package/dist/frontend/lowering/builtins/web-streams-dyn.js +97 -9
  401. package/dist/frontend/lowering/builtins/web-streams-dyn.js.map +1 -1
  402. package/dist/frontend/lowering/builtins/webassembly.js +2 -0
  403. package/dist/frontend/lowering/builtins/webassembly.js.map +1 -1
  404. package/dist/frontend/lowering/call-arguments.d.ts +10 -0
  405. package/dist/frontend/lowering/call-arguments.js +37 -2
  406. package/dist/frontend/lowering/call-arguments.js.map +1 -1
  407. package/dist/frontend/lowering/call-signatures.d.ts +10 -0
  408. package/dist/frontend/lowering/call-signatures.js +180 -0
  409. package/dist/frontend/lowering/call-signatures.js.map +1 -1
  410. package/dist/frontend/lowering/cjs-exports-object.d.ts +3 -0
  411. package/dist/frontend/lowering/cjs-exports-object.js +1 -1
  412. package/dist/frontend/lowering/cjs-exports-object.js.map +1 -1
  413. package/dist/frontend/lowering/cjs-inline-require.js +5 -0
  414. package/dist/frontend/lowering/cjs-inline-require.js.map +1 -1
  415. package/dist/frontend/lowering/class-construction.d.ts +14 -2
  416. package/dist/frontend/lowering/class-construction.js +99 -5
  417. package/dist/frontend/lowering/class-construction.js.map +1 -1
  418. package/dist/frontend/lowering/class-dynamic-dispatch.d.ts +14 -0
  419. package/dist/frontend/lowering/class-dynamic-dispatch.js +1376 -1009
  420. package/dist/frontend/lowering/class-dynamic-dispatch.js.map +1 -1
  421. package/dist/frontend/lowering/class-dynamic-dispatch.test.js +158 -0
  422. package/dist/frontend/lowering/class-dynamic-dispatch.test.js.map +1 -1
  423. package/dist/frontend/lowering/class-protocols.js +59 -10
  424. package/dist/frontend/lowering/class-protocols.js.map +1 -1
  425. package/dist/frontend/lowering/class-prototypes.js +20 -15
  426. package/dist/frontend/lowering/class-prototypes.js.map +1 -1
  427. package/dist/frontend/lowering/class-runtime-statics.d.ts +8 -0
  428. package/dist/frontend/lowering/class-runtime-statics.js +35 -1
  429. package/dist/frontend/lowering/class-runtime-statics.js.map +1 -1
  430. package/dist/frontend/lowering/class-unions.js +21 -4
  431. package/dist/frontend/lowering/class-unions.js.map +1 -1
  432. package/dist/frontend/lowering/class-views.d.ts +13 -0
  433. package/dist/frontend/lowering/class-views.js +51 -0
  434. package/dist/frontend/lowering/class-views.js.map +1 -0
  435. package/dist/frontend/lowering/coercions/function-adapters.d.ts +15 -1
  436. package/dist/frontend/lowering/coercions/function-adapters.js +63 -10
  437. package/dist/frontend/lowering/coercions/function-adapters.js.map +1 -1
  438. package/dist/frontend/lowering/coercions/state.d.ts +15 -0
  439. package/dist/frontend/lowering/coercions/state.js +24 -0
  440. package/dist/frontend/lowering/coercions/state.js.map +1 -1
  441. package/dist/frontend/lowering/coercions/structural-plans.js +75 -3
  442. package/dist/frontend/lowering/coercions/structural-plans.js.map +1 -1
  443. package/dist/frontend/lowering/coercions/structural.js +39 -2
  444. package/dist/frontend/lowering/coercions/structural.js.map +1 -1
  445. package/dist/frontend/lowering/coercions/unions.d.ts +2 -1
  446. package/dist/frontend/lowering/coercions/unions.js +54 -10
  447. package/dist/frontend/lowering/coercions/unions.js.map +1 -1
  448. package/dist/frontend/lowering/constructor-returns.d.ts +23 -2
  449. package/dist/frontend/lowering/constructor-returns.js +284 -58
  450. package/dist/frontend/lowering/constructor-returns.js.map +1 -1
  451. package/dist/frontend/lowering/containers/array-callbacks.d.ts +8 -1
  452. package/dist/frontend/lowering/containers/array-callbacks.js +288 -90
  453. package/dist/frontend/lowering/containers/array-callbacks.js.map +1 -1
  454. package/dist/frontend/lowering/containers/array-construction.js +37 -8
  455. package/dist/frontend/lowering/containers/array-construction.js.map +1 -1
  456. package/dist/frontend/lowering/containers/array-from-async.js +139 -3
  457. package/dist/frontend/lowering/containers/array-from-async.js.map +1 -1
  458. package/dist/frontend/lowering/containers/array-iteration.d.ts +14 -4
  459. package/dist/frontend/lowering/containers/array-iteration.js +24 -7
  460. package/dist/frontend/lowering/containers/array-iteration.js.map +1 -1
  461. package/dist/frontend/lowering/containers/array-methods.js +30 -11
  462. package/dist/frontend/lowering/containers/array-methods.js.map +1 -1
  463. package/dist/frontend/lowering/containers/bytes.d.ts +6 -0
  464. package/dist/frontend/lowering/containers/bytes.js +450 -86
  465. package/dist/frontend/lowering/containers/bytes.js.map +1 -1
  466. package/dist/frontend/lowering/containers/callback-arguments.d.ts +16 -0
  467. package/dist/frontend/lowering/containers/callback-arguments.js +74 -12
  468. package/dist/frontend/lowering/containers/callback-arguments.js.map +1 -1
  469. package/dist/frontend/lowering/containers/collection-grouping.js +421 -2
  470. package/dist/frontend/lowering/containers/collection-grouping.js.map +1 -1
  471. package/dist/frontend/lowering/containers/collection-methods.js +52 -17
  472. package/dist/frontend/lowering/containers/collection-methods.js.map +1 -1
  473. package/dist/frontend/lowering/containers/filter-predicates.d.ts +10 -0
  474. package/dist/frontend/lowering/containers/filter-predicates.js +69 -3
  475. package/dist/frontend/lowering/containers/filter-predicates.js.map +1 -1
  476. package/dist/frontend/lowering/containers/indexed-objects.js +46 -2
  477. package/dist/frontend/lowering/containers/indexed-objects.js.map +1 -1
  478. package/dist/frontend/lowering/containers/iterator-helpers.d.ts +23 -0
  479. package/dist/frontend/lowering/containers/iterator-helpers.js +176 -10
  480. package/dist/frontend/lowering/containers/iterator-helpers.js.map +1 -1
  481. package/dist/frontend/lowering/containers/string-and-regexp.d.ts +5 -2
  482. package/dist/frontend/lowering/containers/string-and-regexp.js +45 -11
  483. package/dist/frontend/lowering/containers/string-and-regexp.js.map +1 -1
  484. package/dist/frontend/lowering/crypto-tables.d.ts +3 -3
  485. package/dist/frontend/lowering/crypto-tables.js +5 -5
  486. package/dist/frontend/lowering/dispatch-sites.js +3 -0
  487. package/dist/frontend/lowering/dispatch-sites.js.map +1 -1
  488. package/dist/frontend/lowering/divergences.d.ts +40 -0
  489. package/dist/frontend/lowering/divergences.js +239 -20
  490. package/dist/frontend/lowering/divergences.js.map +1 -1
  491. package/dist/frontend/lowering/effect-free.d.ts +12 -0
  492. package/dist/frontend/lowering/effect-free.js +44 -0
  493. package/dist/frontend/lowering/effect-free.js.map +1 -0
  494. package/dist/frontend/lowering/expressions/array-literals.d.ts +24 -0
  495. package/dist/frontend/lowering/expressions/array-literals.js +88 -10
  496. package/dist/frontend/lowering/expressions/array-literals.js.map +1 -1
  497. package/dist/frontend/lowering/expressions/binary.js +216 -14
  498. package/dist/frontend/lowering/expressions/binary.js.map +1 -1
  499. package/dist/frontend/lowering/expressions/element-access.js +272 -11
  500. package/dist/frontend/lowering/expressions/element-access.js.map +1 -1
  501. package/dist/frontend/lowering/expressions/hosted-narrowing.d.ts +15 -0
  502. package/dist/frontend/lowering/expressions/hosted-narrowing.js +54 -1
  503. package/dist/frontend/lowering/expressions/hosted-narrowing.js.map +1 -1
  504. package/dist/frontend/lowering/expressions/identifiers.js +173 -4
  505. package/dist/frontend/lowering/expressions/identifiers.js.map +1 -1
  506. package/dist/frontend/lowering/expressions/keyed-field-targets.d.ts +11 -1
  507. package/dist/frontend/lowering/expressions/keyed-field-targets.js +22 -1
  508. package/dist/frontend/lowering/expressions/keyed-field-targets.js.map +1 -1
  509. package/dist/frontend/lowering/expressions/narrowing.d.ts +3 -0
  510. package/dist/frontend/lowering/expressions/narrowing.js +195 -18
  511. package/dist/frontend/lowering/expressions/narrowing.js.map +1 -1
  512. package/dist/frontend/lowering/expressions/object-literals.d.ts +5 -1
  513. package/dist/frontend/lowering/expressions/object-literals.js +951 -240
  514. package/dist/frontend/lowering/expressions/object-literals.js.map +1 -1
  515. package/dist/frontend/lowering/expressions/optional-chains.js +71 -21
  516. package/dist/frontend/lowering/expressions/optional-chains.js.map +1 -1
  517. package/dist/frontend/lowering/expressions/property-access.d.ts +39 -0
  518. package/dist/frontend/lowering/expressions/property-access.js +1141 -87
  519. package/dist/frontend/lowering/expressions/property-access.js.map +1 -1
  520. package/dist/frontend/lowering/expressions/relational.js +262 -4
  521. package/dist/frontend/lowering/expressions/relational.js.map +1 -1
  522. package/dist/frontend/lowering/expressions/typeof.js +25 -0
  523. package/dist/frontend/lowering/expressions/typeof.js.map +1 -1
  524. package/dist/frontend/lowering/expressions/union-fields.d.ts +20 -1
  525. package/dist/frontend/lowering/expressions/union-fields.js +103 -13
  526. package/dist/frontend/lowering/expressions/union-fields.js.map +1 -1
  527. package/dist/frontend/lowering/expressions/updates.js +156 -22
  528. package/dist/frontend/lowering/expressions/updates.js.map +1 -1
  529. package/dist/frontend/lowering/frozen-records.d.ts +6 -0
  530. package/dist/frontend/lowering/frozen-records.js +10 -4
  531. package/dist/frontend/lowering/frozen-records.js.map +1 -1
  532. package/dist/frontend/lowering/frozen-records.test.d.ts +1 -0
  533. package/dist/frontend/lowering/frozen-records.test.js +44 -0
  534. package/dist/frontend/lowering/frozen-records.test.js.map +1 -0
  535. package/dist/frontend/lowering/function-names.d.ts +9 -0
  536. package/dist/frontend/lowering/function-names.js +95 -0
  537. package/dist/frontend/lowering/function-names.js.map +1 -0
  538. package/dist/frontend/lowering/function-returns.js +42 -13
  539. package/dist/frontend/lowering/function-returns.js.map +1 -1
  540. package/dist/frontend/lowering/general-streams.js +5 -0
  541. package/dist/frontend/lowering/general-streams.js.map +1 -1
  542. package/dist/frontend/lowering/generator-delegation.d.ts +15 -7
  543. package/dist/frontend/lowering/generator-delegation.js +301 -118
  544. package/dist/frontend/lowering/generator-delegation.js.map +1 -1
  545. package/dist/frontend/lowering/generic-functions.d.ts +75 -0
  546. package/dist/frontend/lowering/generic-functions.js +790 -18
  547. package/dist/frontend/lowering/generic-functions.js.map +1 -1
  548. package/dist/frontend/lowering/global-function-values.d.ts +25 -0
  549. package/dist/frontend/lowering/global-function-values.js +193 -0
  550. package/dist/frontend/lowering/global-function-values.js.map +1 -0
  551. package/dist/frontend/lowering/global-values.d.ts +15 -4
  552. package/dist/frontend/lowering/global-values.js +67 -9
  553. package/dist/frontend/lowering/global-values.js.map +1 -1
  554. package/dist/frontend/lowering/handle-properties.js +34 -1
  555. package/dist/frontend/lowering/handle-properties.js.map +1 -1
  556. package/dist/frontend/lowering/host-global-values.d.ts +31 -0
  557. package/dist/frontend/lowering/host-global-values.js +121 -0
  558. package/dist/frontend/lowering/host-global-values.js.map +1 -0
  559. package/dist/frontend/lowering/host-globals.d.ts +74 -0
  560. package/dist/frontend/lowering/host-globals.js +344 -0
  561. package/dist/frontend/lowering/host-globals.js.map +1 -0
  562. package/dist/frontend/lowering/http2-constants.js +1 -1
  563. package/dist/frontend/lowering/iterator-adapters.js +46 -17
  564. package/dist/frontend/lowering/iterator-adapters.js.map +1 -1
  565. package/dist/frontend/lowering/iterator-prototype.d.ts +30 -0
  566. package/dist/frontend/lowering/iterator-prototype.js +160 -0
  567. package/dist/frontend/lowering/iterator-prototype.js.map +1 -0
  568. package/dist/frontend/lowering/key-order-witness.d.ts +54 -0
  569. package/dist/frontend/lowering/key-order-witness.js +571 -9
  570. package/dist/frontend/lowering/key-order-witness.js.map +1 -1
  571. package/dist/frontend/lowering/key-order-witness.test.js +1 -0
  572. package/dist/frontend/lowering/key-order-witness.test.js.map +1 -1
  573. package/dist/frontend/lowering/lib-boundary.js +25 -3
  574. package/dist/frontend/lowering/lib-boundary.js.map +1 -1
  575. package/dist/frontend/lowering/lower-assert.js +140 -16
  576. package/dist/frontend/lowering/lower-assert.js.map +1 -1
  577. package/dist/frontend/lowering/lower-async-iteration.d.ts +11 -0
  578. package/dist/frontend/lowering/lower-async-iteration.js +15 -0
  579. package/dist/frontend/lowering/lower-async-iteration.js.map +1 -1
  580. package/dist/frontend/lowering/lower-builtin-values.d.ts +36 -6
  581. package/dist/frontend/lowering/lower-builtin-values.js +342 -58
  582. package/dist/frontend/lowering/lower-builtin-values.js.map +1 -1
  583. package/dist/frontend/lowering/lower-calls.d.ts +47 -1
  584. package/dist/frontend/lowering/lower-calls.js +1354 -273
  585. package/dist/frontend/lowering/lower-calls.js.map +1 -1
  586. package/dist/frontend/lowering/lower-calls.test.d.ts +1 -0
  587. package/dist/frontend/lowering/lower-calls.test.js +121 -0
  588. package/dist/frontend/lowering/lower-calls.test.js.map +1 -0
  589. package/dist/frontend/lowering/lower-classes.d.ts +36 -5
  590. package/dist/frontend/lowering/lower-classes.js +630 -89
  591. package/dist/frontend/lowering/lower-classes.js.map +1 -1
  592. package/dist/frontend/lowering/lower-event-emitter.d.ts +15 -2
  593. package/dist/frontend/lowering/lower-event-emitter.js +610 -98
  594. package/dist/frontend/lowering/lower-event-emitter.js.map +1 -1
  595. package/dist/frontend/lowering/lower-exprs.d.ts +15 -1
  596. package/dist/frontend/lowering/lower-exprs.js +96 -20
  597. package/dist/frontend/lowering/lower-exprs.js.map +1 -1
  598. package/dist/frontend/lowering/lower-functions.js +27 -6
  599. package/dist/frontend/lowering/lower-functions.js.map +1 -1
  600. package/dist/frontend/lowering/lower-generators.js +57 -10
  601. package/dist/frontend/lowering/lower-generators.js.map +1 -1
  602. package/dist/frontend/lowering/lower-global-value.d.ts +6 -0
  603. package/dist/frontend/lowering/lower-global-value.js +14 -5
  604. package/dist/frontend/lowering/lower-global-value.js.map +1 -1
  605. package/dist/frontend/lowering/lower-inspect.d.ts +4 -0
  606. package/dist/frontend/lowering/lower-inspect.js +713 -92
  607. package/dist/frontend/lowering/lower-inspect.js.map +1 -1
  608. package/dist/frontend/lowering/lower-modules.js +135 -27
  609. package/dist/frontend/lowering/lower-modules.js.map +1 -1
  610. package/dist/frontend/lowering/lower-namespaces.js +18 -0
  611. package/dist/frontend/lowering/lower-namespaces.js.map +1 -1
  612. package/dist/frontend/lowering/lower-node-island.d.ts +35 -4
  613. package/dist/frontend/lowering/lower-node-island.js +472 -67
  614. package/dist/frontend/lowering/lower-node-island.js.map +1 -1
  615. package/dist/frontend/lowering/lower-server.js +463 -96
  616. package/dist/frontend/lowering/lower-server.js.map +1 -1
  617. package/dist/frontend/lowering/lower-shared-modules.js +13 -1
  618. package/dist/frontend/lowering/lower-shared-modules.js.map +1 -1
  619. package/dist/frontend/lowering/lower-stdlib.d.ts +3 -2
  620. package/dist/frontend/lowering/lower-stdlib.js +77 -18
  621. package/dist/frontend/lowering/lower-stdlib.js.map +1 -1
  622. package/dist/frontend/lowering/lower-stmts.d.ts +24 -4
  623. package/dist/frontend/lowering/lower-stmts.js +831 -136
  624. package/dist/frontend/lowering/lower-stmts.js.map +1 -1
  625. package/dist/frontend/lowering/lower-stream.js +126 -8
  626. package/dist/frontend/lowering/lower-stream.js.map +1 -1
  627. package/dist/frontend/lowering/lower-timers.js +243 -48
  628. package/dist/frontend/lowering/lower-timers.js.map +1 -1
  629. package/dist/frontend/lowering/lower-url.js +6 -3
  630. package/dist/frontend/lowering/lower-url.js.map +1 -1
  631. package/dist/frontend/lowering/lowerer.d.ts +363 -21
  632. package/dist/frontend/lowering/lowerer.js +1224 -129
  633. package/dist/frontend/lowering/lowerer.js.map +1 -1
  634. package/dist/frontend/lowering/lowerer.test.js +19 -1
  635. package/dist/frontend/lowering/lowerer.test.js.map +1 -1
  636. package/dist/frontend/lowering/lowering-facts.d.ts +110 -0
  637. package/dist/frontend/lowering/lowering-facts.js +323 -0
  638. package/dist/frontend/lowering/lowering-facts.js.map +1 -0
  639. package/dist/frontend/lowering/lowering-facts.test.d.ts +1 -0
  640. package/dist/frontend/lowering/lowering-facts.test.js +100 -0
  641. package/dist/frontend/lowering/lowering-facts.test.js.map +1 -0
  642. package/dist/frontend/lowering/module-namespace-elements.js +15 -0
  643. package/dist/frontend/lowering/module-namespace-elements.js.map +1 -1
  644. package/dist/frontend/lowering/nan-coded-reads.d.ts +27 -4
  645. package/dist/frontend/lowering/nan-coded-reads.js +112 -9
  646. package/dist/frontend/lowering/nan-coded-reads.js.map +1 -1
  647. package/dist/frontend/lowering/new-target.js +2 -2
  648. package/dist/frontend/lowering/nullish-empty-pattern.d.ts +17 -0
  649. package/dist/frontend/lowering/nullish-empty-pattern.js +118 -0
  650. package/dist/frontend/lowering/nullish-empty-pattern.js.map +1 -0
  651. package/dist/frontend/lowering/optional-arguments.d.ts +4 -0
  652. package/dist/frontend/lowering/optional-arguments.js +26 -2
  653. package/dist/frontend/lowering/optional-arguments.js.map +1 -1
  654. package/dist/frontend/lowering/partial-assertions.d.ts +36 -0
  655. package/dist/frontend/lowering/partial-assertions.js +189 -0
  656. package/dist/frontend/lowering/partial-assertions.js.map +1 -0
  657. package/dist/frontend/lowering/primitive-throws.d.ts +100 -0
  658. package/dist/frontend/lowering/primitive-throws.js +241 -0
  659. package/dist/frontend/lowering/primitive-throws.js.map +1 -0
  660. package/dist/frontend/lowering/primitive-wrappers.d.ts +34 -0
  661. package/dist/frontend/lowering/primitive-wrappers.js +221 -0
  662. package/dist/frontend/lowering/primitive-wrappers.js.map +1 -0
  663. package/dist/frontend/lowering/private-statics.d.ts +46 -0
  664. package/dist/frontend/lowering/private-statics.js +322 -0
  665. package/dist/frontend/lowering/private-statics.js.map +1 -0
  666. package/dist/frontend/lowering/record-inherited.d.ts +17 -1
  667. package/dist/frontend/lowering/record-inherited.js +16 -2
  668. package/dist/frontend/lowering/record-inherited.js.map +1 -1
  669. package/dist/frontend/lowering/record-links.d.ts +73 -0
  670. package/dist/frontend/lowering/record-links.js +797 -0
  671. package/dist/frontend/lowering/record-links.js.map +1 -0
  672. package/dist/frontend/lowering/record-sources.d.ts +12 -1
  673. package/dist/frontend/lowering/record-sources.js +60 -0
  674. package/dist/frontend/lowering/record-sources.js.map +1 -1
  675. package/dist/frontend/lowering/runtime-optional-provenance.d.ts +27 -7
  676. package/dist/frontend/lowering/runtime-optional-provenance.js +25 -11
  677. package/dist/frontend/lowering/runtime-optional-provenance.js.map +1 -1
  678. package/dist/frontend/lowering/runtime-optional-report.d.ts +40 -0
  679. package/dist/frontend/lowering/runtime-optional-report.js +300 -0
  680. package/dist/frontend/lowering/runtime-optional-report.js.map +1 -0
  681. package/dist/frontend/lowering/scoped-type-memo.test.d.ts +1 -0
  682. package/dist/frontend/lowering/scoped-type-memo.test.js +86 -0
  683. package/dist/frontend/lowering/scoped-type-memo.test.js.map +1 -0
  684. package/dist/frontend/lowering/static-typeof.d.ts +3 -1
  685. package/dist/frontend/lowering/static-typeof.js +6 -1
  686. package/dist/frontend/lowering/static-typeof.js.map +1 -1
  687. package/dist/frontend/lowering/strict-equality.d.ts +4 -0
  688. package/dist/frontend/lowering/strict-equality.js +14 -0
  689. package/dist/frontend/lowering/strict-equality.js.map +1 -1
  690. package/dist/frontend/lowering/strict-mode.d.ts +1 -5
  691. package/dist/frontend/lowering/strict-mode.js +4 -30
  692. package/dist/frontend/lowering/strict-mode.js.map +1 -1
  693. package/dist/frontend/lowering/structural-instances.d.ts +7 -0
  694. package/dist/frontend/lowering/structural-instances.js +23 -0
  695. package/dist/frontend/lowering/structural-instances.js.map +1 -1
  696. package/dist/frontend/lowering/surfaces.d.ts +42 -1
  697. package/dist/frontend/lowering/surfaces.js +212 -71
  698. package/dist/frontend/lowering/surfaces.js.map +1 -1
  699. package/dist/frontend/lowering/union-retag.d.ts +13 -1
  700. package/dist/frontend/lowering/union-retag.js +55 -1
  701. package/dist/frontend/lowering/union-retag.js.map +1 -1
  702. package/dist/frontend/lowering/union-retag.test.js +51 -0
  703. package/dist/frontend/lowering/union-retag.test.js.map +1 -1
  704. package/dist/frontend/lowering/unit-journal.d.ts +136 -17
  705. package/dist/frontend/lowering/unit-journal.js +324 -53
  706. package/dist/frontend/lowering/unit-journal.js.map +1 -1
  707. package/dist/frontend/lowering/unit-journal.test.js +126 -3
  708. package/dist/frontend/lowering/unit-journal.test.js.map +1 -1
  709. package/dist/frontend/lowering/unit-reuse.d.ts +92 -0
  710. package/dist/frontend/lowering/unit-reuse.js +1008 -0
  711. package/dist/frontend/lowering/unit-reuse.js.map +1 -0
  712. package/dist/frontend/lowering/width-lift.d.ts +12 -0
  713. package/dist/frontend/lowering/zlib-constants.js +3 -2
  714. package/dist/frontend/lowering/zlib-constants.js.map +1 -1
  715. package/dist/frontend/npm-file-import.test.d.ts +1 -0
  716. package/dist/frontend/npm-file-import.test.js +76 -0
  717. package/dist/frontend/npm-file-import.test.js.map +1 -0
  718. package/dist/frontend/npm-static.js +95 -11
  719. package/dist/frontend/npm-static.js.map +1 -1
  720. package/dist/frontend/npm-static.test.js +95 -2
  721. package/dist/frontend/npm-static.test.js.map +1 -1
  722. package/dist/frontend/npm.d.ts +9 -0
  723. package/dist/frontend/npm.js +82 -0
  724. package/dist/frontend/npm.js.map +1 -1
  725. package/dist/frontend/pipeline-native.js +2 -1
  726. package/dist/frontend/pipeline-native.js.map +1 -1
  727. package/dist/frontend/pipeline.d.ts +9 -4
  728. package/dist/frontend/pipeline.js +162 -38
  729. package/dist/frontend/pipeline.js.map +1 -1
  730. package/dist/frontend/pipeline.test.js +68 -11
  731. package/dist/frontend/pipeline.test.js.map +1 -1
  732. package/dist/frontend/program-node.d.ts +3 -0
  733. package/dist/frontend/program-node.js +13 -6
  734. package/dist/frontend/program-node.js.map +1 -1
  735. package/dist/frontend/program.d.ts +71 -2
  736. package/dist/frontend/program.js +836 -411
  737. package/dist/frontend/program.js.map +1 -1
  738. package/dist/frontend/program.test.js +37 -1
  739. package/dist/frontend/program.test.js.map +1 -1
  740. package/dist/frontend/provenance-core.js +4 -0
  741. package/dist/frontend/provenance-core.js.map +1 -1
  742. package/dist/frontend/services-node.d.ts +7 -0
  743. package/dist/frontend/services-node.js +32 -1
  744. package/dist/frontend/services-node.js.map +1 -1
  745. package/dist/frontend/services-node.test.js +51 -0
  746. package/dist/frontend/services-node.test.js.map +1 -1
  747. package/dist/frontend/services.d.ts +14 -0
  748. package/dist/frontend/services.js +52 -2
  749. package/dist/frontend/services.js.map +1 -1
  750. package/dist/frontend/services.test.js +61 -1
  751. package/dist/frontend/services.test.js.map +1 -1
  752. package/dist/frontend/shape-inference/analyze.d.ts +5 -0
  753. package/dist/frontend/shape-inference/analyze.js +104 -4
  754. package/dist/frontend/shape-inference/analyze.js.map +1 -1
  755. package/dist/frontend/shape-inference/domain.js +0 -1
  756. package/dist/frontend/shape-inference/domain.js.map +1 -1
  757. package/dist/frontend/shape-inference/index.js +5 -1
  758. package/dist/frontend/shape-inference/index.js.map +1 -1
  759. package/dist/frontend/shape-inference/memo.d.ts +2 -1
  760. package/dist/frontend/shape-inference/memo.js +6 -2
  761. package/dist/frontend/shape-inference/memo.js.map +1 -1
  762. package/dist/frontend/shape-inference/overlay.d.ts +1 -1
  763. package/dist/frontend/shape-inference/overlay.js +184 -4
  764. package/dist/frontend/shape-inference/overlay.js.map +1 -1
  765. package/dist/frontend/shape-inference/static-objects.js +11 -6
  766. package/dist/frontend/shape-inference/static-objects.js.map +1 -1
  767. package/dist/frontend/source-phase-imports.test.d.ts +1 -0
  768. package/dist/frontend/source-phase-imports.test.js +37 -0
  769. package/dist/frontend/source-phase-imports.test.js.map +1 -0
  770. package/dist/frontend/tier-analysis.d.ts +9 -0
  771. package/dist/frontend/tier-analysis.js +1 -0
  772. package/dist/frontend/tier-analysis.js.map +1 -1
  773. package/dist/frontend/ts7/ast-node.d.ts +6 -1
  774. package/dist/frontend/ts7/ast-node.js +12 -0
  775. package/dist/frontend/ts7/ast-node.js.map +1 -1
  776. package/dist/frontend/ts7/ast-wire-protocols.test.js +11 -3
  777. package/dist/frontend/ts7/ast-wire-protocols.test.js.map +1 -1
  778. package/dist/frontend/ts7/ast-wire.js +3 -5
  779. package/dist/frontend/ts7/ast-wire.js.map +1 -1
  780. package/dist/frontend/ts7/checker-backend.d.ts +13 -0
  781. package/dist/frontend/ts7/checker-backend.js +84 -2
  782. package/dist/frontend/ts7/checker-backend.js.map +1 -1
  783. package/dist/frontend/ts7/checker-backend.test.js +126 -2
  784. package/dist/frontend/ts7/checker-backend.test.js.map +1 -1
  785. package/dist/frontend/ts7/program-host.d.ts +22 -1
  786. package/dist/frontend/ts7/program-host.js +49 -4
  787. package/dist/frontend/ts7/program-host.js.map +1 -1
  788. package/dist/frontend/ts7/program-host.test.js +83 -0
  789. package/dist/frontend/ts7/program-host.test.js.map +1 -1
  790. package/dist/frontend/ts7/rpc-process.d.ts +16 -1
  791. package/dist/frontend/ts7/rpc-process.js +170 -92
  792. package/dist/frontend/ts7/rpc-process.js.map +1 -1
  793. package/dist/frontend/ts7/rpc-process.test.js +49 -21
  794. package/dist/frontend/ts7/rpc-process.test.js.map +1 -1
  795. package/dist/frontend/tsc-codes.d.ts +57 -3
  796. package/dist/frontend/tsc-codes.js +956 -101
  797. package/dist/frontend/tsc-codes.js.map +1 -1
  798. package/dist/frontend/tsc-codes.test.js +221 -12
  799. package/dist/frontend/tsc-codes.test.js.map +1 -1
  800. package/dist/frontend/type-mapper.d.ts +98 -11
  801. package/dist/frontend/type-mapper.js +770 -182
  802. package/dist/frontend/type-mapper.js.map +1 -1
  803. package/dist/index.d.ts +1 -1
  804. package/dist/index.js +224 -15
  805. package/dist/index.js.map +1 -1
  806. package/dist/index.test.d.ts +1 -0
  807. package/dist/index.test.js +60 -0
  808. package/dist/index.test.js.map +1 -0
  809. package/dist/ir/api.d.ts +1 -1
  810. package/dist/ir/api.js +1 -1
  811. package/dist/ir/api.js.map +1 -1
  812. package/dist/ir/build.d.ts +3 -2
  813. package/dist/ir/build.js +4 -2
  814. package/dist/ir/build.js.map +1 -1
  815. package/dist/ir/builtin-effects.js +96 -0
  816. package/dist/ir/builtin-effects.js.map +1 -1
  817. package/dist/ir/builtin-signatures.d.ts +1 -1
  818. package/dist/ir/builtin-signatures.js +453 -26
  819. package/dist/ir/builtin-signatures.js.map +1 -1
  820. package/dist/ir/callback-specialization.d.ts +3 -2
  821. package/dist/ir/callback-specialization.js +35 -25
  822. package/dist/ir/callback-specialization.js.map +1 -1
  823. package/dist/ir/capture-values.d.ts +8 -4
  824. package/dist/ir/capture-values.js +9 -6
  825. package/dist/ir/capture-values.js.map +1 -1
  826. package/dist/ir/char-unit-locals.d.ts +6 -2
  827. package/dist/ir/char-unit-locals.js +11 -2
  828. package/dist/ir/char-unit-locals.js.map +1 -1
  829. package/dist/ir/class-key-index.d.ts +18 -0
  830. package/dist/ir/class-key-index.js +29 -0
  831. package/dist/ir/class-key-index.js.map +1 -0
  832. package/dist/ir/class-key-index.test.d.ts +1 -0
  833. package/dist/ir/class-key-index.test.js +25 -0
  834. package/dist/ir/class-key-index.test.js.map +1 -0
  835. package/dist/ir/codec.d.ts +82 -0
  836. package/dist/ir/codec.generated.d.ts +13 -0
  837. package/dist/ir/codec.generated.js +5350 -0
  838. package/dist/ir/codec.generated.js.map +1 -0
  839. package/dist/ir/codec.js +325 -0
  840. package/dist/ir/codec.js.map +1 -0
  841. package/dist/ir/codec.test.d.ts +1 -0
  842. package/dist/ir/codec.test.js +225 -0
  843. package/dist/ir/codec.test.js.map +1 -0
  844. package/dist/ir/constant-globals.d.ts +5 -2
  845. package/dist/ir/constant-globals.js +25 -27
  846. package/dist/ir/constant-globals.js.map +1 -1
  847. package/dist/ir/expression-inlining.d.ts +4 -2
  848. package/dist/ir/expression-inlining.js +8 -2
  849. package/dist/ir/expression-inlining.js.map +1 -1
  850. package/dist/ir/field-values.d.ts +5 -2
  851. package/dist/ir/field-values.js +32 -21
  852. package/dist/ir/field-values.js.map +1 -1
  853. package/dist/ir/fields.generated.d.ts +29 -10
  854. package/dist/ir/fields.generated.js +1039 -11
  855. package/dist/ir/fields.generated.js.map +1 -1
  856. package/dist/ir/fields.test.js +46 -2
  857. package/dist/ir/fields.test.js.map +1 -1
  858. package/dist/ir/final-fields.js +1 -1
  859. package/dist/ir/final-fields.js.map +1 -1
  860. package/dist/ir/function-references.d.ts +6 -4
  861. package/dist/ir/function-references.js +11 -4
  862. package/dist/ir/function-references.js.map +1 -1
  863. package/dist/ir/function-references.test.js +14 -0
  864. package/dist/ir/function-references.test.js.map +1 -1
  865. package/dist/ir/init-only-globals.d.ts +4 -2
  866. package/dist/ir/init-only-globals.js +17 -18
  867. package/dist/ir/init-only-globals.js.map +1 -1
  868. package/dist/ir/inline-array-sources.js +4 -1
  869. package/dist/ir/inline-array-sources.js.map +1 -1
  870. package/dist/ir/inline-array-views.d.ts +13 -0
  871. package/dist/ir/inline-array-views.js +945 -0
  872. package/dist/ir/inline-array-views.js.map +1 -0
  873. package/dist/ir/inline-arrays.d.ts +7 -0
  874. package/dist/ir/inline-arrays.js +190 -55
  875. package/dist/ir/inline-arrays.js.map +1 -1
  876. package/dist/ir/inline-arrays.test.js +140 -2
  877. package/dist/ir/inline-arrays.test.js.map +1 -1
  878. package/dist/ir/int32-slots.js +7 -0
  879. package/dist/ir/int32-slots.js.map +1 -1
  880. package/dist/ir/integer-ranges.js +16 -6
  881. package/dist/ir/integer-ranges.js.map +1 -1
  882. package/dist/ir/ir.d.ts +130 -44
  883. package/dist/ir/ir.js +7 -0
  884. package/dist/ir/ir.js.map +1 -1
  885. package/dist/ir/js-groups.d.ts +51 -0
  886. package/dist/ir/js-groups.js +394 -0
  887. package/dist/ir/js-groups.js.map +1 -0
  888. package/dist/ir/js-groups.test.d.ts +1 -0
  889. package/dist/ir/js-groups.test.js +555 -0
  890. package/dist/ir/js-groups.test.js.map +1 -0
  891. package/dist/ir/js-ic.d.ts +10 -9
  892. package/dist/ir/js-ic.js +58 -25
  893. package/dist/ir/js-ic.js.map +1 -1
  894. package/dist/ir/js-ic.test.js +37 -3
  895. package/dist/ir/js-ic.test.js.map +1 -1
  896. package/dist/ir/jsval.js +374 -63
  897. package/dist/ir/jsval.js.map +1 -1
  898. package/dist/ir/jsval.test.js +96 -2
  899. package/dist/ir/jsval.test.js.map +1 -1
  900. package/dist/ir/loop-entry-ranges.js +112 -9
  901. package/dist/ir/loop-entry-ranges.js.map +1 -1
  902. package/dist/ir/loop-entry-ranges.test.js +40 -0
  903. package/dist/ir/loop-entry-ranges.test.js.map +1 -1
  904. package/dist/ir/node-index.d.ts +23 -6
  905. package/dist/ir/node-index.js +126 -49
  906. package/dist/ir/node-index.js.map +1 -1
  907. package/dist/ir/numeric-call-specialization.d.ts +4 -2
  908. package/dist/ir/numeric-call-specialization.js +40 -26
  909. package/dist/ir/numeric-call-specialization.js.map +1 -1
  910. package/dist/ir/paired-while-loops.d.ts +4 -2
  911. package/dist/ir/paired-while-loops.js +8 -2
  912. package/dist/ir/paired-while-loops.js.map +1 -1
  913. package/dist/ir/parameter-versions.d.ts +13 -3
  914. package/dist/ir/parameter-versions.js +63 -40
  915. package/dist/ir/parameter-versions.js.map +1 -1
  916. package/dist/ir/property-bags.d.ts +4 -2
  917. package/dist/ir/property-bags.js +22 -17
  918. package/dist/ir/property-bags.js.map +1 -1
  919. package/dist/ir/receiver-readers.js +58 -2
  920. package/dist/ir/receiver-readers.js.map +1 -1
  921. package/dist/ir/row-pairs.d.ts +4 -2
  922. package/dist/ir/row-pairs.js +12 -11
  923. package/dist/ir/row-pairs.js.map +1 -1
  924. package/dist/ir/runtime-features.d.ts +139 -5
  925. package/dist/ir/runtime-features.js +397 -19
  926. package/dist/ir/runtime-features.js.map +1 -1
  927. package/dist/ir/runtime-features.test.js +135 -1
  928. package/dist/ir/runtime-features.test.js.map +1 -1
  929. package/dist/ir/runtime-jam-loops.d.ts +35 -0
  930. package/dist/ir/runtime-jam-loops.js +604 -0
  931. package/dist/ir/runtime-jam-loops.js.map +1 -0
  932. package/dist/ir/runtime-jam-loops.test.d.ts +1 -0
  933. package/dist/ir/runtime-jam-loops.test.js +565 -0
  934. package/dist/ir/runtime-jam-loops.test.js.map +1 -0
  935. package/dist/ir/saturating-loop-jams.d.ts +11 -2
  936. package/dist/ir/saturating-loop-jams.js +56 -16
  937. package/dist/ir/saturating-loop-jams.js.map +1 -1
  938. package/dist/ir/saturating-loop-jams.test.js +39 -1
  939. package/dist/ir/saturating-loop-jams.test.js.map +1 -1
  940. package/dist/ir/scalar-records.d.ts +5 -2
  941. package/dist/ir/scalar-records.js +12 -2
  942. package/dist/ir/scalar-records.js.map +1 -1
  943. package/dist/ir/self-captures.d.ts +4 -2
  944. package/dist/ir/self-captures.js +40 -28
  945. package/dist/ir/self-captures.js.map +1 -1
  946. package/dist/ir/self-captures.test.js +15 -0
  947. package/dist/ir/self-captures.test.js.map +1 -1
  948. package/dist/ir/serialize.d.ts +8 -2
  949. package/dist/ir/serialize.js +92 -24
  950. package/dist/ir/serialize.js.map +1 -1
  951. package/dist/ir/serialize.test.js +26 -0
  952. package/dist/ir/serialize.test.js.map +1 -1
  953. package/dist/ir/tiers.js +1 -0
  954. package/dist/ir/tiers.js.map +1 -1
  955. package/dist/ir/traverse.js +4 -0
  956. package/dist/ir/traverse.js.map +1 -1
  957. package/dist/ir/typed-argument-clones.d.ts +30 -0
  958. package/dist/ir/typed-argument-clones.js +789 -0
  959. package/dist/ir/typed-argument-clones.js.map +1 -0
  960. package/dist/ir/union-arm-loops.d.ts +3 -0
  961. package/dist/ir/union-arm-loops.js +373 -0
  962. package/dist/ir/union-arm-loops.js.map +1 -0
  963. package/dist/ir/union-arm-loops.test.d.ts +1 -0
  964. package/dist/ir/union-arm-loops.test.js +230 -0
  965. package/dist/ir/union-arm-loops.test.js.map +1 -0
  966. package/dist/ir/validate.js +170 -22
  967. package/dist/ir/validate.js.map +1 -1
  968. package/dist/ir/validate.test.js +46 -0
  969. package/dist/ir/validate.test.js.map +1 -1
  970. package/dist/library/compiler-self-identity.d.ts +8 -2
  971. package/dist/library/compiler-self-identity.js +92 -18
  972. package/dist/library/compiler-self-identity.js.map +1 -1
  973. package/dist/library/compiler-self-identity.test.js +150 -3
  974. package/dist/library/compiler-self-identity.test.js.map +1 -1
  975. package/dist/library/int-infer.d.ts +5 -0
  976. package/dist/library/int-infer.js +15 -3
  977. package/dist/library/int-infer.js.map +1 -1
  978. package/dist/library/ir-policy.js +4 -0
  979. package/dist/library/ir-policy.js.map +1 -1
  980. package/dist/library/library-cache.d.ts +4 -0
  981. package/dist/library/library-cache.js +2 -0
  982. package/dist/library/library-cache.js.map +1 -1
  983. package/dist/library/library-cache.test.js +26 -0
  984. package/dist/library/library-cache.test.js.map +1 -1
  985. package/dist/library/prepare.js +99 -31
  986. package/dist/library/prepare.js.map +1 -1
  987. package/dist/native/cache.d.ts +7 -0
  988. package/dist/native/cache.js +49 -0
  989. package/dist/native/cache.js.map +1 -1
  990. package/dist/native/cache.test.js +13 -1
  991. package/dist/native/cache.test.js.map +1 -1
  992. package/dist/native/cli.js +2 -0
  993. package/dist/native/cli.js.map +1 -1
  994. package/dist/native/compiler.js +26 -5
  995. package/dist/native/compiler.js.map +1 -1
  996. package/dist/native/executable-cache-open.test.js +31 -5
  997. package/dist/native/executable-cache-open.test.js.map +1 -1
  998. package/dist/native/executable-cache.d.ts +6 -1
  999. package/dist/native/executable-cache.js +7 -1
  1000. package/dist/native/executable-cache.js.map +1 -1
  1001. package/dist/native/prepare.d.ts +3 -0
  1002. package/dist/native/prepare.js +74 -28
  1003. package/dist/native/prepare.js.map +1 -1
  1004. package/dist/native/prepare.test.js +25 -3
  1005. package/dist/native/prepare.test.js.map +1 -1
  1006. package/dist/native/sanitizer.js +63 -4
  1007. package/dist/native/sanitizer.js.map +1 -1
  1008. package/dist/native/sanitizer.test.js +93 -2
  1009. package/dist/native/sanitizer.test.js.map +1 -1
  1010. package/dist/native/toolchain.js +9 -2
  1011. package/dist/native/toolchain.js.map +1 -1
  1012. package/dist/node-islands/boundary.d.ts +37 -1
  1013. package/dist/node-islands/boundary.js +65 -7
  1014. package/dist/node-islands/boundary.js.map +1 -1
  1015. package/dist/node-islands/boundary.test.d.ts +1 -0
  1016. package/dist/node-islands/boundary.test.js +76 -0
  1017. package/dist/node-islands/boundary.test.js.map +1 -0
  1018. package/dist/node-islands/detect.d.ts +27 -1
  1019. package/dist/node-islands/detect.js +475 -40
  1020. package/dist/node-islands/detect.js.map +1 -1
  1021. package/dist/node-islands/detect.test.js +175 -4
  1022. package/dist/node-islands/detect.test.js.map +1 -1
  1023. package/dist/node-islands/effect-gate.js +30 -20
  1024. package/dist/node-islands/effect-gate.js.map +1 -1
  1025. package/dist/node-islands/effect-gate.test.js +4 -1
  1026. package/dist/node-islands/effect-gate.test.js.map +1 -1
  1027. package/dist/node-islands/graph-islands.d.ts +40 -0
  1028. package/dist/node-islands/graph-islands.js +128 -0
  1029. package/dist/node-islands/graph-islands.js.map +1 -0
  1030. package/dist/node-islands/growth.d.ts +57 -0
  1031. package/dist/node-islands/growth.js +205 -0
  1032. package/dist/node-islands/growth.js.map +1 -0
  1033. package/dist/node-islands/libnode.d.ts +1 -1
  1034. package/dist/node-islands/libnode.js +1 -1
  1035. package/dist/node-islands/libnode.js.map +1 -1
  1036. package/dist/node-islands/modules.d.ts +28 -0
  1037. package/dist/node-islands/modules.js +156 -0
  1038. package/dist/node-islands/modules.js.map +1 -1
  1039. package/dist/node-islands/modules.test.js +105 -1
  1040. package/dist/node-islands/modules.test.js.map +1 -1
  1041. package/dist/node-islands/policy.js +2 -3
  1042. package/dist/node-islands/policy.js.map +1 -1
  1043. package/dist/node-islands/probe-recorder.d.ts +1 -0
  1044. package/dist/node-islands/probe-recorder.js +596 -0
  1045. package/dist/node-islands/probe-recorder.js.map +1 -0
  1046. package/dist/node-islands/probe-recorder.test.d.ts +1 -0
  1047. package/dist/node-islands/probe-recorder.test.js +80 -0
  1048. package/dist/node-islands/probe-recorder.test.js.map +1 -0
  1049. package/dist/node-islands/report.d.ts +12 -0
  1050. package/dist/node-islands/report.js +28 -0
  1051. package/dist/node-islands/report.js.map +1 -1
  1052. package/dist/node-islands/report.test.js +4 -0
  1053. package/dist/node-islands/report.test.js.map +1 -1
  1054. package/dist/node-islands/rules.js +9 -0
  1055. package/dist/node-islands/rules.js.map +1 -1
  1056. package/dist/node-islands/scan.d.ts +16 -1
  1057. package/dist/node-islands/scan.js +110 -9
  1058. package/dist/node-islands/scan.js.map +1 -1
  1059. package/dist/node-islands/snapshot.d.ts +38 -1
  1060. package/dist/node-islands/snapshot.js +165 -161
  1061. package/dist/node-islands/snapshot.js.map +1 -1
  1062. package/dist/node-islands/snapshot.test.js +63 -2
  1063. package/dist/node-islands/snapshot.test.js.map +1 -1
  1064. package/dist/node-islands/summary.js +8 -0
  1065. package/dist/node-islands/summary.js.map +1 -1
  1066. package/dist/node-islands/type-strip.d.ts +11 -0
  1067. package/dist/node-islands/type-strip.js +157 -0
  1068. package/dist/node-islands/type-strip.js.map +1 -0
  1069. package/dist/node-islands/type-strip.test.d.ts +1 -0
  1070. package/dist/node-islands/type-strip.test.js +31 -0
  1071. package/dist/node-islands/type-strip.test.js.map +1 -0
  1072. package/dist/project-config.d.ts +4 -0
  1073. package/dist/project-config.js +19 -0
  1074. package/dist/project-config.js.map +1 -1
  1075. package/dist/project-config.test.js +10 -0
  1076. package/dist/project-config.test.js.map +1 -1
  1077. package/dist/wasm/translate.js +11 -5
  1078. package/dist/wasm/translate.js.map +1 -1
  1079. package/dist/wasm/translate.test.js +35 -0
  1080. package/dist/wasm/translate.test.js.map +1 -1
  1081. package/package.json +20 -20
  1082. package/surface-manifest.json +221 -122
@@ -1,13 +1,16 @@
1
+ /// <reference path="./stream.d.ts" />
2
+
1
3
  /* node:child_process — the synchronous slice: spawnSync(command, args?)
2
4
  * runs the child to completion (posix_spawn + waitpid) with stdout/stderr
3
5
  * captured as utf8 strings. `status` is the exit code, or null when the
4
6
  * child died to a signal OR could not be spawned at all (nonexistent
5
- * binary, permission denied) — Node reports spawn failure through the
6
- * result's `error` property, which this surface does not carry, and types
7
- * stdout/stderr null there where scriptc returns "" (SEMANTICS.md).
8
- * No shell, no options object: the command runs directly (PATH-searched,
9
- * like Node). */
7
+ * binary, permission denied). A spawn failure is DATA on the result, never
8
+ * a throw: `error` is the Error Node builds ("spawnSync <file> ENOENT",
9
+ * `code` stamped, or ETIMEDOUT after a timeout kill) and both outputs are
10
+ * "" where Node types them null (SEMANTICS.md). */
10
11
  declare module "child_process" {
12
+ import type { Readable, Writable } from "stream";
13
+
11
14
  export interface SpawnSyncReturns {
12
15
  readonly status: number | null;
13
16
  readonly stdout: string;
@@ -29,7 +32,15 @@ declare module "child_process" {
29
32
  * the signal, never a throw), killSignal (a signal NAME literal),
30
33
  * stdio ("ignore"/"inherit"/"pipe" or a 3-tuple of those — captures
31
34
  * read "" for non-piped streams), env (replaces the child's
32
- * environment), and windowsHide (a POSIX no-op). */
35
+ * environment), cwd (the child's directory), input (the string piped
36
+ * to its stdin — `| undefined` means the option is absent, "" pipes an
37
+ * empty stdin), shell (the complete command line in `command`, with a
38
+ * statically empty args list, run by /bin/sh -c), and windowsHide (a
39
+ * POSIX no-op).
40
+ * The shell form takes no separate args: Node warns DEP0190 because it
41
+ * concatenates them unescaped, and a native build has no warning
42
+ * channel, so the compiler REFUSES `shell: true` with a non-empty args
43
+ * list. */
33
44
  export function spawnSync(
34
45
  command: string,
35
46
  args?: string[],
@@ -39,10 +50,42 @@ declare module "child_process" {
39
50
  killSignal?: string;
40
51
  stdio?: "pipe" | "ignore" | "inherit" | ("pipe" | "ignore" | "inherit")[];
41
52
  env?: { [k: string]: string | undefined };
53
+ cwd?: string;
54
+ /* Piped to the child's stdin. undefined is an ABSENT option (no
55
+ * pipe, fd 0 is /dev/null or inherited per stdio); "" is an EMPTY
56
+ * stdin, which the child reads as immediate EOF — Node's reading. */
57
+ input?: string | undefined;
42
58
  windowsHide?: boolean;
59
+ /* Node's shell form: the complete command line in `command`, with
60
+ * an empty args list, runs through /bin/sh -c, so quoting and
61
+ * operators follow the shell's rules. A non-empty args list with
62
+ * shell: true is a compile error (Node warns DEP0190 for unescaped
63
+ * shell arguments). */
64
+ shell?: boolean;
43
65
  },
44
66
  ): SpawnSyncReturns;
45
67
 
68
+ /* The named options interface for the string-encoding spawnSync form —
69
+ * @types/node's SpawnSyncOptionsWithStringEncoding, narrowed to the
70
+ * honestly-implemented members (env and killSignal keep the inline
71
+ * literal form: a runtime record cannot carry a replacement
72
+ * environment). VALUES of this type are a real record (type-mapper.ts
73
+ * interns the shape), so a typed const or a runner function's options
74
+ * parameter flows to spawnSync at runtime with its members read at the
75
+ * call. */
76
+ export interface SpawnSyncOptionsWithStringEncoding {
77
+ encoding: "utf8" | "utf-8";
78
+ cwd?: string;
79
+ input?: string;
80
+ stdio?: "pipe" | "ignore" | "inherit" | ("pipe" | "ignore" | "inherit")[];
81
+ timeout?: number;
82
+ windowsHide?: boolean;
83
+ /* Read at the call. The call then takes the command-line form only:
84
+ * a statically non-empty args list is a compile error (Node warns
85
+ * DEP0190 for unescaped shell arguments). */
86
+ shell?: boolean;
87
+ }
88
+
46
89
  /* The asynchronous slice: spawn with stdio "ignore"/"inherit"/fd/"pipe"
47
90
  * tuples (piped stdin is writable through child.stdin; piped stdout/stderr
48
91
  * deliver through child.stdout/stderr) and the terminal events. "exit"
@@ -57,18 +100,19 @@ declare module "child_process" {
57
100
  * loop quiescence (SEMANTICS.md documents the divergence). An "error"
58
101
  * event with no registered listener prints the error and exits 1,
59
102
  * exactly the unhandled-'error' EventEmitter behavior. */
60
- export interface ChildStdin {
61
- readonly writable: boolean;
62
- write(chunk: string | Uint8Array): boolean;
63
- end(): void;
64
- destroy(): void;
65
- on(event: "drain" | "finish", listener: () => void): void;
66
- on(event: "error", listener: (err: Error) => void): void;
67
- on(event: string, listener: (...args: any[]) => void): void;
68
- once(event: "drain" | "finish", listener: () => void): void;
69
- once(event: "error", listener: (err: Error) => void): void;
70
- once(event: string, listener: (...args: any[]) => void): void;
71
- }
103
+ /* The piped child stdin is the node:stream Writable Node's typings give
104
+ * it, so it flows into any Writable slot and back. Members the direct
105
+ * handle does not lower (the underscored hooks, cork, an encoding, a
106
+ * third argument) typecheck and need the general stream
107
+ * representation. */
108
+ export interface ChildStdin extends Writable {}
109
+
110
+ /* The piped child output is the node:stream Readable Node's typings
111
+ * give it. The direct handle delivers one chunk per pipe read (a
112
+ * Buffer, or a string after setEncoding); the rest of the Readable
113
+ * surface typechecks and needs the general stream representation to
114
+ * lower. */
115
+ export interface ChildStdout extends Readable {}
72
116
 
73
117
  export interface ChildProcess extends Disposable {
74
118
  ref(): void;
@@ -125,10 +169,11 @@ declare module "child_process" {
125
169
  disconnect(): void;
126
170
  [Symbol.dispose](): void;
127
171
  /* The piped streams — non-null exactly when the matching stdio slot
128
- * was "pipe" (Node's shape). */
172
+ * was "pipe" (Node's shape; the node:stream classes, narrowed to the
173
+ * members the direct handles deliver). */
129
174
  readonly stdin: ChildStdin | null;
130
- readonly stdout: NodeJS.ReadableStream | null;
131
- readonly stderr: NodeJS.ReadableStream | null;
175
+ readonly stdout: ChildStdout | null;
176
+ readonly stderr: ChildStdout | null;
132
177
  }
133
178
  export interface SpawnOptions {
134
179
  /* The 3-tuple form admits number fds in the stdout/stderr slots —
@@ -140,7 +185,9 @@ declare module "child_process" {
140
185
  /* detached gives the child its own session and process group
141
186
  * (POSIX_SPAWN_SETSID); env REPLACES the child environment; cwd
142
187
  * sets its working directory; windowsHide is a POSIX no-op; shell
143
- * runs the complete command string through /bin/sh or cmd.exe. */
188
+ * runs the complete command string through /bin/sh or cmd.exe (with
189
+ * an empty args list — a non-empty one is a compile error, because
190
+ * Node warns DEP0190 for unescaped shell arguments). */
144
191
  detached?: boolean;
145
192
  env?: { [k: string]: string | undefined };
146
193
  cwd?: string;
@@ -186,6 +233,8 @@ declare module "child_process" {
186
233
  maxBuffer?: number;
187
234
  killSignal?: string;
188
235
  windowsHide?: boolean;
236
+ /* Runs the complete command line through /bin/sh -c; it takes an
237
+ * empty args list (Node warns DEP0190 for unescaped shell args). */
189
238
  shell?: boolean;
190
239
  }
191
240
  /* The named options interface for the string-encoding exec form —
@@ -277,14 +277,20 @@ declare module "crypto" {
277
277
  copy(options?: HashOptions): Hash;
278
278
  update(data: string | ArrayBufferView): Hash;
279
279
  update(data: string, inputEncoding: Encoding): Hash;
280
+ /* A digest is Buffer.toString(encoding): Node answers every Buffer
281
+ * encoding, the character and legacy ones included (a hash's bytes are
282
+ * arbitrary, so utf8 spells the undecodable sequences U+FFFD).
283
+ * @types/node narrows this parameter to BinaryToTextEncoding (a cast
284
+ * there); the runtime decodes each spelling listed in Encoding and no
285
+ * other, so the parameter admits exactly that set. */
280
286
  digest(): Buffer;
281
- digest(encoding: BinaryToTextEncoding): string;
287
+ digest(encoding: Encoding): string;
282
288
  }
283
289
  export interface Hmac extends Transform {
284
290
  update(data: string | ArrayBufferView): Hmac;
285
291
  update(data: string, inputEncoding: Encoding): Hmac;
286
292
  digest(): Buffer;
287
- digest(encoding: BinaryToTextEncoding): string;
293
+ digest(encoding: Encoding): string;
288
294
  }
289
295
  export function createHash(algorithm: string, options?: HashOptions): Hash;
290
296
  export function createHmac(
@@ -292,12 +298,14 @@ declare module "crypto" {
292
298
  key: BinaryLike | KeyObject,
293
299
  options?: { encoding?: BufferEncoding | undefined },
294
300
  ): Hmac;
301
+ /* crypto.hash's output encoding is the same Buffer conversion digest()
302
+ * makes, so it takes the same Encoding set. */
295
303
  export interface OneShotDigestOptions {
296
- outputEncoding?: BinaryToTextEncoding | "buffer" | undefined;
304
+ outputEncoding?: Encoding | "buffer" | undefined;
297
305
  outputLength?: number | undefined;
298
306
  }
299
307
  export interface OneShotDigestOptionsWithStringEncoding extends OneShotDigestOptions {
300
- outputEncoding?: BinaryToTextEncoding | undefined;
308
+ outputEncoding?: Encoding | undefined;
301
309
  }
302
310
  export interface OneShotDigestOptionsWithBufferEncoding extends OneShotDigestOptions {
303
311
  outputEncoding: "buffer";
@@ -305,7 +313,7 @@ declare module "crypto" {
305
313
  export function hash(
306
314
  algorithm: string,
307
315
  data: string | ArrayBufferView,
308
- options?: OneShotDigestOptionsWithStringEncoding | BinaryToTextEncoding,
316
+ options?: OneShotDigestOptionsWithStringEncoding | Encoding,
309
317
  ): string;
310
318
  export function hash(
311
319
  algorithm: string,
@@ -315,7 +323,7 @@ declare module "crypto" {
315
323
  export function hash(
316
324
  algorithm: string,
317
325
  data: string | ArrayBufferView,
318
- options: OneShotDigestOptions | BinaryToTextEncoding | "buffer",
326
+ options: OneShotDigestOptions | Encoding | "buffer",
319
327
  ): string | Buffer;
320
328
  export function timingSafeEqual(
321
329
  a: ArrayBufferView | ArrayBufferLike,
@@ -771,7 +779,7 @@ declare module "crypto" {
771
779
  * stance). Every ACCESS bakes as its literal at lowering; the object
772
780
  * itself never materializes (bare crypto.constants value uses fence). */
773
781
  export interface CryptoConstants {
774
- readonly OPENSSL_VERSION_NUMBER: 810549376;
782
+ readonly OPENSSL_VERSION_NUMBER: 810549392;
775
783
  readonly SSL_OP_ALL: 2147485776;
776
784
  readonly SSL_OP_ALLOW_NO_DHE_KEX: 1024;
777
785
  readonly SSL_OP_ALLOW_UNSAFE_LEGACY_RENEGOTIATION: 262144;
@@ -5,7 +5,12 @@
5
5
  * checks annotated listener parameters against it (unannotated non-empty
6
6
  * parameter lists have no static types and fence at the registration). */
7
7
  declare module "events" {
8
- class EventEmitter {
8
+ /* Generic like @types/node's class: the type argument is the listener
9
+ * MAP, a pure typing aid with no runtime layout (Node erases it too), so
10
+ * `class Sink extends EventEmitter<Map>` adopts the same emitter base.
11
+ * The map stays unconstrained here — the members below are the untyped
12
+ * `...args: any[]` surface either way. */
13
+ class EventEmitter<EventMap = Record<string, any[]>> {
9
14
  constructor();
10
15
  static defaultMaxListeners: number;
11
16
  /* Listeners registered under this symbol observe 'error' emits first
@@ -45,11 +50,29 @@ declare module "events" {
45
50
  options?: { signal?: AbortSignal },
46
51
  ): Promise<unknown[]>;
47
52
  /* The emitter's own listenerCount/getMaxListeners/setMaxListeners/
48
- * listeners, over EventEmitter instances. */
49
- export function listenerCount(emitter: EventEmitter, eventName: string | symbol): number;
50
- export function getMaxListeners(emitter: EventEmitter): number;
51
- export function setMaxListeners(n?: number, ...eventTargets: EventEmitter[]): void;
52
- export function getEventListeners(emitter: EventEmitter, name: string): Array<() => void>;
53
+ * listeners, over EventEmitter instances and EventTargets. */
54
+ export function listenerCount(
55
+ emitterOrTarget: EventEmitter | EventTarget,
56
+ eventName: string | symbol,
57
+ ): number;
58
+ export function getMaxListeners(emitterOrTarget: EventEmitter | EventTarget): number;
59
+ export function setMaxListeners(
60
+ n?: number,
61
+ ...eventTargets: Array<EventEmitter | EventTarget>
62
+ ): void;
63
+ /* An EventEmitter's listeners are functions, so their array is
64
+ * statically consumable. An EventTarget's listeners come back as
65
+ * registered (Node's `Function[]`): a listener object with
66
+ * handleEvent is itself, not a function, so that array's elements
67
+ * stay checked-dynamic. */
68
+ export function getEventListeners(
69
+ emitter: EventEmitter,
70
+ name: string | symbol,
71
+ ): Array<() => void>;
72
+ export function getEventListeners(
73
+ emitterOrTarget: EventEmitter | EventTarget,
74
+ name: string | symbol,
75
+ ): Array<any>;
53
76
  }
54
77
  export = EventEmitter;
55
78
  }
@@ -210,7 +210,7 @@ declare module "fs/promises" {
210
210
  export function access(path: string | URL, mode?: number): Promise<void>;
211
211
  export function truncate(path: string | URL, len?: number): Promise<void>;
212
212
  export function appendFile(path: string | URL, data: string | Uint8Array): Promise<void>;
213
- export function copyFile(src: string | URL, dest: string | URL): Promise<void>;
213
+ export function copyFile(src: string | URL, dest: string | URL, mode?: number): Promise<void>;
214
214
  export function mkdtemp(prefix: string | URL): Promise<string>;
215
215
  export function rmdir(path: string | URL): Promise<void>;
216
216
  export function rename(oldPath: string | URL, newPath: string | URL): Promise<void>;
@@ -30,8 +30,10 @@ declare module "node:fs" {
30
30
  export function writeFileSync(
31
31
  path: string | URL,
32
32
  data: string,
33
- /* The options-record stance (see http.RequestOptions): flag fences
34
- * by name at the call site; undocumented keys drop like Node. */
33
+ /* The options-record stance (see http.RequestOptions): an unsupported
34
+ * flag fences by name at the call site; undocumented keys drop like
35
+ * Node. The lowered flags are "w" (truncate-or-create) and "wx"
36
+ * (exclusive create). */
35
37
  options?: {
36
38
  mode?: number;
37
39
  encoding?: "utf8" | "utf-8";
@@ -157,9 +159,11 @@ declare module "node:fs" {
157
159
  export function lchownSync(path: string | URL, uid: number, gid: number): void;
158
160
  export function fchownSync(fd: number, uid: number, gid: number): void;
159
161
  export function truncateSync(path: string | URL, len?: number): void;
160
- /* The 2-argument form only (Node's mode flags have no lowering). The
161
- * destination is created or truncated carrying the SOURCE's mode. */
162
- export function copyFileSync(src: string | URL, dest: string | URL): void;
162
+ /* The destination is created or truncated carrying the SOURCE's mode.
163
+ * `mode` is libuv's copyfile flag bits: COPYFILE_EXCL (1) fails when the
164
+ * destination exists, COPYFILE_FICLONE (2) requests a reflink and falls
165
+ * back to a copy, COPYFILE_FICLONE_FORCE (4) requires one. */
166
+ export function copyFileSync(src: string | URL, dest: string | URL, mode?: number): void;
163
167
  export function rename(
164
168
  oldPath: string,
165
169
  newPath: string,
@@ -467,8 +471,9 @@ declare module "node:fs" {
467
471
  ): BigIntStats;
468
472
  export function lstatSync(path: string | URL, options: StatSyncOptions): Stats | undefined;
469
473
  /* The fd pair behind spawn's fd-stdio form: openSync(path, flags) →
470
- * the raw fd. Numeric flags use an inline OR of the O_* constants. */
471
- export function openSync(path: string | URL, flags: string): number;
474
+ * the raw fd. Numeric flags use an inline OR of the O_* constants. The
475
+ * mode is open(2)'s creation mode and applies to both flag forms. */
476
+ export function openSync(path: string | URL, flags: string, mode?: number): number;
472
477
  export function openSync(path: string | URL, flags: number, mode?: number): number;
473
478
  export function closeSync(fd: number): void;
474
479
  export function fdatasyncSync(fd: number): void;
@@ -604,11 +609,29 @@ declare module "node:fs" {
604
609
  ): void;
605
610
  /* fs.watch — the file-watching slice (scr_watch.c, kqueue EVFILT_VNODE):
606
611
  * "rename"/"change" events on ONE path, watcher.close() to stop. The
607
- * listener takes zero parameters or the eventType string (the filename
608
- * parameter has no lowering); an open watcher keeps the loop alive. A
609
- * path that cannot be opened THROWS Node's fs error synchronously. */
612
+ * listener takes (), (eventType) or (eventType, filename); an open
613
+ * watcher keeps the loop alive. A path that cannot be opened THROWS
614
+ * Node's fs error synchronously. */
615
+ export type WatchEventType = "rename" | "change";
616
+ /* (eventType, filename): filename is the changed entry's name (null when
617
+ * the platform does not provide one). */
618
+ export type WatchListener<T> = (event: WatchEventType, filename: T | null) => void;
610
619
  export interface FSWatcher {
611
620
  close(): void;
621
+ on(event: "change", listener: (eventType: string, filename: string | Buffer) => void): this;
622
+ on(event: "error", listener: (error: Error) => void): this;
623
+ on(event: "close", listener: () => void): this;
624
+ once(event: "change", listener: (eventType: string, filename: string | Buffer) => void): this;
625
+ once(event: "error", listener: (error: Error) => void): this;
626
+ once(event: "close", listener: () => void): this;
627
+ addListener(
628
+ event: "change",
629
+ listener: (eventType: string, filename: string | Buffer) => void,
630
+ ): this;
631
+ addListener(event: "error", listener: (error: Error) => void): this;
632
+ addListener(event: "close", listener: () => void): this;
633
+ off(event: "change" | "error" | "close", listener: (...args: any[]) => void): this;
634
+ removeListener(event: "change" | "error" | "close", listener: (...args: any[]) => void): this;
612
635
  }
613
636
  /* The options-record stance (see http.RequestOptions): persistent: true,
614
637
  * recursive: false, and encoding: "utf8" state the lowered behavior and
@@ -620,12 +643,34 @@ declare module "node:fs" {
620
643
  encoding?: string;
621
644
  [option: string]: unknown;
622
645
  }
623
- export function watch(path: string, listener?: (eventType: string) => void): FSWatcher;
646
+ export function watch(path: string, listener?: WatchListener<string>): FSWatcher;
624
647
  export function watch(
625
648
  path: string,
626
649
  options: WatchOptions,
627
- listener?: (eventType: string) => void,
650
+ listener?: WatchListener<string>,
628
651
  ): FSWatcher;
652
+ /* fs.watchFile — stat polling (scr_watch_file.c, libuv's uv_fs_poll
653
+ * shape): the listener runs with (current, previous) Stats when a poll
654
+ * sees a difference, the first poll only records the baseline, and a
655
+ * path that cannot be stat'd polls as all-zero Stats. One poller per
656
+ * resolved path is shared by every listener on it. interval defaults to
657
+ * 5007 ms, persistent defaults to true; bigint: true (BigIntStats) has
658
+ * no lowering. The call is a statement: Node's StatWatcher has no
659
+ * lowering. */
660
+ export interface StatWatcher {}
661
+ export function watchFile(
662
+ filename: string,
663
+ options: { interval?: number; persistent?: boolean; bigint?: false },
664
+ listener: (current: Stats, previous: Stats) => void,
665
+ ): StatWatcher;
666
+ export function watchFile(
667
+ filename: string,
668
+ listener: (current: Stats, previous: Stats) => void,
669
+ ): StatWatcher;
670
+ export function unwatchFile(
671
+ filename: string,
672
+ listener?: (current: Stats, previous: Stats) => void,
673
+ ): void;
629
674
  /* fs.promises IS the fs/promises module (Node's rule) — the namespace-
630
675
  * import form `fs.promises.readFile(...)` lowers through the same
631
676
  * fs/promises table as `import { readFile } from "node:fs/promises"`. */
@@ -70,6 +70,7 @@ declare module "http" {
70
70
  readonly httpVersion: string;
71
71
  readonly complete: boolean;
72
72
  readonly aborted: boolean;
73
+ readonly destroyed: boolean;
73
74
  readonly statusCode: number | undefined;
74
75
  readonly statusMessage: string | undefined;
75
76
  readonly socket: Socket;
@@ -110,6 +111,7 @@ declare module "http" {
110
111
  readonly finished: boolean;
111
112
  readonly writableFinished: boolean;
112
113
  readonly writableCorked: number;
114
+ readonly destroyed: boolean;
113
115
  readonly req: IncomingMessage;
114
116
  readonly socket: Socket | null;
115
117
  readonly connection: Socket | null;
@@ -133,7 +135,7 @@ declare module "http" {
133
135
  writeHead(statusCode: number, headers?: OutgoingHttpHeaders | string[]): ServerResponse;
134
136
  writeHead(
135
137
  statusCode: number,
136
- statusMessage: string,
138
+ statusMessage?: string,
137
139
  headers?: OutgoingHttpHeaders | string[],
138
140
  ): ServerResponse;
139
141
  writeContinue(callback?: () => void): void;
@@ -263,31 +265,32 @@ declare module "http" {
263
265
  end(data?: string | Uint8Array): void;
264
266
  destroy(error?: Error): void;
265
267
  abort(): void;
266
- on(event: "response", listener: (res: IncomingMessage) => void): void;
267
- on(event: "socket", listener: (socket: Socket) => void): void;
268
+ on(event: "response", listener: (res: IncomingMessage) => void): this;
269
+ on(event: "socket", listener: (socket: Socket) => void): this;
268
270
  on(
269
271
  event: "upgrade",
270
272
  listener: (res: IncomingMessage, socket: Socket, head: Buffer) => void,
271
- ): void;
272
- on(event: "timeout" | "close" | "finish" | "abort" | "continue", listener: () => void): void;
273
- on(event: "error", listener: (err: Error) => void): void;
274
- /* addListener IS on (Node aliases them) — the suite spells both. */
275
- addListener(event: "response", listener: (res: IncomingMessage) => void): void;
276
- addListener(event: "socket", listener: (socket: Socket) => void): void;
273
+ ): this;
274
+ on(event: "timeout" | "close" | "finish" | "abort" | "continue", listener: () => void): this;
275
+ on(event: "error", listener: (err: Error) => void): this;
276
+ /* addListener IS on (Node aliases them) — the suite spells both. Each
277
+ * answers the request, as Node's does. */
278
+ addListener(event: "response", listener: (res: IncomingMessage) => void): this;
279
+ addListener(event: "socket", listener: (socket: Socket) => void): this;
277
280
  addListener(
278
281
  event: "upgrade",
279
282
  listener: (res: IncomingMessage, socket: Socket, head: Buffer) => void,
280
- ): void;
281
- addListener(event: "timeout" | "close" | "finish" | "abort", listener: () => void): void;
282
- addListener(event: "error", listener: (err: Error) => void): void;
283
- once(event: "response", listener: (res: IncomingMessage) => void): void;
284
- once(event: "socket", listener: (socket: Socket) => void): void;
283
+ ): this;
284
+ addListener(event: "timeout" | "close" | "finish" | "abort", listener: () => void): this;
285
+ addListener(event: "error", listener: (err: Error) => void): this;
286
+ once(event: "response", listener: (res: IncomingMessage) => void): this;
287
+ once(event: "socket", listener: (socket: Socket) => void): this;
285
288
  once(
286
289
  event: "upgrade",
287
290
  listener: (res: IncomingMessage, socket: Socket, head: Buffer) => void,
288
- ): void;
289
- once(event: "timeout" | "close" | "finish" | "abort" | "continue", listener: () => void): void;
290
- once(event: "error", listener: (err: Error) => void): void;
291
+ ): this;
292
+ once(event: "timeout" | "close" | "finish" | "abort" | "continue", listener: () => void): this;
293
+ once(event: "error", listener: (err: Error) => void): this;
291
294
  }
292
295
  export function createServer(
293
296
  requestListener?: (req: IncomingMessage, res: ServerResponse) => void,
@@ -308,13 +311,18 @@ declare module "http" {
308
311
  * `target` is a URL string or URL object (the spelling a from-scratch
309
312
  * client reaches for first — dialed directly, with a non-http scheme
310
313
  * an ERR_INVALID_PROTOCOL at runtime rather than a type error), or
311
- * the options record. */
314
+ * the options record. A URL target's second argument is the response
315
+ * callback or the options value the runtime merges under the URL's
316
+ * fields (`request(url, options[, callback])`); the lowering tells
317
+ * the two apart by the argument's own type. */
312
318
  export function request(
313
319
  target: RequestOptions | string | URL,
320
+ optionsOrCallback?: RequestOptions | ((res: IncomingMessage) => void),
314
321
  callback?: (res: IncomingMessage) => void,
315
322
  ): ClientRequest;
316
323
  export function get(
317
324
  target: RequestOptions | string | URL,
325
+ optionsOrCallback?: RequestOptions | ((res: IncomingMessage) => void),
318
326
  callback?: (res: IncomingMessage) => void,
319
327
  ): ClientRequest;
320
328
  export function validateHeaderName(name: string, label?: string): void;
@@ -41,15 +41,18 @@ declare module "https" {
41
41
  requestListener: (req: IncomingMessage, res: ServerResponse) => void,
42
42
  ): Server;
43
43
  /* One signature with a union first parameter, for the request-fn
44
- * ternary's sake (see the http block). A URL target takes no options,
45
- * which means Node's defaults — the certificate is verified against
44
+ * ternary's sake (see the http block). The URL target takes an
45
+ * optional options value the runtime merges under its fields; without
46
+ * one it takes Node's defaults — the certificate is verified against
46
47
  * the default trust anchors. */
47
48
  export function request(
48
49
  target: RequestOptions | string | URL,
50
+ optionsOrCallback?: RequestOptions | ((res: IncomingMessage) => void),
49
51
  callback?: (res: IncomingMessage) => void,
50
52
  ): ClientRequest;
51
53
  export function get(
52
54
  target: RequestOptions | string | URL,
55
+ optionsOrCallback?: RequestOptions | ((res: IncomingMessage) => void),
53
56
  callback?: (res: IncomingMessage) => void,
54
57
  ): ClientRequest;
55
58
  }
@@ -178,6 +178,8 @@ declare module "net" {
178
178
  getConnections(callback: (error: Error | null, count: number) => void): Server;
179
179
  /* Node answers the server itself (`return this` chaining). */
180
180
  listen(port: number, callback?: () => void): Server;
181
+ /* No port: an arbitrary unused one. */
182
+ listen(callback?: () => void): Server;
181
183
  /* The positional bind address (the options form's host in argument
182
184
  * spelling). */
183
185
  listen(port: number, host: string, callback?: () => void): Server;
@@ -207,6 +209,8 @@ declare module "net" {
207
209
  on(event: "drop", listener: (data?: DropArgument) => void): void;
208
210
  on(event: "timeout", listener: (socket: Socket) => void): void;
209
211
  on(event: "error", listener: (err: Error) => void): void;
212
+ /* http servers: a request the parser rejects, or a connection error */
213
+ on(event: "clientError", listener: (err: Error, socket: Socket) => void): void;
210
214
  /* The WebSocket handover: fires INSTEAD of 'request' for
211
215
  * Connection: upgrade requests, with the raw socket + head bytes;
212
216
  * 'connect' is its twin for CONNECT requests (HTTP tunneling). */
@@ -231,6 +235,8 @@ declare module "net" {
231
235
  addListener(event: "drop", listener: (data?: DropArgument) => void): void;
232
236
  addListener(event: "timeout", listener: (socket: Socket) => void): void;
233
237
  addListener(event: "error", listener: (err: Error) => void): void;
238
+ /* http servers: a request the parser rejects, or a connection error */
239
+ addListener(event: "clientError", listener: (err: Error, socket: Socket) => void): void;
234
240
  addListener(
235
241
  event: "upgrade" | "connect",
236
242
  listener: (req: import("http").IncomingMessage, socket: Socket, head: Buffer) => void,
@@ -249,6 +255,8 @@ declare module "net" {
249
255
  once(event: "drop", listener: (data?: DropArgument) => void): void;
250
256
  once(event: "timeout", listener: (socket: Socket) => void): void;
251
257
  once(event: "error", listener: (err: Error) => void): void;
258
+ /* http servers: a request the parser rejects, or a connection error */
259
+ once(event: "clientError", listener: (err: Error, socket: Socket) => void): void;
252
260
  once(
253
261
  event: "upgrade" | "connect",
254
262
  listener: (req: import("http").IncomingMessage, socket: Socket, head: Buffer) => void,
@@ -257,6 +265,23 @@ declare module "net" {
257
265
  event: "request" | "checkContinue" | "checkExpectation",
258
266
  listener: (req: import("http").IncomingMessage, res: import("http").ServerResponse) => void,
259
267
  ): void;
268
+ /* off / removeListener: the LAST listener standing for the same
269
+ * function leaves that event's list (Node's EventEmitter order). The
270
+ * server registries that keep a removable list: error, close,
271
+ * listening, connection/secureConnection, timeout, and drop. */
272
+ off(event: "error", listener: (err: Error) => void): void;
273
+ off(event: "close" | "listening", listener: () => void): void;
274
+ off(event: "connection" | "secureConnection", listener: (socket: Socket) => void): void;
275
+ off(event: "timeout", listener: (socket: Socket) => void): void;
276
+ off(event: "drop", listener: (data?: DropArgument) => void): void;
277
+ removeListener(event: "error", listener: (err: Error) => void): void;
278
+ removeListener(event: "close" | "listening", listener: () => void): void;
279
+ removeListener(
280
+ event: "connection" | "secureConnection",
281
+ listener: (socket: Socket) => void,
282
+ ): void;
283
+ removeListener(event: "timeout", listener: (socket: Socket) => void): void;
284
+ removeListener(event: "drop", listener: (data?: DropArgument) => void): void;
260
285
  }
261
286
  /* The 'drop' payload: the turned-away connection's addresses. */
262
287
  export interface DropArgument {
@@ -27,7 +27,17 @@ declare module "os" {
27
27
  shell: string | null;
28
28
  homedir: string;
29
29
  }
30
- export function userInfo(): UserInfo;
30
+ /* userInfo({ encoding: 'buffer' }): the same passwd fields with the
31
+ * three strings as Buffers (Node's own switch on the encoding). */
32
+ export interface BufferUserInfo {
33
+ username: Buffer;
34
+ uid: number;
35
+ gid: number;
36
+ shell: Buffer;
37
+ homedir: Buffer;
38
+ }
39
+ export function userInfo(options: { encoding: "buffer" }): BufferUserInfo;
40
+ export function userInfo(options?: { encoding?: string }): UserInfo;
31
41
  /* The TARGET platform's line terminator (a compile-time constant:
32
42
  * "\r\n" under a win32 triple, "\n" everywhere else). */
33
43
  export const EOL: "\r\n" | "\n";
@@ -13,8 +13,14 @@ declare module "path/posix" {
13
13
  export function matchesGlob(path: string, pattern: string): boolean;
14
14
  export function parse(path: string): import("path").ParsedPath;
15
15
  export function format(pathObject: import("path").FormatInputPathObject): string;
16
+ /* Node's deprecated alias of toNamespacedPath (identity on posix). */
17
+ export function _makeLong(path: string): string;
16
18
  export const sep: "/";
17
19
  export const delimiter: ":";
20
+ /* Node's posix object carries the other namespace too (the same object
21
+ * require("path/posix") answers). */
22
+ export const posix: typeof import("path/posix");
23
+ export const win32: typeof import("path/win32");
18
24
  }
19
25
 
20
26
  declare module "node:path/posix" {
@@ -13,8 +13,13 @@ declare module "path/win32" {
13
13
  export function matchesGlob(path: string, pattern: string): boolean;
14
14
  export function parse(path: string): import("path").ParsedPath;
15
15
  export function format(pathObject: import("path").FormatInputPathObject): string;
16
+ /* Node's deprecated alias of toNamespacedPath. */
17
+ export function _makeLong(path: string): string;
16
18
  export const sep: "\\";
17
19
  export const delimiter: ";";
20
+ /* Node's win32 object carries the other namespace too. */
21
+ export const posix: typeof import("path/posix");
22
+ export const win32: typeof import("path/win32");
18
23
  }
19
24
 
20
25
  declare module "node:path/win32" {
@@ -16,6 +16,8 @@ declare module "path" {
16
16
  export function isAbsolute(path: string): boolean;
17
17
  export function relative(from: string, to: string): string;
18
18
  export function toNamespacedPath(path: string): string;
19
+ /* Node's deprecated alias of toNamespacedPath (POSIX identity). */
20
+ export function _makeLong(path: string): string;
19
21
  /* matchesGlob() is Node's glob matcher: brace expansion, extglobs, POSIX
20
22
  * classes and the ** and dot rules. */
21
23
  export function matchesGlob(path: string, pattern: string): boolean;
@@ -6,9 +6,9 @@
6
6
  * stringify serializes string/number/boolean values and arrays of those
7
7
  * (Node's rules: arrays expand to repeated keys, null/undefined and
8
8
  * anything else serialize as the empty value). The maxKeys option lowers
9
- * (0 removes the cap, Node's rule); the custom encoder/decoder options
10
- * typecheck under the options-record stance and fence by name at the
11
- * call. decode/encode are Node's own aliases of parse/stringify. */
9
+ * (0 removes the cap, Node's rule), and so do the custom encoder and
10
+ * decoder options. decode/encode are Node's own aliases of
11
+ * parse/stringify. */
12
12
  declare module "querystring" {
13
13
  export interface ParseOptions {
14
14
  maxKeys?: number;