@scriptc/compiler 0.2.3 → 0.2.5

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 (1124) hide show
  1. package/ambient/scriptc-node-fallback.d.ts +915 -215
  2. package/ambient/scriptc-overrides.d.ts +5 -1
  3. package/ambient/scriptc.d.ts +22 -2
  4. package/dist/backend/build-cache.d.ts +4 -0
  5. package/dist/backend/build-cache.js +16 -2
  6. package/dist/backend/build-cache.js.map +1 -1
  7. package/dist/backend/cycle-analysis.js +17 -5
  8. package/dist/backend/cycle-analysis.js.map +1 -1
  9. package/dist/backend/cycle-analysis.test.js +50 -11
  10. package/dist/backend/cycle-analysis.test.js.map +1 -1
  11. package/dist/backend/debug-symbols.js.map +1 -1
  12. package/dist/backend/executable-features.js +2 -1
  13. package/dist/backend/executable-features.js.map +1 -1
  14. package/dist/backend/external-c.d.ts +13 -6
  15. package/dist/backend/external-c.js +15 -3
  16. package/dist/backend/external-c.js.map +1 -1
  17. package/dist/backend/ffi-callbacks.js +6 -9
  18. package/dist/backend/ffi-callbacks.js.map +1 -1
  19. package/dist/backend/library-identity-markers.js.map +1 -1
  20. package/dist/backend/library-pack.d.ts +1 -1
  21. package/dist/backend/library-pack.js +81 -24
  22. package/dist/backend/library-pack.js.map +1 -1
  23. package/dist/backend/link-plan-core.js +9 -2
  24. package/dist/backend/link-plan-core.js.map +1 -1
  25. package/dist/backend/link-plan.d.ts +1 -1
  26. package/dist/backend/link-plan.js +4 -5
  27. package/dist/backend/link-plan.js.map +1 -1
  28. package/dist/backend/linker.d.ts +1 -1
  29. package/dist/backend/linker.js +42 -23
  30. package/dist/backend/linker.js.map +1 -1
  31. package/dist/backend/literals.js +5 -4
  32. package/dist/backend/literals.js.map +1 -1
  33. package/dist/backend/literals.test.js +30 -5
  34. package/dist/backend/literals.test.js.map +1 -1
  35. package/dist/backend/llvm/blocks.test.js +5 -2
  36. package/dist/backend/llvm/blocks.test.js.map +1 -1
  37. package/dist/backend/llvm/borrowed-inputs.d.ts +15 -0
  38. package/dist/backend/llvm/borrowed-inputs.js +28 -0
  39. package/dist/backend/llvm/borrowed-inputs.js.map +1 -0
  40. package/dist/backend/llvm/borrowed-receivers.js +43 -19
  41. package/dist/backend/llvm/borrowed-receivers.js.map +1 -1
  42. package/dist/backend/llvm/byte-numbers.d.ts +10 -0
  43. package/dist/backend/llvm/byte-numbers.js +240 -0
  44. package/dist/backend/llvm/byte-numbers.js.map +1 -0
  45. package/dist/backend/llvm/bytes-bounds.d.ts +9 -0
  46. package/dist/backend/llvm/bytes-bounds.js +240 -0
  47. package/dist/backend/llvm/bytes-bounds.js.map +1 -0
  48. package/dist/backend/llvm/call-lifetimes.d.ts +10 -0
  49. package/dist/backend/llvm/call-lifetimes.js +83 -20
  50. package/dist/backend/llvm/call-lifetimes.js.map +1 -1
  51. package/dist/backend/llvm/call-lifetimes.test.js +203 -18
  52. package/dist/backend/llvm/call-lifetimes.test.js.map +1 -1
  53. package/dist/backend/llvm/checked-value-lifetimes.d.ts +13 -0
  54. package/dist/backend/llvm/checked-value-lifetimes.js +45 -0
  55. package/dist/backend/llvm/checked-value-lifetimes.js.map +1 -0
  56. package/dist/backend/llvm/classes.js +16 -12
  57. package/dist/backend/llvm/classes.js.map +1 -1
  58. package/dist/backend/llvm/common.js +4 -1
  59. package/dist/backend/llvm/common.js.map +1 -1
  60. package/dist/backend/llvm/counted-loops.d.ts +6 -0
  61. package/dist/backend/llvm/counted-loops.js +35 -0
  62. package/dist/backend/llvm/counted-loops.js.map +1 -0
  63. package/dist/backend/llvm/debug-info.js +33 -13
  64. package/dist/backend/llvm/debug-info.js.map +1 -1
  65. package/dist/backend/llvm/debug-info.test.js +28 -6
  66. package/dist/backend/llvm/debug-info.test.js.map +1 -1
  67. package/dist/backend/llvm/dyn.js +68 -22
  68. package/dist/backend/llvm/dyn.js.map +1 -1
  69. package/dist/backend/llvm/emitter.d.ts +34 -12
  70. package/dist/backend/llvm/emitter.js +357 -124
  71. package/dist/backend/llvm/emitter.js.map +1 -1
  72. package/dist/backend/llvm/emitter.test.js +237 -46
  73. package/dist/backend/llvm/emitter.test.js.map +1 -1
  74. package/dist/backend/llvm/expr-async.js +28 -8
  75. package/dist/backend/llvm/expr-async.js.map +1 -1
  76. package/dist/backend/llvm/expr-bytes.d.ts +4 -4
  77. package/dist/backend/llvm/expr-bytes.js +78 -36
  78. package/dist/backend/llvm/expr-bytes.js.map +1 -1
  79. package/dist/backend/llvm/expr-callbacks.js +10 -4
  80. package/dist/backend/llvm/expr-callbacks.js.map +1 -1
  81. package/dist/backend/llvm/expr-calls.js +40 -21
  82. package/dist/backend/llvm/expr-calls.js.map +1 -1
  83. package/dist/backend/llvm/expr-containers.d.ts +4 -1
  84. package/dist/backend/llvm/expr-containers.js +157 -76
  85. package/dist/backend/llvm/expr-containers.js.map +1 -1
  86. package/dist/backend/llvm/expr-context.d.ts +11 -0
  87. package/dist/backend/llvm/expr-control.js +27 -8
  88. package/dist/backend/llvm/expr-control.js.map +1 -1
  89. package/dist/backend/llvm/expr-dispatch.js +3 -1
  90. package/dist/backend/llvm/expr-dispatch.js.map +1 -1
  91. package/dist/backend/llvm/expr-dynamic.js +50 -33
  92. package/dist/backend/llvm/expr-dynamic.js.map +1 -1
  93. package/dist/backend/llvm/expr-island.js +26 -6
  94. package/dist/backend/llvm/expr-island.js.map +1 -1
  95. package/dist/backend/llvm/expr-primitives.js +139 -37
  96. package/dist/backend/llvm/expr-primitives.js.map +1 -1
  97. package/dist/backend/llvm/expr-primitives.test.js +43 -1
  98. package/dist/backend/llvm/expr-primitives.test.js.map +1 -1
  99. package/dist/backend/llvm/expr-records.js +16 -9
  100. package/dist/backend/llvm/expr-records.js.map +1 -1
  101. package/dist/backend/llvm/expr-stream-bridges.js +44 -26
  102. package/dist/backend/llvm/expr-stream-bridges.js.map +1 -1
  103. package/dist/backend/llvm/expr-stream-bridges.test.js +51 -14
  104. package/dist/backend/llvm/expr-stream-bridges.test.js.map +1 -1
  105. package/dist/backend/llvm/expr-stream-callbacks.js +34 -14
  106. package/dist/backend/llvm/expr-stream-callbacks.js.map +1 -1
  107. package/dist/backend/llvm/integer-values.d.ts +10 -0
  108. package/dist/backend/llvm/integer-values.js +52 -0
  109. package/dist/backend/llvm/integer-values.js.map +1 -0
  110. package/dist/backend/llvm/integer-views.d.ts +7 -0
  111. package/dist/backend/llvm/integer-views.js +83 -0
  112. package/dist/backend/llvm/integer-views.js.map +1 -0
  113. package/dist/backend/llvm/integer-views.test.d.ts +1 -0
  114. package/dist/backend/llvm/integer-views.test.js +69 -0
  115. package/dist/backend/llvm/integer-views.test.js.map +1 -0
  116. package/dist/backend/llvm/lib-abi.js +13 -4
  117. package/dist/backend/llvm/lib-abi.js.map +1 -1
  118. package/dist/backend/llvm/lib-connect.js +7 -1
  119. package/dist/backend/llvm/lib-connect.js.map +1 -1
  120. package/dist/backend/llvm/lib-datagram.js +35 -10
  121. package/dist/backend/llvm/lib-datagram.js.map +1 -1
  122. package/dist/backend/llvm/lib-dispatch.js +36 -15
  123. package/dist/backend/llvm/lib-dispatch.js.map +1 -1
  124. package/dist/backend/llvm/lib-filesystem.js +38 -23
  125. package/dist/backend/llvm/lib-filesystem.js.map +1 -1
  126. package/dist/backend/llvm/lib-http2.js +60 -15
  127. package/dist/backend/llvm/lib-http2.js.map +1 -1
  128. package/dist/backend/llvm/lib-lookup.js +12 -5
  129. package/dist/backend/llvm/lib-lookup.js.map +1 -1
  130. package/dist/backend/llvm/lib-network.js +97 -31
  131. package/dist/backend/llvm/lib-network.js.map +1 -1
  132. package/dist/backend/llvm/lib-process.js +57 -14
  133. package/dist/backend/llvm/lib-process.js.map +1 -1
  134. package/dist/backend/llvm/lib-shared.js +107 -31
  135. package/dist/backend/llvm/lib-shared.js.map +1 -1
  136. package/dist/backend/llvm/lib-stream.js +33 -14
  137. package/dist/backend/llvm/lib-stream.js.map +1 -1
  138. package/dist/backend/llvm/lib-test.js +21 -7
  139. package/dist/backend/llvm/lib-test.js.map +1 -1
  140. package/dist/backend/llvm/lib-tls.js +69 -20
  141. package/dist/backend/llvm/lib-tls.js.map +1 -1
  142. package/dist/backend/llvm/local-array-reads.d.ts +3 -4
  143. package/dist/backend/llvm/local-array-reads.js +100 -121
  144. package/dist/backend/llvm/local-array-reads.js.map +1 -1
  145. package/dist/backend/llvm/local-array-reads.test.js +379 -71
  146. package/dist/backend/llvm/local-array-reads.test.js.map +1 -1
  147. package/dist/backend/llvm/local-union-storage.d.ts +25 -0
  148. package/dist/backend/llvm/local-union-storage.js +109 -0
  149. package/dist/backend/llvm/local-union-storage.js.map +1 -0
  150. package/dist/backend/llvm/local-union-storage.test.d.ts +1 -0
  151. package/dist/backend/llvm/local-union-storage.test.js +210 -0
  152. package/dist/backend/llvm/local-union-storage.test.js.map +1 -0
  153. package/dist/backend/llvm/map-read-lifetimes.d.ts +6 -2
  154. package/dist/backend/llvm/map-read-lifetimes.js +46 -16
  155. package/dist/backend/llvm/map-read-lifetimes.js.map +1 -1
  156. package/dist/backend/llvm/map-read-lifetimes.test.js +93 -17
  157. package/dist/backend/llvm/map-read-lifetimes.test.js.map +1 -1
  158. package/dist/backend/llvm/reference-effects.d.ts +23 -0
  159. package/dist/backend/llvm/reference-effects.js +179 -0
  160. package/dist/backend/llvm/reference-effects.js.map +1 -0
  161. package/dist/backend/llvm/reference-effects.test.d.ts +1 -0
  162. package/dist/backend/llvm/reference-effects.test.js +157 -0
  163. package/dist/backend/llvm/reference-effects.test.js.map +1 -0
  164. package/dist/backend/llvm/shapes.d.ts +7 -4
  165. package/dist/backend/llvm/shapes.js +82 -22
  166. package/dist/backend/llvm/shapes.js.map +1 -1
  167. package/dist/backend/llvm/shapes.test.js +3 -1
  168. package/dist/backend/llvm/shapes.test.js.map +1 -1
  169. package/dist/backend/llvm/split.js +4 -4
  170. package/dist/backend/llvm/split.js.map +1 -1
  171. package/dist/backend/llvm/split.test.js +14 -6
  172. package/dist/backend/llvm/split.test.js.map +1 -1
  173. package/dist/backend/llvm/stack-unions.js +14 -5
  174. package/dist/backend/llvm/stack-unions.js.map +1 -1
  175. package/dist/backend/llvm/stack-unions.test.js +172 -32
  176. package/dist/backend/llvm/stack-unions.test.js.map +1 -1
  177. package/dist/backend/llvm/string-construction.d.ts +10 -0
  178. package/dist/backend/llvm/string-construction.js +38 -0
  179. package/dist/backend/llvm/string-construction.js.map +1 -0
  180. package/dist/backend/llvm/string-construction.test.d.ts +1 -0
  181. package/dist/backend/llvm/string-construction.test.js +90 -0
  182. package/dist/backend/llvm/string-construction.test.js.map +1 -0
  183. package/dist/backend/llvm/string-lifetimes.d.ts +2 -2
  184. package/dist/backend/llvm/string-lifetimes.js +19 -11
  185. package/dist/backend/llvm/string-lifetimes.js.map +1 -1
  186. package/dist/backend/llvm/string-lifetimes.test.js +127 -32
  187. package/dist/backend/llvm/string-lifetimes.test.js.map +1 -1
  188. package/dist/backend/llvm/switch-dispatch.d.ts +9 -0
  189. package/dist/backend/llvm/switch-dispatch.js +114 -0
  190. package/dist/backend/llvm/switch-dispatch.js.map +1 -0
  191. package/dist/backend/llvm/switch-dispatch.test.d.ts +1 -0
  192. package/dist/backend/llvm/switch-dispatch.test.js +83 -0
  193. package/dist/backend/llvm/switch-dispatch.test.js.map +1 -0
  194. package/dist/backend/llvm/unsupported.js.map +1 -1
  195. package/dist/backend/llvm/walkers.js +6 -3
  196. package/dist/backend/llvm/walkers.js.map +1 -1
  197. package/dist/backend/mangle.js +9 -3
  198. package/dist/backend/mangle.js.map +1 -1
  199. package/dist/backend/may-throw.js +18 -8
  200. package/dist/backend/may-throw.js.map +1 -1
  201. package/dist/backend/may-throw.test.js +118 -22
  202. package/dist/backend/may-throw.test.js.map +1 -1
  203. package/dist/backend/native/artifact-stamps.d.ts +39 -0
  204. package/dist/backend/native/artifact-stamps.js +371 -0
  205. package/dist/backend/native/artifact-stamps.js.map +1 -0
  206. package/dist/backend/native/cache-warm.d.ts +24 -0
  207. package/dist/backend/native/cache-warm.js +80 -0
  208. package/dist/backend/native/cache-warm.js.map +1 -0
  209. package/dist/backend/native/compiler-fingerprint.d.ts +19 -0
  210. package/dist/backend/native/compiler-fingerprint.js +357 -0
  211. package/dist/backend/native/compiler-fingerprint.js.map +1 -0
  212. package/dist/backend/native/contracts.d.ts +314 -0
  213. package/dist/backend/native/contracts.js +2 -0
  214. package/dist/backend/native/contracts.js.map +1 -0
  215. package/dist/backend/native/dependency-files.d.ts +5 -0
  216. package/dist/backend/native/dependency-files.js +83 -0
  217. package/dist/backend/native/dependency-files.js.map +1 -0
  218. package/dist/backend/native/driver.d.ts +50 -0
  219. package/dist/backend/native/driver.js +294 -0
  220. package/dist/backend/native/driver.js.map +1 -0
  221. package/dist/backend/native/executable.d.ts +18 -0
  222. package/dist/backend/native/executable.js +1267 -0
  223. package/dist/backend/native/executable.js.map +1 -0
  224. package/dist/backend/native/library.d.ts +2 -0
  225. package/dist/backend/native/library.js +614 -0
  226. package/dist/backend/native/library.js.map +1 -0
  227. package/dist/backend/native/linker-fingerprint.d.ts +8 -0
  228. package/dist/backend/native/linker-fingerprint.js +174 -0
  229. package/dist/backend/native/linker-fingerprint.js.map +1 -0
  230. package/dist/backend/native/object-merge.d.ts +2 -0
  231. package/dist/backend/native/object-merge.js +154 -0
  232. package/dist/backend/native/object-merge.js.map +1 -0
  233. package/dist/backend/native/process.d.ts +17 -0
  234. package/dist/backend/native/process.js +42 -0
  235. package/dist/backend/native/process.js.map +1 -0
  236. package/dist/backend/native/program-shards.d.ts +21 -0
  237. package/dist/backend/native/program-shards.js +99 -0
  238. package/dist/backend/native/program-shards.js.map +1 -0
  239. package/dist/backend/native/runtime-inputs.d.ts +12 -0
  240. package/dist/backend/native/runtime-inputs.js +163 -0
  241. package/dist/backend/native/runtime-inputs.js.map +1 -0
  242. package/dist/backend/native/runtime-inputs.test.d.ts +1 -0
  243. package/dist/backend/native/runtime-inputs.test.js +64 -0
  244. package/dist/backend/native/runtime-inputs.test.js.map +1 -0
  245. package/dist/backend/native/runtime-objects.d.ts +16 -0
  246. package/dist/backend/native/runtime-objects.js +122 -0
  247. package/dist/backend/native/runtime-objects.js.map +1 -0
  248. package/dist/backend/native/session.d.ts +12 -0
  249. package/dist/backend/native/session.js +31 -0
  250. package/dist/backend/native/session.js.map +1 -0
  251. package/dist/backend/native/tool-identity.d.ts +37 -0
  252. package/dist/backend/native/tool-identity.js +310 -0
  253. package/dist/backend/native/tool-identity.js.map +1 -0
  254. package/dist/backend/native/trace-paths.d.ts +12 -0
  255. package/dist/backend/native/trace-paths.js +73 -0
  256. package/dist/backend/native/trace-paths.js.map +1 -0
  257. package/dist/backend/native/vendor.d.ts +1 -0
  258. package/dist/backend/native/vendor.js +12 -0
  259. package/dist/backend/native/vendor.js.map +1 -0
  260. package/dist/backend/native-codegen-core.js +2 -1
  261. package/dist/backend/native-codegen-core.js.map +1 -1
  262. package/dist/backend/native-codegen.d.ts +1 -1
  263. package/dist/backend/native-codegen.js +24 -13
  264. package/dist/backend/native-codegen.js.map +1 -1
  265. package/dist/backend/native-codegen.test.js +12 -9
  266. package/dist/backend/native-codegen.test.js.map +1 -1
  267. package/dist/backend/native-link-info-core.js +9 -5
  268. package/dist/backend/native-link-info-core.js.map +1 -1
  269. package/dist/backend/native-link-info.js +14 -5
  270. package/dist/backend/native-link-info.js.map +1 -1
  271. package/dist/backend/native-link-info.test.js +58 -13
  272. package/dist/backend/native-link-info.test.js.map +1 -1
  273. package/dist/backend/native-toolchain.d.ts +17 -450
  274. package/dist/backend/native-toolchain.js +17 -3971
  275. package/dist/backend/native-toolchain.js.map +1 -1
  276. package/dist/backend/native-toolchain.test.js +103 -72
  277. package/dist/backend/native-toolchain.test.js.map +1 -1
  278. package/dist/backend/native-tools.js +27 -8
  279. package/dist/backend/native-tools.js.map +1 -1
  280. package/dist/backend/object-localize.js +17 -14
  281. package/dist/backend/object-localize.js.map +1 -1
  282. package/dist/backend/object-localize.test.js +59 -12
  283. package/dist/backend/object-localize.test.js.map +1 -1
  284. package/dist/backend/runtime-pack-core.js +96 -49
  285. package/dist/backend/runtime-pack-core.js.map +1 -1
  286. package/dist/backend/runtime-pack-native.js +5 -3
  287. package/dist/backend/runtime-pack-native.js.map +1 -1
  288. package/dist/backend/runtime-pack-targets.test.js +87 -15
  289. package/dist/backend/runtime-pack-targets.test.js.map +1 -1
  290. package/dist/backend/runtime-pack.d.ts +1 -1
  291. package/dist/backend/runtime-pack.js +11 -12
  292. package/dist/backend/runtime-pack.js.map +1 -1
  293. package/dist/backend/runtime-pack.test.js +40 -24
  294. package/dist/backend/runtime-pack.test.js.map +1 -1
  295. package/dist/backend/source-locations.js.map +1 -1
  296. package/dist/backend/source-locations.test.js +7 -2
  297. package/dist/backend/source-locations.test.js.map +1 -1
  298. package/dist/backend/target-diagnostics.js +44 -14
  299. package/dist/backend/target-diagnostics.js.map +1 -1
  300. package/dist/backend/target-diagnostics.test.js +93 -20
  301. package/dist/backend/target-diagnostics.test.js.map +1 -1
  302. package/dist/backend/targets.js +230 -86
  303. package/dist/backend/targets.js.map +1 -1
  304. package/dist/backend/targets.test.js +32 -18
  305. package/dist/backend/targets.test.js.map +1 -1
  306. package/dist/backend/toolchain-environment.js +5 -1
  307. package/dist/backend/toolchain-environment.js.map +1 -1
  308. package/dist/backend/vendor-archives.d.ts +2 -2
  309. package/dist/backend/vendor-archives.js +84 -35
  310. package/dist/backend/vendor-archives.js.map +1 -1
  311. package/dist/backend/vendor-inputs.js +13 -1
  312. package/dist/backend/vendor-inputs.js.map +1 -1
  313. package/dist/backend/warm-cache.d.ts +1 -1
  314. package/dist/backend/warm-cache.js +33 -9
  315. package/dist/backend/warm-cache.js.map +1 -1
  316. package/dist/cli/command.js +39 -9
  317. package/dist/cli/command.js.map +1 -1
  318. package/dist/cli/output-options.js +14 -4
  319. package/dist/cli/output-options.js.map +1 -1
  320. package/dist/cli/paths.js.map +1 -1
  321. package/dist/cli/wasi-runner.js.map +1 -1
  322. package/dist/compat/fetch-profile.js +36 -35
  323. package/dist/compat/fetch-profile.js.map +1 -1
  324. package/dist/coverage/report.js +16 -17
  325. package/dist/coverage/report.js.map +1 -1
  326. package/dist/coverage/surface-manifest.js +112 -26
  327. package/dist/coverage/surface-manifest.js.map +1 -1
  328. package/dist/diagnostics/diagnostic.js +55 -16
  329. package/dist/diagnostics/diagnostic.js.map +1 -1
  330. package/dist/executable/executable-cache.d.ts +1 -1
  331. package/dist/executable/executable-cache.js +78 -48
  332. package/dist/executable/executable-cache.js.map +1 -1
  333. package/dist/executable/executable-cache.test.js +75 -26
  334. package/dist/executable/executable-cache.test.js.map +1 -1
  335. package/dist/executable/prepare.js +2 -2
  336. package/dist/executable/prepare.js.map +1 -1
  337. package/dist/ffi/ffi-manifest.js +78 -20
  338. package/dist/ffi/ffi-manifest.js.map +1 -1
  339. package/dist/ffi/ffi-manifest.test.js +96 -16
  340. package/dist/ffi/ffi-manifest.test.js.map +1 -1
  341. package/dist/format-integer.js.map +1 -1
  342. package/dist/frontend/analysis.js +12 -2
  343. package/dist/frontend/analysis.js.map +1 -1
  344. package/dist/frontend/arguments-usage.js.map +1 -1
  345. package/dist/frontend/binding-source.js +9 -3
  346. package/dist/frontend/binding-source.js.map +1 -1
  347. package/dist/frontend/builtin-modules.js +46 -2
  348. package/dist/frontend/builtin-modules.js.map +1 -1
  349. package/dist/frontend/cjs-resolve.js +40 -17
  350. package/dist/frontend/cjs-resolve.js.map +1 -1
  351. package/dist/frontend/cjs-syntax.js +31 -10
  352. package/dist/frontend/cjs-syntax.js.map +1 -1
  353. package/dist/frontend/comptime-node.test.js +10 -11
  354. package/dist/frontend/comptime-node.test.js.map +1 -1
  355. package/dist/frontend/dts-paths.js +7 -3
  356. package/dist/frontend/dts-paths.js.map +1 -1
  357. package/dist/frontend/fork-target.js +17 -12
  358. package/dist/frontend/fork-target.js.map +1 -1
  359. package/dist/frontend/function-completion.js +11 -6
  360. package/dist/frontend/function-completion.js.map +1 -1
  361. package/dist/frontend/helper-tokens.js +53 -6
  362. package/dist/frontend/helper-tokens.js.map +1 -1
  363. package/dist/frontend/helper-tokens.test.js +18 -2
  364. package/dist/frontend/helper-tokens.test.js.map +1 -1
  365. package/dist/frontend/inferred-js-diagnostics.js +32 -12
  366. package/dist/frontend/inferred-js-diagnostics.js.map +1 -1
  367. package/dist/frontend/inferred-js-diagnostics.test.js +11 -15
  368. package/dist/frontend/inferred-js-diagnostics.test.js.map +1 -1
  369. package/dist/frontend/input-tracker.js +11 -11
  370. package/dist/frontend/input-tracker.js.map +1 -1
  371. package/dist/frontend/input-tracker.test.js +4 -1
  372. package/dist/frontend/input-tracker.test.js.map +1 -1
  373. package/dist/frontend/lib-contract.js +38 -9
  374. package/dist/frontend/lib-contract.js.map +1 -1
  375. package/dist/frontend/literal-values.js.map +1 -1
  376. package/dist/frontend/literal-values.test.js +28 -8
  377. package/dist/frontend/literal-values.test.js.map +1 -1
  378. package/dist/frontend/lowering/abstract-equality.js +53 -10
  379. package/dist/frontend/lowering/abstract-equality.js.map +1 -1
  380. package/dist/frontend/lowering/array-indexed-mutation.d.ts +1 -1
  381. package/dist/frontend/lowering/array-indexed-mutation.js +108 -106
  382. package/dist/frontend/lowering/array-indexed-mutation.js.map +1 -1
  383. package/dist/frontend/lowering/array-values.js +37 -14
  384. package/dist/frontend/lowering/array-values.js.map +1 -1
  385. package/dist/frontend/lowering/binding-analysis.d.ts +50 -0
  386. package/dist/frontend/lowering/binding-analysis.js +376 -0
  387. package/dist/frontend/lowering/binding-analysis.js.map +1 -0
  388. package/dist/frontend/lowering/builtin-calls.d.ts +9 -0
  389. package/dist/frontend/lowering/builtin-calls.js +60 -0
  390. package/dist/frontend/lowering/builtin-calls.js.map +1 -0
  391. package/dist/frontend/lowering/builtins/arguments.d.ts +43 -0
  392. package/dist/frontend/lowering/builtins/arguments.js +247 -0
  393. package/dist/frontend/lowering/builtins/arguments.js.map +1 -0
  394. package/dist/frontend/lowering/builtins/async-context.d.ts +52 -0
  395. package/dist/frontend/lowering/builtins/async-context.js +436 -0
  396. package/dist/frontend/lowering/builtins/async-context.js.map +1 -0
  397. package/dist/frontend/lowering/builtins/atomics.d.ts +15 -0
  398. package/dist/frontend/lowering/builtins/atomics.js +46 -0
  399. package/dist/frontend/lowering/builtins/atomics.js.map +1 -0
  400. package/dist/frontend/lowering/builtins/callable-aliases.d.ts +13 -0
  401. package/dist/frontend/lowering/builtins/callable-aliases.js +87 -0
  402. package/dist/frontend/lowering/builtins/callable-aliases.js.map +1 -0
  403. package/dist/frontend/lowering/builtins/child-process-async.d.ts +18 -0
  404. package/dist/frontend/lowering/builtins/child-process-async.js +245 -0
  405. package/dist/frontend/lowering/builtins/child-process-async.js.map +1 -0
  406. package/dist/frontend/lowering/builtins/child-process-methods.d.ts +21 -0
  407. package/dist/frontend/lowering/builtins/child-process-methods.js +362 -0
  408. package/dist/frontend/lowering/builtins/child-process-methods.js.map +1 -0
  409. package/dist/frontend/lowering/builtins/child-process-sync.d.ts +4 -0
  410. package/dist/frontend/lowering/builtins/child-process-sync.js +639 -0
  411. package/dist/frontend/lowering/builtins/child-process-sync.js.map +1 -0
  412. package/dist/frontend/lowering/builtins/child-process.d.ts +55 -0
  413. package/dist/frontend/lowering/builtins/child-process.js +669 -0
  414. package/dist/frontend/lowering/builtins/child-process.js.map +1 -0
  415. package/dist/frontend/lowering/builtins/compression.d.ts +7 -0
  416. package/dist/frontend/lowering/builtins/compression.js +115 -0
  417. package/dist/frontend/lowering/builtins/compression.js.map +1 -0
  418. package/dist/frontend/lowering/builtins/console.d.ts +10 -0
  419. package/dist/frontend/lowering/builtins/console.js +38 -0
  420. package/dist/frontend/lowering/builtins/console.js.map +1 -0
  421. package/dist/frontend/lowering/builtins/constants.d.ts +24 -0
  422. package/dist/frontend/lowering/builtins/constants.js +141 -0
  423. package/dist/frontend/lowering/builtins/constants.js.map +1 -0
  424. package/dist/frontend/lowering/builtins/crypto.d.ts +22 -0
  425. package/dist/frontend/lowering/builtins/crypto.js +517 -0
  426. package/dist/frontend/lowering/builtins/crypto.js.map +1 -0
  427. package/dist/frontend/lowering/builtins/dates.d.ts +7 -0
  428. package/dist/frontend/lowering/builtins/dates.js +101 -0
  429. package/dist/frontend/lowering/builtins/dates.js.map +1 -0
  430. package/dist/frontend/lowering/builtins/environment.d.ts +34 -0
  431. package/dist/frontend/lowering/builtins/environment.js +95 -0
  432. package/dist/frontend/lowering/builtins/environment.js.map +1 -0
  433. package/dist/frontend/lowering/builtins/errors.d.ts +14 -0
  434. package/dist/frontend/lowering/builtins/errors.js +83 -0
  435. package/dist/frontend/lowering/builtins/errors.js.map +1 -0
  436. package/dist/frontend/lowering/builtins/filesystem-calls.d.ts +32 -0
  437. package/dist/frontend/lowering/builtins/filesystem-calls.js +678 -0
  438. package/dist/frontend/lowering/builtins/filesystem-calls.js.map +1 -0
  439. package/dist/frontend/lowering/builtins/filesystem.d.ts +108 -0
  440. package/dist/frontend/lowering/builtins/filesystem.js +1061 -0
  441. package/dist/frontend/lowering/builtins/filesystem.js.map +1 -0
  442. package/dist/frontend/lowering/builtins/ipc.d.ts +8 -0
  443. package/dist/frontend/lowering/builtins/ipc.js +76 -0
  444. package/dist/frontend/lowering/builtins/ipc.js.map +1 -0
  445. package/dist/frontend/lowering/builtins/json.d.ts +12 -0
  446. package/dist/frontend/lowering/builtins/json.js +387 -0
  447. package/dist/frontend/lowering/builtins/json.js.map +1 -0
  448. package/dist/frontend/lowering/builtins/module-bindings.d.ts +85 -0
  449. package/dist/frontend/lowering/builtins/module-bindings.js +346 -0
  450. package/dist/frontend/lowering/builtins/module-bindings.js.map +1 -0
  451. package/dist/frontend/lowering/builtins/module-calls.d.ts +8 -0
  452. package/dist/frontend/lowering/builtins/module-calls.js +303 -0
  453. package/dist/frontend/lowering/builtins/module-calls.js.map +1 -0
  454. package/dist/frontend/lowering/builtins/module-resolution.d.ts +38 -0
  455. package/dist/frontend/lowering/builtins/module-resolution.js +344 -0
  456. package/dist/frontend/lowering/builtins/module-resolution.js.map +1 -0
  457. package/dist/frontend/lowering/builtins/numbers.d.ts +15 -0
  458. package/dist/frontend/lowering/builtins/numbers.js +124 -0
  459. package/dist/frontend/lowering/builtins/numbers.js.map +1 -0
  460. package/dist/frontend/lowering/builtins/operating-system.d.ts +13 -0
  461. package/dist/frontend/lowering/builtins/operating-system.js +148 -0
  462. package/dist/frontend/lowering/builtins/operating-system.js.map +1 -0
  463. package/dist/frontend/lowering/builtins/performance.d.ts +13 -0
  464. package/dist/frontend/lowering/builtins/performance.js +100 -0
  465. package/dist/frontend/lowering/builtins/performance.js.map +1 -0
  466. package/dist/frontend/lowering/builtins/process.d.ts +50 -0
  467. package/dist/frontend/lowering/builtins/process.js +1138 -0
  468. package/dist/frontend/lowering/builtins/process.js.map +1 -0
  469. package/dist/frontend/lowering/builtins/promises.d.ts +14 -0
  470. package/dist/frontend/lowering/builtins/promises.js +356 -0
  471. package/dist/frontend/lowering/builtins/promises.js.map +1 -0
  472. package/dist/frontend/lowering/builtins/properties.d.ts +11 -0
  473. package/dist/frontend/lowering/builtins/properties.js +186 -0
  474. package/dist/frontend/lowering/builtins/properties.js.map +1 -0
  475. package/dist/frontend/lowering/builtins/querystring.d.ts +19 -0
  476. package/dist/frontend/lowering/builtins/querystring.js +150 -0
  477. package/dist/frontend/lowering/builtins/querystring.js.map +1 -0
  478. package/dist/frontend/lowering/builtins/readline.d.ts +13 -0
  479. package/dist/frontend/lowering/builtins/readline.js +138 -0
  480. package/dist/frontend/lowering/builtins/readline.js.map +1 -0
  481. package/dist/frontend/lowering/builtins/receiver-types.d.ts +5 -0
  482. package/dist/frontend/lowering/builtins/receiver-types.js +15 -0
  483. package/dist/frontend/lowering/builtins/receiver-types.js.map +1 -0
  484. package/dist/frontend/lowering/builtins/reflection.d.ts +13 -0
  485. package/dist/frontend/lowering/builtins/reflection.js +95 -0
  486. package/dist/frontend/lowering/builtins/reflection.js.map +1 -0
  487. package/dist/frontend/lowering/builtins/strings.d.ts +14 -0
  488. package/dist/frontend/lowering/builtins/strings.js +121 -0
  489. package/dist/frontend/lowering/builtins/strings.js.map +1 -0
  490. package/dist/frontend/lowering/builtins/text-codecs.d.ts +29 -0
  491. package/dist/frontend/lowering/builtins/text-codecs.js +590 -0
  492. package/dist/frontend/lowering/builtins/text-codecs.js.map +1 -0
  493. package/dist/frontend/lowering/builtins/timers.d.ts +22 -0
  494. package/dist/frontend/lowering/builtins/timers.js +180 -0
  495. package/dist/frontend/lowering/builtins/timers.js.map +1 -0
  496. package/dist/frontend/lowering/builtins/url.d.ts +37 -0
  497. package/dist/frontend/lowering/builtins/url.js +596 -0
  498. package/dist/frontend/lowering/builtins/url.js.map +1 -0
  499. package/dist/frontend/lowering/builtins/util-types.d.ts +7 -0
  500. package/dist/frontend/lowering/builtins/util-types.js +31 -0
  501. package/dist/frontend/lowering/builtins/util-types.js.map +1 -0
  502. package/dist/frontend/lowering/call-arguments.d.ts +72 -0
  503. package/dist/frontend/lowering/call-arguments.js +618 -0
  504. package/dist/frontend/lowering/call-arguments.js.map +1 -0
  505. package/dist/frontend/lowering/call-signatures.d.ts +115 -0
  506. package/dist/frontend/lowering/call-signatures.js +719 -0
  507. package/dist/frontend/lowering/call-signatures.js.map +1 -0
  508. package/dist/frontend/lowering/callback-arg.js.map +1 -1
  509. package/dist/frontend/lowering/checked-iterable-spread.js +53 -10
  510. package/dist/frontend/lowering/checked-iterable-spread.js.map +1 -1
  511. package/dist/frontend/lowering/checked-promise-all.js +41 -9
  512. package/dist/frontend/lowering/checked-promise-all.js.map +1 -1
  513. package/dist/frontend/lowering/class-callbacks.d.ts +1 -1
  514. package/dist/frontend/lowering/class-callbacks.js +130 -27
  515. package/dist/frontend/lowering/class-callbacks.js.map +1 -1
  516. package/dist/frontend/lowering/class-construction.d.ts +1 -1
  517. package/dist/frontend/lowering/class-construction.js +247 -50
  518. package/dist/frontend/lowering/class-construction.js.map +1 -1
  519. package/dist/frontend/lowering/class-descriptors.js +109 -29
  520. package/dist/frontend/lowering/class-descriptors.js.map +1 -1
  521. package/dist/frontend/lowering/class-dynamic-dispatch.d.ts +6 -1
  522. package/dist/frontend/lowering/class-dynamic-dispatch.js +2471 -465
  523. package/dist/frontend/lowering/class-dynamic-dispatch.js.map +1 -1
  524. package/dist/frontend/lowering/class-dynamic-dispatch.test.js +284 -44
  525. package/dist/frontend/lowering/class-dynamic-dispatch.test.js.map +1 -1
  526. package/dist/frontend/lowering/class-instance-constructor.js +17 -5
  527. package/dist/frontend/lowering/class-instance-constructor.js.map +1 -1
  528. package/dist/frontend/lowering/class-method-values.js +199 -51
  529. package/dist/frontend/lowering/class-method-values.js.map +1 -1
  530. package/dist/frontend/lowering/class-prototypes.js +345 -86
  531. package/dist/frontend/lowering/class-prototypes.js.map +1 -1
  532. package/dist/frontend/lowering/class-runtime-statics.d.ts +1 -1
  533. package/dist/frontend/lowering/class-runtime-statics.js +80 -17
  534. package/dist/frontend/lowering/class-runtime-statics.js.map +1 -1
  535. package/dist/frontend/lowering/class-static-data.js +76 -16
  536. package/dist/frontend/lowering/class-static-data.js.map +1 -1
  537. package/dist/frontend/lowering/coercions/builders.d.ts +13 -0
  538. package/dist/frontend/lowering/coercions/builders.js +77 -0
  539. package/dist/frontend/lowering/coercions/builders.js.map +1 -0
  540. package/dist/frontend/lowering/coercions/function-adapters.d.ts +58 -0
  541. package/dist/frontend/lowering/coercions/function-adapters.js +430 -0
  542. package/dist/frontend/lowering/coercions/function-adapters.js.map +1 -0
  543. package/dist/frontend/lowering/coercions/island.d.ts +37 -0
  544. package/dist/frontend/lowering/coercions/island.js +350 -0
  545. package/dist/frontend/lowering/coercions/island.js.map +1 -0
  546. package/dist/frontend/lowering/coercions/state.d.ts +14 -0
  547. package/dist/frontend/lowering/coercions/state.js +16 -0
  548. package/dist/frontend/lowering/coercions/state.js.map +1 -0
  549. package/dist/frontend/lowering/coercions/structural-plans.d.ts +40 -0
  550. package/dist/frontend/lowering/coercions/structural-plans.js +447 -0
  551. package/dist/frontend/lowering/coercions/structural-plans.js.map +1 -0
  552. package/dist/frontend/lowering/coercions/structural.d.ts +63 -0
  553. package/dist/frontend/lowering/coercions/structural.js +616 -0
  554. package/dist/frontend/lowering/coercions/structural.js.map +1 -0
  555. package/dist/frontend/lowering/coercions/unions.d.ts +65 -0
  556. package/dist/frontend/lowering/coercions/unions.js +318 -0
  557. package/dist/frontend/lowering/coercions/unions.js.map +1 -0
  558. package/dist/frontend/lowering/collection-ingestion.js +359 -67
  559. package/dist/frontend/lowering/collection-ingestion.js.map +1 -1
  560. package/dist/frontend/lowering/containers/array-callbacks.d.ts +92 -0
  561. package/dist/frontend/lowering/containers/array-callbacks.js +1646 -0
  562. package/dist/frontend/lowering/containers/array-callbacks.js.map +1 -0
  563. package/dist/frontend/lowering/containers/array-construction.d.ts +42 -0
  564. package/dist/frontend/lowering/containers/array-construction.js +1044 -0
  565. package/dist/frontend/lowering/containers/array-construction.js.map +1 -0
  566. package/dist/frontend/lowering/containers/array-iteration.d.ts +16 -0
  567. package/dist/frontend/lowering/containers/array-iteration.js +95 -0
  568. package/dist/frontend/lowering/containers/array-iteration.js.map +1 -0
  569. package/dist/frontend/lowering/containers/array-methods.d.ts +27 -0
  570. package/dist/frontend/lowering/containers/array-methods.js +1854 -0
  571. package/dist/frontend/lowering/containers/array-methods.js.map +1 -0
  572. package/dist/frontend/lowering/containers/bytes.d.ts +17 -17
  573. package/dist/frontend/lowering/containers/bytes.js +419 -105
  574. package/dist/frontend/lowering/containers/bytes.js.map +1 -1
  575. package/dist/frontend/lowering/containers/callback-arguments.d.ts +26 -0
  576. package/dist/frontend/lowering/containers/callback-arguments.js +179 -0
  577. package/dist/frontend/lowering/containers/callback-arguments.js.map +1 -0
  578. package/dist/frontend/lowering/containers/collection-grouping.d.ts +19 -0
  579. package/dist/frontend/lowering/containers/collection-grouping.js +297 -0
  580. package/dist/frontend/lowering/containers/collection-grouping.js.map +1 -0
  581. package/dist/frontend/lowering/containers/collection-methods.d.ts +57 -0
  582. package/dist/frontend/lowering/containers/collection-methods.js +1314 -0
  583. package/dist/frontend/lowering/containers/collection-methods.js.map +1 -0
  584. package/dist/frontend/lowering/containers/dynamic-receivers.d.ts +18 -0
  585. package/dist/frontend/lowering/containers/dynamic-receivers.js +114 -0
  586. package/dist/frontend/lowering/containers/dynamic-receivers.js.map +1 -0
  587. package/dist/frontend/lowering/containers/for-of.d.ts +60 -0
  588. package/dist/frontend/lowering/containers/for-of.js +643 -0
  589. package/dist/frontend/lowering/containers/for-of.js.map +1 -0
  590. package/dist/frontend/lowering/containers/indexed-objects.d.ts +132 -0
  591. package/dist/frontend/lowering/containers/indexed-objects.js +1743 -0
  592. package/dist/frontend/lowering/containers/indexed-objects.js.map +1 -0
  593. package/dist/frontend/lowering/containers/iterator-helpers.d.ts +20 -0
  594. package/dist/frontend/lowering/containers/iterator-helpers.js +809 -0
  595. package/dist/frontend/lowering/containers/iterator-helpers.js.map +1 -0
  596. package/dist/frontend/lowering/containers/string-and-regexp.js +585 -157
  597. package/dist/frontend/lowering/containers/string-and-regexp.js.map +1 -1
  598. package/dist/frontend/lowering/containers/string-replacement.js +213 -63
  599. package/dist/frontend/lowering/containers/string-replacement.js.map +1 -1
  600. package/dist/frontend/lowering/crypto-tables.js +263 -64
  601. package/dist/frontend/lowering/crypto-tables.js.map +1 -1
  602. package/dist/frontend/lowering/deferred-module-initializers.js +172 -68
  603. package/dist/frontend/lowering/deferred-module-initializers.js.map +1 -1
  604. package/dist/frontend/lowering/deferred-module-initializers.test.js +41 -8
  605. package/dist/frontend/lowering/deferred-module-initializers.test.js.map +1 -1
  606. package/dist/frontend/lowering/error-methods.js +339 -65
  607. package/dist/frontend/lowering/error-methods.js.map +1 -1
  608. package/dist/frontend/lowering/expressions/evaluation-safety.js +3 -2
  609. package/dist/frontend/lowering/expressions/evaluation-safety.js.map +1 -1
  610. package/dist/frontend/lowering/expressions/global-symbols.js +2 -1
  611. package/dist/frontend/lowering/expressions/global-symbols.js.map +1 -1
  612. package/dist/frontend/lowering/expressions/native-proxy.js +11 -5
  613. package/dist/frontend/lowering/expressions/native-proxy.js.map +1 -1
  614. package/dist/frontend/lowering/expressions/nullish-assignment.js +67 -13
  615. package/dist/frontend/lowering/expressions/nullish-assignment.js.map +1 -1
  616. package/dist/frontend/lowering/expressions/object-literals.js +589 -162
  617. package/dist/frontend/lowering/expressions/object-literals.js.map +1 -1
  618. package/dist/frontend/lowering/expressions/optional-chains.d.ts +1 -1
  619. package/dist/frontend/lowering/expressions/optional-chains.js +68 -17
  620. package/dist/frontend/lowering/expressions/optional-chains.js.map +1 -1
  621. package/dist/frontend/lowering/expressions/union-field-write.js +45 -18
  622. package/dist/frontend/lowering/expressions/union-field-write.js.map +1 -1
  623. package/dist/frontend/lowering/function-context.js +5 -1
  624. package/dist/frontend/lowering/function-context.js.map +1 -1
  625. package/dist/frontend/lowering/function-returns.d.ts +67 -0
  626. package/dist/frontend/lowering/function-returns.js +392 -0
  627. package/dist/frontend/lowering/function-returns.js.map +1 -0
  628. package/dist/frontend/lowering/generator-delegation.d.ts +1 -1
  629. package/dist/frontend/lowering/generator-delegation.js +171 -39
  630. package/dist/frontend/lowering/generator-delegation.js.map +1 -1
  631. package/dist/frontend/lowering/generator-dynamic-dispatch.d.ts +1 -1
  632. package/dist/frontend/lowering/generator-dynamic-dispatch.js +176 -36
  633. package/dist/frontend/lowering/generator-dynamic-dispatch.js.map +1 -1
  634. package/dist/frontend/lowering/generic-functions.d.ts +274 -0
  635. package/dist/frontend/lowering/generic-functions.js +1727 -0
  636. package/dist/frontend/lowering/generic-functions.js.map +1 -0
  637. package/dist/frontend/lowering/import-meta.d.ts +1 -1
  638. package/dist/frontend/lowering/import-meta.js +37 -14
  639. package/dist/frontend/lowering/import-meta.js.map +1 -1
  640. package/dist/frontend/lowering/indexed-comparison.js +6 -2
  641. package/dist/frontend/lowering/indexed-comparison.js.map +1 -1
  642. package/dist/frontend/lowering/iterator-consumption.d.ts +9 -0
  643. package/dist/frontend/lowering/iterator-consumption.js +91 -0
  644. package/dist/frontend/lowering/iterator-consumption.js.map +1 -0
  645. package/dist/frontend/lowering/lib-boundary.js +40 -17
  646. package/dist/frontend/lowering/lib-boundary.js.map +1 -1
  647. package/dist/frontend/lowering/lib-boundary.test.js +49 -11
  648. package/dist/frontend/lowering/lib-boundary.test.js.map +1 -1
  649. package/dist/frontend/lowering/lower-array-sort.d.ts +0 -19
  650. package/dist/frontend/lowering/lower-array-sort.js +331 -566
  651. package/dist/frontend/lowering/lower-array-sort.js.map +1 -1
  652. package/dist/frontend/lowering/lower-assert.js +248 -43
  653. package/dist/frontend/lowering/lower-assert.js.map +1 -1
  654. package/dist/frontend/lowering/lower-async-iteration.js +71 -16
  655. package/dist/frontend/lowering/lower-async-iteration.js.map +1 -1
  656. package/dist/frontend/lowering/lower-builtin-values.js +420 -71
  657. package/dist/frontend/lowering/lower-builtin-values.js.map +1 -1
  658. package/dist/frontend/lowering/lower-calls.d.ts +39 -558
  659. package/dist/frontend/lowering/lower-calls.js +2593 -5667
  660. package/dist/frontend/lowering/lower-calls.js.map +1 -1
  661. package/dist/frontend/lowering/lower-classes.d.ts +243 -242
  662. package/dist/frontend/lowering/lower-classes.js +1704 -727
  663. package/dist/frontend/lowering/lower-classes.js.map +1 -1
  664. package/dist/frontend/lowering/lower-comptime.d.ts +35 -35
  665. package/dist/frontend/lowering/lower-comptime.js +39 -37
  666. package/dist/frontend/lowering/lower-comptime.js.map +1 -1
  667. package/dist/frontend/lowering/lower-dgram.js +59 -31
  668. package/dist/frontend/lowering/lower-dgram.js.map +1 -1
  669. package/dist/frontend/lowering/lower-enums.js +5 -2
  670. package/dist/frontend/lowering/lower-enums.js.map +1 -1
  671. package/dist/frontend/lowering/lower-event-emitter.js +322 -85
  672. package/dist/frontend/lowering/lower-event-emitter.js.map +1 -1
  673. package/dist/frontend/lowering/lower-expando.js +19 -7
  674. package/dist/frontend/lowering/lower-expando.js.map +1 -1
  675. package/dist/frontend/lowering/lower-exprs.d.ts +194 -194
  676. package/dist/frontend/lowering/lower-exprs.js +3455 -1153
  677. package/dist/frontend/lowering/lower-exprs.js.map +1 -1
  678. package/dist/frontend/lowering/lower-functions.d.ts +23 -0
  679. package/dist/frontend/lowering/lower-functions.js +449 -0
  680. package/dist/frontend/lowering/lower-functions.js.map +1 -0
  681. package/dist/frontend/lowering/lower-generators.js +121 -32
  682. package/dist/frontend/lowering/lower-generators.js.map +1 -1
  683. package/dist/frontend/lowering/lower-global-value.js +15 -4
  684. package/dist/frontend/lowering/lower-global-value.js.map +1 -1
  685. package/dist/frontend/lowering/lower-inspect.js +479 -89
  686. package/dist/frontend/lowering/lower-inspect.js.map +1 -1
  687. package/dist/frontend/lowering/lower-island.d.ts +79 -79
  688. package/dist/frontend/lowering/lower-island.js +365 -273
  689. package/dist/frontend/lowering/lower-island.js.map +1 -1
  690. package/dist/frontend/lowering/lower-island.test.js +7 -2
  691. package/dist/frontend/lowering/lower-island.test.js.map +1 -1
  692. package/dist/frontend/lowering/lower-mixins.js +17 -8
  693. package/dist/frontend/lowering/lower-mixins.js.map +1 -1
  694. package/dist/frontend/lowering/lower-modules.d.ts +94 -94
  695. package/dist/frontend/lowering/lower-modules.js +612 -321
  696. package/dist/frontend/lowering/lower-modules.js.map +1 -1
  697. package/dist/frontend/lowering/lower-modules.test.js +91 -20
  698. package/dist/frontend/lowering/lower-modules.test.js.map +1 -1
  699. package/dist/frontend/lowering/lower-namespaces.js +25 -8
  700. package/dist/frontend/lowering/lower-namespaces.js.map +1 -1
  701. package/dist/frontend/lowering/lower-node-module.js +115 -34
  702. package/dist/frontend/lowering/lower-node-module.js.map +1 -1
  703. package/dist/frontend/lowering/lower-server.js +1210 -290
  704. package/dist/frontend/lowering/lower-server.js.map +1 -1
  705. package/dist/frontend/lowering/lower-stmts.d.ts +148 -148
  706. package/dist/frontend/lowering/lower-stmts.js +2312 -984
  707. package/dist/frontend/lowering/lower-stmts.js.map +1 -1
  708. package/dist/frontend/lowering/lower-stmts.test.js +13 -5
  709. package/dist/frontend/lowering/lower-stmts.test.js.map +1 -1
  710. package/dist/frontend/lowering/lower-stream.js +362 -90
  711. package/dist/frontend/lowering/lower-stream.js.map +1 -1
  712. package/dist/frontend/lowering/lower-system-errors.js +30 -8
  713. package/dist/frontend/lowering/lower-system-errors.js.map +1 -1
  714. package/dist/frontend/lowering/lower-test.js +40 -13
  715. package/dist/frontend/lowering/lower-test.js.map +1 -1
  716. package/dist/frontend/lowering/lower-timers.d.ts +31 -0
  717. package/dist/frontend/lowering/lower-timers.js +336 -0
  718. package/dist/frontend/lowering/lower-timers.js.map +1 -0
  719. package/dist/frontend/lowering/lower-url.d.ts +1 -1
  720. package/dist/frontend/lowering/lower-url.js +46 -13
  721. package/dist/frontend/lowering/lower-url.js.map +1 -1
  722. package/dist/frontend/lowering/lowerer.d.ts +21 -351
  723. package/dist/frontend/lowering/lowerer.js +1031 -2704
  724. package/dist/frontend/lowering/lowerer.js.map +1 -1
  725. package/dist/frontend/lowering/lowerer.test.js +85 -17
  726. package/dist/frontend/lowering/lowerer.test.js.map +1 -1
  727. package/dist/frontend/lowering/module-namespace-elements.js +43 -8
  728. package/dist/frontend/lowering/module-namespace-elements.js.map +1 -1
  729. package/dist/frontend/lowering/native-ffi.d.ts +21 -1
  730. package/dist/frontend/lowering/native-ffi.js +487 -18
  731. package/dist/frontend/lowering/native-ffi.js.map +1 -1
  732. package/dist/frontend/lowering/object-enumeration-receiver.js +55 -10
  733. package/dist/frontend/lowering/object-enumeration-receiver.js.map +1 -1
  734. package/dist/frontend/lowering/object-factory-new.d.ts +1 -1
  735. package/dist/frontend/lowering/object-factory-new.js +36 -11
  736. package/dist/frontend/lowering/object-factory-new.js.map +1 -1
  737. package/dist/frontend/lowering/optional-arguments.js +49 -20
  738. package/dist/frontend/lowering/optional-arguments.js.map +1 -1
  739. package/dist/frontend/lowering/pairs-snapshot.js +66 -14
  740. package/dist/frontend/lowering/pairs-snapshot.js.map +1 -1
  741. package/dist/frontend/lowering/runtime-optional-locals.js +3 -1
  742. package/dist/frontend/lowering/runtime-optional-locals.js.map +1 -1
  743. package/dist/frontend/lowering/runtime-optional-locals.test.js.map +1 -1
  744. package/dist/frontend/lowering/sanitize-class-types.js +4 -1
  745. package/dist/frontend/lowering/sanitize-class-types.js.map +1 -1
  746. package/dist/frontend/lowering/sanitize-class-types.test.js +86 -18
  747. package/dist/frontend/lowering/sanitize-class-types.test.js.map +1 -1
  748. package/dist/frontend/lowering/static-this.js +13 -6
  749. package/dist/frontend/lowering/static-this.js.map +1 -1
  750. package/dist/frontend/lowering/string-index.js +32 -10
  751. package/dist/frontend/lowering/string-index.js.map +1 -1
  752. package/dist/frontend/lowering/surfaces.d.ts +42 -42
  753. package/dist/frontend/lowering/surfaces.js +1094 -249
  754. package/dist/frontend/lowering/surfaces.js.map +1 -1
  755. package/dist/frontend/lowering/symbol-fields.js +40 -15
  756. package/dist/frontend/lowering/symbol-fields.js.map +1 -1
  757. package/dist/frontend/lowering/symbol-methods.js.map +1 -1
  758. package/dist/frontend/lowering/text-decoder-encoding.js +236 -24
  759. package/dist/frontend/lowering/text-decoder-encoding.js.map +1 -1
  760. package/dist/frontend/lowering/text-decoder-encoding.test.js +84 -12
  761. package/dist/frontend/lowering/text-decoder-encoding.test.js.map +1 -1
  762. package/dist/frontend/lowering/union-narrow.js +59 -16
  763. package/dist/frontend/lowering/union-narrow.js.map +1 -1
  764. package/dist/frontend/lowering/union-narrow.test.js +24 -7
  765. package/dist/frontend/lowering/union-narrow.test.js.map +1 -1
  766. package/dist/frontend/lowering/union-retag.js +155 -40
  767. package/dist/frontend/lowering/union-retag.js.map +1 -1
  768. package/dist/frontend/lowering/union-retag.test.js +131 -33
  769. package/dist/frontend/lowering/union-retag.test.js.map +1 -1
  770. package/dist/frontend/lowering/unregistered-class-types.js.map +1 -1
  771. package/dist/frontend/lowering/unregistered-class-types.test.js +34 -8
  772. package/dist/frontend/lowering/unregistered-class-types.test.js.map +1 -1
  773. package/dist/frontend/module-syntax.js +21 -8
  774. package/dist/frontend/module-syntax.js.map +1 -1
  775. package/dist/frontend/module-syntax.test.js +37 -13
  776. package/dist/frontend/module-syntax.test.js.map +1 -1
  777. package/dist/frontend/npm-fetch-analysis.js +13 -4
  778. package/dist/frontend/npm-fetch-analysis.js.map +1 -1
  779. package/dist/frontend/npm-fetch-analysis.test.js +33 -10
  780. package/dist/frontend/npm-fetch-analysis.test.js.map +1 -1
  781. package/dist/frontend/npm-fetch-node.js.map +1 -1
  782. package/dist/frontend/npm-fetch-syntax.js +4 -9
  783. package/dist/frontend/npm-fetch-syntax.js.map +1 -1
  784. package/dist/frontend/npm-node.js +3 -1
  785. package/dist/frontend/npm-node.js.map +1 -1
  786. package/dist/frontend/npm-static-bundled-cjs.js +88 -29
  787. package/dist/frontend/npm-static-bundled-cjs.js.map +1 -1
  788. package/dist/frontend/npm-static-bundled-cjs.test.js +29 -10
  789. package/dist/frontend/npm-static-bundled-cjs.test.js.map +1 -1
  790. package/dist/frontend/npm-static-declaration-syntax.js +148 -56
  791. package/dist/frontend/npm-static-declaration-syntax.js.map +1 -1
  792. package/dist/frontend/npm-static-declarations.d.ts +1 -1
  793. package/dist/frontend/npm-static-declarations.js.map +1 -1
  794. package/dist/frontend/npm-static-declarations.test.js +33 -7
  795. package/dist/frontend/npm-static-declarations.test.js.map +1 -1
  796. package/dist/frontend/npm-static-prune.js +26 -12
  797. package/dist/frontend/npm-static-prune.js.map +1 -1
  798. package/dist/frontend/npm-static-prune.test.js +17 -3
  799. package/dist/frontend/npm-static-prune.test.js.map +1 -1
  800. package/dist/frontend/npm-static-rewrite-host.js +2 -3
  801. package/dist/frontend/npm-static-rewrite-host.js.map +1 -1
  802. package/dist/frontend/npm-static-rewrite-syntax.js +64 -21
  803. package/dist/frontend/npm-static-rewrite-syntax.js.map +1 -1
  804. package/dist/frontend/npm-static-rewrite.js.map +1 -1
  805. package/dist/frontend/npm-static-subtyping.js +9 -4
  806. package/dist/frontend/npm-static-subtyping.js.map +1 -1
  807. package/dist/frontend/npm-static-subtyping.test.js +30 -6
  808. package/dist/frontend/npm-static-subtyping.test.js.map +1 -1
  809. package/dist/frontend/npm-static.js +15 -4
  810. package/dist/frontend/npm-static.js.map +1 -1
  811. package/dist/frontend/npm.js +122 -36
  812. package/dist/frontend/npm.js.map +1 -1
  813. package/dist/frontend/npm.test.js +30 -10
  814. package/dist/frontend/npm.test.js.map +1 -1
  815. package/dist/frontend/pipeline-native.js.map +1 -1
  816. package/dist/frontend/pipeline.js +25 -8
  817. package/dist/frontend/pipeline.js.map +1 -1
  818. package/dist/frontend/pipeline.test.js +21 -7
  819. package/dist/frontend/pipeline.test.js.map +1 -1
  820. package/dist/frontend/program-node.js +5 -3
  821. package/dist/frontend/program-node.js.map +1 -1
  822. package/dist/frontend/program.d.ts +2 -2
  823. package/dist/frontend/program.js +234 -101
  824. package/dist/frontend/program.js.map +1 -1
  825. package/dist/frontend/program.test.js +27 -27
  826. package/dist/frontend/program.test.js.map +1 -1
  827. package/dist/frontend/provenance-core.js +8 -4
  828. package/dist/frontend/provenance-core.js.map +1 -1
  829. package/dist/frontend/provenance-registry.js +1 -4
  830. package/dist/frontend/provenance-registry.js.map +1 -1
  831. package/dist/frontend/resolve.js +32 -20
  832. package/dist/frontend/resolve.js.map +1 -1
  833. package/dist/frontend/resolve.test.js +1 -1
  834. package/dist/frontend/resolve.test.js.map +1 -1
  835. package/dist/frontend/runtime-resolve.js +13 -4
  836. package/dist/frontend/runtime-resolve.js.map +1 -1
  837. package/dist/frontend/runtime-resolve.test.js +25 -9
  838. package/dist/frontend/runtime-resolve.test.js.map +1 -1
  839. package/dist/frontend/services-node.js +6 -2
  840. package/dist/frontend/services-node.js.map +1 -1
  841. package/dist/frontend/services-node.test.js +18 -6
  842. package/dist/frontend/services-node.test.js.map +1 -1
  843. package/dist/frontend/services.js +8 -4
  844. package/dist/frontend/services.js.map +1 -1
  845. package/dist/frontend/services.test.js +6 -2
  846. package/dist/frontend/services.test.js.map +1 -1
  847. package/dist/frontend/ts7/api.js +12 -4
  848. package/dist/frontend/ts7/api.js.map +1 -1
  849. package/dist/frontend/ts7/ast-bytes.js +10 -3
  850. package/dist/frontend/ts7/ast-bytes.js.map +1 -1
  851. package/dist/frontend/ts7/ast-bytes.test.js +23 -4
  852. package/dist/frontend/ts7/ast-bytes.test.js.map +1 -1
  853. package/dist/frontend/ts7/ast-guards.test.js +14 -5
  854. package/dist/frontend/ts7/ast-guards.test.js.map +1 -1
  855. package/dist/frontend/ts7/ast-node.d.ts +6 -1
  856. package/dist/frontend/ts7/ast-node.js +484 -164
  857. package/dist/frontend/ts7/ast-node.js.map +1 -1
  858. package/dist/frontend/ts7/ast-node.test.js +109 -36
  859. package/dist/frontend/ts7/ast-node.test.js.map +1 -1
  860. package/dist/frontend/ts7/ast-text.js +13 -3
  861. package/dist/frontend/ts7/ast-text.js.map +1 -1
  862. package/dist/frontend/ts7/ast-text.test.js.map +1 -1
  863. package/dist/frontend/ts7/ast-types.js.map +1 -1
  864. package/dist/frontend/ts7/ast-wire.d.ts +1 -1
  865. package/dist/frontend/ts7/ast-wire.js +55 -20
  866. package/dist/frontend/ts7/ast-wire.js.map +1 -1
  867. package/dist/frontend/ts7/ast-wire.test.js +53 -8
  868. package/dist/frontend/ts7/ast-wire.test.js.map +1 -1
  869. package/dist/frontend/ts7/ast.js +47 -28
  870. package/dist/frontend/ts7/ast.js.map +1 -1
  871. package/dist/frontend/ts7/census-check.js +1 -1
  872. package/dist/frontend/ts7/census-check.js.map +1 -1
  873. package/dist/frontend/ts7/checker-cache.js.map +1 -1
  874. package/dist/frontend/ts7/checker.js +5 -3
  875. package/dist/frontend/ts7/checker.js.map +1 -1
  876. package/dist/frontend/ts7/checker.test.js +54 -17
  877. package/dist/frontend/ts7/checker.test.js.map +1 -1
  878. package/dist/frontend/ts7/enums.test.js +9 -4
  879. package/dist/frontend/ts7/enums.test.js.map +1 -1
  880. package/dist/frontend/ts7/native-api.js.map +1 -1
  881. package/dist/frontend/ts7/native-host.js.map +1 -1
  882. package/dist/frontend/ts7/native-process.js +9 -3
  883. package/dist/frontend/ts7/native-process.js.map +1 -1
  884. package/dist/frontend/ts7/program-adapter.js +1 -1
  885. package/dist/frontend/ts7/program-adapter.js.map +1 -1
  886. package/dist/frontend/ts7/program-host.js +7 -4
  887. package/dist/frontend/ts7/program-host.js.map +1 -1
  888. package/dist/frontend/ts7/program-host.test.js +43 -11
  889. package/dist/frontend/ts7/program-host.test.js.map +1 -1
  890. package/dist/frontend/ts7/rpc-api.js +3 -1
  891. package/dist/frontend/ts7/rpc-api.js.map +1 -1
  892. package/dist/frontend/ts7/rpc-client.js +15 -5
  893. package/dist/frontend/ts7/rpc-client.js.map +1 -1
  894. package/dist/frontend/ts7/rpc-client.test.js +26 -8
  895. package/dist/frontend/ts7/rpc-client.test.js.map +1 -1
  896. package/dist/frontend/ts7/rpc-filesystem.js.map +1 -1
  897. package/dist/frontend/ts7/rpc-filesystem.test.js +43 -10
  898. package/dist/frontend/ts7/rpc-filesystem.test.js.map +1 -1
  899. package/dist/frontend/ts7/rpc-process.js +16 -6
  900. package/dist/frontend/ts7/rpc-process.js.map +1 -1
  901. package/dist/frontend/ts7/rpc-process.test.js.map +1 -1
  902. package/dist/frontend/ts7/rpc-wire.d.ts +1 -0
  903. package/dist/frontend/ts7/rpc-wire.js +41 -14
  904. package/dist/frontend/ts7/rpc-wire.js.map +1 -1
  905. package/dist/frontend/ts7/rpc-wire.test.js +36 -6
  906. package/dist/frontend/ts7/rpc-wire.test.js.map +1 -1
  907. package/dist/frontend/ts7/semantic-checker.js +209 -68
  908. package/dist/frontend/ts7/semantic-checker.js.map +1 -1
  909. package/dist/frontend/ts7/semantic-checker.test.js +29 -14
  910. package/dist/frontend/ts7/semantic-checker.test.js.map +1 -1
  911. package/dist/frontend/ts7/semantic-json.js +7 -1
  912. package/dist/frontend/ts7/semantic-json.js.map +1 -1
  913. package/dist/frontend/ts7/semantic-json.test.js +17 -3
  914. package/dist/frontend/ts7/semantic-json.test.js.map +1 -1
  915. package/dist/frontend/ts7/semantic-model.js +147 -51
  916. package/dist/frontend/ts7/semantic-model.js.map +1 -1
  917. package/dist/frontend/ts7/semantic-model.test.js +72 -19
  918. package/dist/frontend/ts7/semantic-model.test.js.map +1 -1
  919. package/dist/frontend/ts7/semantic-types.d.ts +2 -2
  920. package/dist/frontend/ts7/session-cache.js +10 -3
  921. package/dist/frontend/ts7/session-cache.js.map +1 -1
  922. package/dist/frontend/ts7/session-cache.test.js +13 -4
  923. package/dist/frontend/ts7/session-cache.test.js.map +1 -1
  924. package/dist/frontend/ts7/session-path.js +25 -10
  925. package/dist/frontend/ts7/session-path.js.map +1 -1
  926. package/dist/frontend/ts7/session-path.test.js +47 -4
  927. package/dist/frontend/ts7/session-path.test.js.map +1 -1
  928. package/dist/frontend/ts7/session-timing.js +22 -3
  929. package/dist/frontend/ts7/session-timing.js.map +1 -1
  930. package/dist/frontend/ts7/session-timing.test.js +12 -3
  931. package/dist/frontend/ts7/session-timing.test.js.map +1 -1
  932. package/dist/frontend/ts7/session.d.ts +1 -0
  933. package/dist/frontend/ts7/session.js +109 -35
  934. package/dist/frontend/ts7/session.js.map +1 -1
  935. package/dist/frontend/ts7/session.test.js +69 -15
  936. package/dist/frontend/ts7/session.test.js.map +1 -1
  937. package/dist/frontend/ts7/source-parser.js +17 -6
  938. package/dist/frontend/ts7/source-parser.js.map +1 -1
  939. package/dist/frontend/ts7/source-parser.test.js +32 -9
  940. package/dist/frontend/ts7/source-parser.test.js.map +1 -1
  941. package/dist/frontend/tsc-codes.js +56 -11
  942. package/dist/frontend/tsc-codes.js.map +1 -1
  943. package/dist/frontend/tsc-codes.test.d.ts +1 -0
  944. package/dist/frontend/tsc-codes.test.js +16 -0
  945. package/dist/frontend/tsc-codes.test.js.map +1 -0
  946. package/dist/frontend/type-mapper.js +547 -206
  947. package/dist/frontend/type-mapper.js.map +1 -1
  948. package/dist/frontend/type-mapper.test.js +108 -33
  949. package/dist/frontend/type-mapper.test.js.map +1 -1
  950. package/dist/frontend/union-discriminants.js +8 -2
  951. package/dist/frontend/union-discriminants.js.map +1 -1
  952. package/dist/frontend/union-discriminants.test.js +77 -20
  953. package/dist/frontend/union-discriminants.test.js.map +1 -1
  954. package/dist/index.d.ts +9 -8
  955. package/dist/index.js +150 -81
  956. package/dist/index.js.map +1 -1
  957. package/dist/ir/analysis.js +97 -38
  958. package/dist/ir/analysis.js.map +1 -1
  959. package/dist/ir/analysis.test.js +91 -15
  960. package/dist/ir/analysis.test.js.map +1 -1
  961. package/dist/ir/api.d.ts +4 -0
  962. package/dist/ir/api.js +6 -0
  963. package/dist/ir/api.js.map +1 -0
  964. package/dist/ir/build.d.ts +7 -0
  965. package/dist/ir/build.js +27 -1
  966. package/dist/ir/build.js.map +1 -1
  967. package/dist/ir/builtin-effects.d.ts +9 -0
  968. package/dist/ir/builtin-effects.js +631 -0
  969. package/dist/ir/builtin-effects.js.map +1 -0
  970. package/dist/ir/builtin-signatures.d.ts +15 -0
  971. package/dist/ir/builtin-signatures.js +3396 -0
  972. package/dist/ir/builtin-signatures.js.map +1 -0
  973. package/dist/ir/byte-numbers.d.ts +20 -0
  974. package/dist/ir/byte-numbers.js +116 -0
  975. package/dist/ir/byte-numbers.js.map +1 -0
  976. package/dist/ir/byte-numbers.test.d.ts +1 -0
  977. package/dist/ir/byte-numbers.test.js +55 -0
  978. package/dist/ir/byte-numbers.test.js.map +1 -0
  979. package/dist/ir/constant-tables.js +13 -5
  980. package/dist/ir/constant-tables.js.map +1 -1
  981. package/dist/ir/constant-tables.test.js +47 -7
  982. package/dist/ir/constant-tables.test.js.map +1 -1
  983. package/dist/ir/control-flow.js +2 -1
  984. package/dist/ir/control-flow.js.map +1 -1
  985. package/dist/ir/control-flow.test.js +35 -11
  986. package/dist/ir/control-flow.test.js.map +1 -1
  987. package/dist/ir/initializer-bindings.d.ts +9 -0
  988. package/dist/ir/initializer-bindings.js +115 -0
  989. package/dist/ir/initializer-bindings.js.map +1 -0
  990. package/dist/ir/initializer-bindings.test.d.ts +1 -0
  991. package/dist/ir/initializer-bindings.test.js +118 -0
  992. package/dist/ir/initializer-bindings.test.js.map +1 -0
  993. package/dist/ir/integer-loop-facts.d.ts +12 -0
  994. package/dist/ir/integer-loop-facts.js +137 -0
  995. package/dist/ir/integer-loop-facts.js.map +1 -0
  996. package/dist/ir/integer-loops.d.ts +19 -0
  997. package/dist/ir/integer-loops.js +172 -11
  998. package/dist/ir/integer-loops.js.map +1 -1
  999. package/dist/ir/integer-loops.test.js +122 -9
  1000. package/dist/ir/integer-loops.test.js.map +1 -1
  1001. package/dist/ir/integer-ranges.d.ts +8 -6
  1002. package/dist/ir/integer-ranges.js +416 -90
  1003. package/dist/ir/integer-ranges.js.map +1 -1
  1004. package/dist/ir/integer-ranges.test.js +239 -10
  1005. package/dist/ir/integer-ranges.test.js.map +1 -1
  1006. package/dist/ir/intrinsic-signatures.d.ts +20 -0
  1007. package/dist/ir/intrinsic-signatures.js +57 -0
  1008. package/dist/ir/intrinsic-signatures.js.map +1 -0
  1009. package/dist/ir/ir.d.ts +14 -2155
  1010. package/dist/ir/ir.js +169 -1394
  1011. package/dist/ir/ir.js.map +1 -1
  1012. package/dist/ir/ir.test.js +98 -77
  1013. package/dist/ir/ir.test.js.map +1 -1
  1014. package/dist/ir/runtime-features.d.ts +221 -0
  1015. package/dist/ir/runtime-features.js +551 -0
  1016. package/dist/ir/runtime-features.js.map +1 -0
  1017. package/dist/ir/runtime-features.test.d.ts +1 -0
  1018. package/dist/ir/runtime-features.test.js +98 -0
  1019. package/dist/ir/runtime-features.test.js.map +1 -0
  1020. package/dist/ir/scalar-records.js +130 -40
  1021. package/dist/ir/scalar-records.js.map +1 -1
  1022. package/dist/ir/scalar-records.test.js +146 -27
  1023. package/dist/ir/scalar-records.test.js.map +1 -1
  1024. package/dist/ir/serialize.js +4 -2
  1025. package/dist/ir/serialize.js.map +1 -1
  1026. package/dist/ir/serialize.test.js +44 -9
  1027. package/dist/ir/serialize.test.js.map +1 -1
  1028. package/dist/ir/traverse.js +156 -43
  1029. package/dist/ir/traverse.js.map +1 -1
  1030. package/dist/ir/traverse.test.js +99 -24
  1031. package/dist/ir/traverse.test.js.map +1 -1
  1032. package/dist/ir/validate.d.ts +1 -31
  1033. package/dist/ir/validate.js +826 -1915
  1034. package/dist/ir/validate.js.map +1 -1
  1035. package/dist/ir/validate.test.js +627 -111
  1036. package/dist/ir/validate.test.js.map +1 -1
  1037. package/dist/library/cache-primitives.js +9 -10
  1038. package/dist/library/cache-primitives.js.map +1 -1
  1039. package/dist/library/cache-reset.test.js +2 -1
  1040. package/dist/library/cache-reset.test.js.map +1 -1
  1041. package/dist/library/compiler-self-identity.js +11 -5
  1042. package/dist/library/compiler-self-identity.js.map +1 -1
  1043. package/dist/library/compiler-self-identity.test.js +10 -3
  1044. package/dist/library/compiler-self-identity.test.js.map +1 -1
  1045. package/dist/library/fence-eval.js +24 -7
  1046. package/dist/library/fence-eval.js.map +1 -1
  1047. package/dist/library/fence-eval.test.js +31 -7
  1048. package/dist/library/fence-eval.test.js.map +1 -1
  1049. package/dist/library/int-infer.js +199 -59
  1050. package/dist/library/int-infer.js.map +1 -1
  1051. package/dist/library/int-infer.test.js +133 -57
  1052. package/dist/library/int-infer.test.js.map +1 -1
  1053. package/dist/library/ir-policy.d.ts +27 -0
  1054. package/dist/library/ir-policy.js +232 -0
  1055. package/dist/library/ir-policy.js.map +1 -0
  1056. package/dist/library/library-cache.js +40 -17
  1057. package/dist/library/library-cache.js.map +1 -1
  1058. package/dist/library/library-cache.test.js +24 -13
  1059. package/dist/library/library-cache.test.js.map +1 -1
  1060. package/dist/library/library-profile.js +68 -13
  1061. package/dist/library/library-profile.js.map +1 -1
  1062. package/dist/library/prepare.js +48 -20
  1063. package/dist/library/prepare.js.map +1 -1
  1064. package/dist/library/semantic-source.js +16 -14
  1065. package/dist/library/semantic-source.js.map +1 -1
  1066. package/dist/library/semantic-source.test.js +9 -14
  1067. package/dist/library/semantic-source.test.js.map +1 -1
  1068. package/dist/library/sidecar-validate.js +53 -12
  1069. package/dist/library/sidecar-validate.js.map +1 -1
  1070. package/dist/library/sidecar.js +85 -24
  1071. package/dist/library/sidecar.js.map +1 -1
  1072. package/dist/library/trap-teaching.js +11 -2
  1073. package/dist/library/trap-teaching.js.map +1 -1
  1074. package/dist/native/cache.js +10 -4
  1075. package/dist/native/cache.js.map +1 -1
  1076. package/dist/native/cli.js +34 -9
  1077. package/dist/native/cli.js.map +1 -1
  1078. package/dist/native/compiler.js +167 -43
  1079. package/dist/native/compiler.js.map +1 -1
  1080. package/dist/native/compiler.test.js +129 -32
  1081. package/dist/native/compiler.test.js.map +1 -1
  1082. package/dist/native/comptime.js +23 -7
  1083. package/dist/native/comptime.js.map +1 -1
  1084. package/dist/native/comptime.test.js +26 -6
  1085. package/dist/native/comptime.test.js.map +1 -1
  1086. package/dist/native/executable-cache.js +77 -27
  1087. package/dist/native/executable-cache.js.map +1 -1
  1088. package/dist/native/executable-cache.test.js +41 -6
  1089. package/dist/native/executable-cache.test.js.map +1 -1
  1090. package/dist/native/file-identity.js +9 -2
  1091. package/dist/native/file-identity.js.map +1 -1
  1092. package/dist/native/file-identity.test.js.map +1 -1
  1093. package/dist/native/library.js +50 -12
  1094. package/dist/native/library.js.map +1 -1
  1095. package/dist/native/prepare.js +119 -34
  1096. package/dist/native/prepare.js.map +1 -1
  1097. package/dist/native/prepare.test.js +22 -6
  1098. package/dist/native/prepare.test.js.map +1 -1
  1099. package/dist/native/runtime-typescript.js +24 -11
  1100. package/dist/native/runtime-typescript.js.map +1 -1
  1101. package/dist/native/runtime-typescript.test.js.map +1 -1
  1102. package/dist/native/sanitizer.js +71 -18
  1103. package/dist/native/sanitizer.js.map +1 -1
  1104. package/dist/native/sanitizer.test.js +77 -20
  1105. package/dist/native/sanitizer.test.js.map +1 -1
  1106. package/dist/native/task.js.map +1 -1
  1107. package/dist/native/task.test.js +7 -2
  1108. package/dist/native/task.test.js.map +1 -1
  1109. package/dist/native/toolchain.js +74 -29
  1110. package/dist/native/toolchain.js.map +1 -1
  1111. package/dist/native/toolchain.test.js +95 -18
  1112. package/dist/native/toolchain.test.js.map +1 -1
  1113. package/dist/startup-cache.d.ts +1 -1
  1114. package/dist/startup-cache.js +1 -1
  1115. package/dist/startup-cache.js.map +1 -1
  1116. package/dist/timing.js.map +1 -1
  1117. package/package.json +20 -20
  1118. package/surface-manifest.json +1 -1
  1119. package/dist/frontend/lowering/lower-builtins.d.ts +0 -601
  1120. package/dist/frontend/lowering/lower-builtins.js +0 -8984
  1121. package/dist/frontend/lowering/lower-builtins.js.map +0 -1
  1122. package/dist/frontend/lowering/lower-containers.d.ts +0 -382
  1123. package/dist/frontend/lowering/lower-containers.js +0 -7366
  1124. package/dist/frontend/lowering/lower-containers.js.map +0 -1
@@ -1,601 +0,0 @@
1
- import * as ts from "../ts7/adapter.js";
2
- import type { Lowerer } from "./lowerer.js";
3
- import { type BuiltinModuleFn } from "./surfaces.js";
4
- import { type IrExpr, type IrType, type SrcLoc } from "../../ir/ir.js";
5
- /** URL component assignment captures its receiver and RHS once, and yields
6
- * the original RHS after the setter performs string conversion. */
7
- export declare function lowerUrlAssignment(lowerer: Lowerer, expr: ts.BinaryExpression): IrExpr | null;
8
- /** timers/promises.setInterval(delay, value), the first Node API built on
9
- * the generic async-generator protocol. The supported form has an explicit
10
- * value and no AbortSignal options. It lowers to a generated typed async
11
- * generator whose loop awaits the existing promise timeout then yields the
12
- * retained value; creating the iterator remains lazy. */
13
- export declare function lowerTimersPromisesSetInterval(lowerer: Lowerer, expr: ts.CallExpression, bi: {
14
- module: string;
15
- member: string;
16
- }, loc: SrcLoc): IrExpr | null;
17
- /** Resolves an identifier to a supported builtin-module IMPORT BINDING:
18
- * a named import (through its alias, so `import { join as j }` matches)
19
- * whose declaration is an ImportSpecifier under a supported builtin
20
- * specifier — "fs"/"node:fs", "path"/"node:path", ... The SPECIFIER is
21
- * the provenance: user code can only acquire these bindings by importing
22
- * the module (preflight allowlists exactly these specifiers, and Node
23
- * itself resolves bare builtin names to the builtin — no npm shadowing),
24
- * and a same-named local or user function has a different symbol whose
25
- * declaration is not an import specifier. Returns the CANONICAL module
26
- * name and the EXPORTED member name (not the local alias). */
27
- export declare function builtinImportOf(lowerer: Lowerer, ident: ts.Identifier): {
28
- module: string;
29
- member: string;
30
- } | null;
31
- /** True for `const <name> = require("<builtin>").<member>` — the
32
- * member-binding require import builtinImportOf resolves. Both
33
- * declaration walks (lowerVarDecl, collectGlobals) skip these: like a
34
- * named import, the binding is alias plumbing with no storage — call
35
- * sites lower through the module tables, value uses fence per site. */
36
- export declare function builtinMemberRequireDecl(nameNode: ts.Node, init: ts.Expression | undefined): boolean;
37
- /** The supported builtin module when `decl` destructures a builtin
38
- * NAMESPACE binding (`const crypto = require('crypto'); const {
39
- * createSign, sign: mySign } = crypto;` — test/common/crypto.js's
40
- * idiom; the `import * as ns` form rides the same resolution). Pure
41
- * alias plumbing: the bindings key the same tables as named imports
42
- * (builtinImportOf's alias hop), so no storage and no statement exist —
43
- * both declaration walks skip by this test. Plain identifier elements
44
- * and renames only: a rest element needs the namespace VALUE and a
45
- * default needs a missing-member probe — those keep the existing
46
- * namespace-as-value fence. The direct-require initializer answers null
47
- * here (its own arm already resolves it). */
48
- export declare function builtinNamespaceDestructureModuleOf(lowerer: Lowerer, decl: ts.VariableDeclaration): string | null;
49
- /** Strips the type-only wrappers the require pattern rides in typed
50
- * code (`require("node:os") as typeof import("node:os")` — the
51
- * fallback declarations answer `unknown`, so the cast IS the idiom),
52
- * plus parens, legacy assertions, and non-null suffixes. */
53
- export declare function stripTypeCasts(e: ts.Expression): ts.Expression;
54
- /** True for `const require = createRequire(import.meta.url)` — the
55
- * binding is compile-time plumbing (each call through it resolves per
56
- * site) with no storage and no code; both declaration walks skip by
57
- * this test. Top-level let/var bindings also qualify when preflight's
58
- * shared proof rules out writes, escapes, and use before initialization. */
59
- export declare function createRequireBindingDecl(lowerer: Lowerer, nameNode: ts.Node, init: ts.Expression | undefined): boolean;
60
- /** The declaring source file when `callee` denotes a createRequire-made
61
- * require: a stable binding over createRequire(import.meta.url) (the
62
- * binding's own file anchors resolution) or the inline
63
- * `createRequire(import.meta.url)(...)` spelling (the call's file).
64
- * Null off the pattern, so call chains keep trying. */
65
- export declare function createRequireCalleeFileOf(lowerer: Lowerer, callee: ts.Expression): ts.SourceFile | null;
66
- /** The static require of `R("spec")` through a createRequire binding:
67
- * the literal specifier plus the file anchoring relative resolution.
68
- * Null when the callee is not a createRequire-made require; a matching
69
- * callee with a non-literal (or missing) specifier answers spec null,
70
- * so the call lowering fences by name instead of falling through to
71
- * the generic call paths. */
72
- export declare function createRequireSpecOf(lowerer: Lowerer, call: ts.CallExpression): {
73
- spec: string | null;
74
- baseFile: ts.SourceFile;
75
- } | null;
76
- /** node:ffi is a checked native module value, so its require binding needs
77
- * storage even when the createRequire loader is named `require`. */
78
- export declare function isNativeFfiRequire(lowerer: Lowerer, expr: ts.Expression | undefined): boolean;
79
- /** True for `const fs = require("node:fs")` through a createRequire
80
- * binding — a builtin namespace import in const clothing: alias
81
- * plumbing with no storage (uses resolve through
82
- * builtinNamespaceModuleOf's createRequire arm); both declaration
83
- * walks skip by this test. */
84
- export declare function createRequireNamespaceDecl(lowerer: Lowerer, nameNode: ts.Node, init: ts.Expression | undefined): boolean;
85
- /** A statically compiled program module reached through a canonical
86
- * createRequire binding. This is the ESM twin of an ordinary CommonJS
87
- * require edge: the same project resolver, require-condition npm-static
88
- * entry, module initializer, and export registrations own the target. */
89
- export declare function createRequireProgramModuleOf(lowerer: Lowerer, expr: ts.Expression | undefined): {
90
- spec: string;
91
- baseFile: ts.SourceFile;
92
- dep: ts.SourceFile;
93
- } | null;
94
- /** True for a const identifier whose initializer is a createRequire call
95
- * reaching a compiled program module. The binding is namespace/value
96
- * alias plumbing; its declaration emits only the dependency's run-once
97
- * initializer at the source position. */
98
- export declare function createRequireProgramModuleDecl(lowerer: Lowerer, nameNode: ts.Node, init: ts.Expression | undefined): boolean;
99
- /** node:module's two compiler-only calls. isBuiltin compares one evaluated
100
- * string against the pinned Node 24 list (bare builtins also accept their
101
- * node: spelling; prefix-only entries do not gain a bare alias).
102
- * syncBuiltinESMExports is observably a no-op inside the static surface:
103
- * builtin exports cannot be mutated, so its only supported behavior is
104
- * evaluating no arguments and returning undefined. */
105
- export declare function lowerNodeModuleCall(lowerer: Lowerer, expr: ts.CallExpression, bi: {
106
- module: string;
107
- member: string;
108
- }, loc: SrcLoc): IrExpr | null;
109
- /** `require("spec")` through a createRequire binding — the erasure per
110
- * target. Builtins are reached here only OUTSIDE the const-namespace-
111
- * binding shape (that declaration erases; member uses resolve through
112
- * the namespace tables) and fence toward it. A relative .json document
113
- * bakes: the file's text validates as JSON at compile time and the
114
- * call lowers to json.parse over the baked literal — JSON.parse's
115
- * checked-dynamic `unknown` stance, and exactly Node's value (require
116
- * of JSON IS JSON.parse of the file; the per-call re-parse forgoes
117
- * Node's module-cache identity, unobservable without mutation). A bare
118
- * specifier NOTHING installed resolves compiles to Node's catchable
119
- * MODULE_NOT_FOUND throw (the optional-dependency try/require
120
- * pattern); an installed package loads through the island's
121
- * require-condition entry under --dynamic (collectCreateRequires
122
- * embedded it) and reports the requires-dynamic diagnostic in a static
123
- * build. Null when the callee is not a createRequire require. */
124
- export declare function lowerCreateRequireCall(lowerer: Lowerer, call: ts.CallExpression, loc: SrcLoc): IrExpr | null;
125
- /** import.meta.resolve("literal") folds through the runtime-module
126
- * resolver, never TypeScript's declaration-file resolver. Relative and
127
- * URL-like names remain valid even when no file exists; bare packages use
128
- * Node's import-condition exports path. */
129
- export declare function lowerImportMetaResolveCall(lowerer: Lowerer, call: ts.CallExpression): IrExpr | null;
130
- /** CommonJS require.resolve and require.resolve.paths for the ambient
131
- * wrapper or a supported createRequire binding. Results are build-time
132
- * constants; failures lower to Node's catchable error object. */
133
- export declare function lowerRequireResolveCall(lowerer: Lowerer, call: ts.CallExpression): IrExpr | null;
134
- /** `constants.NGHTTP2_CANCEL` / `constants.SSL_OP_NO_TICKET` (any baked-
135
- * constants spelling) → the literal; unknown members fence by name.
136
- * Null when the receiver is not a baked constants object (the property
137
- * chain keeps trying). */
138
- export declare function lowerBuiltinConstantsProperty(lowerer: Lowerer, expr: ts.PropertyAccessExpression): IrExpr | null;
139
- /** Presence probes do not extract an unbound Performance method value. */
140
- export declare function lowerPerfHooksTypeof(lowerer: Lowerer, expression: ts.Expression): IrExpr | null;
141
- /** The node:perf_hooks spoke: `performance.now()` reads the runtime's
142
- * monotonic clock anchored at process start — Node's timeOrigin for a
143
- * compiled program, fractional milliseconds — and
144
- * `performance.now.bind(performance)` (the mockable-clock idiom's
145
- * getTimestamp) is the same clock as a plain () => number function
146
- * value. Other members on the performance object fence by name; null
147
- * for non-perf_hooks callees (the call chain keeps trying). */
148
- export declare function lowerPerfHooksCall(lowerer: Lowerer, expr: ts.CallExpression, access: ts.PropertyAccessExpression): IrExpr | null;
149
- /** True for `const { NGHTTP2_CANCEL, ... } = http2.constants` (and the
150
- * crypto.constants twin) — a plain object destructure (identifier
151
- * elements, renames allowed, no rest/defaults/nesting) over a baked
152
- * constants object whose every name is in its table. The declaration is
153
- * alias plumbing with no storage (lowerVarDecl and collectGlobals both
154
- * skip it); each USE reads its baked literal
155
- * (builtinConstantBindingOf). */
156
- export declare function builtinConstantsDestructureDecl(lowerer: Lowerer, nameNode: ts.Node, init: ts.Expression | undefined): boolean;
157
- /** Resolves an identifier bound by a builtinConstantsDestructureDecl to
158
- * its baked literal value. Null for every other binding. */
159
- export declare function builtinConstantBindingOf(lowerer: Lowerer, ident: ts.Identifier): IrExpr | null;
160
- export declare function lowerFsToUnixTimestampCall(lowerer: Lowerer, expr: ts.CallExpression, bi: {
161
- module: string;
162
- member: string;
163
- }, loc: SrcLoc): IrExpr | null;
164
- /** The fs validation-ladder spoke (checked-dynamic lane, JS sources
165
- * only — TypeScript keeps its compile fences): implemented-namespace
166
- * calls whose misuse Node rejects with typed errors lower to fs.*Chk
167
- * libCalls that replicate the validation ladder over dyn values and
168
- * throw Node's exact ERR_INVALID_ARG_TYPE / ERR_INVALID_ARG_VALUE /
169
- * ERR_OUT_OF_RANGE — the honest tail (the real operation where one
170
- * exists, the compiler-rendered SC2020 fence otherwise) runs only
171
- * after every validation passes, exactly Node's order. Null when this
172
- * is not a claimed member/shape (the table or fence path stands). */
173
- export declare function lowerFsLadderCall(lowerer: Lowerer, expr: ts.CallExpression, bi: {
174
- module: string;
175
- member: string;
176
- }, loc: SrcLoc): IrExpr | null;
177
- export declare function lowerBuiltinModuleCall(lowerer: Lowerer, expr: ts.CallExpression, bi: {
178
- module: string;
179
- member: string;
180
- }, fn: BuiltinModuleFn, loc: SrcLoc): IrExpr;
181
- /** Reflect.ownKeys uses native computed-key reflection. Reflect.apply(target,
182
- * thisArg, argsList) where the TARGET is a builtin
183
- * rest-parameter table fn (path.join / path.resolve — test/common
184
- * fixtures.js's fixturesPath forwards its rest args exactly this way):
185
- * the packed libCall over a validated string[] extraction of argsList.
186
- * The builtins ignore the receiver, so thisArg must be an effect-free
187
- * spelling (`this`, an identifier, a unit literal) whose dropped
188
- * evaluation is unobservable; every other Reflect.apply keeps the
189
- * fence. Null when this isn't a supported Reflect call. */
190
- export declare function lowerReflectCall(lowerer: Lowerer, call: ts.CallExpression, access: ts.PropertyAccessExpression): IrExpr | null;
191
- /** The child-process args list: one string[] value. An omitted list
192
- * completes to an empty literal (Node's default); an array LITERAL
193
- * builds element-wise (its contextual type is the optional parameter's
194
- * `string[] | undefined`, which the generic literal path cannot map —
195
- * the Set-seed situation exactly); everything else lowers as itself. */
196
- export declare function lowerChildArgsArg(lowerer: Lowerer, node: ts.Expression | undefined, loc: SrcLoc): IrExpr;
197
- /** `spawnSync(command, args?, options?)` → one cp.spawnSync /
198
- * cp.spawnSyncOpts libCall. An omitted args list completes to an empty
199
- * string[] literal (Node's default). The options argument must be an
200
- * object LITERAL whose members are drawn from the honestly-implemented
201
- * set: `encoding` (the "utf8"/"utf-8" literal — the runtime captures
202
- * utf8 unconditionally, and the option flips @types/node's
203
- * stdout/stderr to string), `timeout` (ms — killSignal fires at the
204
- * deadline and the result carries error: ETIMEDOUT + the signal, never
205
- * a throw: Node's spawnSync shape), `killSignal` (a signal-name
206
- * literal, validated against Node's table), `stdio` (the "pipe"/
207
- * "ignore"/"inherit" string form or a 3-tuple of those — non-piped
208
- * outputs read "" where Node types them null, spawnSync's documented
209
- * stance), and `windowsHide` (a POSIX no-op, evaluated for side
210
- * effects). Everything else (shell, cwd, env, input, maxBuffer, ...)
211
- * fences by name. The bare `{ encoding: "utf8" }` shape keeps its
212
- * historical cp.spawnSync lowering. */
213
- export declare function lowerSpawnSyncCall(lowerer: Lowerer, expr: ts.CallExpression, loc: SrcLoc): IrExpr;
214
- /** `spawn(command, args?, options)` → one cp.spawn / cp.spawnOpts
215
- * libCall. Computed options use native runtime normalization. Inline
216
- * stdio accepts "ignore", "inherit", or "pipe" as the scalar,
217
- * or the 3-tuple whose stdin pipe becomes child.stdin, stdout/stderr
218
- * pipes become child.stdout/child.stderr, and output slots may also be
219
- * number fds. Omitting stdio uses Node's default: all three piped. The
220
- * other lowered
221
- * members: `detached` (a boolean literal, inline or carried by the
222
- * conditional spread `...(c ? { detached: true } : {})` in either
223
- * orientation — POSIX_SPAWN_SETSID, the child gets its own session and
224
- * process group like Node's), `env` (a
225
- * REPLACEMENT environment, the exec-core pairs machinery), `cwd`, and
226
- * `windowsHide` (a POSIX no-op). The bare `{ stdio: "ignore" }` shape
227
- * keeps its historical cp.spawn lowering. */
228
- export declare function lowerSpawnCall(lowerer: Lowerer, expr: ts.CallExpression, loc: SrcLoc): IrExpr;
229
- /** `fork(staticModulePath, args?, options?)` embeds the selected program
230
- * module and re-executes the native artifact with one private target id.
231
- * Node's default JSON IPC channel is always present. */
232
- export declare function lowerForkCall(lowerer: Lowerer, expr: ts.CallExpression, loc: SrcLoc): IrExpr;
233
- /** `execFile(file[, args][, options], callback)` — the asynchronous callback
234
- * slice. The child starts immediately with stdin/stdout/stderr piped; the
235
- * runtime captures both outputs and invokes the error-first callback after
236
- * settlement. The callback may ignore a suffix of `(error, stdout,
237
- * stderr)`, but every declared parameter must have the Node shape. Inline
238
- * `encoding: "utf8"` and a pure numeric `maxBuffer` are accepted; the latter
239
- * is not enforced by the growing native capture, as
240
- * with the synchronous and promisified capture forms. Other options remain
241
- * fenced until their lifecycle can share this asynchronous core. */
242
- export declare function lowerExecFileCall(lowerer: Lowerer, expr: ts.CallExpression, loc: SrcLoc): IrExpr;
243
- export declare function lowerExecSyncCall(lowerer: Lowerer, expr: ts.CallExpression, shell: boolean, loc: SrcLoc): IrExpr;
244
- /** Compile-time util.promisify projections. The immutable result binding
245
- * owns no runtime slot: calls rewrite to the target's promise lowering,
246
- * while value uses remain explicit fences. Unsupported targets report at
247
- * the declaration, where their identity is still visible. */
248
- export declare function isPromisifyCall(lowerer: Lowerer, init: ts.Expression): ts.CallExpression | null;
249
- /** Immutable aliases of table-backed builtin functions. The alias is a
250
- * compile-time call target, so direct calls keep the builtin's validated
251
- * lowering without materializing a JavaScript function object. Value
252
- * uses remain fenced until an escaping closure adapter exists. */
253
- export declare function registerBuiltinCallableAlias(lowerer: Lowerer, nameNode: ts.Node, init: ts.Expression | undefined): boolean;
254
- export declare function registerPromisifiedBuiltinDecl(lowerer: Lowerer, nameNode: ts.Node, init: ts.Expression | undefined): boolean;
255
- /** A call THROUGH a promisified-execFile binding:
256
- * `execFileAsync(file, args?, options?)` → one call of the interned
257
- * %execFileAsync helper — an ASYNC IR function (throw-becomes-rejection
258
- * for free) that runs the exec core synchronously and returns
259
- * `{ stdout, stderr }`, exactly Node's promisified execFile behind an
260
- * already-settled promise (the fs/promises stance, divergence 23).
261
- * Options are the exec-sync slice minus stdio (the async form always
262
- * captures both streams, no echo): encoding must spell utf8, cwd/env/
263
- * timeout lower, maxBuffer/windowsHide are accepted no-ops, killSignal
264
- * only as its SIGTERM default. Rejections carry Node's async messages
265
- * ("Command failed: <cmd>\n<stderr>" — the trailing newline is Node's —
266
- * and "spawn <file> ENOENT" with .code); Node's numeric `.code` on a
267
- * Command-failed rejection (the exit status) is NOT carried —
268
- * SEMANTICS.md divergence 50's stance. */
269
- export declare function lowerExecFileAsyncCall(lowerer: Lowerer, expr: ts.CallExpression, loc: SrcLoc): IrExpr;
270
- /** The interned `%execFileAsync` helper behind promisified-execFile
271
- * calls: an ASYNC IR function (params: cmd, argv, cwd, hasEnv, envPairs,
272
- * timeoutMs) whose body runs the may-throw cp.execCapture libCall — the
273
- * async machinery turns a throw into the rejection, Node's promisified
274
- * behavior — and returns the `{ stdout, stderr }` record built from the
275
- * capture. One helper per program (the shape is fixed). */
276
- export declare function execFileAsyncHelper(lowerer: Lowerer, loc: SrcLoc): {
277
- name: string;
278
- shapeId: string;
279
- envShapeId: string;
280
- };
281
- /** An `env` option object → the [k, v, ...] pairs array cp.execSync
282
- * consumes. The value must be a record (an index-signature ProcessEnv
283
- * snapshot — `{ ...process.env, X: y }` — or a plain string-map): its
284
- * string-typed fields and, for index-signature shapes, overflow entries
285
- * flatten in JS own-key order, undefined-armed values SKIPPED (Node
286
- * drops undefined env entries). Reuses the interned overflow-keys/read
287
- * machinery. */
288
- export declare function recordToEnvPairs(lowerer: Lowerer, node: ts.Expression): IrExpr;
289
- /** Method calls on diagnostics_channel Channel receivers:
290
- * publish(message), subscribe(fn), unsubscribe(fn) — over the f64
291
- * channel handle. The rest of the declared surface (bindStore,
292
- * runStores) fences member-qualified. Null for non-Channel receivers. */
293
- export declare function lowerDcChannelMethodCall(lowerer: Lowerer, call: ts.CallExpression, access: ts.PropertyAccessExpression): IrExpr | null;
294
- /** Method calls on AsyncLocalStorage receivers: run(store, fn, ...args),
295
- * exit(fn, ...args), getStore(), enterWith(store), disable() — over the
296
- * f64 store handle (als.* libCalls; values cross as dyn values). Null
297
- * for non-ALS receivers. */
298
- export declare function lowerAlsMethodCall(lowerer: Lowerer, call: ts.CallExpression, access: ts.PropertyAccessExpression): IrExpr | null;
299
- /** Property reads on Channel receivers: `.name` (the registration
300
- * string) and `.hasSubscribers` (the publish guard). Null for
301
- * non-Channel receivers and other members (the method fence owns them). */
302
- export declare function lowerDcChannelProperty(lowerer: Lowerer, access: ts.PropertyAccessExpression): IrExpr | null;
303
- /** Method calls on TracingChannel receivers: subscribe/unsubscribe over
304
- * a dyn handlers object, traceSync/traceCallback through the runtime's
305
- * publish choreography (dc.tcTraceSync/dc.tcTraceCallback — fn, context,
306
- * thisArg, and the argument vector all cross as dyn values; context
307
- * defaults to a fresh `{}` and thisArg to undefined, Node's defaults),
308
- * and tracePromise through the reaction-fiber choreography
309
- * (dc.tcTracePromise — the result is the reaction promise, typed
310
- * promise<dyn> so .then/.catch chains ride the promise lowerings).
311
- * Null for non-TracingChannel receivers. */
312
- export declare function lowerDcTracingChannelMethodCall(lowerer: Lowerer, call: ts.CallExpression, access: ts.PropertyAccessExpression): IrExpr | null;
313
- /** Property reads on TracingChannel receivers: the five event channels
314
- * (`.start` … `.error` — Channel-typed f64 handles the Channel lowerings
315
- * take over) and `.hasSubscribers` (the five-channel disjunction). Null
316
- * for other members and non-TracingChannel receivers. */
317
- export declare function lowerDcTracingChannelProperty(lowerer: Lowerer, access: ts.PropertyAccessExpression): IrExpr | null;
318
- export declare function lowerReadlineMethodCall(lowerer: Lowerer, call: ts.CallExpression, access: ts.PropertyAccessExpression): IrExpr | null;
319
- /** StringDecoder writes preserve pending bytes; end(input) performs the
320
- * final write and flushes the state. String input passes through unchanged. */
321
- export declare function lowerStringDecoderMethodCall(lowerer: Lowerer, call: ts.CallExpression, access: ts.PropertyAccessExpression): IrExpr | null;
322
- /** The interned %strdec helpers: write(d, chunk) returns the decoded
323
- * complete prefix and re-buffers the trailing partial into the pending
324
- * field; end(d) flushes it. Both thread the packed-f64 state through
325
- * the pure strdec.* libCalls. */
326
- export declare function strdecHelper(lowerer: Lowerer, op: "write" | "end" | "endChunk" | "endString" | "writeString", shapeId: string, loc: SrcLoc): string;
327
- /** JSON parse produces checked-dynamic data; a native reviver walks it
328
- * bottom-up before any checked cast. Stringify without a callback keeps
329
- * its type-directed fast path. A function replacer boxes the input and
330
- * walks it before primitive normalization. Both paths share literal gap
331
- * rules, and callback failures use ordinary native exception unwinding. */
332
- export declare function lowerJsonMethodCall(lowerer: Lowerer, call: ts.CallExpression, access: ts.PropertyAccessExpression): IrExpr | null;
333
- /** The module specifier when `ident` is an import binding (named,
334
- * default, or namespace) from a node BUILTIN module with no scriptc
335
- * support — "child_process", "net", ... — or null. The coverage story's
336
- * use-site half: preflight fenced the import line; statements using the
337
- * binding poison with the same module-naming diagnostic. */
338
- export declare function fencedBuiltinImportOf(lowerer: Lowerer, ident: ts.Identifier): string | null;
339
- /** The composed crypto pattern: `randomBytes(n).toString(enc)` lowers
340
- * as ONE string-producing libCall — the Buffer between the two calls
341
- * never exists at runtime. Only literal "hex"/"base64" encodings lower
342
- * (the runtime implements exactly those); wider forms fall through to
343
- * the ordinary Buffer lowering. Null when this is not a toString on a
344
- * crypto.randomBytes call. */
345
- export declare function lowerCryptoComposedCall(lowerer: Lowerer, call: ts.CallExpression, access: ts.PropertyAccessExpression): IrExpr | null;
346
- /** The node:crypto utility and introspection statics. Hash/Hmac are real
347
- * native handles; one-shot hashing, constant-time equality, random-fill/
348
- * integer, and PBKDF2 share the same runtime primitives as the island.
349
- * The name lists remain build-time constants. */
350
- export declare function lowerCryptoModuleCall(lowerer: Lowerer, expr: ts.CallExpression, bi: {
351
- module: string;
352
- member: string;
353
- }, loc: SrcLoc): IrExpr | null;
354
- /** Method calls on URL-typed receivers: `u.toString()` and `u.toJSON()` are Node's href
355
- * serialization (the href getter's libCall). Everything else the lib
356
- * declares fences member-qualified. Null for non-URL receivers. */
357
- export declare function lowerUrlMethodCall(lowerer: Lowerer, call: ts.CallExpression, access: ts.PropertyAccessExpression): IrExpr | null;
358
- /** `new URLSearchParams(init?)` — the WHATWG constructor's lowered init
359
- * shapes: omitted / literal `undefined` (empty list), a string (parsed,
360
- * one leading '?' strips), another URLSearchParams (snapshot copy — a
361
- * `u.searchParams` argument included), a string[][] value (pairs;
362
- * Node's ERR_INVALID_TUPLE TypeError on a non-pair row, thrown by the
363
- * runtime), and an OBJECT LITERAL (each property appends in source
364
- * order — folded to a sp.with chain at compile time; keys are the
365
- * record-literal key forms, values coerce as strings). Tuple-typed pair
366
- * arrays and unions keep named fences. */
367
- export declare function lowerSearchParamsNew(lowerer: Lowerer, expr: ts.NewExpression, loc: SrcLoc): IrExpr;
368
- /** Method calls on URLSearchParams-typed receivers — the WHATWG list
369
- * surface over the runtime's decoded pairs. get answers `string | null`
370
- * (the checker's own union; the runtime's +1-or-NULL builds the arms);
371
- * has/delete take the value-aware second argument (an explicitly
372
- * `undefined`-typed second argument means the name-only form, Node's
373
- * treatment); forEach desugars to a synthesized index loop over the
374
- * LIVE list (sp.size re-reads every pass — appends mid-walk are
375
- * visited, deletes shift, the spec's index-based iteration).
376
- * keys()/values()/entries() lower only in a for-of head (lower-stmts
377
- * routes them before this table) — stored iterator objects keep the
378
- * drain fence. Null for non-searchParams receivers. */
379
- export declare function lowerSearchParamsMethodCall(lowerer: Lowerer, call: ts.CallExpression, access: ts.PropertyAccessExpression): IrExpr | null;
380
- /** Calls on an fs/promises FileHandle. The promise-returning methods run
381
- * through the same synchronous descriptor primitives as fs.readSync /
382
- * writeSync, then settle so failures reject at await. read/write retain
383
- * the caller's buffer in the Node-shaped result record. */
384
- export declare function lowerFileHandleMethodCall(lowerer: Lowerer, call: ts.CallExpression, access: ts.PropertyAccessExpression): IrExpr | null;
385
- /** Method calls on Stats-typed receivers: isFile()/isDirectory()/
386
- * isSymbolicLink() are pure reads on the stat snapshot (a followed
387
- * statSync snapshot never answers true to isSymbolicLink — take
388
- * lstatSync's, Node's own split). Everything else @types/node declares
389
- * (mtime, mode, ...) fences member-qualified. Null for non-Stats
390
- * receivers. */
391
- export declare function lowerStatsMethodCall(lowerer: Lowerer, call: ts.CallExpression, access: ts.PropertyAccessExpression): IrExpr | null;
392
- /** Calls on native crypto.Hash/Hmac handles. The handle survives locals,
393
- * aliases, loops, and returns; update() retains and returns the receiver,
394
- * digest() finalizes it, and Hash.copy() snapshots the incremental state. */
395
- export declare function lowerCryptoHashMethodCall(lowerer: Lowerer, call: ts.CallExpression, access: ts.PropertyAccessExpression): IrExpr | null;
396
- /** `Atomics.wait(int32Array, idx, expected, timeoutMs)` — the
397
- * synchronous-sleep idiom (RouteStore's
398
- * `Atomics.wait(sleepBuffer, 0, 0, ms)`): scriptc has no threads, so
399
- * nothing can ever notify a waiter and the spec's behavior for every
400
- * compilable program is exactly "compare, then sleep out the timeout"
401
- * — "not-equal" when the element differs, a real nanosleep and
402
- * "timed-out" otherwise ("ok" is unreachable). The timeout argument is
403
- * REQUIRED: without it Node blocks until a notify that cannot exist
404
- * here — a certain deadlock, fenced with that explanation. Every other
405
- * Atomics member (notify has no one to wake; add/load/... — nothing
406
- * races) fences member-qualified. Null for non-Atomics receivers. */
407
- export declare function lowerAtomicsCall(lowerer: Lowerer, call: ts.CallExpression, access: ts.PropertyAccessExpression): IrExpr | null;
408
- /** The property-read extensions this spoke owns, tried BEFORE the
409
- * lower-exprs intrinsic-property fallback (the lowerer's wrapper chains
410
- * them): the widened numeric Stats snapshot and SpawnSyncReturns.signal
411
- * (the termination signal's name as the call site's `Signals | null` union
412
- * — null for a normal exit or spawn failure; a timeout kill reports its
413
- * killSignal, Node's shape). Null for everything else, so the ordinary
414
- * chain (and its fences) keeps going. */
415
- export declare function lowerBuiltinExtraProperty(lowerer: Lowerer, expr: ts.PropertyAccessExpression): IrExpr | null;
416
- export declare function lowerChildMethodCall(lowerer: Lowerer, call: ts.CallExpression, access: ts.PropertyAccessExpression): IrExpr | null;
417
- /** Method calls on piped child-output stream receivers (child.stdout /
418
- * child.stderr — the childStream kind): on/once("data" | "end").
419
- * 'data' listeners take zero parameters, `(chunk: Buffer)`, or a
420
- * `Buffer | string`-union chunk (the ngrok appendOutput shape — the
421
- * runtime only ever fires Buffers; the compiler-emitted adapter wraps
422
- * the chunk at the union's Buffer arm); 'end' listeners take none.
423
- * Statement position only (Node returns the stream for chaining; here
424
- * the result is void). Chained receivers (`child.stdout?.on(...)`)
425
- * ride the optional-chain re-dispatch (chainBlocked). Everything else
426
- * @types/node declares on Readable fences member-qualified. Null for
427
- * non-stream receivers. */
428
- export declare function lowerChildStreamMethodCall(lowerer: Lowerer, call: ts.CallExpression, access: ts.PropertyAccessExpression): IrExpr | null;
429
- /** Method calls on a piped child stdin writer. Writes copy one string or
430
- * Uint8Array into the nonblocking runtime queue and return the backpressure
431
- * signal. end()/destroy() are statement-only, as are drain/finish/error
432
- * listener registrations; unsupported callbacks/encodings stay fenced. */
433
- export declare function lowerChildWriterMethodCall(lowerer: Lowerer, call: ts.CallExpression, access: ts.PropertyAccessExpression): IrExpr | null;
434
- /** Method calls on first-class process-stream receivers (procStream —
435
- * a WritableStream-typed value like prefixStream's `output` param):
436
- * write(data) with one string, dispatched at runtime onto the exact
437
- * stdout/stderr write paths (the fd IS the value). Everything else
438
- * @types/node declares on WritableStream fences member-qualified.
439
- * Null for non-procStream receivers. */
440
- export declare function lowerProcStreamMethodCall(lowerer: Lowerer, call: ts.CallExpression, access: ts.PropertyAccessExpression): IrExpr | null;
441
- /** Method calls on FSWatcher receivers: close() — idempotent, statement
442
- * position (Node returns void there too). Everything else @types/node
443
- * declares (ref/unref, the EventEmitter surface) fences member-
444
- * qualified. Null for non-watcher receivers. */
445
- export declare function lowerWatcherMethodCall(lowerer: Lowerer, call: ts.CallExpression, access: ts.PropertyAccessExpression): IrExpr | null;
446
- /** `.code` and `.cause` on an error-hierarchy receiver. The latter reads
447
- * the hidden dyn slot installed by constructor options. The former is NodeJS.ErrnoException's
448
- * member (the fallback declares the same shape): the runtime Error's
449
- * code slot as `string | undefined` — the errno name where a throw site
450
- * stamped one (fs, exec spawn/timeout, process.kill, the spawn 'error'
451
- * event), undefined everywhere else. Stdlib provenance required (a user
452
- * class's own `code` field takes the ordinary field paths — its
453
- * declaration is not stdlib). Reads only: writes keep their fence (no
454
- * compiled program constructs an errno error). Null for non-error
455
- * receivers and non-stdlib members, so the chain keeps trying. */
456
- export declare function lowerErrorCodeProperty(lowerer: Lowerer, expr: ts.PropertyAccessExpression): IrExpr | null;
457
- /** Stored stringify uses the same native serializer and keeps omitted roots
458
- * as undefined. Other JSON method values retain a named refusal. */
459
- export declare function lowerJsonProperty(lowerer: Lowerer, expr: ts.PropertyAccessExpression): IrExpr | null;
460
- /** `constants.X_OK` where `constants` is a named fs import: the access-
461
- * mode bits bake as number literals (POSIX values — Node's own on the
462
- * supported hosts). Other fs.constants members (COPYFILE_*, O_*) fence
463
- * by name. Null for non-fs-constants receivers. */
464
- export declare function lowerFsConstantsProperty(lowerer: Lowerer, expr: ts.PropertyAccessExpression): IrExpr | null;
465
- /** `process.stdin/stdout/stderr.isTTY` → isatty(3) on the stream's fd
466
- * (a REAL boolean: Node's non-TTY streams expose `undefined` here — the
467
- * documented divergence; truthiness tests, the actual usage, agree), and
468
- * `process.stdout/stderr.columns/rows` → ioctl(TIOCGWINSZ) on the fd, with
469
- * Node's non-TTY answer intact: the read is `number | undefined` and a
470
- * non-TTY (or ioctl-refusing) stream yields the undefined arm. The
471
- * receiver match sees through parens and as-casts to the SYMBOL —
472
- * `(process.stderr as typeof process.stderr & { columns?: number })
473
- * .columns` is the wild widening pattern (@types/node declares a plain
474
- * `number`, so honest code casts the undefined possibility back in), and
475
- * the cast changes the expression's TYPE, never the value. columns sites
476
- * whose checker type does NOT admit undefined are fenced with that exact
477
- * fix instead of lowering to a lie. Null for anything else, so the
478
- * property chain keeps trying. */
479
- export declare function lowerProcessStreamProperty(lowerer: Lowerer, expr: ts.PropertyAccessExpression): IrExpr | null;
480
- /** `process.argv` / `process.platform` / `process.pid` property READS
481
- * lower to zero-arg libCalls (argv returns +1 on one interned array —
482
- * identity and mutation semantics match Node's stable process.argv).
483
- * `process.env` as a WHOLE value lowers to a fresh SNAPSHOT record —
484
- * `{ [k: string]: string | undefined }` built over environ by the
485
- * interned %env.snapshot helper: `{ ...process.env }`, Object.keys, and
486
- * spawn-env flows all snapshot at the read, exactly what Node's own
487
- * spread does (and nothing in a compiled program mutates environ between
488
- * a snapshot and its use except process.env writes, which precede the
489
- * read in source order). Method members referenced without a call are
490
- * rejected specifically. Null for non-process receivers (the chain keeps
491
- * trying other property lowerings). */
492
- export declare function lowerProcessProperty(lowerer: Lowerer, expr: ts.PropertyAccessExpression): IrExpr | null;
493
- /** True iff `node` is THE ambient `process.env` object itself (the
494
- * receiver of an env read). */
495
- export declare function isProcessEnv(lowerer: Lowerer, node: ts.Expression): boolean;
496
- /** The interned `string | undefined` union — the type every env read
497
- * produces (withUndefinedArm interns [string, undefined] in canonical
498
- * order, so the string arm's tag is 0 and the undefined arm's is 1,
499
- * program-wide). */
500
- export declare function envValueType(lowerer: Lowerer): IrType;
501
- /** `d.isFile()` / `d.isDirectory()` / `d.isSymbolicLink()` on a Dirent-
502
- * typed receiver (the interned record — provenance via the checker's
503
- * Dirent symbol, the StringDecoder pattern): a read of the hidden
504
- * %dtype field compared against libuv's UV_DIRENT code. Node's other
505
- * type probes (isBlockDevice, ...) fence with the supported list. */
506
- export declare function lowerDirentMethodCall(lowerer: Lowerer, call: ts.CallExpression, access: ts.PropertyAccessExpression): IrExpr | null;
507
- /** `process.env.NAME` → the process.envGet intrinsic with a literal key
508
- * (the element form lands in lowerElementAccess). getenv(3) at runtime:
509
- * present wraps the string arm, absent yields the interned
510
- * undefined-arm instance. Null for non-env receivers. */
511
- export declare function lowerProcessEnvGet(lowerer: Lowerer, expr: ts.PropertyAccessExpression): IrExpr | null;
512
- /** `process.exit(code)` / `process.cwd()` → libCall. The fallback
513
- * declaration makes exit's code required; @types/node declares it
514
- * optional. A bare `process.exit()` uses the current exitCode, or zero
515
- * when unset. */
516
- export declare function lowerProcessMethodCall(lowerer: Lowerer, call: ts.CallExpression, access: ts.PropertyAccessExpression): IrExpr | null;
517
- /** Method calls on THE `Number` global: the predicate statics lower to
518
- * plain C over f64 arguments; `Number.parseFloat`/`Number.parseInt` ARE
519
- * the global parsers (the spec aliases them), so they get the same
520
- * island lowering — engine execution under --dynamic, per-site SC2012
521
- * without it (parseInt takes an explicit radix, like the global). Null
522
- * for non-Number receivers. */
523
- export declare function lowerNumberStaticCall(lowerer: Lowerer, call: ts.CallExpression, access: ts.PropertyAccessExpression): IrExpr | null;
524
- /** The Date slice: statics plus read-only Date values backed by one
525
- * TimeClip'd millisecond scalar. Construction lives in lowerNew;
526
- * identity and mutating methods remain fenced. */
527
- export declare function lowerDateCall(lowerer: Lowerer, call: ts.CallExpression, access: ts.PropertyAccessExpression): IrExpr | null;
528
- type TextCodecCtor = {
529
- cls: "TextDecoder" | "TextEncoder";
530
- ctor: ts.NewExpression;
531
- };
532
- /** Box a codec's immutable encoding in an owned record. Unlike erased
533
- * aliases, this value can live in fields, arguments, and closure captures. */
534
- export declare function lowerTextCodecNew(lowerer: Lowerer, ctor: ts.NewExpression, cls: TextCodecCtor["cls"]): IrExpr;
535
- /** Inline codec calls avoid allocating a receiver; stored receivers use
536
- * the owned record path above. decode is the runtime's WHATWG
537
- * decode for every recognized static label (with BOM handling for the
538
- * Unicode encodings); a zero-argument decode() is "" like the spec's.
539
- * encode IS Buffer.from(s, "utf8") — ScrStr
540
- * storage is well-formed UTF-8, so the bytes are identical (lone
541
- * surrogates became U+FFFD at string construction, exactly what the
542
- * spec's encoder emits). Null when this is neither supported form. */
543
- export declare function lowerTextCodecCall(lowerer: Lowerer, call: ts.CallExpression, access: ts.PropertyAccessExpression): IrExpr | null;
544
- /** `String.fromCharCode/fromCodePoint(...codes)` on THE String global: every argument
545
- * lowers as a number and packs into ONE f64[] array-literal argument
546
- * (the path.join convention) — or ONE whole-array spread forwards the
547
- * array itself. String.raw has its own template path below.
548
- * Null for non-String receivers. */
549
- export declare function lowerStringStaticCall(lowerer: Lowerer, call: ts.CallExpression, access: ts.PropertyAccessExpression): IrExpr | null;
550
- /** `s.lastIndexOf(searchValue?, position?)` on string receivers, using UTF-16
551
- * indices. An omitted search value searches for "undefined". Omitted or undefined positions clamp to the string's end;
552
- * MAX_SAFE_INTEGER has the same effect for every representable string.
553
- * Null for non-string receivers and other members. */
554
- export declare function lowerStringLastIndexOfCall(lowerer: Lowerer, call: ts.CallExpression, access: ts.PropertyAccessExpression): IrExpr | null;
555
- /** `Promise.race([...])` on THE Promise global: the entries lower
556
- * individually (the array never materializes — promise-element arrays
557
- * have no representation) into a promise.race intrinsic; the result
558
- * type is the checker's combined promise, and each entry's inner type
559
- * must be that inner type, one of its union arms, or a sub-union of it
560
- * (the backend's interned adapters wrap/re-tag fulfillments; a wider
561
- * entry would need machinery that doesn't exist and fences).
562
- * Promise.all/allSettled/any fence with the sequential-await hint;
563
- * resolve/reject and the rest fall to the member fence. Null for
564
- * non-Promise receivers. */
565
- export declare function lowerPromiseStaticCall(lowerer: Lowerer, call: ts.CallExpression, access: ts.PropertyAccessExpression): IrExpr | null;
566
- /** Property READS on THE `Number` global: the finite constants bake as
567
- * number literals. NaN/POSITIVE_INFINITY/NEGATIVE_INFINITY and method
568
- * members as values fall through to the member fence. Null for
569
- * non-Number receivers. */
570
- export declare function lowerNumberStaticProperty(lowerer: Lowerer, expr: ts.PropertyAccessExpression): IrExpr | null;
571
- /** `t.unref()` / `t.ref()` / `t.hasRef()` on a Timeout handle — loop-
572
- * liveness bookkeeping over the numeric timer id (the handle is f64).
573
- * unref/ref return the handle for chaining (Node); hasRef returns a
574
- * bool. `refresh` and the rest of @types/node's Timeout surface fence.
575
- * Null when the receiver isn't a Timeout handle. */
576
- export declare function lowerTimeoutMethodCall(lowerer: Lowerer, call: ts.CallExpression, access: ts.PropertyAccessExpression): IrExpr | null;
577
- /** `process.getuid?.()` — the optional call of an optional process
578
- * method. On a POSIX target the member always exists, so the `?.` IS the
579
- * call (the checker's undefined arm covers Windows, which scriptc does
580
- * not target) and the honest result is the plain number. Intercepted
581
- * BEFORE the optional-chain machinery: `process.getuid` has no value
582
- * lowering for the chain to guard. Null when this isn't that shape. */
583
- export declare function lowerProcessOptionalMethodCall(lowerer: Lowerer, expr: ts.CallExpression): IrExpr | null;
584
- /** The interned `%env.snapshot` helper behind `process.env` as a VALUE: a
585
- * fresh `{ [k: string]: string | undefined }` record built over environ —
586
- * envPairs hands the [k0, v0, k1, v1, ...] strings in environ order and
587
- * the helper keyed-writes each pair into the record's overflow map (JS
588
- * own-key order follows insertion, exactly Node's Object.keys order over
589
- * process.env). The target shape must be a pure index-signature record
590
- * whose value slot is the `string | undefined` union (what ProcessEnv
591
- * maps to); anything else answers null and the caller keeps its fence. */
592
- export declare function envSnapshotHelper(lowerer: Lowerer, shapeId: string, loc: SrcLoc): string | null;
593
- export declare function isConsoleLog(lowerer: Lowerer, call: ts.CallExpression): boolean;
594
- /** The console member of a `console.<member>(...)` call, for the lowered
595
- * set: "log"/"info"/"debug" (stdout — Node's info and debug ARE log
596
- * under other names), and "error"/"warn" (both stderr — Node's warn IS
597
- * error under another name; the output is identical). Provenance-checked
598
- * like every stdlib global. Null for anything else (console.table, a
599
- * user's own console binding, ...). */
600
- export declare function consoleCallMember(lowerer: Lowerer, call: ts.CallExpression): "log" | "info" | "debug" | "error" | "warn" | null;
601
- export {};