@elaraai/east 1.0.79 → 1.0.81

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 (379) hide show
  1. package/README.md +1 -1
  2. package/dist/src/builtins.d.ts +1 -1
  3. package/dist/src/builtins.d.ts.map +1 -1
  4. package/dist/src/builtins.js +19 -0
  5. package/dist/src/builtins.js.map +1 -1
  6. package/dist/src/codegen/spellings.d.ts.map +1 -1
  7. package/dist/src/codegen/spellings.js +3 -0
  8. package/dist/src/codegen/spellings.js.map +1 -1
  9. package/dist/src/comparison.d.ts +54 -0
  10. package/dist/src/comparison.d.ts.map +1 -1
  11. package/dist/src/comparison.equivalent.spec.d.ts +6 -0
  12. package/dist/src/comparison.equivalent.spec.d.ts.map +1 -0
  13. package/dist/src/comparison.equivalent.spec.js +130 -0
  14. package/dist/src/comparison.equivalent.spec.js.map +1 -0
  15. package/dist/src/comparison.js +97 -25
  16. package/dist/src/comparison.js.map +1 -1
  17. package/dist/src/compile/builtins/array.d.ts +60 -0
  18. package/dist/src/compile/builtins/array.d.ts.map +1 -0
  19. package/dist/src/compile/builtins/array.js +691 -0
  20. package/dist/src/compile/builtins/array.js.map +1 -0
  21. package/dist/src/compile/builtins/blob.d.ts +18 -0
  22. package/dist/src/compile/builtins/blob.d.ts.map +1 -0
  23. package/dist/src/compile/builtins/blob.js +150 -0
  24. package/dist/src/compile/builtins/blob.js.map +1 -0
  25. package/dist/src/compile/builtins/compare.d.ts +18 -0
  26. package/dist/src/compile/builtins/compare.d.ts.map +1 -0
  27. package/dist/src/compile/builtins/compare.js +52 -0
  28. package/dist/src/compile/builtins/compare.js.map +1 -0
  29. package/dist/src/compile/builtins/datetime.d.ts +21 -0
  30. package/dist/src/compile/builtins/datetime.d.ts.map +1 -0
  31. package/dist/src/compile/builtins/datetime.js +46 -0
  32. package/dist/src/compile/builtins/datetime.js.map +1 -0
  33. package/dist/src/compile/builtins/dict.d.ts +47 -0
  34. package/dist/src/compile/builtins/dict.d.ts.map +1 -0
  35. package/dist/src/compile/builtins/dict.js +576 -0
  36. package/dist/src/compile/builtins/dict.js.map +1 -0
  37. package/dist/src/compile/builtins/index.d.ts +9 -0
  38. package/dist/src/compile/builtins/index.d.ts.map +1 -0
  39. package/dist/src/compile/builtins/index.js +28 -0
  40. package/dist/src/compile/builtins/index.js.map +1 -0
  41. package/dist/src/compile/builtins/matrix.d.ts +31 -0
  42. package/dist/src/compile/builtins/matrix.d.ts.map +1 -0
  43. package/dist/src/compile/builtins/matrix.js +310 -0
  44. package/dist/src/compile/builtins/matrix.js.map +1 -0
  45. package/dist/src/compile/builtins/primitives.d.ts +36 -0
  46. package/dist/src/compile/builtins/primitives.d.ts.map +1 -0
  47. package/dist/src/compile/builtins/primitives.js +67 -0
  48. package/dist/src/compile/builtins/primitives.js.map +1 -0
  49. package/dist/src/compile/builtins/ref.d.ts +11 -0
  50. package/dist/src/compile/builtins/ref.d.ts.map +1 -0
  51. package/dist/src/compile/builtins/ref.js +30 -0
  52. package/dist/src/compile/builtins/ref.js.map +1 -0
  53. package/dist/src/compile/builtins/set.d.ts +42 -0
  54. package/dist/src/compile/builtins/set.d.ts.map +1 -0
  55. package/dist/src/compile/builtins/set.js +410 -0
  56. package/dist/src/compile/builtins/set.js.map +1 -0
  57. package/dist/src/compile/builtins/sparse.d.ts +19 -0
  58. package/dist/src/compile/builtins/sparse.d.ts.map +1 -0
  59. package/dist/src/compile/builtins/sparse.js +143 -0
  60. package/dist/src/compile/builtins/sparse.js.map +1 -0
  61. package/dist/src/compile/builtins/string.d.ts +34 -0
  62. package/dist/src/compile/builtins/string.d.ts.map +1 -0
  63. package/dist/src/compile/builtins/string.js +238 -0
  64. package/dist/src/compile/builtins/string.js.map +1 -0
  65. package/dist/src/compile/builtins/tree.d.ts +32 -0
  66. package/dist/src/compile/builtins/tree.d.ts.map +1 -0
  67. package/dist/src/compile/builtins/tree.js +108 -0
  68. package/dist/src/compile/builtins/tree.js.map +1 -0
  69. package/dist/src/compile/builtins/vector.d.ts +44 -0
  70. package/dist/src/compile/builtins/vector.d.ts.map +1 -0
  71. package/dist/src/compile/builtins/vector.js +463 -0
  72. package/dist/src/compile/builtins/vector.js.map +1 -0
  73. package/dist/src/compile/constructors.d.ts +13 -0
  74. package/dist/src/compile/constructors.d.ts.map +1 -0
  75. package/dist/src/compile/constructors.js +179 -0
  76. package/dist/src/compile/constructors.js.map +1 -0
  77. package/dist/src/compile/control.d.ts +13 -0
  78. package/dist/src/compile/control.d.ts.map +1 -0
  79. package/dist/src/compile/control.js +513 -0
  80. package/dist/src/compile/control.js.map +1 -0
  81. package/dist/src/compile/functions.d.ts +13 -0
  82. package/dist/src/compile/functions.d.ts.map +1 -0
  83. package/dist/src/compile/functions.js +492 -0
  84. package/dist/src/compile/functions.js.map +1 -0
  85. package/dist/src/compile/ir.d.ts +19 -0
  86. package/dist/src/compile/ir.d.ts.map +1 -0
  87. package/dist/src/compile/ir.js +193 -0
  88. package/dist/src/compile/ir.js.map +1 -0
  89. package/dist/src/compile/runtime.d.ts +75 -0
  90. package/dist/src/compile/runtime.d.ts.map +1 -0
  91. package/dist/src/compile/runtime.js +114 -0
  92. package/dist/src/compile/runtime.js.map +1 -0
  93. package/dist/src/compile/type_parameters.d.ts +4 -0
  94. package/dist/src/compile/type_parameters.d.ts.map +1 -0
  95. package/dist/src/compile/type_parameters.js +55 -0
  96. package/dist/src/compile/type_parameters.js.map +1 -0
  97. package/dist/src/compile/typed_arrays.d.ts +28 -0
  98. package/dist/src/compile/typed_arrays.d.ts.map +1 -0
  99. package/dist/src/compile/typed_arrays.js +77 -0
  100. package/dist/src/compile/typed_arrays.js.map +1 -0
  101. package/dist/src/compile.d.ts +6 -41
  102. package/dist/src/compile.d.ts.map +1 -1
  103. package/dist/src/compile.js +8 -4415
  104. package/dist/src/compile.js.map +1 -1
  105. package/dist/src/compile.open_beast.spec.js +5 -4
  106. package/dist/src/compile.open_beast.spec.js.map +1 -1
  107. package/dist/src/compile.signature.spec.d.ts +6 -0
  108. package/dist/src/compile.signature.spec.d.ts.map +1 -0
  109. package/dist/src/compile.signature.spec.js +53 -0
  110. package/dist/src/compile.signature.spec.js.map +1 -0
  111. package/dist/src/containers/sortedmap.d.ts +2 -1
  112. package/dist/src/containers/sortedmap.d.ts.map +1 -1
  113. package/dist/src/containers/sortedmap.js +4 -2
  114. package/dist/src/containers/sortedmap.js.map +1 -1
  115. package/dist/src/containers/sortedset.d.ts +2 -1
  116. package/dist/src/containers/sortedset.d.ts.map +1 -1
  117. package/dist/src/containers/sortedset.js +4 -2
  118. package/dist/src/containers/sortedset.js.map +1 -1
  119. package/dist/src/error.d.ts +15 -0
  120. package/dist/src/error.d.ts.map +1 -1
  121. package/dist/src/error.js +16 -0
  122. package/dist/src/error.js.map +1 -1
  123. package/dist/src/expr/array.d.ts +158 -81
  124. package/dist/src/expr/array.d.ts.map +1 -1
  125. package/dist/src/expr/array.js +68 -51
  126. package/dist/src/expr/array.js.map +1 -1
  127. package/dist/src/expr/ast.d.ts.map +1 -1
  128. package/dist/src/expr/ast.js +13 -0
  129. package/dist/src/expr/ast.js.map +1 -1
  130. package/dist/src/expr/blob.d.ts +8 -8
  131. package/dist/src/expr/blob.js +8 -8
  132. package/dist/src/expr/block.d.ts +18 -5
  133. package/dist/src/expr/block.d.ts.map +1 -1
  134. package/dist/src/expr/block.js +19 -0
  135. package/dist/src/expr/block.js.map +1 -1
  136. package/dist/src/expr/boolean.d.ts +10 -10
  137. package/dist/src/expr/boolean.js +10 -10
  138. package/dist/src/expr/datetime.d.ts +28 -28
  139. package/dist/src/expr/datetime.js +28 -28
  140. package/dist/src/expr/dict.d.ts +101 -51
  141. package/dist/src/expr/dict.d.ts.map +1 -1
  142. package/dist/src/expr/dict.js +97 -36
  143. package/dist/src/expr/dict.js.map +1 -1
  144. package/dist/src/expr/float.d.ts +23 -23
  145. package/dist/src/expr/float.js +23 -23
  146. package/dist/src/expr/integer.d.ts +17 -17
  147. package/dist/src/expr/integer.js +11 -11
  148. package/dist/src/expr/libs/array.d.ts +6 -6
  149. package/dist/src/expr/libs/array.js +6 -6
  150. package/dist/src/expr/libs/blob.d.ts +2 -2
  151. package/dist/src/expr/libs/blob.js +2 -2
  152. package/dist/src/expr/libs/datetime.d.ts +25 -25
  153. package/dist/src/expr/libs/datetime.js +25 -25
  154. package/dist/src/expr/libs/dict.d.ts +2 -2
  155. package/dist/src/expr/libs/dict.js +2 -2
  156. package/dist/src/expr/libs/float.d.ts +15 -15
  157. package/dist/src/expr/libs/float.js +15 -15
  158. package/dist/src/expr/libs/integer.d.ts +12 -12
  159. package/dist/src/expr/libs/integer.js +12 -12
  160. package/dist/src/expr/libs/set.d.ts +2 -2
  161. package/dist/src/expr/libs/set.js +2 -2
  162. package/dist/src/expr/libs/string.d.ts +4 -4
  163. package/dist/src/expr/libs/string.js +4 -4
  164. package/dist/src/expr/recursive.d.ts +22 -5
  165. package/dist/src/expr/recursive.d.ts.map +1 -1
  166. package/dist/src/expr/recursive.js +22 -5
  167. package/dist/src/expr/recursive.js.map +1 -1
  168. package/dist/src/expr/ref.d.ts +5 -5
  169. package/dist/src/expr/ref.js +5 -5
  170. package/dist/src/expr/set.d.ts +96 -51
  171. package/dist/src/expr/set.d.ts.map +1 -1
  172. package/dist/src/expr/set.js +85 -29
  173. package/dist/src/expr/set.js.map +1 -1
  174. package/dist/src/expr/string.d.ts +28 -28
  175. package/dist/src/expr/string.js +28 -28
  176. package/dist/src/expr/struct.d.ts.map +1 -1
  177. package/dist/src/expr/struct.js +2 -2
  178. package/dist/src/expr/variant.d.ts +12 -12
  179. package/dist/src/expr/variant.js +7 -7
  180. package/dist/src/function_symbols.d.ts +28 -0
  181. package/dist/src/function_symbols.d.ts.map +1 -0
  182. package/dist/src/function_symbols.js +28 -0
  183. package/dist/src/function_symbols.js.map +1 -0
  184. package/dist/src/index.d.ts +1 -0
  185. package/dist/src/index.d.ts.map +1 -1
  186. package/dist/src/index.js +1 -0
  187. package/dist/src/index.js.map +1 -1
  188. package/dist/src/location.d.ts +32 -0
  189. package/dist/src/location.d.ts.map +1 -1
  190. package/dist/src/location.js +38 -0
  191. package/dist/src/location.js.map +1 -1
  192. package/dist/src/location.spec.js +89 -1
  193. package/dist/src/location.spec.js.map +1 -1
  194. package/dist/src/patch/index.d.ts +1 -1
  195. package/dist/src/patch/index.d.ts.map +1 -1
  196. package/dist/src/patch/index.js +1 -1
  197. package/dist/src/patch/index.js.map +1 -1
  198. package/dist/src/patch/type_of_patch.d.ts +25 -1
  199. package/dist/src/patch/type_of_patch.d.ts.map +1 -1
  200. package/dist/src/patch/type_of_patch.js +33 -10
  201. package/dist/src/patch/type_of_patch.js.map +1 -1
  202. package/dist/src/platform.spec.js +19 -1
  203. package/dist/src/platform.spec.js.map +1 -1
  204. package/dist/src/runner_protocol.d.ts +357 -0
  205. package/dist/src/runner_protocol.d.ts.map +1 -0
  206. package/dist/src/runner_protocol.js +154 -0
  207. package/dist/src/runner_protocol.js.map +1 -0
  208. package/dist/src/serialization/beast2/index.d.ts +22 -5
  209. package/dist/src/serialization/beast2/index.d.ts.map +1 -1
  210. package/dist/src/serialization/beast2/index.js +13 -2
  211. package/dist/src/serialization/beast2/index.js.map +1 -1
  212. package/dist/src/serialization/beast2/index.spec.js +84 -3
  213. package/dist/src/serialization/beast2/index.spec.js.map +1 -1
  214. package/dist/src/serialization/beast2/shared.d.ts +32 -3
  215. package/dist/src/serialization/beast2/shared.d.ts.map +1 -1
  216. package/dist/src/serialization/beast2/shared.js +135 -10
  217. package/dist/src/serialization/beast2/shared.js.map +1 -1
  218. package/dist/src/serialization/beast2/v4/container.d.ts.map +1 -1
  219. package/dist/src/serialization/beast2/v4/container.js +5 -3
  220. package/dist/src/serialization/beast2/v4/container.js.map +1 -1
  221. package/dist/src/serialization/beast2/v5/aliasing.spec.d.ts +6 -0
  222. package/dist/src/serialization/beast2/v5/aliasing.spec.d.ts.map +1 -0
  223. package/dist/src/serialization/beast2/v5/aliasing.spec.js +75 -0
  224. package/dist/src/serialization/beast2/v5/aliasing.spec.js.map +1 -0
  225. package/dist/src/serialization/beast2/v5/boundary.d.ts +176 -0
  226. package/dist/src/serialization/beast2/v5/boundary.d.ts.map +1 -0
  227. package/dist/src/serialization/beast2/v5/boundary.js +297 -0
  228. package/dist/src/serialization/beast2/v5/boundary.js.map +1 -0
  229. package/dist/src/serialization/beast2/v5/boundary.spec.d.ts +6 -0
  230. package/dist/src/serialization/beast2/v5/boundary.spec.d.ts.map +1 -0
  231. package/dist/src/serialization/beast2/v5/boundary.spec.js +479 -0
  232. package/dist/src/serialization/beast2/v5/boundary.spec.js.map +1 -0
  233. package/dist/src/serialization/beast2/v5/canonical.d.ts +101 -0
  234. package/dist/src/serialization/beast2/v5/canonical.d.ts.map +1 -0
  235. package/dist/src/serialization/beast2/v5/canonical.js +436 -0
  236. package/dist/src/serialization/beast2/v5/canonical.js.map +1 -0
  237. package/dist/src/serialization/beast2/v5/canonical.spec.d.ts +6 -0
  238. package/dist/src/serialization/beast2/v5/canonical.spec.d.ts.map +1 -0
  239. package/dist/src/serialization/beast2/v5/canonical.spec.js +124 -0
  240. package/dist/src/serialization/beast2/v5/canonical.spec.js.map +1 -0
  241. package/dist/src/serialization/beast2/v5/codec.d.ts +6 -5
  242. package/dist/src/serialization/beast2/v5/codec.d.ts.map +1 -1
  243. package/dist/src/serialization/beast2/v5/codec.js +18 -3
  244. package/dist/src/serialization/beast2/v5/codec.js.map +1 -1
  245. package/dist/src/serialization/beast2/v5/deflate.d.ts +24 -2
  246. package/dist/src/serialization/beast2/v5/deflate.d.ts.map +1 -1
  247. package/dist/src/serialization/beast2/v5/deflate.js +47 -12
  248. package/dist/src/serialization/beast2/v5/deflate.js.map +1 -1
  249. package/dist/src/serialization/beast2/v5/deflate.spec.js +15 -1
  250. package/dist/src/serialization/beast2/v5/deflate.spec.js.map +1 -1
  251. package/dist/src/serialization/beast2/v5/elements.d.ts +66 -0
  252. package/dist/src/serialization/beast2/v5/elements.d.ts.map +1 -0
  253. package/dist/src/serialization/beast2/v5/elements.js +325 -0
  254. package/dist/src/serialization/beast2/v5/elements.js.map +1 -0
  255. package/dist/src/serialization/beast2/v5/elements.spec.d.ts +6 -0
  256. package/dist/src/serialization/beast2/v5/elements.spec.d.ts.map +1 -0
  257. package/dist/src/serialization/beast2/v5/elements.spec.js +161 -0
  258. package/dist/src/serialization/beast2/v5/elements.spec.js.map +1 -0
  259. package/dist/src/serialization/beast2/v5/frame-pool.d.ts +62 -21
  260. package/dist/src/serialization/beast2/v5/frame-pool.d.ts.map +1 -1
  261. package/dist/src/serialization/beast2/v5/frame-pool.js +138 -27
  262. package/dist/src/serialization/beast2/v5/frame-pool.js.map +1 -1
  263. package/dist/src/serialization/beast2/v5/frame-pool.spec.js +198 -71
  264. package/dist/src/serialization/beast2/v5/frame-pool.spec.js.map +1 -1
  265. package/dist/src/serialization/beast2/v5/frame-worker.js +25 -15
  266. package/dist/src/serialization/beast2/v5/frame-worker.js.map +1 -1
  267. package/dist/src/serialization/beast2/v5/frames.d.ts +22 -12
  268. package/dist/src/serialization/beast2/v5/frames.d.ts.map +1 -1
  269. package/dist/src/serialization/beast2/v5/frames.js +52 -27
  270. package/dist/src/serialization/beast2/v5/frames.js.map +1 -1
  271. package/dist/src/serialization/beast2/v5/geometry.d.ts +38 -1
  272. package/dist/src/serialization/beast2/v5/geometry.d.ts.map +1 -1
  273. package/dist/src/serialization/beast2/v5/geometry.js +73 -1
  274. package/dist/src/serialization/beast2/v5/geometry.js.map +1 -1
  275. package/dist/src/serialization/beast2/v5/geometry.spec.js +34 -23
  276. package/dist/src/serialization/beast2/v5/geometry.spec.js.map +1 -1
  277. package/dist/src/serialization/beast2/v5/index.spec.js +32 -28
  278. package/dist/src/serialization/beast2/v5/index.spec.js.map +1 -1
  279. package/dist/src/serialization/beast2/v5/intake.d.ts +98 -0
  280. package/dist/src/serialization/beast2/v5/intake.d.ts.map +1 -0
  281. package/dist/src/serialization/beast2/v5/intake.js +462 -0
  282. package/dist/src/serialization/beast2/v5/intake.js.map +1 -0
  283. package/dist/src/serialization/beast2/v5/intake.spec.d.ts +6 -0
  284. package/dist/src/serialization/beast2/v5/intake.spec.d.ts.map +1 -0
  285. package/dist/src/serialization/beast2/v5/intake.spec.js +202 -0
  286. package/dist/src/serialization/beast2/v5/intake.spec.js.map +1 -0
  287. package/dist/src/serialization/beast2/v5/lazy.d.ts +42 -1
  288. package/dist/src/serialization/beast2/v5/lazy.d.ts.map +1 -1
  289. package/dist/src/serialization/beast2/v5/lazy.js +143 -28
  290. package/dist/src/serialization/beast2/v5/lazy.js.map +1 -1
  291. package/dist/src/serialization/beast2/v5/lazy.spec.js +102 -24
  292. package/dist/src/serialization/beast2/v5/lazy.spec.js.map +1 -1
  293. package/dist/src/serialization/beast2/v5/manifest-writer.d.ts +110 -0
  294. package/dist/src/serialization/beast2/v5/manifest-writer.d.ts.map +1 -0
  295. package/dist/src/serialization/beast2/v5/manifest-writer.js +118 -0
  296. package/dist/src/serialization/beast2/v5/manifest-writer.js.map +1 -0
  297. package/dist/src/serialization/beast2/v5/manifest-writer.spec.d.ts +6 -0
  298. package/dist/src/serialization/beast2/v5/manifest-writer.spec.d.ts.map +1 -0
  299. package/dist/src/serialization/beast2/v5/manifest-writer.spec.js +207 -0
  300. package/dist/src/serialization/beast2/v5/manifest-writer.spec.js.map +1 -0
  301. package/dist/src/serialization/beast2/v5/manifest.d.ts +241 -0
  302. package/dist/src/serialization/beast2/v5/manifest.d.ts.map +1 -0
  303. package/dist/src/serialization/beast2/v5/manifest.js +233 -0
  304. package/dist/src/serialization/beast2/v5/manifest.js.map +1 -0
  305. package/dist/src/serialization/beast2/v5/merge.d.ts +93 -0
  306. package/dist/src/serialization/beast2/v5/merge.d.ts.map +1 -0
  307. package/dist/src/serialization/beast2/v5/merge.js +202 -0
  308. package/dist/src/serialization/beast2/v5/merge.js.map +1 -0
  309. package/dist/src/serialization/beast2/v5/merge.spec.d.ts +6 -0
  310. package/dist/src/serialization/beast2/v5/merge.spec.d.ts.map +1 -0
  311. package/dist/src/serialization/beast2/v5/merge.spec.js +118 -0
  312. package/dist/src/serialization/beast2/v5/merge.spec.js.map +1 -0
  313. package/dist/src/serialization/beast2/v5/recut.d.ts +143 -0
  314. package/dist/src/serialization/beast2/v5/recut.d.ts.map +1 -0
  315. package/dist/src/serialization/beast2/v5/recut.js +365 -0
  316. package/dist/src/serialization/beast2/v5/recut.js.map +1 -0
  317. package/dist/src/serialization/beast2/v5/recut.spec.d.ts +6 -0
  318. package/dist/src/serialization/beast2/v5/recut.spec.d.ts.map +1 -0
  319. package/dist/src/serialization/beast2/v5/recut.spec.js +215 -0
  320. package/dist/src/serialization/beast2/v5/recut.spec.js.map +1 -0
  321. package/dist/src/serialization/beast2/v5/runs.d.ts +148 -0
  322. package/dist/src/serialization/beast2/v5/runs.d.ts.map +1 -0
  323. package/dist/src/serialization/beast2/v5/runs.js +260 -0
  324. package/dist/src/serialization/beast2/v5/runs.js.map +1 -0
  325. package/dist/src/serialization/beast2/v5/runs.spec.d.ts +6 -0
  326. package/dist/src/serialization/beast2/v5/runs.spec.d.ts.map +1 -0
  327. package/dist/src/serialization/beast2/v5/runs.spec.js +182 -0
  328. package/dist/src/serialization/beast2/v5/runs.spec.js.map +1 -0
  329. package/dist/src/serialization/beast2/v5/sha256.d.ts +19 -0
  330. package/dist/src/serialization/beast2/v5/sha256.d.ts.map +1 -0
  331. package/dist/src/serialization/beast2/v5/sha256.js +103 -0
  332. package/dist/src/serialization/beast2/v5/sha256.js.map +1 -0
  333. package/dist/src/serialization/beast2/v5/sha256.spec.d.ts +6 -0
  334. package/dist/src/serialization/beast2/v5/sha256.spec.d.ts.map +1 -0
  335. package/dist/src/serialization/beast2/v5/sha256.spec.js +42 -0
  336. package/dist/src/serialization/beast2/v5/sha256.spec.js.map +1 -0
  337. package/dist/src/serialization/beast2/v5/stream.d.ts +273 -86
  338. package/dist/src/serialization/beast2/v5/stream.d.ts.map +1 -1
  339. package/dist/src/serialization/beast2/v5/stream.js +576 -244
  340. package/dist/src/serialization/beast2/v5/stream.js.map +1 -1
  341. package/dist/src/serialization/beast2/v5/sync-reader.spec.js +24 -10
  342. package/dist/src/serialization/beast2/v5/sync-reader.spec.js.map +1 -1
  343. package/dist/src/serialization/index.d.ts +1 -1
  344. package/dist/src/serialization/index.d.ts.map +1 -1
  345. package/dist/src/serialization/index.js +1 -1
  346. package/dist/src/serialization/index.js.map +1 -1
  347. package/dist/src/serialization/json.d.ts +28 -0
  348. package/dist/src/serialization/json.d.ts.map +1 -1
  349. package/dist/src/serialization/json.js +141 -30
  350. package/dist/src/serialization/json.js.map +1 -1
  351. package/dist/src/serialization/json.spec.js +47 -2
  352. package/dist/src/serialization/json.spec.js.map +1 -1
  353. package/dist/src/serialization/json_schema.d.ts +15 -11
  354. package/dist/src/serialization/json_schema.d.ts.map +1 -1
  355. package/dist/src/serialization/json_schema.js +21 -36
  356. package/dist/src/serialization/json_schema.js.map +1 -1
  357. package/dist/src/serialization/json_schema.spec.js +26 -32
  358. package/dist/src/serialization/json_schema.spec.js.map +1 -1
  359. package/dist/src/serialization/json_schema_to_type.d.ts +10 -5
  360. package/dist/src/serialization/json_schema_to_type.d.ts.map +1 -1
  361. package/dist/src/serialization/json_schema_to_type.js +13 -6
  362. package/dist/src/serialization/json_schema_to_type.js.map +1 -1
  363. package/dist/src/serialization/json_schema_to_type.spec.js +19 -0
  364. package/dist/src/serialization/json_schema_to_type.spec.js.map +1 -1
  365. package/dist/src/string_order.d.ts +36 -0
  366. package/dist/src/string_order.d.ts.map +1 -0
  367. package/dist/src/string_order.js +64 -0
  368. package/dist/src/string_order.js.map +1 -0
  369. package/dist/src/string_order.spec.d.ts +6 -0
  370. package/dist/src/string_order.spec.d.ts.map +1 -0
  371. package/dist/src/string_order.spec.js +79 -0
  372. package/dist/src/string_order.spec.js.map +1 -0
  373. package/dist/src/type_of_type.d.ts +17 -0
  374. package/dist/src/type_of_type.d.ts.map +1 -1
  375. package/dist/src/type_of_type.js +66 -0
  376. package/dist/src/type_of_type.js.map +1 -1
  377. package/dist/src/type_of_type.to_etv.spec.js +69 -1
  378. package/dist/src/type_of_type.to_etv.spec.js.map +1 -1
  379. package/package.json +1 -1
@@ -0,0 +1,410 @@
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 { compareFor } from "../../comparison.js";
6
+ import { call_function, FROZEN_MESSAGE, iterationLocks, lockForIteration, unlockForIteration } from "../runtime.js";
7
+ import { SortedMap } from "../../containers/sortedmap.js";
8
+ import { SortedSet } from "../../containers/sortedset.js";
9
+ import { variant } from "../../containers/variant.js";
10
+ import { EastError } from "../../error.js";
11
+ import { isFrozenValue } from "../../frozen.js";
12
+ import { printFor } from "../../serialization/east.js";
13
+ import { buildTree, treeOrder } from "./tree.js";
14
+ /** The builtins for Sets. @internal */
15
+ export const set_builtins = {
16
+ SetGenerate: (loc_id, source_map, _platformDef, K) => {
17
+ const keyComparer = compareFor(K);
18
+ return (size, keyFn, onConflict) => {
19
+ const result = new SortedSet([], keyComparer);
20
+ for (let i = 0n; i < size; i += 1n) {
21
+ const k = call_function(loc_id, source_map, keyFn, i);
22
+ if (result.has(k)) {
23
+ call_function(loc_id, source_map, onConflict, k);
24
+ }
25
+ else {
26
+ result.add(k);
27
+ }
28
+ }
29
+ return result;
30
+ };
31
+ },
32
+ SetSize: (_loc_id, _source_map, _platformDef, _K) => (s) => BigInt(s.size),
33
+ SetHas: (_loc_id, _source_map, _platformDef, _K) => (s, key) => s.has(key),
34
+ SetInsert: (loc_id, source_map, _platformDef, K) => {
35
+ const print = printFor(K);
36
+ return (s, key) => {
37
+ if (isFrozenValue(s)) {
38
+ throw new EastError(FROZEN_MESSAGE, { location: (source_map?.resolve(loc_id) ?? []) });
39
+ }
40
+ if ((iterationLocks.get(s) || 0) > 0) {
41
+ throw new EastError("Cannot modify Set during iteration", { location: (source_map?.resolve(loc_id) ?? []) });
42
+ }
43
+ const size_before = s.size;
44
+ s.add(key);
45
+ if (s.size === size_before) {
46
+ throw new EastError(`Set already contains key ${print(key)}`, { location: (source_map?.resolve(loc_id) ?? []) });
47
+ }
48
+ return null;
49
+ };
50
+ },
51
+ SetTryInsert: (loc_id, source_map, _platformDef, _K) => (s, key) => {
52
+ if (isFrozenValue(s)) {
53
+ throw new EastError(FROZEN_MESSAGE, { location: (source_map?.resolve(loc_id) ?? []) });
54
+ }
55
+ if ((iterationLocks.get(s) || 0) > 0) {
56
+ throw new EastError("Cannot modify Set during iteration", { location: (source_map?.resolve(loc_id) ?? []) });
57
+ }
58
+ const size_before = s.size;
59
+ s.add(key);
60
+ return s.size > size_before;
61
+ },
62
+ SetDelete: (loc_id, source_map, _platformDef, K) => {
63
+ const print = printFor(K);
64
+ return (s, key) => {
65
+ if (isFrozenValue(s)) {
66
+ throw new EastError(FROZEN_MESSAGE, { location: (source_map?.resolve(loc_id) ?? []) });
67
+ }
68
+ if ((iterationLocks.get(s) || 0) > 0) {
69
+ throw new EastError("Cannot modify Set during iteration", { location: (source_map?.resolve(loc_id) ?? []) });
70
+ }
71
+ if (!s.delete(key)) {
72
+ throw new EastError(`Set does not contain key ${print(key)}`, { location: (source_map?.resolve(loc_id) ?? []) });
73
+ }
74
+ return null;
75
+ };
76
+ },
77
+ SetTryDelete: (loc_id, source_map, _platformDef, _K) => (s, key) => {
78
+ if (isFrozenValue(s)) {
79
+ throw new EastError(FROZEN_MESSAGE, { location: (source_map?.resolve(loc_id) ?? []) });
80
+ }
81
+ if ((iterationLocks.get(s) || 0) > 0) {
82
+ throw new EastError("Cannot modify Set during iteration", { location: (source_map?.resolve(loc_id) ?? []) });
83
+ }
84
+ return s.delete(key);
85
+ },
86
+ SetClear: (loc_id, source_map, _platformDef, _K) => (s) => {
87
+ if (isFrozenValue(s)) {
88
+ throw new EastError(FROZEN_MESSAGE, { location: (source_map?.resolve(loc_id) ?? []) });
89
+ }
90
+ if ((iterationLocks.get(s) || 0) > 0) {
91
+ throw new EastError("Cannot modify Set during iteration", { location: (source_map?.resolve(loc_id) ?? []) });
92
+ }
93
+ s.clear();
94
+ return null;
95
+ },
96
+ SetUnionInPlace: (loc_id, source_map, _platformDef, _K) => (s1, s2) => {
97
+ if (isFrozenValue(s1)) {
98
+ throw new EastError(FROZEN_MESSAGE, { location: (source_map?.resolve(loc_id) ?? []) });
99
+ }
100
+ if ((iterationLocks.get(s1) || 0) > 0) {
101
+ throw new EastError("Cannot modify Set during iteration", { location: (source_map?.resolve(loc_id) ?? []) });
102
+ }
103
+ s2.forEach(v => s1.add(v));
104
+ return null;
105
+ },
106
+ SetUnion: (_loc_id, _source_map, _platformDef, _K) => (s1, s2) => s1.union(s2),
107
+ SetIntersect: (_loc_id, _source_map, _platformDef, _K) => (s1, s2) => s1.intersection(s2),
108
+ SetDiff: (_loc_id, _source_map, _platformDef, _K) => (s1, s2) => s1.difference(s2),
109
+ SetSymDiff: (_loc_id, _source_map, _platformDef, _K) => (s1, s2) => s1.symmetricDifference(s2),
110
+ SetIsSubset: (_loc_id, _source_map, _platformDef, _K) => (s1, s2) => s1.isSubsetOf(s2),
111
+ SetIsDisjoint: (_loc_id, _source_map, _platformDef, _K) => (s1, s2) => s1.isDisjointFrom(s2),
112
+ SetCopy: (loc_id, source_map, _platformDef, K) => {
113
+ const compare = compareFor(K);
114
+ return (s) => {
115
+ return new SortedSet([...s], compare);
116
+ };
117
+ },
118
+ SetForEach: (loc_id, source_map, _platformDef, _K, _T2) => (s, f) => {
119
+ lockForIteration(s);
120
+ try {
121
+ s.forEach(x => {
122
+ call_function(loc_id, source_map, f, x);
123
+ });
124
+ return null;
125
+ }
126
+ finally {
127
+ unlockForIteration(s);
128
+ }
129
+ },
130
+ SetFilter: (loc_id, source_map, _platformDef, K) => {
131
+ const compare = compareFor(K);
132
+ return (s, f) => {
133
+ const result = new SortedSet([], compare);
134
+ lockForIteration(s);
135
+ try {
136
+ s.forEach(x => {
137
+ const keep = call_function(loc_id, source_map, f, x);
138
+ if (keep) {
139
+ result.add(x);
140
+ }
141
+ });
142
+ return result;
143
+ }
144
+ finally {
145
+ unlockForIteration(s);
146
+ }
147
+ };
148
+ },
149
+ SetFilterMap: (loc_id, source_map, _platformDef, K, _V2) => {
150
+ const compare = compareFor(K);
151
+ return (s, f) => {
152
+ const result = new SortedMap([], compare);
153
+ lockForIteration(s);
154
+ try {
155
+ s.forEach(k => {
156
+ const v2 = call_function(loc_id, source_map, f, k);
157
+ if (v2.type === "some") {
158
+ result.set(k, v2.value);
159
+ }
160
+ });
161
+ return result;
162
+ }
163
+ finally {
164
+ unlockForIteration(s);
165
+ }
166
+ };
167
+ },
168
+ SetFirstMap: (loc_id, source_map, _platformDef, _K, _T2) => (s, f) => {
169
+ lockForIteration(s);
170
+ try {
171
+ for (const k of s) {
172
+ const v = call_function(loc_id, source_map, f, k);
173
+ if (v.type === "some") {
174
+ return v;
175
+ }
176
+ }
177
+ return variant("none", null);
178
+ }
179
+ finally {
180
+ unlockForIteration(s);
181
+ }
182
+ },
183
+ SetMapReduce: (loc_id, source_map, _platformDef, _K, _T2) => (s, mapFn, reduceFn) => {
184
+ if (s.size === 0) {
185
+ throw new EastError("Cannot reduce empty set with no initial value", { location: (source_map?.resolve(loc_id) ?? []) });
186
+ }
187
+ lockForIteration(s);
188
+ try {
189
+ const iterator = s[Symbol.iterator]();
190
+ const first = iterator.next().value;
191
+ let acc = call_function(loc_id, source_map, mapFn, first);
192
+ for (const k of iterator) {
193
+ const mapped = call_function(loc_id, source_map, mapFn, k);
194
+ acc = call_function(loc_id, source_map, reduceFn, acc, mapped);
195
+ }
196
+ return acc;
197
+ }
198
+ finally {
199
+ unlockForIteration(s);
200
+ }
201
+ },
202
+ SetMap: (loc_id, source_map, _platformDef, K, _T2) => {
203
+ const compare = compareFor(K);
204
+ return (s, f) => {
205
+ const result = new SortedMap([], compare);
206
+ lockForIteration(s);
207
+ try {
208
+ s.forEach(x => {
209
+ const v = call_function(loc_id, source_map, f, x);
210
+ result.set(x, v);
211
+ });
212
+ return result;
213
+ }
214
+ finally {
215
+ unlockForIteration(s);
216
+ }
217
+ };
218
+ },
219
+ SetReduce: (loc_id, source_map, _platformDef, _K, _T2) => (s, f, init) => {
220
+ let acc = init;
221
+ lockForIteration(s);
222
+ try {
223
+ for (const x of s) {
224
+ acc = call_function(loc_id, source_map, f, acc, x);
225
+ }
226
+ return acc;
227
+ }
228
+ finally {
229
+ unlockForIteration(s);
230
+ }
231
+ },
232
+ SetScan: (loc_id, source_map, _platformDef, _K, _T2) => (s, f, init) => {
233
+ const result = [];
234
+ let acc = init;
235
+ lockForIteration(s);
236
+ try {
237
+ for (const x of s) {
238
+ acc = call_function(loc_id, source_map, f, acc, x);
239
+ result.push(acc);
240
+ }
241
+ return result;
242
+ }
243
+ finally {
244
+ unlockForIteration(s);
245
+ }
246
+ },
247
+ SetToArray: (loc_id, source_map, _platformDef, _K, _T2) => (s, valueFn) => {
248
+ const ret = [];
249
+ lockForIteration(s);
250
+ try {
251
+ for (const k of s) {
252
+ const v = call_function(loc_id, source_map, valueFn, k);
253
+ ret.push(v);
254
+ }
255
+ return ret;
256
+ }
257
+ finally {
258
+ unlockForIteration(s);
259
+ }
260
+ },
261
+ SetToSet: (loc_id, source_map, _platformDef, K, K2) => {
262
+ const compare = compareFor(K2);
263
+ return (s, f) => {
264
+ const result = new SortedSet([], compare);
265
+ lockForIteration(s);
266
+ try {
267
+ for (const x of s) {
268
+ const v = call_function(loc_id, source_map, f, x);
269
+ result.add(v);
270
+ }
271
+ ;
272
+ return result;
273
+ }
274
+ finally {
275
+ unlockForIteration(s);
276
+ }
277
+ };
278
+ },
279
+ SetToDict: (loc_id, source_map, _platformDef, K, K2, _V2) => {
280
+ const compare = compareFor(K2);
281
+ return (s, keyFn, valueFn, onConflict) => {
282
+ const result = new SortedMap([], compare);
283
+ lockForIteration(s);
284
+ try {
285
+ for (const k of s) {
286
+ const k2 = call_function(loc_id, source_map, keyFn, k);
287
+ let v2 = call_function(loc_id, source_map, valueFn, k);
288
+ const existing = result.get(k2);
289
+ if (existing !== undefined) {
290
+ v2 = call_function(loc_id, source_map, onConflict, existing, v2, k2);
291
+ result.set(k2, v2);
292
+ }
293
+ else {
294
+ result.set(k2, v2);
295
+ }
296
+ }
297
+ return result;
298
+ }
299
+ finally {
300
+ unlockForIteration(s);
301
+ }
302
+ };
303
+ },
304
+ SetFlattenToArray: (loc_id, source_map, _platformDef, _K, _T2) => (s, fn) => {
305
+ const ret = [];
306
+ lockForIteration(s);
307
+ try {
308
+ for (const k of s) {
309
+ const subarray = call_function(loc_id, source_map, fn, k);
310
+ ret.push(...subarray);
311
+ }
312
+ return ret;
313
+ }
314
+ finally {
315
+ unlockForIteration(s);
316
+ }
317
+ },
318
+ SetFlattenToSet: (loc_id, source_map, _platformDef, _K, K2) => {
319
+ const compare = compareFor(K2);
320
+ return (s, fn) => {
321
+ const result = new SortedSet([], compare);
322
+ lockForIteration(s);
323
+ try {
324
+ for (const k of s) {
325
+ const subset = call_function(loc_id, source_map, fn, k);
326
+ for (const k2 of subset) {
327
+ result.add(k2);
328
+ }
329
+ }
330
+ return result;
331
+ }
332
+ finally {
333
+ unlockForIteration(s);
334
+ }
335
+ };
336
+ },
337
+ SetFlattenToDict: (loc_id, source_map, _platformDef, _K, K2, _V2) => {
338
+ const compare = compareFor(K2);
339
+ return (s, fn, onConflict) => {
340
+ const result = new SortedMap([], compare);
341
+ lockForIteration(s);
342
+ try {
343
+ for (const k of s) {
344
+ const subdict = call_function(loc_id, source_map, fn, k);
345
+ for (const [k2, v2] of subdict.entries()) {
346
+ const existing = result.get(k2);
347
+ if (existing === undefined) {
348
+ result.set(k2, v2);
349
+ }
350
+ else {
351
+ const new_v2 = call_function(loc_id, source_map, onConflict, existing, v2, k2);
352
+ result.set(k2, new_v2);
353
+ }
354
+ }
355
+ }
356
+ return result;
357
+ }
358
+ finally {
359
+ unlockForIteration(s);
360
+ }
361
+ };
362
+ },
363
+ SetGroupFold: (loc_id, source_map, _platformDef, _K, K2, _T2) => {
364
+ const compare = compareFor(K2);
365
+ return (s, keyFn, init, folder) => {
366
+ const result = new SortedMap([], compare);
367
+ lockForIteration(s);
368
+ try {
369
+ for (const k of s) {
370
+ const k2 = call_function(loc_id, source_map, keyFn, k);
371
+ let existing = result.get(k2);
372
+ if (existing === undefined) {
373
+ existing = call_function(loc_id, source_map, init, k2);
374
+ }
375
+ const new_val = call_function(loc_id, source_map, folder, existing, k);
376
+ result.set(k2, new_val);
377
+ }
378
+ return result;
379
+ }
380
+ finally {
381
+ unlockForIteration(s);
382
+ }
383
+ };
384
+ },
385
+ SetToTree: (loc_id, source_map, _platformDef, K, _N) => {
386
+ const compare = compareFor(K);
387
+ const print = printFor(K);
388
+ return (s, parentFn, buildFn) => {
389
+ lockForIteration(s);
390
+ try {
391
+ const keys = [...s];
392
+ const index = new SortedMap(keys.map((k, i) => [k, i]), compare);
393
+ const parents = new Int32Array(keys.length);
394
+ for (let i = 0; i < keys.length; i++) {
395
+ const p = call_function(loc_id, source_map, parentFn, keys[i]);
396
+ parents[i] = p.type === "some" ? (index.get(p.value) ?? -1) : -1;
397
+ }
398
+ const { order, childCounts, cycle } = treeOrder(parents);
399
+ if (cycle >= 0) {
400
+ throw new EastError(`toTree: cycle through key ${print(keys[cycle])}`, { location: (source_map?.resolve(loc_id) ?? []) });
401
+ }
402
+ return buildTree(order, childCounts, (i, children) => call_function(loc_id, source_map, buildFn, keys[i], children));
403
+ }
404
+ finally {
405
+ unlockForIteration(s);
406
+ }
407
+ };
408
+ },
409
+ };
410
+ //# sourceMappingURL=set.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"set.js","sourceRoot":"","sources":["../../../../src/compile/builtins/set.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,19 @@
1
+ import type { SourceMap } from "../../location.js";
2
+ import type { PlatformFunction } from "../../platform.js";
3
+ import type { EastTypeValue } from "../../type_of_type.js";
4
+ /** The builtins for sparse accumulators over Vectors. @internal */
5
+ export declare const sparse_builtins: {
6
+ SparseAxpy: (loc_id: bigint, source_map: SourceMap | null, _platformDef: PlatformFunction[], T: EastTypeValue) => (ixA: BigInt64Array, vA: Float64Array | BigInt64Array, ixB: BigInt64Array, vB: Float64Array | BigInt64Array, alpha: any) => {
7
+ ix: BigInt64Array<ArrayBuffer>;
8
+ v: Float64Array<ArrayBuffer> | BigInt64Array<ArrayBuffer>;
9
+ };
10
+ SparseFromPairs: (loc_id: bigint, source_map: SourceMap | null, _platformDef: PlatformFunction[], T: EastTypeValue) => (ix: BigInt64Array, v: Float64Array | BigInt64Array) => {
11
+ ix: BigInt64Array<ArrayBuffer>;
12
+ v: Float64Array<ArrayBuffer> | BigInt64Array<ArrayBuffer>;
13
+ };
14
+ SparseFilterGt: (loc_id: bigint, source_map: SourceMap | null, _platformDef: PlatformFunction[], T: EastTypeValue) => (ix: BigInt64Array, v: Float64Array | BigInt64Array, threshold: any) => {
15
+ ix: BigInt64Array<ArrayBuffer>;
16
+ v: Float64Array<ArrayBuffer> | BigInt64Array<ArrayBuffer>;
17
+ };
18
+ };
19
+ //# sourceMappingURL=sparse.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"sparse.d.ts","sourceRoot":"","sources":["../../../../src/compile/builtins/sparse.ts"],"names":[],"mappings":"AAQA,OAAO,KAAK,EAAY,SAAS,EAAE,MAAM,mBAAmB,CAAC;AAC7D,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,mBAAmB,CAAC;AAC1D,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,uBAAuB,CAAC;AAE3D,mEAAmE;AACnE,eAAO,MAAM,eAAe;yBAKL,MAAM,cAAc,SAAS,GAAG,IAAI,gBAAgB,gBAAgB,EAAE,KAAK,aAAa,WAE9F,aAAa,MAAM,YAAY,GAAG,aAAa,OAAO,aAAa,MAAM,YAAY,GAAG,aAAa,SAAS,GAAG;;;;8BAoDtG,MAAM,cAAc,SAAS,GAAG,IAAI,gBAAgB,gBAAgB,EAAE,KAAK,aAAa,UAEpG,aAAa,KAAK,YAAY,GAAG,aAAa;;;;6BAqCnC,MAAM,cAAc,SAAS,GAAG,IAAI,gBAAgB,gBAAgB,EAAE,KAAK,aAAa,UAGnG,aAAa,KAAK,YAAY,GAAG,aAAa,aAAa,GAAG;;;;CAmBjD,CAAC"}
@@ -0,0 +1,143 @@
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 { greaterFor } from "../../comparison.js";
6
+ import { requireNumericElem, requireSparse, wrapI64 } from "../typed_arrays.js";
7
+ import { EastError } from "../../error.js";
8
+ /** The builtins for sparse accumulators over Vectors. @internal */
9
+ export const sparse_builtins = {
10
+ // Sparse accumulators: parallel (ix, v) with strictly ascending ix.
11
+ // Entries absent from a side are structurally absent, not explicit zeros:
12
+ // an A-only entry passes through unscaled, a B-only entry contributes
13
+ // alpha*vB even when alpha is NaN or infinite.
14
+ SparseAxpy: (loc_id, source_map, _platformDef, T) => {
15
+ const elem = requireNumericElem("SparseAxpy", T, loc_id, source_map);
16
+ return (ixA, vA, ixB, vB, alpha) => {
17
+ requireSparse(ixA, vA, loc_id, source_map);
18
+ requireSparse(ixB, vB, loc_id, source_map);
19
+ let count = 0;
20
+ let i = 0;
21
+ let j = 0;
22
+ while (i < ixA.length && j < ixB.length) {
23
+ const a = ixA[i];
24
+ const b = ixB[j];
25
+ if (a < b)
26
+ i++;
27
+ else if (b < a)
28
+ j++;
29
+ else {
30
+ i++;
31
+ j++;
32
+ }
33
+ count++;
34
+ }
35
+ count += (ixA.length - i) + (ixB.length - j);
36
+ const outIx = new BigInt64Array(count);
37
+ const outV = elem === "Float" ? new Float64Array(count) : new BigInt64Array(count);
38
+ i = 0;
39
+ j = 0;
40
+ let k = 0;
41
+ while (i < ixA.length && j < ixB.length) {
42
+ const a = ixA[i];
43
+ const b = ixB[j];
44
+ if (a < b) {
45
+ outIx[k] = a;
46
+ outV[k] = vA[i];
47
+ i++;
48
+ }
49
+ else if (b < a) {
50
+ outIx[k] = b;
51
+ outV[k] = elem === "Float" ? alpha * vB[j] : wrapI64(alpha * vB[j]);
52
+ j++;
53
+ }
54
+ else {
55
+ outIx[k] = a;
56
+ outV[k] = elem === "Float"
57
+ ? vA[i] + alpha * vB[j]
58
+ : wrapI64(vA[i] + wrapI64(alpha * vB[j]));
59
+ i++;
60
+ j++;
61
+ }
62
+ k++;
63
+ }
64
+ for (; i < ixA.length; i++, k++) {
65
+ outIx[k] = ixA[i];
66
+ outV[k] = vA[i];
67
+ }
68
+ for (; j < ixB.length; j++, k++) {
69
+ outIx[k] = ixB[j];
70
+ outV[k] = elem === "Float" ? alpha * vB[j] : wrapI64(alpha * vB[j]);
71
+ }
72
+ return { ix: outIx, v: outV };
73
+ };
74
+ },
75
+ SparseFromPairs: (loc_id, source_map, _platformDef, T) => {
76
+ const elem = requireNumericElem("SparseFromPairs", T, loc_id, source_map);
77
+ return (ix, v) => {
78
+ if (ix.length !== v.length) {
79
+ throw new EastError(`Sparse index and value lengths differ (${ix.length} vs ${v.length})`, { location: (source_map?.resolve(loc_id) ?? []) });
80
+ }
81
+ // Stable: order by (index, original position) so equal indices
82
+ // accumulate in input order and the float result is deterministic.
83
+ const order = new Array(ix.length);
84
+ for (let i = 0; i < ix.length; i++)
85
+ order[i] = i;
86
+ order.sort((p, q) => {
87
+ const a = ix[p];
88
+ const b = ix[q];
89
+ if (a < b)
90
+ return -1;
91
+ if (a > b)
92
+ return 1;
93
+ return p - q;
94
+ });
95
+ let count = 0;
96
+ for (let i = 0; i < order.length; i++) {
97
+ if (i === 0 || ix[order[i]] !== ix[order[i - 1]])
98
+ count++;
99
+ }
100
+ const outIx = new BigInt64Array(count);
101
+ const outV = elem === "Float" ? new Float64Array(count) : new BigInt64Array(count);
102
+ let k = -1;
103
+ for (let i = 0; i < order.length; i++) {
104
+ const p = order[i];
105
+ if (i === 0 || ix[p] !== outIx[k]) {
106
+ k++;
107
+ outIx[k] = ix[p];
108
+ outV[k] = v[p];
109
+ }
110
+ else {
111
+ outV[k] = elem === "Float"
112
+ ? (outV[k]) + v[p]
113
+ : wrapI64((outV[k]) + v[p]);
114
+ }
115
+ }
116
+ return { ix: outIx, v: outV };
117
+ };
118
+ },
119
+ SparseFilterGt: (loc_id, source_map, _platformDef, T) => {
120
+ const elem = requireNumericElem("SparseFilterGt", T, loc_id, source_map);
121
+ const greater = greaterFor(T);
122
+ return (ix, v, threshold) => {
123
+ requireSparse(ix, v, loc_id, source_map);
124
+ let count = 0;
125
+ for (let i = 0; i < v.length; i++) {
126
+ if (greater(v[i], threshold))
127
+ count++;
128
+ }
129
+ const outIx = new BigInt64Array(count);
130
+ const outV = elem === "Float" ? new Float64Array(count) : new BigInt64Array(count);
131
+ let k = 0;
132
+ for (let i = 0; i < v.length; i++) {
133
+ if (greater(v[i], threshold)) {
134
+ outIx[k] = ix[i];
135
+ outV[k] = v[i];
136
+ k++;
137
+ }
138
+ }
139
+ return { ix: outIx, v: outV };
140
+ };
141
+ },
142
+ };
143
+ //# sourceMappingURL=sparse.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"sparse.js","sourceRoot":"","sources":["../../../../src/compile/builtins/sparse.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,34 @@
1
+ import type { SourceMap } from "../../location.js";
2
+ import type { PlatformFunction } from "../../platform.js";
3
+ import type { EastTypeValue } from "../../type_of_type.js";
4
+ /** The builtins for Strings: printing, parsing, regular expressions and JSON. @internal */
5
+ export declare const string_builtins: {
6
+ Print: (loc_id: bigint, source_map: SourceMap | null, _platformDef: PlatformFunction[], T: EastTypeValue) => (value: any, ctx?: {
7
+ refs: Map<any, string[]>;
8
+ currentPath: string[];
9
+ }) => string;
10
+ Parse: (loc_id: bigint, source_map: SourceMap | null, _platformDef: PlatformFunction[], T: EastTypeValue) => (x: string) => any;
11
+ StringConcat: (_loc_id: bigint, _source_map: SourceMap | null) => (x: string, y: string) => string;
12
+ StringRepeat: (_loc_id: bigint, _source_map: SourceMap | null) => (x: string, y: bigint) => string;
13
+ StringLength: (_loc_id: bigint, _source_map: SourceMap | null) => (x: string) => bigint;
14
+ StringSubstring: (_loc_id: bigint, _source_map: SourceMap | null) => (x: string, from: bigint, to: bigint) => string;
15
+ StringUpperCase: (_loc_id: bigint, _source_map: SourceMap | null) => (x: string) => string;
16
+ StringLowerCase: (_loc_id: bigint, _source_map: SourceMap | null) => (x: string) => string;
17
+ StringSplit: (_loc_id: bigint, _source_map: SourceMap | null) => (x: string, delimiter: string) => string[];
18
+ StringTrim: (_loc_id: bigint, _source_map: SourceMap | null) => (x: string) => string;
19
+ StringTrimStart: (_loc_id: bigint, _source_map: SourceMap | null) => (x: string) => string;
20
+ StringTrimEnd: (_loc_id: bigint, _source_map: SourceMap | null) => (x: string) => string;
21
+ StringStartsWith: (_loc_id: bigint, _source_map: SourceMap | null) => (x: string, prefix: string) => boolean;
22
+ StringEndsWith: (_loc_id: bigint, _source_map: SourceMap | null) => (x: string, suffix: string) => boolean;
23
+ StringContains: (_loc_id: bigint, _source_map: SourceMap | null) => (x: string, substring: string) => boolean;
24
+ StringIndexOf: (_loc_id: bigint, _source_map: SourceMap | null) => (x: string, substring: string) => bigint;
25
+ StringReplace: (_loc_id: bigint, _source_map: SourceMap | null) => (x: string, searchValue: string, replaceValue: string) => string;
26
+ RegexContains: (_loc_id: bigint, _source_map: SourceMap | null) => (text: string, pattern: string, flags: string) => boolean;
27
+ RegexIndexOf: (_loc_id: bigint, _source_map: SourceMap | null) => (text: string, pattern: string, flags: string) => bigint;
28
+ RegexReplace: (loc_id: bigint, source_map: SourceMap | null) => (text: string, pattern: string, flags: string, replacement: string) => string;
29
+ StringEncodeUtf8: (_loc_id: bigint, _source_map: SourceMap | null) => (x: string) => NodeJS.NonSharedUint8Array;
30
+ StringEncodeUtf16: (_loc_id: bigint, _source_map: SourceMap | null) => (x: string) => Uint8Array<ArrayBufferLike>;
31
+ StringParseJSON: (loc_id: bigint, source_map: SourceMap | null, _platformDef: PlatformFunction[], type: EastTypeValue) => (x: string) => any;
32
+ StringPrintJSON: (loc_id: bigint, source_map: SourceMap | null, _platformDef: PlatformFunction[], type: EastTypeValue) => (x: any) => string;
33
+ };
34
+ //# sourceMappingURL=string.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"string.d.ts","sourceRoot":"","sources":["../../../../src/compile/builtins/string.ts"],"names":[],"mappings":"AAMA,OAAO,KAAK,EAAY,SAAS,EAAE,MAAM,mBAAmB,CAAC;AAC7D,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,mBAAmB,CAAC;AAI1D,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,uBAAuB,CAAC;AAE3D,2FAA2F;AAC3F,eAAO,MAAM,eAAe;oBACV,MAAM,cAAc,SAAS,GAAG,IAAI,gBAAgB,gBAAgB,EAAE,KAAK,aAAa;;;;oBAGxF,MAAM,cAAc,SAAS,GAAG,IAAI,gBAAgB,gBAAgB,EAAE,KAAK,aAAa,SAE3F,MAAM;4BASK,MAAM,eAAe,SAAS,GAAG,IAAI,SAAS,MAAM,KAAK,MAAM;4BAC/D,MAAM,eAAe,SAAS,GAAG,IAAI,SAAS,MAAM,KAAK,MAAM;4BAC/D,MAAM,eAAe,SAAS,GAAG,IAAI,SAAS,MAAM;+BAKjD,MAAM,eAAe,SAAS,GAAG,IAAI,SAAS,MAAM,QAAQ,MAAM,MAAM,MAAM;+BAsC9E,MAAM,eAAe,SAAS,GAAG,IAAI,SAAS,MAAM;+BACpD,MAAM,eAAe,SAAS,GAAG,IAAI,SAAS,MAAM;2BACxD,MAAM,eAAe,SAAS,GAAG,IAAI,SAAS,MAAM,aAAa,MAAM;0BAYxE,MAAM,eAAe,SAAS,GAAG,IAAI,SAAS,MAAM;+BAC/C,MAAM,eAAe,SAAS,GAAG,IAAI,SAAS,MAAM;6BACtD,MAAM,eAAe,SAAS,GAAG,IAAI,SAAS,MAAM;gCACjD,MAAM,eAAe,SAAS,GAAG,IAAI,SAAS,MAAM,UAAU,MAAM;8BACtE,MAAM,eAAe,SAAS,GAAG,IAAI,SAAS,MAAM,UAAU,MAAM;8BACpE,MAAM,eAAe,SAAS,GAAG,IAAI,SAAS,MAAM,aAAa,MAAM;6BACxE,MAAM,eAAe,SAAS,GAAG,IAAI,SAAS,MAAM,aAAa,MAAM;6BAmBvE,MAAM,eAAe,SAAS,GAAG,IAAI,SAAS,MAAM,eAAe,MAAM,gBAAgB,MAAM;6BAI/F,MAAM,eAAe,SAAS,GAAG,IAAI,YAAY,MAAM,WAAW,MAAM,SAAS,MAAM;4BAIxF,MAAM,eAAe,SAAS,GAAG,IAAI,YAAY,MAAM,WAAW,MAAM,SAAS,MAAM;2BAiBxF,MAAM,cAAc,SAAS,GAAG,IAAI,YAAY,MAAM,WAAW,MAAM,SAAS,MAAM,eAAe,MAAM;gCAwDtG,MAAM,eAAe,SAAS,GAAG,IAAI,SAGpD,MAAM;iCAIU,MAAM,eAAe,SAAS,GAAG,IAAI,SAErD,MAAM;8BAWO,MAAM,cAAc,SAAS,GAAG,IAAI,gBAAgB,gBAAgB,EAAE,QAAQ,aAAa,SAExG,MAAM;8BAcO,MAAM,cAAc,SAAS,GAAG,IAAI,gBAAgB,gBAAgB,EAAE,QAAQ,aAAa,SAExG,GAAG;CAEW,CAAC"}