@elaraai/east 1.0.84 → 1.0.86

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 (247) hide show
  1. package/dist/src/analyze.d.ts.map +1 -1
  2. package/dist/src/analyze.js +48 -0
  3. package/dist/src/analyze.js.map +1 -1
  4. package/dist/src/ast_to_ir.coerce_to.spec.js +4 -4
  5. package/dist/src/ast_to_ir.coerce_to.spec.js.map +1 -1
  6. package/dist/src/ast_to_ir.d.ts +6 -1
  7. package/dist/src/ast_to_ir.d.ts.map +1 -1
  8. package/dist/src/ast_to_ir.js +20 -7
  9. package/dist/src/ast_to_ir.js.map +1 -1
  10. package/dist/src/builtins.d.ts +1 -1
  11. package/dist/src/builtins.d.ts.map +1 -1
  12. package/dist/src/builtins.js +52 -0
  13. package/dist/src/builtins.js.map +1 -1
  14. package/dist/src/codegen/canonical.d.ts +37 -0
  15. package/dist/src/codegen/canonical.d.ts.map +1 -0
  16. package/dist/src/codegen/canonical.js +208 -0
  17. package/dist/src/codegen/canonical.js.map +1 -0
  18. package/dist/src/codegen/codegen.spec.js +132 -201
  19. package/dist/src/codegen/codegen.spec.js.map +1 -1
  20. package/dist/src/codegen/printer.d.ts.map +1 -1
  21. package/dist/src/codegen/printer.js +142 -24
  22. package/dist/src/codegen/printer.js.map +1 -1
  23. package/dist/src/codegen/spellings.d.ts +4 -1
  24. package/dist/src/codegen/spellings.d.ts.map +1 -1
  25. package/dist/src/codegen/spellings.js +5 -1
  26. package/dist/src/codegen/spellings.js.map +1 -1
  27. package/dist/src/compile/builtins/index.d.ts.map +1 -1
  28. package/dist/src/compile/builtins/index.js +2 -0
  29. package/dist/src/compile/builtins/index.js.map +1 -1
  30. package/dist/src/compile/builtins/primitives.d.ts.map +1 -1
  31. package/dist/src/compile/builtins/primitives.js +2 -1
  32. package/dist/src/compile/builtins/primitives.js.map +1 -1
  33. package/dist/src/compile/builtins/query.d.ts +10 -0
  34. package/dist/src/compile/builtins/query.d.ts.map +1 -0
  35. package/dist/src/compile/builtins/query.js +5 -0
  36. package/dist/src/compile/builtins/query.js.map +1 -0
  37. package/dist/src/expr/block.d.ts.map +1 -1
  38. package/dist/src/expr/block.js +2 -1
  39. package/dist/src/expr/block.js.map +1 -1
  40. package/dist/src/expr/index.d.ts +75 -47
  41. package/dist/src/expr/index.d.ts.map +1 -1
  42. package/dist/src/expr/index.js +31 -0
  43. package/dist/src/expr/index.js.map +1 -1
  44. package/dist/src/expr/libs/datetime.d.ts +20 -20
  45. package/dist/src/expr/libs/datetime.d.ts.map +1 -1
  46. package/dist/src/expr/libs/datetime.js +208 -167
  47. package/dist/src/expr/libs/datetime.js.map +1 -1
  48. package/dist/src/expr/libs/float.d.ts +15 -15
  49. package/dist/src/expr/libs/float.d.ts.map +1 -1
  50. package/dist/src/expr/libs/float.js +298 -267
  51. package/dist/src/expr/libs/float.js.map +1 -1
  52. package/dist/src/expr/libs/integer.d.ts +12 -12
  53. package/dist/src/expr/libs/integer.d.ts.map +1 -1
  54. package/dist/src/expr/libs/integer.js +219 -194
  55. package/dist/src/expr/libs/integer.js.map +1 -1
  56. package/dist/src/expr/libs/lazy.d.ts +28 -0
  57. package/dist/src/expr/libs/lazy.d.ts.map +1 -0
  58. package/dist/src/expr/libs/lazy.js +55 -0
  59. package/dist/src/expr/libs/lazy.js.map +1 -0
  60. package/dist/src/expr/libs/lazy.spec.d.ts +6 -0
  61. package/dist/src/expr/libs/lazy.spec.d.ts.map +1 -0
  62. package/dist/src/expr/libs/lazy.spec.js +102 -0
  63. package/dist/src/expr/libs/lazy.spec.js.map +1 -0
  64. package/dist/src/expr/query.d.ts +60 -0
  65. package/dist/src/expr/query.d.ts.map +1 -0
  66. package/dist/src/expr/query.js +84 -0
  67. package/dist/src/expr/query.js.map +1 -0
  68. package/dist/src/functions.crossimport.spec.js +8 -0
  69. package/dist/src/functions.crossimport.spec.js.map +1 -1
  70. package/dist/src/functions.d.ts +45 -8
  71. package/dist/src/functions.d.ts.map +1 -1
  72. package/dist/src/functions.js +138 -28
  73. package/dist/src/functions.js.map +1 -1
  74. package/dist/src/functions.spec.js +60 -2
  75. package/dist/src/functions.spec.js.map +1 -1
  76. package/dist/src/index.d.ts +3 -0
  77. package/dist/src/index.d.ts.map +1 -1
  78. package/dist/src/index.js +3 -0
  79. package/dist/src/index.js.map +1 -1
  80. package/dist/src/internal.d.ts +4 -0
  81. package/dist/src/internal.d.ts.map +1 -1
  82. package/dist/src/internal.js +9 -0
  83. package/dist/src/internal.js.map +1 -1
  84. package/dist/src/location.d.ts +22 -0
  85. package/dist/src/location.d.ts.map +1 -1
  86. package/dist/src/location.js +31 -0
  87. package/dist/src/location.js.map +1 -1
  88. package/dist/src/naming.d.ts +5 -3
  89. package/dist/src/naming.d.ts.map +1 -1
  90. package/dist/src/naming.js.map +1 -1
  91. package/dist/src/portable.spec.d.ts +6 -0
  92. package/dist/src/portable.spec.d.ts.map +1 -0
  93. package/dist/src/portable.spec.js +181 -0
  94. package/dist/src/portable.spec.js.map +1 -0
  95. package/dist/src/query/evaluate.d.ts +98 -0
  96. package/dist/src/query/evaluate.d.ts.map +1 -0
  97. package/dist/src/query/evaluate.js +193 -0
  98. package/dist/src/query/evaluate.js.map +1 -0
  99. package/dist/src/query/index.d.ts +17 -0
  100. package/dist/src/query/index.d.ts.map +1 -0
  101. package/dist/src/query/index.js +17 -0
  102. package/dist/src/query/index.js.map +1 -0
  103. package/dist/src/query/jq/catalog.d.ts +174 -0
  104. package/dist/src/query/jq/catalog.d.ts.map +1 -0
  105. package/dist/src/query/jq/catalog.js +1740 -0
  106. package/dist/src/query/jq/catalog.js.map +1 -0
  107. package/dist/src/query/jq/check.d.ts +210 -0
  108. package/dist/src/query/jq/check.d.ts.map +1 -0
  109. package/dist/src/query/jq/check.js +2261 -0
  110. package/dist/src/query/jq/check.js.map +1 -0
  111. package/dist/src/query/jq/complete.d.ts +89 -0
  112. package/dist/src/query/jq/complete.d.ts.map +1 -0
  113. package/dist/src/query/jq/complete.js +320 -0
  114. package/dist/src/query/jq/complete.js.map +1 -0
  115. package/dist/src/query/jq/describe.d.ts +53 -0
  116. package/dist/src/query/jq/describe.d.ts.map +1 -0
  117. package/dist/src/query/jq/describe.js +149 -0
  118. package/dist/src/query/jq/describe.js.map +1 -0
  119. package/dist/src/query/jq/lex.d.ts +118 -0
  120. package/dist/src/query/jq/lex.d.ts.map +1 -0
  121. package/dist/src/query/jq/lex.js +371 -0
  122. package/dist/src/query/jq/lex.js.map +1 -0
  123. package/dist/src/query/jq/literals.d.ts +49 -0
  124. package/dist/src/query/jq/literals.d.ts.map +1 -0
  125. package/dist/src/query/jq/literals.js +78 -0
  126. package/dist/src/query/jq/literals.js.map +1 -0
  127. package/dist/src/query/jq/messages.d.ts +126 -0
  128. package/dist/src/query/jq/messages.d.ts.map +1 -0
  129. package/dist/src/query/jq/messages.js +172 -0
  130. package/dist/src/query/jq/messages.js.map +1 -0
  131. package/dist/src/query/jq/parse.d.ts +70 -0
  132. package/dist/src/query/jq/parse.d.ts.map +1 -0
  133. package/dist/src/query/jq/parse.js +1013 -0
  134. package/dist/src/query/jq/parse.js.map +1 -0
  135. package/dist/src/query/jq/print.d.ts +59 -0
  136. package/dist/src/query/jq/print.d.ts.map +1 -0
  137. package/dist/src/query/jq/print.js +587 -0
  138. package/dist/src/query/jq/print.js.map +1 -0
  139. package/dist/src/query/jq/shapes.d.ts +345 -0
  140. package/dist/src/query/jq/shapes.d.ts.map +1 -0
  141. package/dist/src/query/jq/shapes.js +584 -0
  142. package/dist/src/query/jq/shapes.js.map +1 -0
  143. package/dist/src/query/jq/spans.d.ts +133 -0
  144. package/dist/src/query/jq/spans.d.ts.map +1 -0
  145. package/dist/src/query/jq/spans.js +195 -0
  146. package/dist/src/query/jq/spans.js.map +1 -0
  147. package/dist/src/query/jq/split.d.ts +334 -0
  148. package/dist/src/query/jq/split.d.ts.map +1 -0
  149. package/dist/src/query/jq/split.js +2108 -0
  150. package/dist/src/query/jq/split.js.map +1 -0
  151. package/dist/src/query/jq/strftime.d.ts +20 -0
  152. package/dist/src/query/jq/strftime.d.ts.map +1 -0
  153. package/dist/src/query/jq/strftime.js +65 -0
  154. package/dist/src/query/jq/strftime.js.map +1 -0
  155. package/dist/src/query/jq/summary.d.ts +139 -0
  156. package/dist/src/query/jq/summary.d.ts.map +1 -0
  157. package/dist/src/query/jq/summary.js +222 -0
  158. package/dist/src/query/jq/summary.js.map +1 -0
  159. package/dist/src/query/jq/translate-builtins.d.ts +21 -0
  160. package/dist/src/query/jq/translate-builtins.d.ts.map +1 -0
  161. package/dist/src/query/jq/translate-builtins.js +1873 -0
  162. package/dist/src/query/jq/translate-builtins.js.map +1 -0
  163. package/dist/src/query/jq/translate.d.ts +627 -0
  164. package/dist/src/query/jq/translate.d.ts.map +1 -0
  165. package/dist/src/query/jq/translate.js +3364 -0
  166. package/dist/src/query/jq/translate.js.map +1 -0
  167. package/dist/src/query/types.d.ts +505 -0
  168. package/dist/src/query/types.d.ts.map +1 -0
  169. package/dist/src/query/types.js +231 -0
  170. package/dist/src/query/types.js.map +1 -0
  171. package/dist/src/runner_exec.d.ts +134 -0
  172. package/dist/src/runner_exec.d.ts.map +1 -0
  173. package/dist/src/runner_exec.js +371 -0
  174. package/dist/src/runner_exec.js.map +1 -0
  175. package/dist/src/runner_exec.spec.d.ts +6 -0
  176. package/dist/src/runner_exec.spec.d.ts.map +1 -0
  177. package/dist/src/runner_exec.spec.js +198 -0
  178. package/dist/src/runner_exec.spec.js.map +1 -0
  179. package/dist/src/runner_io.d.ts +370 -0
  180. package/dist/src/runner_io.d.ts.map +1 -0
  181. package/dist/src/runner_io.js +563 -0
  182. package/dist/src/runner_io.js.map +1 -0
  183. package/dist/src/runner_io.spec.d.ts +6 -0
  184. package/dist/src/runner_io.spec.d.ts.map +1 -0
  185. package/dist/src/runner_io.spec.js +224 -0
  186. package/dist/src/runner_io.spec.js.map +1 -0
  187. package/dist/src/runner_merge.d.ts +95 -0
  188. package/dist/src/runner_merge.d.ts.map +1 -0
  189. package/dist/src/runner_merge.js +238 -0
  190. package/dist/src/runner_merge.js.map +1 -0
  191. package/dist/src/runner_protocol.d.ts +11 -4
  192. package/dist/src/runner_protocol.d.ts.map +1 -1
  193. package/dist/src/runner_protocol.js +11 -4
  194. package/dist/src/runner_protocol.js.map +1 -1
  195. package/dist/src/serialization/beast2/index.d.ts +1 -1
  196. package/dist/src/serialization/beast2/index.d.ts.map +1 -1
  197. package/dist/src/serialization/beast2/index.js.map +1 -1
  198. package/dist/src/serialization/beast2/v5/frames.d.ts +10 -6
  199. package/dist/src/serialization/beast2/v5/frames.d.ts.map +1 -1
  200. package/dist/src/serialization/beast2/v5/frames.js +10 -6
  201. package/dist/src/serialization/beast2/v5/frames.js.map +1 -1
  202. package/dist/src/serialization/beast2/v5/frames.spec.d.ts +6 -0
  203. package/dist/src/serialization/beast2/v5/frames.spec.d.ts.map +1 -0
  204. package/dist/src/serialization/beast2/v5/frames.spec.js +42 -0
  205. package/dist/src/serialization/beast2/v5/frames.spec.js.map +1 -0
  206. package/dist/src/serialization/beast2/v5/index.spec.js +108 -0
  207. package/dist/src/serialization/beast2/v5/index.spec.js.map +1 -1
  208. package/dist/src/serialization/beast2/v5/lazy.d.ts +12 -7
  209. package/dist/src/serialization/beast2/v5/lazy.d.ts.map +1 -1
  210. package/dist/src/serialization/beast2/v5/lazy.js +16 -6
  211. package/dist/src/serialization/beast2/v5/lazy.js.map +1 -1
  212. package/dist/src/serialization/beast2/v5/lazy.spec.js +159 -18
  213. package/dist/src/serialization/beast2/v5/lazy.spec.js.map +1 -1
  214. package/dist/src/serialization/beast2/v5/stream.d.ts +110 -21
  215. package/dist/src/serialization/beast2/v5/stream.d.ts.map +1 -1
  216. package/dist/src/serialization/beast2/v5/stream.js +153 -42
  217. package/dist/src/serialization/beast2/v5/stream.js.map +1 -1
  218. package/dist/src/serialization/beast2/v5/weight.d.ts +36 -0
  219. package/dist/src/serialization/beast2/v5/weight.d.ts.map +1 -0
  220. package/dist/src/serialization/beast2/v5/weight.js +238 -0
  221. package/dist/src/serialization/beast2/v5/weight.js.map +1 -0
  222. package/dist/src/serialization/crc32.d.ts +38 -0
  223. package/dist/src/serialization/crc32.d.ts.map +1 -0
  224. package/dist/src/serialization/crc32.js +70 -0
  225. package/dist/src/serialization/crc32.js.map +1 -0
  226. package/dist/src/serialization/crc32.spec.d.ts +6 -0
  227. package/dist/src/serialization/crc32.spec.d.ts.map +1 -0
  228. package/dist/src/serialization/crc32.spec.js +92 -0
  229. package/dist/src/serialization/crc32.spec.js.map +1 -0
  230. package/dist/src/serialization/east-inferred.spec.js +4 -0
  231. package/dist/src/serialization/east-inferred.spec.js.map +1 -1
  232. package/dist/src/serialization/east.d.ts.map +1 -1
  233. package/dist/src/serialization/east.js +134 -110
  234. package/dist/src/serialization/east.js.map +1 -1
  235. package/dist/src/serialization/east.spec.js +185 -4
  236. package/dist/src/serialization/east.spec.js.map +1 -1
  237. package/dist/src/serialization/east_text.d.ts +25 -0
  238. package/dist/src/serialization/east_text.d.ts.map +1 -0
  239. package/dist/src/serialization/east_text.js +29 -0
  240. package/dist/src/serialization/east_text.js.map +1 -0
  241. package/dist/src/serialization/index.d.ts +1 -1
  242. package/dist/src/serialization/index.d.ts.map +1 -1
  243. package/dist/src/types.d.ts +1 -1
  244. package/dist/src/types.d.ts.map +1 -1
  245. package/dist/src/types.js +7 -6
  246. package/dist/src/types.js.map +1 -1
  247. package/package.json +6 -3
@@ -1 +1 @@
1
- {"version":3,"file":"internal.js","sourceRoot":"","sources":["../../src/internal.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAEH;;;GAGG;AAEH,OAAO,EAAE,QAAQ,EAAE,MAAM,iBAAiB,CAAC;AAE3C,OAAO,EAAE,UAAU,EAAE,MAAM,gBAAgB,CAAC;AAE5C,cAAc,aAAa,CAAC;AAC5B,cAAc,eAAe,CAAC;AAC9B,cAAc,iBAAiB,CAAC;AAChC,cAAc,oBAAoB,CAAC;AACnC,cAAc,YAAY,CAAC;AAC3B,cAAc,SAAS,CAAC;AACxB,OAAO,EAAE,mBAAmB,EAAE,MAAM,gBAAgB,CAAC;AACrD,cAAc,mBAAmB,CAAC;AAClC,cAAc,gBAAgB,CAAC;AAC/B,cAAc,YAAY,CAAC;AAC3B,cAAc,WAAW,CAAC;AAC1B,OAAO,EAAE,eAAe,EAAE,eAAe,EAAE,iBAAiB,EAAE,sBAAsB,EAA4B,MAAM,iCAAiC,CAAC;AACxJ,OAAO,EAAuB,MAAM,cAAc,CAAC;AACnD,OAAO,EAAE,SAAS,EAAE,MAAM,2BAA2B,CAAC;AACtD,OAAO,EAAE,SAAS,EAAE,MAAM,2BAA2B,CAAC;AACtD,kDAAkD;AAClD,OAAO,EAAE,OAAO,EAAE,MAAM,iBAAiB,CAAC;AAC1C,OAAO,EAAE,QAAQ,EAAE,MAAM,kBAAkB,CAAC;AAC5C,OAAO,EAAE,SAAS,EAAE,MAAM,mBAAmB,CAAC;AAC9C,OAAO,EAAE,UAAU,EAAE,MAAM,oBAAoB,CAAC;AAChD,OAAO,EAAgF,MAAM,kBAAkB,CAAC;AAChH,cAAc,4BAA4B,CAAC;AAC3C,cAAc,+BAA+B,CAAC;AAC9C,cAAc,4BAA4B,CAAC;AAC3C,cAAc,4BAA4B,CAAC;AAC3C,+CAA+C;AAC/C,OAAO,EAAE,SAAS,EAAE,MAAM,cAAc,CAAC;AACzC,OAAO,EAAE,gBAAgB,EAAE,cAAc,EAAE,sBAAsB,EAAE,cAAc,EAAE,MAAM,cAAc,CAAC;AACxG,OAAO,EAAE,SAAS,EAAE,eAAe,EAAE,iBAAiB,EAAE,sBAAsB,EAAE,aAAa,EAAE,cAAc,EAAiB,MAAM,eAAe,CAAC"}
1
+ {"version":3,"file":"internal.js","sourceRoot":"","sources":["../../src/internal.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAEH;;;GAGG;AAEH,OAAO,EAAE,QAAQ,EAAE,MAAM,iBAAiB,CAAC;AAE3C,OAAO,EAAE,UAAU,EAAE,MAAM,gBAAgB,CAAC;AAE5C,cAAc,aAAa,CAAC;AAC5B,cAAc,eAAe,CAAC;AAC9B,cAAc,iBAAiB,CAAC;AAChC,cAAc,oBAAoB,CAAC;AACnC,cAAc,YAAY,CAAC;AAC3B,cAAc,SAAS,CAAC;AACxB,OAAO,EAAE,mBAAmB,EAAE,MAAM,gBAAgB,CAAC;AACrD,cAAc,mBAAmB,CAAC;AAClC,cAAc,gBAAgB,CAAC;AAC/B,cAAc,YAAY,CAAC;AAC3B,cAAc,WAAW,CAAC;AAC1B,OAAO,EAAE,eAAe,EAAE,eAAe,EAAE,iBAAiB,EAAE,sBAAsB,EAA4B,MAAM,iCAAiC,CAAC;AACxJ,OAAO,EAAuB,MAAM,cAAc,CAAC;AACnD,OAAO,EAAE,SAAS,EAAE,MAAM,2BAA2B,CAAC;AACtD,OAAO,EAAE,SAAS,EAAE,MAAM,2BAA2B,CAAC;AACtD,kDAAkD;AAClD,OAAO,EAAE,OAAO,EAAE,MAAM,iBAAiB,CAAC;AAC1C,OAAO,EAAE,QAAQ,EAAE,MAAM,kBAAkB,CAAC;AAC5C,OAAO,EAAE,SAAS,EAAE,MAAM,mBAAmB,CAAC;AAC9C,OAAO,EAAE,UAAU,EAAE,MAAM,oBAAoB,CAAC;AAChD,OAAO,EAAgF,MAAM,kBAAkB,CAAC;AAChH,cAAc,4BAA4B,CAAC;AAC3C,cAAc,+BAA+B,CAAC;AAC9C,cAAc,4BAA4B,CAAC;AAC3C,cAAc,4BAA4B,CAAC;AAC3C,+CAA+C;AAC/C,OAAO,EAAE,SAAS,EAAE,MAAM,cAAc,CAAC;AACzC,OAAO,EAAE,gBAAgB,EAAE,cAAc,EAAE,sBAAsB,EAAE,cAAc,EAAE,MAAM,cAAc,CAAC;AACxG,OAAO,EAAE,SAAS,EAAE,eAAe,EAAE,iBAAiB,EAAE,sBAAsB,EAAE,aAAa,EAAE,cAAc,EAAiB,MAAM,eAAe,CAAC;AACpJ,yEAAyE;AACzE,sDAAsD;AACtD,OAAO,EACH,gBAAgB,EAAE,cAAc,EAAE,eAAe,EAAE,aAAa,EAAE,iBAAiB,EAAE,cAAc,EAAE,cAAc,EAAE,kBAAkB,GAE1I,MAAM,gBAAgB,CAAC;AACxB,OAAO,EAAE,cAAc,EAAE,qBAAqB,EAAiD,MAAM,mBAAmB,CAAC;AACzH,6EAA6E;AAC7E,+EAA+E;AAC/E,2DAA2D;AAC3D,OAAO,EAAE,cAAc,EAAE,MAAM,qCAAqC,CAAC;AACrE,OAAO,EAAE,KAAK,EAAE,MAAM,0BAA0B,CAAC"}
@@ -126,6 +126,28 @@ export declare function locationsFromStack(stack: string | undefined): Location[
126
126
  * ```
127
127
  */
128
128
  export declare function setLocationCapture(enabled: boolean): void;
129
+ /**
130
+ * Builds with source-location capture switched on or off, then switches it
131
+ * back as it was.
132
+ *
133
+ * @param enabled - `false` to build without capturing locations, `true` to
134
+ * capture them
135
+ * @param build - what to build
136
+ * @returns what `build` returns
137
+ *
138
+ * @remarks
139
+ * A program whose bytes must not depend on the code that built it is built
140
+ * with capture off: one that e3 caches by its hash, which a browser and a
141
+ * server, or two builds of an app, must give alike. Locations given
142
+ * explicitly, as a query's are, still name their place.
143
+ *
144
+ * @example
145
+ * ```ts
146
+ * // The same bytes wherever and however often it is built.
147
+ * const ir = withLocationCapture(false, () => encodeEastIR(fn().toIR()));
148
+ * ```
149
+ */
150
+ export declare function withLocationCapture<T>(enabled: boolean, build: () => T): T;
129
151
  export declare function get_location(): Location[];
130
152
  /** Reserved sentinel: resolve(0n) returns [], the "no/unknown location" id. */
131
153
  export declare const UNKNOWN_LOC_ID: bigint;
@@ -1 +1 @@
1
- {"version":3,"file":"location.d.ts","sourceRoot":"","sources":["../../src/location.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AACH,MAAM,MAAM,QAAQ,GAAG;IACrB,2BAA2B;IAC3B,QAAQ,EAAE,MAAM,CAAC;IACjB,8BAA8B;IAC9B,IAAI,EAAE,MAAM,CAAC;IACb,gCAAgC;IAChC,MAAM,EAAE,MAAM,CAAC;CAChB,CAAA;AAED;;;;;;;;;;;GAWG;AACH,wBAAgB,aAAa,CAAC,QAAQ,EAAE,QAAQ,GAAG,MAAM,CAExD;AAED;;;;;;;;;;;;;;;;GAgBG;AACH,wBAAgB,cAAc,CAAC,SAAS,EAAE,QAAQ,EAAE,GAAG,MAAM,CAM5D;AAED;;;;;;;GAOG;AACH;;;;;;;;;;;;;;;;GAgBG;AACH,wBAAgB,WAAW,CAAC,SAAS,EAAE,MAAM,GAAG,SAAS,GAAG,SAAS,MAAM,EAAE,CAU5E;AAyGD;;;;;GAKG;AACH,wBAAgB,mBAAmB,CAAC,IAAI,EAAE,MAAM,GAAG,SAAS,GAAG,IAAI,CAQlE;AAED;;;;GAIG;AACH,wBAAgB,kBAAkB,CAAC,GAAG,EAAE,MAAM,GAAG,MAAM,CAYtD;AAED;;;;;;;;;;GAUG;AACH,wBAAgB,kBAAkB,CAAC,KAAK,EAAE,MAAM,GAAG,SAAS,GAAG,QAAQ,EAAE,CAoBxE;AAMD;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA8BG;AACH,wBAAgB,kBAAkB,CAAC,OAAO,EAAE,OAAO,GAAG,IAAI,CAEzD;AAOD,wBAAgB,YAAY,IAAI,QAAQ,EAAE,CAEzC;AAID,+EAA+E;AAC/E,eAAO,MAAM,cAAc,EAAE,MAAW,CAAC;AAEzC,qBAAa,SAAS;IACpB,0EAA0E;IAC1E,OAAO,CAAC,QAAQ,CAAC,MAAM,CAAsB;IAC7C,0DAA0D;IAC1D,OAAO,CAAC,QAAQ,CAAC,MAAM,CAA6B;IAEpD;2EACuE;IACvE,YAAY,CAAC,KAAK,EAAE,QAAQ,EAAE,GAAG,MAAM;IAWvC,oFAAoF;IACpF,OAAO,CAAC,MAAM,EAAE,MAAM,GAAG,SAAS,QAAQ,EAAE;IAI5C,8EAA8E;IAC9E,IAAI,IAAI,IAAI,MAAM,CAAuC;IAEzD,6EAA6E;IAC7E,OAAO,IAAI,SAAS,QAAQ,EAAE,EAAE;CACjC;AAeD;;;;;;;;;;;;GAYG;AACH,wBAAgB,aAAa,CAAC,OAAO,EAAE,MAAM,EAAE,GAAG,EAAE,SAAS,GAAG,MAAM,CAKrE;AAED,8EAA8E;AAC9E,wBAAgB,eAAe,CAAC,CAAC,EAAE,GAAG,EAAE,SAAS,EAAE,EAAE,EAAE,MAAM,CAAC,GAAG,CAAC,CAajE;AAED;6CAC6C;AAC7C,wBAAgB,iBAAiB,CAAC,CAAC,EAAE,EAAE,EAAE,MAAM,CAAC,GAAG,CAAC,CAGnD;AAED,mFAAmF;AACnF,wBAAgB,sBAAsB,IAAI,SAAS,GAAG,IAAI,CAEzD;AAED;uDACuD;AACvD,wBAAgB,eAAe,IAAI,MAAM,CAIxC"}
1
+ {"version":3,"file":"location.d.ts","sourceRoot":"","sources":["../../src/location.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AACH,MAAM,MAAM,QAAQ,GAAG;IACrB,2BAA2B;IAC3B,QAAQ,EAAE,MAAM,CAAC;IACjB,8BAA8B;IAC9B,IAAI,EAAE,MAAM,CAAC;IACb,gCAAgC;IAChC,MAAM,EAAE,MAAM,CAAC;CAChB,CAAA;AAED;;;;;;;;;;;GAWG;AACH,wBAAgB,aAAa,CAAC,QAAQ,EAAE,QAAQ,GAAG,MAAM,CAExD;AAED;;;;;;;;;;;;;;;;GAgBG;AACH,wBAAgB,cAAc,CAAC,SAAS,EAAE,QAAQ,EAAE,GAAG,MAAM,CAM5D;AAED;;;;;;;GAOG;AACH;;;;;;;;;;;;;;;;GAgBG;AACH,wBAAgB,WAAW,CAAC,SAAS,EAAE,MAAM,GAAG,SAAS,GAAG,SAAS,MAAM,EAAE,CAU5E;AAyGD;;;;;GAKG;AACH,wBAAgB,mBAAmB,CAAC,IAAI,EAAE,MAAM,GAAG,SAAS,GAAG,IAAI,CAQlE;AAED;;;;GAIG;AACH,wBAAgB,kBAAkB,CAAC,GAAG,EAAE,MAAM,GAAG,MAAM,CAYtD;AAED;;;;;;;;;;GAUG;AACH,wBAAgB,kBAAkB,CAAC,KAAK,EAAE,MAAM,GAAG,SAAS,GAAG,QAAQ,EAAE,CAoBxE;AAMD;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA8BG;AACH,wBAAgB,kBAAkB,CAAC,OAAO,EAAE,OAAO,GAAG,IAAI,CAEzD;AAED;;;;;;;;;;;;;;;;;;;;GAoBG;AACH,wBAAgB,mBAAmB,CAAC,CAAC,EAAE,OAAO,EAAE,OAAO,EAAE,KAAK,EAAE,MAAM,CAAC,GAAG,CAAC,CAQ1E;AAOD,wBAAgB,YAAY,IAAI,QAAQ,EAAE,CAEzC;AAID,+EAA+E;AAC/E,eAAO,MAAM,cAAc,EAAE,MAAW,CAAC;AAEzC,qBAAa,SAAS;IACpB,0EAA0E;IAC1E,OAAO,CAAC,QAAQ,CAAC,MAAM,CAAsB;IAC7C,0DAA0D;IAC1D,OAAO,CAAC,QAAQ,CAAC,MAAM,CAA6B;IAEpD;2EACuE;IACvE,YAAY,CAAC,KAAK,EAAE,QAAQ,EAAE,GAAG,MAAM;IAWvC,oFAAoF;IACpF,OAAO,CAAC,MAAM,EAAE,MAAM,GAAG,SAAS,QAAQ,EAAE;IAI5C,8EAA8E;IAC9E,IAAI,IAAI,IAAI,MAAM,CAAuC;IAEzD,6EAA6E;IAC7E,OAAO,IAAI,SAAS,QAAQ,EAAE,EAAE;CACjC;AAeD;;;;;;;;;;;;GAYG;AACH,wBAAgB,aAAa,CAAC,OAAO,EAAE,MAAM,EAAE,GAAG,EAAE,SAAS,GAAG,MAAM,CAKrE;AAED,8EAA8E;AAC9E,wBAAgB,eAAe,CAAC,CAAC,EAAE,GAAG,EAAE,SAAS,EAAE,EAAE,EAAE,MAAM,CAAC,GAAG,CAAC,CAajE;AAED;6CAC6C;AAC7C,wBAAgB,iBAAiB,CAAC,CAAC,EAAE,EAAE,EAAE,MAAM,CAAC,GAAG,CAAC,CAGnD;AAED,mFAAmF;AACnF,wBAAgB,sBAAsB,IAAI,SAAS,GAAG,IAAI,CAEzD;AAED;uDACuD;AACvD,wBAAgB,eAAe,IAAI,MAAM,CAIxC"}
@@ -275,6 +275,37 @@ let captureEnabled = true;
275
275
  export function setLocationCapture(enabled) {
276
276
  captureEnabled = enabled;
277
277
  }
278
+ /**
279
+ * Builds with source-location capture switched on or off, then switches it
280
+ * back as it was.
281
+ *
282
+ * @param enabled - `false` to build without capturing locations, `true` to
283
+ * capture them
284
+ * @param build - what to build
285
+ * @returns what `build` returns
286
+ *
287
+ * @remarks
288
+ * A program whose bytes must not depend on the code that built it is built
289
+ * with capture off: one that e3 caches by its hash, which a browser and a
290
+ * server, or two builds of an app, must give alike. Locations given
291
+ * explicitly, as a query's are, still name their place.
292
+ *
293
+ * @example
294
+ * ```ts
295
+ * // The same bytes wherever and however often it is built.
296
+ * const ir = withLocationCapture(false, () => encodeEastIR(fn().toIR()));
297
+ * ```
298
+ */
299
+ export function withLocationCapture(enabled, build) {
300
+ const previous = captureEnabled;
301
+ captureEnabled = enabled;
302
+ try {
303
+ return build();
304
+ }
305
+ finally {
306
+ captureEnabled = previous;
307
+ }
308
+ }
278
309
  function capture_stack_frames() {
279
310
  if (!captureEnabled)
280
311
  return [];
@@ -1 +1 @@
1
- {"version":3,"file":"location.js","sourceRoot":"","sources":["../../src/location.ts"],"names":[],"mappings":"AAeA;;;;;;;;;;;GAWG;AACH,MAAM,UAAU,aAAa,CAAC,QAAkB;IAC9C,OAAO,GAAG,QAAQ,CAAC,QAAQ,IAAI,QAAQ,CAAC,IAAI,IAAI,QAAQ,CAAC,MAAM,EAAE,CAAC;AACpE,CAAC;AAED;;;;;;;;;;;;;;;;GAgBG;AACH,MAAM,UAAU,cAAc,CAAC,SAAqB;IAClD,IAAI,SAAS,CAAC,MAAM,KAAK,CAAC;QAAE,OAAO,WAAW,CAAC;IAC/C,MAAM,CAAC,KAAK,EAAE,GAAG,IAAI,CAAC,GAAG,SAAS,CAAC;IACnC,MAAM,MAAM,GAAG,aAAa,CAAC,KAAM,CAAC,CAAC;IACrC,IAAI,IAAI,CAAC,MAAM,KAAK,CAAC;QAAE,OAAO,MAAM,CAAC;IACrC,OAAO,MAAM,GAAG,IAAI,GAAG,IAAI,CAAC,GAAG,CAAC,GAAG,CAAC,EAAE,CAAC,QAAQ,aAAa,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;AAClF,CAAC;AAED;;;;;;;GAOG;AACH;;;;;;;;;;;;;;;;GAgBG;AACH,MAAM,UAAU,WAAW,CAAC,SAA6B;IACvD,IAAI,SAAS,KAAK,SAAS,IAAI,SAAS,KAAK,EAAE;QAAE,OAAO,EAAE,CAAC;IAC3D,MAAM,IAAI,GAAG,mBAAmB,CAAC,YAAY,CAAC,SAAS,CAAC,CAAC,CAAC;IAC1D,MAAM,KAAK,GAAG,IAAI,CAAC,WAAW,CAAC,GAAG,CAAC,CAAC;IACpC,IAAI,KAAK,KAAK,CAAC,CAAC;QAAE,OAAO,EAAE,CAAC;IAC5B,MAAM,GAAG,GAAG,IAAI,CAAC,KAAK,CAAC,CAAC,EAAE,KAAK,CAAC,CAAC;IACjC,MAAM,IAAI,GAAG,GAAG,CAAC,QAAQ,CAAC,WAAW,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC,EAAE,CAAC,WAAW,CAAC,MAAM,CAAC;QACxE,CAAC,CAAC,GAAG,CAAC,QAAQ,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC,EAAE,CAAC,MAAM,CAAC,MAAM,CAAC;YACnD,CAAC,CAAC,IAAI,CAAC;IACX,OAAO,IAAI,KAAK,IAAI,CAAC,CAAC,CAAC,CAAC,GAAG,GAAG,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,GAAG,IAAI,OAAO,EAAE,GAAG,IAAI,YAAY,CAAC,CAAC;AAC7E,CAAC;AAED,mFAAmF;AACnF,MAAM,aAAa,GAAsB,WAAW,CAAC,MAAM,CAAC,IAAI,CAAC,GAAyB,CAAC,CAAC;AAE5F,SAAS,kBAAkB,CAAC,QAAgB;IAC1C,kEAAkE;IAClE,IAAI,QAAQ,CAAC,UAAU,CAAC,OAAO,CAAC;QAAE,OAAO,KAAK,CAAC;IAE/C,sEAAsE;IACtE,uEAAuE;IACvE,IAAI,QAAQ,CAAC,QAAQ,CAAC,gBAAgB,CAAC,IAAI,QAAQ,CAAC,QAAQ,CAAC,kBAAkB,CAAC;QAAE,OAAO,KAAK,CAAC;IAE/F,0EAA0E;IAC1E,wEAAwE;IACxE,4EAA4E;IAC5E,6EAA6E;IAC7E,mEAAmE;IACnE,MAAM,IAAI,GAAG,mBAAmB,CAAC,YAAY,CAAC,QAAQ,CAAC,CAAC,CAAC;IACzD,IAAI,CAAC,qBAAqB,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,aAAa,CAAC,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,IAAI,CAAC,UAAU,CAAC,GAAG,CAAC,CAAC;QAAE,OAAO,KAAK,CAAC;IAEvG,OAAO,IAAI,CAAC;AACd,CAAC;AAED;;;;;;;;;;;;;;;;;;;;GAoBG;AAGH,0EAA0E;AAC1E,EAAE;AACF,8EAA8E;AAC9E,2EAA2E;AAC3E,+EAA+E;AAC/E,4EAA4E;AAC5E,8EAA8E;AAC9E,4EAA4E;AAC5E,4EAA4E;AAC5E,yEAAyE;AACzE,mCAAmC;AAEnC,IAAI,eAAe,GAAG,KAAK,CAAC;AAC5B,IAAI,YAAgC,CAAC;AACrC,IAAI,QAA4B,CAAC;AACjC,IAAI,gBAAgB,GAAG,KAAK,CAAC;AAE7B,SAAS,mBAAmB,CAAC,CAAS;IACpC,OAAO,CAAC,CAAC,OAAO,CAAC,KAAK,EAAE,GAAG,CAAC,CAAC;AAC/B,CAAC;AAED,SAAS,kBAAkB,CAAC,CAAS;IACnC,OAAO,CAAC,CAAC,MAAM,GAAG,CAAC,IAAI,CAAC,CAAC,QAAQ,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;AAC9D,CAAC;AAED,SAAS,YAAY,CAAC,CAAS;IAC7B,IAAI,CAAC,CAAC,CAAC,UAAU,CAAC,SAAS,CAAC;QAAE,OAAO,CAAC,CAAC;IACvC,IAAI,CAAC;QACH,0EAA0E;QAC1E,gEAAgE;QAChE,MAAM,QAAQ,GAAG,kBAAkB,CAAC,IAAI,GAAG,CAAC,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC;QACzD,OAAO,QAAQ,CAAC,OAAO,CAAC,gBAAgB,EAAE,IAAI,CAAC,CAAC,CAAC,4BAA4B;IAC/E,CAAC;IAAC,MAAM,CAAC;QACP,OAAO,CAAC,CAAC;IACX,CAAC;AACH,CAAC;AAED,SAAS,eAAe;IACtB,IAAI,CAAC,gBAAgB,EAAE,CAAC;QACtB,gBAAgB,GAAG,IAAI,CAAC;QACxB,2EAA2E;QAC3E,oDAAoD;QACpD,MAAM,IAAI,GAAI,UAAmD,CAAC,OAAO,CAAC;QAC1E,IAAI,IAAI,KAAK,SAAS,IAAI,OAAO,IAAI,CAAC,GAAG,KAAK,UAAU,EAAE,CAAC;YACzD,IAAI,CAAC;gBACH,QAAQ,GAAG,kBAAkB,CAAC,mBAAmB,CAAC,MAAM,CAAC,IAAI,CAAC,GAAG,EAAE,CAAC,CAAC,CAAC,CAAC;YACzE,CAAC;YAAC,MAAM,CAAC;gBACP,QAAQ,GAAG,SAAS,CAAC;YACvB,CAAC;QACH,CAAC;IACH,CAAC;IACD,OAAO,QAAQ,CAAC;AAClB,CAAC;AAED,SAAS,WAAW;IAClB,OAAO,eAAe,CAAC,CAAC,CAAC,YAAY,CAAC,CAAC,CAAC,eAAe,EAAE,CAAC;AAC5D,CAAC;AAED;;;;;GAKG;AACH,MAAM,UAAU,mBAAmB,CAAC,IAAwB;IAC1D,IAAI,IAAI,KAAK,SAAS,EAAE,CAAC;QACvB,eAAe,GAAG,KAAK,CAAC;QACxB,YAAY,GAAG,SAAS,CAAC;IAC3B,CAAC;SAAM,CAAC;QACN,eAAe,GAAG,IAAI,CAAC;QACvB,YAAY,GAAG,kBAAkB,CAAC,mBAAmB,CAAC,YAAY,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;IAC7E,CAAC;AACH,CAAC;AAED;;;;GAIG;AACH,MAAM,UAAU,kBAAkB,CAAC,GAAW;IAC5C,IAAI,CAAC;QACH,MAAM,OAAO,GAAG,mBAAmB,CAAC,YAAY,CAAC,GAAG,CAAC,CAAC,CAAC;QACvD,MAAM,IAAI,GAAG,WAAW,EAAE,CAAC;QAC3B,IAAI,IAAI,KAAK,SAAS,IAAI,IAAI,KAAK,EAAE,EAAE,CAAC;YACtC,IAAI,OAAO,KAAK,IAAI;gBAAE,OAAO,GAAG,CAAC;YACjC,IAAI,OAAO,CAAC,UAAU,CAAC,IAAI,GAAG,GAAG,CAAC;gBAAE,OAAO,OAAO,CAAC,KAAK,CAAC,IAAI,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC;QAC5E,CAAC;QACD,OAAO,OAAO,CAAC;IACjB,CAAC;IAAC,MAAM,CAAC;QACP,OAAO,GAAG,CAAC;IACb,CAAC;AACH,CAAC;AAED;;;;;;;;;;GAUG;AACH,MAAM,UAAU,kBAAkB,CAAC,KAAyB;IAC1D,IAAI,CAAC,KAAK;QAAE,OAAO,EAAE,CAAC;IAEtB,MAAM,KAAK,GAAG,KAAK,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,oBAAoB;IAC9D,MAAM,MAAM,GAAe,EAAE,CAAC;IAE9B,KAAK,MAAM,IAAI,IAAI,KAAK,EAAE,CAAC;QACzB,4EAA4E;QAC5E,MAAM,KAAK,GAAG,IAAI,CAAC,KAAK,CAAC,0BAA0B,CAAC,IAAI,IAAI,CAAC,KAAK,CAAC,6BAA6B,CAAC,CAAC;QAClG,IAAI,KAAK,EAAE,CAAC;YACV,MAAM,CAAC,EAAE,QAAQ,EAAE,OAAO,EAAE,MAAM,CAAC,GAAG,KAAK,CAAC;YAC5C,yEAAyE;YACzE,6DAA6D;YAC7D,IAAI,QAAQ,IAAI,QAAQ,KAAK,EAAE,IAAI,kBAAkB,CAAC,QAAQ,CAAC,EAAE,CAAC;gBAChE,MAAM,CAAC,IAAI,CAAC,EAAE,QAAQ,EAAE,kBAAkB,CAAC,QAAQ,CAAC,EAAE,IAAI,EAAE,MAAM,CAAC,OAAQ,CAAC,EAAE,MAAM,EAAE,MAAM,CAAC,MAAO,CAAC,EAAE,CAAC,CAAC;YAC3G,CAAC;QACH,CAAC;IACH,CAAC;IAED,OAAO,MAAM,CAAC;AAChB,CAAC;AAED,0EAA0E;AAE1E,IAAI,cAAc,GAAG,IAAI,CAAC;AAE1B;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA8BG;AACH,MAAM,UAAU,kBAAkB,CAAC,OAAgB;IACjD,cAAc,GAAG,OAAO,CAAC;AAC3B,CAAC;AAED,SAAS,oBAAoB;IAC3B,IAAI,CAAC,cAAc;QAAE,OAAO,EAAE,CAAC;IAC/B,OAAO,kBAAkB,CAAC,IAAI,KAAK,EAAE,CAAC,KAAK,CAAC,CAAC;AAC/C,CAAC;AAED,MAAM,UAAU,YAAY;IAC1B,OAAO,oBAAoB,EAAE,CAAC;AAChC,CAAC;AAED,0EAA0E;AAE1E,+EAA+E;AAC/E,MAAM,CAAC,MAAM,cAAc,GAAW,EAAE,CAAC;AAEzC,MAAM,OAAO,SAAS;IACpB,0EAA0E;IACzD,MAAM,GAAiB,CAAC,EAAE,CAAC,CAAC;IAC7C,0DAA0D;IACzC,MAAM,GAAG,IAAI,GAAG,EAAkB,CAAC;IAEpD;2EACuE;IACvE,YAAY,CAAC,KAAiB;QAC5B,IAAI,KAAK,CAAC,MAAM,KAAK,CAAC;YAAE,OAAO,cAAc,CAAC;QAC9C,MAAM,GAAG,GAAG,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,GAAG,CAAC,CAAC,QAAQ,IAAI,CAAC,CAAC,IAAI,IAAI,CAAC,CAAC,MAAM,EAAE,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;QAC7E,MAAM,QAAQ,GAAG,IAAI,CAAC,MAAM,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC;QACtC,IAAI,QAAQ,KAAK,SAAS;YAAE,OAAO,QAAQ,CAAC;QAC5C,MAAM,EAAE,GAAG,MAAM,CAAC,IAAI,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC;QACtC,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;QACxB,IAAI,CAAC,MAAM,CAAC,GAAG,CAAC,GAAG,EAAE,EAAE,CAAC,CAAC;QACzB,OAAO,EAAE,CAAC;IACZ,CAAC;IAED,oFAAoF;IACpF,OAAO,CAAC,MAAc;QACpB,OAAO,IAAI,CAAC,MAAM,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC,IAAI,EAAE,CAAC;IAC3C,CAAC;IAED,8EAA8E;IAC9E,IAAI,IAAI,KAAa,OAAO,MAAM,CAAC,IAAI,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC;IAEzD,6EAA6E;IAC7E,OAAO,KAA4B,OAAO,IAAI,CAAC,MAAM,CAAC,CAAC,CAAC;CACzD;AAED,0EAA0E;AAE1E,IAAI,WAAW,GAAqB,IAAI,CAAC;AAEzC;;;;;;GAMG;AACH,MAAM,iBAAiB,GAAG,mBAAmB,CAAC;AAE9C;;;;;;;;;;;;GAYG;AACH,MAAM,UAAU,aAAa,CAAC,OAAe,EAAE,GAAc;IAC3D,OAAO,OAAO,CAAC,OAAO,CAAC,iBAAiB,EAAE,CAAC,MAAM,EAAE,EAAU,EAAE,EAAE;QAC/D,MAAM,CAAC,QAAQ,CAAC,GAAG,GAAG,CAAC,OAAO,CAAC,MAAM,CAAC,EAAE,CAAC,CAAC,CAAC;QAC3C,OAAO,QAAQ,CAAC,CAAC,CAAC,GAAG,QAAQ,CAAC,QAAQ,IAAI,QAAQ,CAAC,IAAI,IAAI,QAAQ,CAAC,MAAM,EAAE,CAAC,CAAC,CAAC,qBAAqB,CAAC;IACvG,CAAC,CAAC,CAAC;AACL,CAAC;AAED,8EAA8E;AAC9E,MAAM,UAAU,eAAe,CAAI,GAAc,EAAE,EAAW;IAC5D,MAAM,IAAI,GAAG,WAAW,CAAC;IACzB,WAAW,GAAG,GAAG,CAAC;IAClB,IAAI,CAAC;QACH,OAAO,EAAE,EAAE,CAAC;IACd,CAAC;IAAC,OAAO,CAAU,EAAE,CAAC;QACpB,4EAA4E;QAC5E,kEAAkE;QAClE,IAAI,CAAC,YAAY,KAAK;YAAE,CAAC,CAAC,OAAO,GAAG,aAAa,CAAC,CAAC,CAAC,OAAO,EAAE,GAAG,CAAC,CAAC;QAClE,MAAM,CAAC,CAAC;IACV,CAAC;YAAS,CAAC;QACT,WAAW,GAAG,IAAI,CAAC;IACrB,CAAC;AACH,CAAC;AAED;6CAC6C;AAC7C,MAAM,UAAU,iBAAiB,CAAI,EAAW;IAC9C,IAAI,WAAW;QAAE,OAAO,EAAE,EAAE,CAAC;IAC7B,OAAO,eAAe,CAAC,IAAI,SAAS,EAAE,EAAE,EAAE,CAAC,CAAC;AAC9C,CAAC;AAED,mFAAmF;AACnF,MAAM,UAAU,sBAAsB;IACpC,OAAO,WAAW,CAAC;AACrB,CAAC;AAED;uDACuD;AACvD,MAAM,UAAU,eAAe;IAC7B,IAAI,CAAC,WAAW;QAAE,OAAO,cAAc,CAAC;IACxC,MAAM,KAAK,GAAG,oBAAoB,EAAE,CAAC;IACrC,OAAO,WAAW,CAAC,YAAY,CAAC,KAAK,CAAC,CAAC;AACzC,CAAC"}
1
+ {"version":3,"file":"location.js","sourceRoot":"","sources":["../../src/location.ts"],"names":[],"mappings":"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"}
@@ -21,9 +21,11 @@
21
21
  * browser, a project without TypeScript, a TypeScript whose package carries no
22
22
  * parser (TypeScript 7's exports its version alone) — or a source cannot be
23
23
  * read (a REPL line that is gone, a native function), the name stays `_N`,
24
- * exactly as before: East's own libraries build functions as they are
25
- * imported, so a parser that fails here would fail the import. Uniqueness is
26
- * the lowering's job (`ast_to_ir` suffixes a collision), not this module's.
24
+ * exactly as before: every function's build reads its parameters' names, East's
25
+ * own library functions' too, the first time each is read, so a parser that
26
+ * fails here would fail them all. Nothing is built as East is imported, so
27
+ * importing it loads no compiler (#1127). Uniqueness is the lowering's job
28
+ * (`ast_to_ir` suffixes a collision), not this module's.
27
29
  */
28
30
  import type { Location } from "./location.js";
29
31
  /**
@@ -1 +1 @@
1
- {"version":3,"file":"naming.d.ts","sourceRoot":"","sources":["../../src/naming.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAEH;;;;;;;;;;;;;;;;;;;;;;GAsBG;AAEH,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,eAAe,CAAC;AAmC9C;;;;;;;;;GASG;AACH,wBAAgB,cAAc,CAAC,EAAE,EAAE,OAAO,GAAG,MAAM,EAAE,GAAG,IAAI,CAyB3D;AAgHD;;;;;;;;;;;GAWG;AACH,wBAAgB,aAAa,CAAC,MAAM,EAAE,SAAS,QAAQ,EAAE,GAAG,MAAM,GAAG,IAAI,CAiBxE"}
1
+ {"version":3,"file":"naming.d.ts","sourceRoot":"","sources":["../../src/naming.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAEH;;;;;;;;;;;;;;;;;;;;;;;;GAwBG;AAEH,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,eAAe,CAAC;AAmC9C;;;;;;;;;GASG;AACH,wBAAgB,cAAc,CAAC,EAAE,EAAE,OAAO,GAAG,MAAM,EAAE,GAAG,IAAI,CAyB3D;AAgHD;;;;;;;;;;;GAWG;AACH,wBAAgB,aAAa,CAAC,MAAM,EAAE,SAAS,QAAQ,EAAE,GAAG,MAAM,GAAG,IAAI,CAiBxE"}
@@ -1 +1 @@
1
- {"version":3,"file":"naming.js","sourceRoot":"","sources":["../../src/naming.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"naming.js","sourceRoot":"","sources":["../../src/naming.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,6 @@
1
+ /**
2
+ * Copyright (c) 2025 Elara AI Pty Ltd
3
+ * Dual-licensed under AGPL-3.0 and commercial license. See LICENSE for details.
4
+ */
5
+ export {};
6
+ //# sourceMappingURL=portable.spec.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"portable.spec.d.ts","sourceRoot":"","sources":["../../src/portable.spec.ts"],"names":[],"mappings":"AAAA;;;GAGG"}
@@ -0,0 +1,181 @@
1
+ /**
2
+ * Copyright (c) 2025 Elara AI Pty Ltd
3
+ * Dual-licensed under AGPL-3.0 and commercial license. See LICENSE for details.
4
+ */
5
+ /**
6
+ * What a browser loads to run a unit reaches no Node module (#1023).
7
+ *
8
+ * `executeUnit`, the `UnitIO` it works over and the merge of a unit's parts run
9
+ * in a browser's Web Worker as they run under east-node. So every module they
10
+ * reach — walked from them through each import and export the compiler keeps,
11
+ * and each dynamic `import()` — imports only east's own modules and the
12
+ * packages a browser loads as they are, and uses neither the `Buffer` nor the
13
+ * `process` global. A module reaches Node only through a guarded
14
+ * `globalThis.process?.getBuiltinModule`, which a browser answers with
15
+ * `undefined`, as the frame layer reaches zlib.
16
+ *
17
+ * A type-only import is erased, so it reaches nothing; `import { type X }` is
18
+ * kept under `verbatimModuleSyntax` as a side-effect import, so it does.
19
+ */
20
+ import { describe, it } from "node:test";
21
+ import assert from "node:assert/strict";
22
+ import { existsSync, readFileSync } from "node:fs";
23
+ import { join, posix } from "node:path";
24
+ import { fileURLToPath } from "node:url";
25
+ import ts from "typescript";
26
+ /** east's sources: the spec runs from `dist/src`. */
27
+ const SRC = fileURLToPath(new URL("../../src/", import.meta.url));
28
+ /** The modules a browser loads to run a unit. */
29
+ const ENTRIES = ["runner_exec.ts", "runner_io.ts", "runner_merge.ts"];
30
+ /** The packages a module may import besides east's own modules: east's one
31
+ * dependency, which a browser loads as it is. */
32
+ const PACKAGES = new Set(["sorted-btree"]);
33
+ /** The Node globals no module may use. */
34
+ const GLOBALS = new Set(["Buffer", "process"]);
35
+ /** Whether an identifier named for a global is a use of that global: not a
36
+ * property or member named so (`globalThis.process`), not a binding of that
37
+ * name, and not in a type, which is erased. */
38
+ function usesGlobal(node) {
39
+ const parent = node.parent;
40
+ if (ts.isPropertyAccessExpression(parent) && parent.name === node)
41
+ return false;
42
+ if ((ts.isPropertyAssignment(parent) || ts.isPropertyDeclaration(parent) || ts.isPropertySignature(parent) ||
43
+ ts.isMethodDeclaration(parent) || ts.isMethodSignature(parent) || ts.isGetAccessorDeclaration(parent) ||
44
+ ts.isSetAccessorDeclaration(parent) || ts.isEnumMember(parent)) && parent.name === node)
45
+ return false;
46
+ if ((ts.isVariableDeclaration(parent) || ts.isParameter(parent) || ts.isFunctionDeclaration(parent) ||
47
+ ts.isClassDeclaration(parent)) && parent.name === node)
48
+ return false;
49
+ if (ts.isBindingElement(parent) && (parent.name === node || parent.propertyName === node))
50
+ return false;
51
+ for (let at = parent; !ts.isSourceFile(at); at = at.parent) {
52
+ if (ts.isTypeNode(at))
53
+ return false;
54
+ }
55
+ return true;
56
+ }
57
+ /**
58
+ * Walks every module `entries` reach and says what in them reaches Node.
59
+ *
60
+ * @param entries - the modules to start from, by their paths under the source
61
+ * root, forward-slashed
62
+ * @param source - a module's source, or `undefined` when there is none
63
+ * @returns the modules reached, and each import of a module that is neither
64
+ * east's own nor a package in {@link PACKAGES}, and each use of a global in
65
+ * {@link GLOBALS}, as `<module> imports <specifier>` and
66
+ * `<module>:<line> uses the <name> global`
67
+ */
68
+ function walk(entries, source) {
69
+ const reached = [];
70
+ const problems = [];
71
+ const seen = new Set();
72
+ const pending = [...entries];
73
+ while (pending.length > 0) {
74
+ const module = pending.shift();
75
+ if (seen.has(module))
76
+ continue;
77
+ seen.add(module);
78
+ const text = source(module);
79
+ if (text === undefined) {
80
+ problems.push(`${module} is not there`);
81
+ continue;
82
+ }
83
+ reached.push(module);
84
+ const file = ts.createSourceFile(module, text, ts.ScriptTarget.Latest, true, ts.ScriptKind.TS);
85
+ const imports = (specifier) => {
86
+ if (specifier === undefined)
87
+ return;
88
+ if (!ts.isStringLiteral(specifier)) {
89
+ problems.push(`${module} imports a module it computes`);
90
+ }
91
+ else if (specifier.text.startsWith(".")) {
92
+ pending.push(posix.normalize(posix.join(posix.dirname(module), specifier.text)).replace(/\.js$/, ".ts"));
93
+ }
94
+ else if (!PACKAGES.has(specifier.text)) {
95
+ problems.push(`${module} imports ${specifier.text}`);
96
+ }
97
+ };
98
+ const visit = (node) => {
99
+ if (ts.isImportDeclaration(node)) {
100
+ if (!node.importClause?.isTypeOnly)
101
+ imports(node.moduleSpecifier);
102
+ return;
103
+ }
104
+ if (ts.isExportDeclaration(node)) {
105
+ if (!node.isTypeOnly)
106
+ imports(node.moduleSpecifier);
107
+ return;
108
+ }
109
+ if (ts.isImportEqualsDeclaration(node)) {
110
+ if (!node.isTypeOnly && ts.isExternalModuleReference(node.moduleReference))
111
+ imports(node.moduleReference.expression);
112
+ return;
113
+ }
114
+ if (ts.isCallExpression(node) && node.expression.kind === ts.SyntaxKind.ImportKeyword)
115
+ imports(node.arguments[0]);
116
+ if (ts.isIdentifier(node) && GLOBALS.has(node.text) && usesGlobal(node)) {
117
+ const { line } = file.getLineAndCharacterOfPosition(node.getStart(file));
118
+ problems.push(`${module}:${line + 1} uses the ${node.text} global`);
119
+ }
120
+ ts.forEachChild(node, visit);
121
+ };
122
+ visit(file);
123
+ }
124
+ return { reached, problems };
125
+ }
126
+ /** A module of east's sources, by its path under `src/`. */
127
+ function eastSource(module) {
128
+ const file = join(SRC, module);
129
+ return existsSync(file) ? readFileSync(file, "utf8") : undefined;
130
+ }
131
+ describe("what a browser loads to run a unit", () => {
132
+ it("reaches no Node module and uses no Node global", () => {
133
+ const { reached, problems } = walk(ENTRIES, eastSource);
134
+ assert.deepEqual(problems, [], "these reach Node: reach it through a guarded globalThis.process?.getBuiltinModule, or not at all");
135
+ // The walk reaches the compiler and the collection layer, the frame layer
136
+ // among them, which reaches zlib the guarded way.
137
+ for (const module of ["eastir.ts", "compile/runtime.ts", "serialization/beast2/v5/lazy.ts", "serialization/beast2/v5/frames.ts", "serialization/beast2/v5/frame-pool.ts"]) {
138
+ assert.ok(reached.includes(module), `the walk reaches ${module}`);
139
+ }
140
+ });
141
+ it("names a planted Node import, however it is written, and each use of a Node global", () => {
142
+ const modules = new Map([
143
+ ["entry.ts", [
144
+ 'import { helper } from "./helpers/helper.js";',
145
+ 'import type { Stats } from "node:fs";',
146
+ 'export const run = (stats?: Stats): unknown => helper(stats);',
147
+ ].join("\n")],
148
+ ["helpers/helper.ts", [
149
+ 'import { readFileSync } from "node:fs";',
150
+ 'export function helper(_x: unknown): unknown {',
151
+ ' return Buffer.from(process.env.X ?? "");',
152
+ '}',
153
+ 'export { type Worker } from "node:worker_threads";',
154
+ 'export const later = () => import("node:os");',
155
+ ].join("\n")],
156
+ ]);
157
+ const { reached, problems } = walk(["entry.ts"], (module) => modules.get(module));
158
+ assert.deepEqual(reached, ["entry.ts", "helpers/helper.ts"]);
159
+ assert.deepEqual(problems, [
160
+ "helpers/helper.ts imports node:fs",
161
+ "helpers/helper.ts:3 uses the Buffer global",
162
+ "helpers/helper.ts:3 uses the process global",
163
+ "helpers/helper.ts imports node:worker_threads",
164
+ "helpers/helper.ts imports node:os",
165
+ ]);
166
+ });
167
+ it("passes Node reached through a guarded globalThis.process, and Node named only in types", () => {
168
+ const modules = new Map([
169
+ ["entry.ts", [
170
+ 'import type { Buffer as NodeBuffer } from "node:buffer";',
171
+ 'const zlib = (globalThis as { process?: { getBuiltinModule?: (id: string) => unknown } }).process?.getBuiltinModule?.("node:zlib") ?? null;',
172
+ 'export type Gauge = { process?: { cwd?: () => string } };',
173
+ 'export const bytes = (b: NodeBuffer | Buffer): number => b.length + (zlib === null ? 0 : 1);',
174
+ 'export const named = { process: 1, Buffer: 2 };',
175
+ 'export const read = ({ process: p }: { process: number }): number => p;',
176
+ ].join("\n")],
177
+ ]);
178
+ assert.deepEqual(walk(["entry.ts"], (module) => modules.get(module)).problems, []);
179
+ });
180
+ });
181
+ //# sourceMappingURL=portable.spec.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"portable.spec.js","sourceRoot":"","sources":["../../src/portable.spec.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,98 @@
1
+ /**
2
+ * Copyright (c) 2025 Elara AI Pty Ltd
3
+ * Dual-licensed under AGPL-3.0 and commercial license. See LICENSE for details.
4
+ */
5
+ import type { PlatformFunction } from "../platform.js";
6
+ import type { EastType, ValueTypeOf } from "../types.js";
7
+ import type { QueryErrorType } from "./types.js";
8
+ import { type CheckJqResult } from "./jq/check.js";
9
+ /** A diagnostic of a query: the checker's, or an error its run raised. */
10
+ export type QueryDiagnostic = ValueTypeOf<typeof QueryErrorType>;
11
+ /**
12
+ * A query that does not check, or whose run raised an error: its diagnostics,
13
+ * and a message that lists each error with its line and column in the jq text.
14
+ *
15
+ * @remarks
16
+ * `diagnostics` holds the checker's diagnostics, lints included, when the
17
+ * query does not check; for an error raised while it ran, one `runtime`
18
+ * diagnostic whose message is the East error's and whose span is the jq
19
+ * node that raised it.
20
+ */
21
+ export declare class QueryError extends Error {
22
+ /** The diagnostics, in the order found. */
23
+ readonly diagnostics: QueryDiagnostic[];
24
+ /**
25
+ * @param diagnostics - the diagnostics; the message lists those of error severity
26
+ */
27
+ constructor(diagnostics: QueryDiagnostic[]);
28
+ }
29
+ /** Options for {@link evaluateJq}. */
30
+ export interface EvaluateJqOptions {
31
+ /** The input's type: required with a program's text. */
32
+ inputType?: EastType;
33
+ /** The input is an e3 root, a struct of datasets: each field the query reads is passed alone, so a lazy one stays lazy. */
34
+ root?: boolean;
35
+ /** Allow the tooling-only builtins, whose platform functions `platform` gives (`devdocs/QUERY.md` §15.9). */
36
+ tooling?: boolean;
37
+ /** Platform functions, for function values in the input that need them. */
38
+ platform?: PlatformFunction[];
39
+ }
40
+ /**
41
+ * Checks, translates, compiles and runs a jq query over a value.
42
+ *
43
+ * @param program - the query's text, or what {@link checkJq} made of it
44
+ * @param input - the input: a decoded value, or a lazy one
45
+ * @param options - `inputType` with text; `root` for an e3 root; `tooling`;
46
+ * `platform` for function values that need one
47
+ * @returns the result: the element for a `one` query, an option for `maybe`,
48
+ * an array for `many`
49
+ * @throws {QueryError} When the query does not check, carrying the
50
+ * checker's diagnostics; or when its run raises an error, as one `runtime`
51
+ * diagnostic at the jq node that raised it.
52
+ *
53
+ * @remarks
54
+ * The compiled function is cached by the query's canonical text, its input
55
+ * type and the options, so a query run again compiles once. With `root`, the
56
+ * input is a struct and each field the query reads is its own argument.
57
+ *
58
+ * @example
59
+ * ```ts
60
+ * const Order = StructType({ id: IntegerType, total: FloatType });
61
+ * const orders = [{ id: 1n, total: 250.0 }, { id: 2n, total: 1200.0 }];
62
+ * evaluateJq("[.[] | select(.total > 1000) | .id]", orders, { inputType: ArrayType(Order) });
63
+ * // [2n]
64
+ * ```
65
+ */
66
+ export declare function evaluateJq(program: string | CheckJqResult, input: unknown, options?: EvaluateJqOptions): unknown;
67
+ /**
68
+ * The `runtime` diagnostic for an error a query's run raised: its message, at
69
+ * the jq node that raised it.
70
+ *
71
+ * @param checked - what {@link checkJq} made of the query that ran
72
+ * @param message - the error's message, as the runtime raised it
73
+ * @param at - the 1-based line and column in the jq text the error names, when
74
+ * it names one: a translation's IR carries each node's place in the jq, which
75
+ * a runtime reports with the error (`at jq:2:26`)
76
+ * @returns the diagnostic: `runtime`, its message led by the code, and its span
77
+ * the node that raised it — `none` when the error names no place in the jq
78
+ *
79
+ * @remarks
80
+ * The node that raised it is the innermost that starts at that line and
81
+ * column and can raise: a literal, `.` or a variable, which can start at the
82
+ * same place, cannot. When no node that can raise starts there, the span is
83
+ * empty, at that place. {@link evaluateJq} places the errors of the runs it
84
+ * makes so, and a host that runs a query elsewhere — as one-shot runs a
85
+ * translation — places what the runtime reported the same way.
86
+ *
87
+ * @example
88
+ * ```ts
89
+ * const checked = checkJq("[.[] | 10 / .]", ArrayType(IntegerType));
90
+ * runtimeErrorAt(checked, "Division by zero", { line: 1, column: 8 });
91
+ * // { code: "runtime", message: "runtime: Division by zero", span: some({ line: 1n, column: 8n, offset: 7n, length: 6n }), … }
92
+ * ```
93
+ */
94
+ export declare function runtimeErrorAt(checked: CheckJqResult, message: string, at?: {
95
+ readonly line: number;
96
+ readonly column: number;
97
+ }): QueryDiagnostic;
98
+ //# sourceMappingURL=evaluate.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"evaluate.d.ts","sourceRoot":"","sources":["../../../src/query/evaluate.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAWH,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,gBAAgB,CAAC;AAGvD,OAAO,KAAK,EAAE,QAAQ,EAAE,WAAW,EAAE,MAAM,aAAa,CAAC;AACzD,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,YAAY,CAAC;AACjD,OAAO,EAAW,KAAK,aAAa,EAAE,MAAM,eAAe,CAAC;AAM5D,0EAA0E;AAC1E,MAAM,MAAM,eAAe,GAAG,WAAW,CAAC,OAAO,cAAc,CAAC,CAAC;AAEjE;;;;;;;;;GASG;AACH,qBAAa,UAAW,SAAQ,KAAK;IACnC,2CAA2C;IAC3C,QAAQ,CAAC,WAAW,EAAE,eAAe,EAAE,CAAC;IAExC;;OAEG;gBACS,WAAW,EAAE,eAAe,EAAE;CAS3C;AAED,sCAAsC;AACtC,MAAM,WAAW,iBAAiB;IAChC,wDAAwD;IACxD,SAAS,CAAC,EAAE,QAAQ,CAAC;IACrB,2HAA2H;IAC3H,IAAI,CAAC,EAAE,OAAO,CAAC;IACf,6GAA6G;IAC7G,OAAO,CAAC,EAAE,OAAO,CAAC;IAClB,2EAA2E;IAC3E,QAAQ,CAAC,EAAE,gBAAgB,EAAE,CAAC;CAC/B;AAcD;;;;;;;;;;;;;;;;;;;;;;;;;GAyBG;AACH,wBAAgB,UAAU,CAAC,OAAO,EAAE,MAAM,GAAG,aAAa,EAAE,KAAK,EAAE,OAAO,EAAE,OAAO,GAAE,iBAAsB,GAAG,OAAO,CAYpH;AA8BD;;;;;;;;;;;;;;;;;;;;;;;;;;GA0BG;AACH,wBAAgB,cAAc,CAAC,OAAO,EAAE,aAAa,EAAE,OAAO,EAAE,MAAM,EAAE,EAAE,CAAC,EAAE;IAAE,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAC;IAAC,QAAQ,CAAC,MAAM,EAAE,MAAM,CAAA;CAAE,GAAG,eAAe,CAahJ"}