@elaraai/east 1.0.68 → 1.0.70

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 (132) hide show
  1. package/dist/src/ast.d.ts +2 -0
  2. package/dist/src/ast.d.ts.map +1 -1
  3. package/dist/src/ast_to_ir.d.ts +7 -3
  4. package/dist/src/ast_to_ir.d.ts.map +1 -1
  5. package/dist/src/ast_to_ir.js +62 -15
  6. package/dist/src/ast_to_ir.js.map +1 -1
  7. package/dist/src/builtins.d.ts +1 -1
  8. package/dist/src/builtins.d.ts.map +1 -1
  9. package/dist/src/builtins.js +7 -0
  10. package/dist/src/builtins.js.map +1 -1
  11. package/dist/src/codegen/codegen.spec.d.ts +6 -0
  12. package/dist/src/codegen/codegen.spec.d.ts.map +1 -0
  13. package/dist/src/codegen/codegen.spec.js +763 -0
  14. package/dist/src/codegen/codegen.spec.js.map +1 -0
  15. package/dist/src/codegen/doc.d.ts +111 -0
  16. package/dist/src/codegen/doc.d.ts.map +1 -0
  17. package/dist/src/codegen/doc.js +350 -0
  18. package/dist/src/codegen/doc.js.map +1 -0
  19. package/dist/src/codegen/doc.spec.d.ts +6 -0
  20. package/dist/src/codegen/doc.spec.d.ts.map +1 -0
  21. package/dist/src/codegen/doc.spec.js +86 -0
  22. package/dist/src/codegen/doc.spec.js.map +1 -0
  23. package/dist/src/codegen/index.d.ts +15 -0
  24. package/dist/src/codegen/index.d.ts.map +1 -0
  25. package/dist/src/codegen/index.js +15 -0
  26. package/dist/src/codegen/index.js.map +1 -0
  27. package/dist/src/codegen/printer.d.ts +63 -0
  28. package/dist/src/codegen/printer.d.ts.map +1 -0
  29. package/dist/src/codegen/printer.js +1529 -0
  30. package/dist/src/codegen/printer.js.map +1 -0
  31. package/dist/src/codegen/spellings.d.ts +73 -0
  32. package/dist/src/codegen/spellings.d.ts.map +1 -0
  33. package/dist/src/codegen/spellings.js +299 -0
  34. package/dist/src/codegen/spellings.js.map +1 -0
  35. package/dist/src/codegen/spellings.spec.d.ts +6 -0
  36. package/dist/src/codegen/spellings.spec.d.ts.map +1 -0
  37. package/dist/src/codegen/spellings.spec.js +191 -0
  38. package/dist/src/codegen/spellings.spec.js.map +1 -0
  39. package/dist/src/codegen/types.d.ts +67 -0
  40. package/dist/src/codegen/types.d.ts.map +1 -0
  41. package/dist/src/codegen/types.js +173 -0
  42. package/dist/src/codegen/types.js.map +1 -0
  43. package/dist/src/compile.d.ts.map +1 -1
  44. package/dist/src/compile.js +50 -2
  45. package/dist/src/compile.js.map +1 -1
  46. package/dist/src/compile.open_beast.spec.d.ts +6 -0
  47. package/dist/src/compile.open_beast.spec.d.ts.map +1 -0
  48. package/dist/src/compile.open_beast.spec.js +99 -0
  49. package/dist/src/compile.open_beast.spec.js.map +1 -0
  50. package/dist/src/expr/blob.d.ts +41 -1
  51. package/dist/src/expr/blob.d.ts.map +1 -1
  52. package/dist/src/expr/blob.js +52 -0
  53. package/dist/src/expr/blob.js.map +1 -1
  54. package/dist/src/expr/block.d.ts +148 -0
  55. package/dist/src/expr/block.d.ts.map +1 -1
  56. package/dist/src/expr/block.js +168 -4
  57. package/dist/src/expr/block.js.map +1 -1
  58. package/dist/src/expr/index.d.ts +155 -2
  59. package/dist/src/expr/index.d.ts.map +1 -1
  60. package/dist/src/expr/index.js +155 -2
  61. package/dist/src/expr/index.js.map +1 -1
  62. package/dist/src/expr/libs/datetime.d.ts +11 -0
  63. package/dist/src/expr/libs/datetime.d.ts.map +1 -1
  64. package/dist/src/expr/libs/datetime.js +11 -0
  65. package/dist/src/expr/libs/datetime.js.map +1 -1
  66. package/dist/src/functions.crossimport.spec.d.ts +6 -0
  67. package/dist/src/functions.crossimport.spec.d.ts.map +1 -0
  68. package/dist/src/functions.crossimport.spec.js +45 -0
  69. package/dist/src/functions.crossimport.spec.js.map +1 -0
  70. package/dist/src/functions.d.ts +4103 -0
  71. package/dist/src/functions.d.ts.map +1 -0
  72. package/dist/src/functions.js +443 -0
  73. package/dist/src/functions.js.map +1 -0
  74. package/dist/src/functions.spec.d.ts +6 -0
  75. package/dist/src/functions.spec.d.ts.map +1 -0
  76. package/dist/src/functions.spec.js +123 -0
  77. package/dist/src/functions.spec.js.map +1 -0
  78. package/dist/src/index.d.ts +2 -0
  79. package/dist/src/index.d.ts.map +1 -1
  80. package/dist/src/index.js +2 -0
  81. package/dist/src/index.js.map +1 -1
  82. package/dist/src/naming.d.ts +50 -0
  83. package/dist/src/naming.d.ts.map +1 -0
  84. package/dist/src/naming.js +194 -0
  85. package/dist/src/naming.js.map +1 -0
  86. package/dist/src/naming.spec.d.ts +6 -0
  87. package/dist/src/naming.spec.d.ts.map +1 -0
  88. package/dist/src/naming.spec.js +154 -0
  89. package/dist/src/naming.spec.js.map +1 -0
  90. package/dist/src/serialization/beast2/index.d.ts +16 -1
  91. package/dist/src/serialization/beast2/index.d.ts.map +1 -1
  92. package/dist/src/serialization/beast2/index.js +24 -3
  93. package/dist/src/serialization/beast2/index.js.map +1 -1
  94. package/dist/src/serialization/beast2/index.spec.js +25 -0
  95. package/dist/src/serialization/beast2/index.spec.js.map +1 -1
  96. package/dist/src/serialization/beast2/shared.d.ts +1 -1
  97. package/dist/src/serialization/beast2/shared.d.ts.map +1 -1
  98. package/dist/src/serialization/beast2/shared.js +9 -1
  99. package/dist/src/serialization/beast2/shared.js.map +1 -1
  100. package/dist/src/serialization/beast2/v4/container.d.ts +10 -0
  101. package/dist/src/serialization/beast2/v4/container.d.ts.map +1 -1
  102. package/dist/src/serialization/beast2/v4/container.js +13 -0
  103. package/dist/src/serialization/beast2/v4/container.js.map +1 -1
  104. package/dist/src/serialization/beast2/v5/frames.d.ts +17 -0
  105. package/dist/src/serialization/beast2/v5/frames.d.ts.map +1 -1
  106. package/dist/src/serialization/beast2/v5/frames.js +40 -0
  107. package/dist/src/serialization/beast2/v5/frames.js.map +1 -1
  108. package/dist/src/serialization/beast2/v5/geometry.d.ts +10 -113
  109. package/dist/src/serialization/beast2/v5/geometry.d.ts.map +1 -1
  110. package/dist/src/serialization/beast2/v5/geometry.js +7 -151
  111. package/dist/src/serialization/beast2/v5/geometry.js.map +1 -1
  112. package/dist/src/serialization/beast2/v5/lazy.d.ts +8 -2
  113. package/dist/src/serialization/beast2/v5/lazy.d.ts.map +1 -1
  114. package/dist/src/serialization/beast2/v5/lazy.js +9 -3
  115. package/dist/src/serialization/beast2/v5/lazy.js.map +1 -1
  116. package/dist/src/serialization/beast2/v5/range.d.ts +201 -0
  117. package/dist/src/serialization/beast2/v5/range.d.ts.map +1 -0
  118. package/dist/src/serialization/beast2/v5/range.js +252 -0
  119. package/dist/src/serialization/beast2/v5/range.js.map +1 -0
  120. package/dist/src/serialization/beast2/v5/stream.d.ts +29 -5
  121. package/dist/src/serialization/beast2/v5/stream.d.ts.map +1 -1
  122. package/dist/src/serialization/beast2/v5/stream.js +86 -19
  123. package/dist/src/serialization/beast2/v5/stream.js.map +1 -1
  124. package/dist/src/serialization/beast2/v5/sync-reader.spec.d.ts +6 -0
  125. package/dist/src/serialization/beast2/v5/sync-reader.spec.d.ts.map +1 -0
  126. package/dist/src/serialization/beast2/v5/sync-reader.spec.js +228 -0
  127. package/dist/src/serialization/beast2/v5/sync-reader.spec.js.map +1 -0
  128. package/dist/src/serialization/index.d.ts +1 -1
  129. package/dist/src/serialization/index.d.ts.map +1 -1
  130. package/dist/src/serialization/index.js +1 -1
  131. package/dist/src/serialization/index.js.map +1 -1
  132. package/package.json +11 -2
@@ -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=compile.open_beast.spec.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"compile.open_beast.spec.d.ts","sourceRoot":"","sources":["../../src/compile.open_beast.spec.ts"],"names":[],"mappings":"AAAA;;;GAGG"}
@@ -0,0 +1,99 @@
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
+ * The `blob.openBeast` builtin's laziness (#659): the compliance corpus pins
7
+ * its VALUES on every runtime, and this probe pins the mechanism — that the
8
+ * served reads answer from the pager and never hydrate, that the opened value
9
+ * is frozen, and that the not-pageable fallback is the whole frozen decode.
10
+ */
11
+ import { describe, test } from "node:test";
12
+ import assert from "node:assert/strict";
13
+ import { East, BlobType, IntegerType, StringType, StructType, DictType, ArrayType, SortedMap, compareFor, encodeBeast2PagedFor, encodeBeast2For, isFrozenValue, Beast2Pages, } from "./index.js";
14
+ const RowType = StructType({ id: IntegerType, name: StringType });
15
+ const TableType = DictType(IntegerType, RowType);
16
+ function table(n) {
17
+ return new SortedMap(Array.from({ length: n }, (_, i) => [BigInt(i), { id: BigInt(i), name: `row-${i}` }]), compareFor(IntegerType));
18
+ }
19
+ /** Counts calls of a prototype method for the duration of `run`. */
20
+ function countCalls(proto, name, run) {
21
+ const original = proto[name];
22
+ let calls = 0;
23
+ proto[name] = function (...args) {
24
+ calls++;
25
+ return original.apply(this, args);
26
+ };
27
+ try {
28
+ run();
29
+ }
30
+ finally {
31
+ proto[name] = original;
32
+ }
33
+ return calls;
34
+ }
35
+ describe("blob.openBeast — the lazy paged open at the expression level", () => {
36
+ // 30 rows in segments of 10: three segments, so a keyed read touches one.
37
+ const paged = encodeBeast2PagedFor(TableType, { batchSize: 10 })(table(30));
38
+ test("size, a keyed read and a for loop are served from the pager", () => {
39
+ const fn = East.function([BlobType], IntegerType, ($, blob) => {
40
+ const t = $.let(blob.openBeast(TableType));
41
+ const sum = $.let(t.size().add(t.get(7n).id));
42
+ $.for(t, ($, row) => {
43
+ $.assign(sum, sum.add(row.id));
44
+ });
45
+ return sum;
46
+ });
47
+ const compiled = East.compile(fn, []);
48
+ let segments = 0;
49
+ const keyed = countCalls(Beast2Pages.prototype, "get", () => {
50
+ segments = countCalls(Beast2Pages.prototype, "segment", () => {
51
+ assert.equal(compiled(paged), 37n + 435n);
52
+ });
53
+ });
54
+ assert.equal(keyed, 1, "one keyed read reaches the pager");
55
+ assert.equal(segments, 3, "the for loop streams each segment exactly once");
56
+ });
57
+ test("the opened value is frozen and stays un-hydrated after served reads", () => {
58
+ const fn = East.function([BlobType], TableType, ($, blob) => {
59
+ const t = $.let(blob.openBeast(TableType));
60
+ $(t.get(7n));
61
+ $(t.has(9999n));
62
+ return t;
63
+ });
64
+ const out = East.compile(fn, [])(paged);
65
+ assert.ok(out instanceof SortedMap);
66
+ assert.ok(isFrozenValue(out), "the opened value carries the frozen brand");
67
+ assert.equal(out.hydrated, false, "served reads never hydrate");
68
+ assert.equal(out.size, 30);
69
+ });
70
+ test("an index-less blob takes the whole frozen decode", () => {
71
+ const whole = encodeBeast2For(TableType)(table(30));
72
+ const fn = East.function([BlobType], TableType, ($, blob) => blob.openBeast(TableType));
73
+ const out = East.compile(fn, [])(whole);
74
+ assert.ok(out instanceof SortedMap);
75
+ assert.ok(isFrozenValue(out));
76
+ assert.equal(out.hydrated, undefined, "an eager SortedMap, not a lazy one");
77
+ assert.equal(out.get(7n)?.name, "row-7");
78
+ });
79
+ test("a non-collection type is refused when the expression is built", () => {
80
+ assert.throws(() => East.function([BlobType], IntegerType, ($, blob) => blob.openBeast(IntegerType)), /openBeast opens Array, Set or Dict blobs/);
81
+ });
82
+ test("a wire type mismatch is refused before any decode", () => {
83
+ const fn = East.function([BlobType], ArrayType(IntegerType), ($, blob) => blob.openBeast(ArrayType(IntegerType)));
84
+ const compiled = East.compile(fn, []);
85
+ assert.throws(() => compiled(paged), /cannot open a blob of type/);
86
+ });
87
+ test("a v4 container is checked by its header type too, then decodes whole and frozen", () => {
88
+ const v4 = encodeBeast2For(TableType, { version: 4 })(table(30));
89
+ const mismatch = East.compile(East.function([BlobType], ArrayType(IntegerType), ($, blob) => blob.openBeast(ArrayType(IntegerType))), []);
90
+ assert.throws(() => mismatch(v4), /cannot open a blob of type/);
91
+ const fn = East.function([BlobType], TableType, ($, blob) => blob.openBeast(TableType));
92
+ const out = East.compile(fn, [])(v4);
93
+ assert.ok(out instanceof SortedMap);
94
+ assert.ok(isFrozenValue(out));
95
+ assert.equal(out.hydrated, undefined, "a v4 blob has no index: the eager frozen decode");
96
+ assert.equal(out.get(7n)?.name, "row-7");
97
+ });
98
+ });
99
+ //# sourceMappingURL=compile.open_beast.spec.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"compile.open_beast.spec.js","sourceRoot":"","sources":["../../src/compile.open_beast.spec.ts"],"names":[],"mappings":"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"}
@@ -3,7 +3,7 @@
3
3
  * Dual-licensed under AGPL-3.0 and commercial license. See LICENSE for details.
4
4
  */
5
5
  import type { AST } from "../ast.js";
6
- import { type BlobType, type EastType, type StructType } from "../types.js";
6
+ import { ArrayType, type BlobType, type DictType, type EastType, type SetType, type StructType } from "../types.js";
7
7
  import { Expr, type ToExpr } from "./expr.js";
8
8
  import type { IntegerExpr } from "./integer.js";
9
9
  import type { StringExpr } from "./string.js";
@@ -145,6 +145,46 @@ export declare class BlobExpr extends Expr<BlobType> {
145
145
  * ```
146
146
  */
147
147
  decodeBeast<T extends EastType>(type: T, version?: 'v1' | 'v2'): ExprType<T>;
148
+ /**
149
+ * Opens an indexed beast2 v5 collection blob as a frozen lazy paged value.
150
+ *
151
+ * Reads the segment index can answer are served without decoding the whole
152
+ * collection: `size`, `get` / `tryGet` / `getOrDefault` / `has`, Array index
153
+ * reads, and `$.for` iteration, which streams one decoded segment at a time.
154
+ * Any other operation hydrates the whole value once, transparently, so the
155
+ * result is observationally the frozen whole decode. Frozen means the
156
+ * mutating builtins throw the uniform copy-first error and the collection
157
+ * compares by value under `East.is`.
158
+ *
159
+ * @param type - The Array, Set or Dict type of the encoded collection
160
+ * @returns An expression of `type` served from the blob's segment index
161
+ *
162
+ * @throws Error at build time if `type` is not an Array, Set or Dict type
163
+ * @throws East runtime error if the blob is not a beast2 encoding of `type`, or its v5 header declares a different type
164
+ *
165
+ * @remarks
166
+ * Paging needs the segmented, indexed, self-contained blobs the paged
167
+ * writers produce (`encodeBeast2PagedFor`, `Beast2Writer`, the runners'
168
+ * outputs, e3 datasets). A blob that cannot page — a v4 container, an
169
+ * index-less v5 blob such as `East.Blob.encodeBeast(value, 'v2')` writes,
170
+ * or an element shape carrying a `Ref` or a function value — decodes whole,
171
+ * frozen, with the same semantics. Only the beast2 family carries a
172
+ * container index, so there is no version argument.
173
+ *
174
+ * @example
175
+ * ```ts
176
+ * const RowType = StructType({ id: IntegerType, name: StringType });
177
+ * const TableType = DictType(IntegerType, RowType);
178
+ * const lookup = East.function([BlobType, IntegerType], StringType, ($, blob, key) => {
179
+ * const table = $.let(blob.openBeast(TableType));
180
+ * return table.get(key).name;
181
+ * });
182
+ * const compiled = East.compile(lookup, []);
183
+ * // Assume blob holds an indexed beast2 encoding of the table
184
+ * compiled(blob, 7n); // "row-7", decoding only the segment holding key 7
185
+ * ```
186
+ */
187
+ openBeast<T extends ArrayType | SetType | DictType>(type: T): ExprType<T>;
148
188
  /**
149
189
  * Decodes the blob as CSV data into an array of structs.
150
190
  *
@@ -1 +1 @@
1
- {"version":3,"file":"blob.d.ts","sourceRoot":"","sources":["../../../src/expr/blob.ts"],"names":[],"mappings":"AAAA;;;GAGG;AACH,OAAO,KAAK,EAAE,GAAG,EAAE,MAAM,WAAW,CAAC;AAErC,OAAO,EAAsC,KAAK,QAAQ,EAAE,KAAK,QAAQ,EAAE,KAAK,UAAU,EAAE,MAAM,aAAa,CAAC;AAEhH,OAAO,EAAa,IAAI,EAAiB,KAAK,MAAM,EAAE,MAAM,WAAW,CAAC;AACxE,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,cAAc,CAAC;AAChD,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,aAAa,CAAC;AAC9C,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,YAAY,CAAC;AAC3C,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,cAAc,CAAC;AAEhD,OAAO,EAA8C,KAAK,eAAe,EAAE,MAAM,yBAAyB,CAAC;AAC3G,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,YAAY,CAAC;AAE5C;;;;;;;;;;;;;;;;;;;;;;;GAuBG;AACH,qBAAa,QAAS,SAAQ,IAAI,CAAC,QAAQ,CAAC;gBAC9B,GAAG,EAAE,GAAG,EAAE,UAAU,EAAE,MAAM;IAIxC;;;;;;;;;;;;;;;OAeG;IACH,IAAI,IAAI,WAAW;IAWnB;;;;;;;;;;;;;;;;;;;OAmBG;IACH,QAAQ,CAAC,MAAM,EAAE,WAAW,GAAG,MAAM,GAAG,WAAW;IAanD;;;;;;;;;;;;;;;;;;;;;OAqBG;IACH,UAAU,IAAI,UAAU;IAWxB;;;;;;;;;;;;;;;;;;;OAmBG;IACH,WAAW,IAAI,UAAU;IAWzB;;;;;;;;;;;;;;;;;;;;;;;;OAwBG;IACH,WAAW,CAAC,CAAC,SAAS,QAAQ,EAAE,IAAI,EAAE,CAAC,EAAE,OAAO,GAAE,IAAI,GAAG,IAAW,GAAG,QAAQ,CAAC,CAAC,CAAC;IAwBlF;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;OAgCG;IACH,SAAS,CAAC,CAAC,SAAS,UAAU,EAAE,UAAU,EAAE,CAAC,EAAE,OAAO,CAAC,EAAE,eAAe,GAAG,SAAS,CAAC,CAAC,CAAC;IAevF;;;;;;;;;;;;;;;;;;OAkBG;IACH,MAAM,CAAC,KAAK,EAAE,QAAQ,GAAG,UAAU,GAAG,WAAW;IAIjD;;;;;;;;;;;;;;;;;OAiBG;IACH,SAAS,CAAC,KAAK,EAAE,QAAQ,GAAG,UAAU,GAAG,WAAW;IAQpD,+BAA+B;IAC/B,EAAE,UA/BY,QAAQ,GAAG,UAAU,KAAG,WAAW,CA+BhC;IACjB,+BAA+B;IAC/B,KAAK,UAjCS,QAAQ,GAAG,UAAU,KAAG,WAAW,CAiC7B;IAEpB,kCAAkC;IAClC,EAAE,UAde,QAAQ,GAAG,UAAU,KAAG,WAAW,CAchC;IACpB,kCAAkC;IAClC,QAAQ,UAhBS,QAAQ,GAAG,UAAU,KAAG,WAAW,CAgB1B;CAC3B"}
1
+ {"version":3,"file":"blob.d.ts","sourceRoot":"","sources":["../../../src/expr/blob.ts"],"names":[],"mappings":"AAAA;;;GAGG;AACH,OAAO,KAAK,EAAE,GAAG,EAAE,MAAM,WAAW,CAAC;AAErC,OAAO,EAAE,SAAS,EAA2B,KAAK,QAAQ,EAAE,KAAK,QAAQ,EAAE,KAAK,QAAQ,EAAE,KAAK,OAAO,EAAE,KAAK,UAAU,EAAE,MAAM,aAAa,CAAC;AAE7I,OAAO,EAAa,IAAI,EAAiB,KAAK,MAAM,EAAE,MAAM,WAAW,CAAC;AACxE,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,cAAc,CAAC;AAChD,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,aAAa,CAAC;AAC9C,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,YAAY,CAAC;AAC3C,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,cAAc,CAAC;AAEhD,OAAO,EAA8C,KAAK,eAAe,EAAE,MAAM,yBAAyB,CAAC;AAC3G,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,YAAY,CAAC;AAE5C;;;;;;;;;;;;;;;;;;;;;;;GAuBG;AACH,qBAAa,QAAS,SAAQ,IAAI,CAAC,QAAQ,CAAC;gBAC9B,GAAG,EAAE,GAAG,EAAE,UAAU,EAAE,MAAM;IAIxC;;;;;;;;;;;;;;;OAeG;IACH,IAAI,IAAI,WAAW;IAWnB;;;;;;;;;;;;;;;;;;;OAmBG;IACH,QAAQ,CAAC,MAAM,EAAE,WAAW,GAAG,MAAM,GAAG,WAAW;IAanD;;;;;;;;;;;;;;;;;;;;;OAqBG;IACH,UAAU,IAAI,UAAU;IAWxB;;;;;;;;;;;;;;;;;;;OAmBG;IACH,WAAW,IAAI,UAAU;IAWzB;;;;;;;;;;;;;;;;;;;;;;;;OAwBG;IACH,WAAW,CAAC,CAAC,SAAS,QAAQ,EAAE,IAAI,EAAE,CAAC,EAAE,OAAO,GAAE,IAAI,GAAG,IAAW,GAAG,QAAQ,CAAC,CAAC,CAAC;IAwBlF;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;OAsCG;IACH,SAAS,CAAC,CAAC,SAAS,SAAS,GAAG,OAAO,GAAG,QAAQ,EAAE,IAAI,EAAE,CAAC,GAAG,QAAQ,CAAC,CAAC,CAAC;IAczE;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;OAgCG;IACH,SAAS,CAAC,CAAC,SAAS,UAAU,EAAE,UAAU,EAAE,CAAC,EAAE,OAAO,CAAC,EAAE,eAAe,GAAG,SAAS,CAAC,CAAC,CAAC;IAevF;;;;;;;;;;;;;;;;;;OAkBG;IACH,MAAM,CAAC,KAAK,EAAE,QAAQ,GAAG,UAAU,GAAG,WAAW;IAIjD;;;;;;;;;;;;;;;;;OAiBG;IACH,SAAS,CAAC,KAAK,EAAE,QAAQ,GAAG,UAAU,GAAG,WAAW;IAQpD,+BAA+B;IAC/B,EAAE,UA/BY,QAAQ,GAAG,UAAU,KAAG,WAAW,CA+BhC;IACjB,+BAA+B;IAC/B,KAAK,UAjCS,QAAQ,GAAG,UAAU,KAAG,WAAW,CAiC7B;IAEpB,kCAAkC;IAClC,EAAE,UAde,QAAQ,GAAG,UAAU,KAAG,WAAW,CAchC;IACpB,kCAAkC;IAClC,QAAQ,UAhBS,QAAQ,GAAG,UAAU,KAAG,WAAW,CAgB1B;CAC3B"}
@@ -201,6 +201,58 @@ export class BlobExpr extends Expr {
201
201
  throw new Error(`Unsupported Beast version: ${version}`);
202
202
  }
203
203
  }
204
+ /**
205
+ * Opens an indexed beast2 v5 collection blob as a frozen lazy paged value.
206
+ *
207
+ * Reads the segment index can answer are served without decoding the whole
208
+ * collection: `size`, `get` / `tryGet` / `getOrDefault` / `has`, Array index
209
+ * reads, and `$.for` iteration, which streams one decoded segment at a time.
210
+ * Any other operation hydrates the whole value once, transparently, so the
211
+ * result is observationally the frozen whole decode. Frozen means the
212
+ * mutating builtins throw the uniform copy-first error and the collection
213
+ * compares by value under `East.is`.
214
+ *
215
+ * @param type - The Array, Set or Dict type of the encoded collection
216
+ * @returns An expression of `type` served from the blob's segment index
217
+ *
218
+ * @throws Error at build time if `type` is not an Array, Set or Dict type
219
+ * @throws East runtime error if the blob is not a beast2 encoding of `type`, or its v5 header declares a different type
220
+ *
221
+ * @remarks
222
+ * Paging needs the segmented, indexed, self-contained blobs the paged
223
+ * writers produce (`encodeBeast2PagedFor`, `Beast2Writer`, the runners'
224
+ * outputs, e3 datasets). A blob that cannot page — a v4 container, an
225
+ * index-less v5 blob such as `East.Blob.encodeBeast(value, 'v2')` writes,
226
+ * or an element shape carrying a `Ref` or a function value — decodes whole,
227
+ * frozen, with the same semantics. Only the beast2 family carries a
228
+ * container index, so there is no version argument.
229
+ *
230
+ * @example
231
+ * ```ts
232
+ * const RowType = StructType({ id: IntegerType, name: StringType });
233
+ * const TableType = DictType(IntegerType, RowType);
234
+ * const lookup = East.function([BlobType, IntegerType], StringType, ($, blob, key) => {
235
+ * const table = $.let(blob.openBeast(TableType));
236
+ * return table.get(key).name;
237
+ * });
238
+ * const compiled = East.compile(lookup, []);
239
+ * // Assume blob holds an indexed beast2 encoding of the table
240
+ * compiled(blob, 7n); // "row-7", decoding only the segment holding key 7
241
+ * ```
242
+ */
243
+ openBeast(type) {
244
+ if (type.type !== "Array" && type.type !== "Set" && type.type !== "Dict") {
245
+ throw new Error(`openBeast opens Array, Set or Dict blobs, not ${type.type} — use decodeBeast for other types`);
246
+ }
247
+ return this[FactorySymbol]({
248
+ ast_type: "Builtin",
249
+ type,
250
+ loc_id: get_location_id(),
251
+ builtin: "BlobOpenBeast2",
252
+ type_parameters: [type],
253
+ arguments: [this[AstSymbol]],
254
+ });
255
+ }
204
256
  /**
205
257
  * Decodes the blob as CSV data into an array of structs.
206
258
  *
@@ -1 +1 @@
1
- {"version":3,"file":"blob.js","sourceRoot":"","sources":["../../../src/expr/blob.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"blob.js","sourceRoot":"","sources":["../../../src/expr/blob.ts"],"names":[],"mappings":"AAKA,OAAO,EAAE,eAAe,EAAE,MAAM,gBAAgB,CAAC;AACjD,OAAO,EAAE,SAAS,EAAE,WAAW,EAAE,UAAU,EAA8E,MAAM,aAAa,CAAC;AAC7I,OAAO,EAAE,qBAAqB,EAAE,MAAM,UAAU,CAAC;AACjD,OAAO,EAAE,SAAS,EAAE,IAAI,EAAE,aAAa,EAAe,MAAM,WAAW,CAAC;AAKxE,OAAO,EAAE,KAAK,EAAE,QAAQ,EAAE,MAAM,YAAY,CAAC;AAC7C,OAAO,EAAE,kBAAkB,EAAE,sBAAsB,EAAwB,MAAM,yBAAyB,CAAC;AAG3G;;;;;;;;;;;;;;;;;;;;;;;GAuBG;AACH,MAAM,OAAO,QAAS,SAAQ,IAAc;IAC1C,YAAY,GAAQ,EAAE,UAAkB;QACtC,KAAK,CAAC,GAAG,CAAC,IAAgB,EAAE,GAAG,EAAE,UAAU,CAAC,CAAC;IAC/C,CAAC;IAED;;;;;;;;;;;;;;;OAeG;IACH,IAAI;QACF,OAAO,IAAI,CAAC,aAAa,CAAC,CAAC;YACzB,QAAQ,EAAE,SAAS;YACnB,IAAI,EAAE,WAAW;YACjB,MAAM,EAAE,eAAe,EAAE;YACzB,OAAO,EAAE,UAAU;YACnB,eAAe,EAAE,EAAE;YACnB,SAAS,EAAE,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC;SAC7B,CAAgB,CAAC;IACpB,CAAC;IAED;;;;;;;;;;;;;;;;;;;OAmBG;IACH,QAAQ,CAAC,MAA4B;QACnC,MAAM,SAAS,GAAG,qBAAqB,CAAC,MAAM,EAAE,WAAW,CAAC,CAAC;QAE7D,OAAO,IAAI,CAAC,aAAa,CAAC,CAAC;YACzB,QAAQ,EAAE,SAAS;YACnB,IAAI,EAAE,WAAW;YACjB,MAAM,EAAE,eAAe,EAAE;YACzB,OAAO,EAAE,cAAc;YACvB,eAAe,EAAE,EAAE;YACnB,SAAS,EAAE,CAAC,IAAI,CAAC,SAAS,CAAC,EAAE,SAAS,CAAC;SACxC,CAAQ,CAAC;IACZ,CAAC;IAED;;;;;;;;;;;;;;;;;;;;;OAqBG;IACH,UAAU;QACR,OAAO,IAAI,CAAC,aAAa,CAAC,CAAC;YACzB,QAAQ,EAAE,SAAS;YACnB,IAAI,EAAE,UAAU;YAChB,MAAM,EAAE,eAAe,EAAE;YACzB,OAAO,EAAE,gBAAgB;YACzB,eAAe,EAAE,EAAE;YACnB,SAAS,EAAE,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC;SAC7B,CAAe,CAAC;IACnB,CAAC;IAED;;;;;;;;;;;;;;;;;;;OAmBG;IACH,WAAW;QACT,OAAO,IAAI,CAAC,aAAa,CAAC,CAAC;YACzB,QAAQ,EAAE,SAAS;YACnB,IAAI,EAAE,UAAU;YAChB,MAAM,EAAE,eAAe,EAAE;YACzB,OAAO,EAAE,iBAAiB;YAC1B,eAAe,EAAE,EAAE;YACnB,SAAS,EAAE,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC;SAC7B,CAAe,CAAC;IACnB,CAAC;IAED;;;;;;;;;;;;;;;;;;;;;;;;OAwBG;IACH,WAAW,CAAqB,IAAO,EAAE,UAAuB,IAAI;QAClE,IAAI,OAAO,KAAK,IAAI,EAAE,CAAC;YACrB,OAAO,IAAI,CAAC,aAAa,CAAC,CAAC;gBACzB,QAAQ,EAAE,SAAS;gBACnB,IAAI;gBACJ,MAAM,EAAE,eAAe,EAAE;gBACzB,OAAO,EAAE,iBAAiB;gBAC1B,eAAe,EAAE,CAAC,IAAI,CAAC;gBACvB,SAAS,EAAE,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC;aAC7B,CAAgB,CAAC;QACpB,CAAC;aAAM,IAAI,OAAO,KAAK,IAAI,EAAE,CAAC;YAC5B,OAAO,IAAI,CAAC,aAAa,CAAC,CAAC;gBACzB,QAAQ,EAAE,SAAS;gBACnB,IAAI;gBACJ,MAAM,EAAE,eAAe,EAAE;gBACzB,OAAO,EAAE,kBAAkB;gBAC3B,eAAe,EAAE,CAAC,IAAI,CAAC;gBACvB,SAAS,EAAE,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC;aAC7B,CAAgB,CAAC;QACpB,CAAC;aAAM,CAAC;YACN,MAAM,IAAI,KAAK,CAAC,8BAA8B,OAAO,EAAE,CAAC,CAAC;QAC3D,CAAC;IACH,CAAC;IAED;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;OAsCG;IACH,SAAS,CAA2C,IAAO;QACzD,IAAI,IAAI,CAAC,IAAI,KAAK,OAAO,IAAI,IAAI,CAAC,IAAI,KAAK,KAAK,IAAI,IAAI,CAAC,IAAI,KAAK,MAAM,EAAE,CAAC;YACzE,MAAM,IAAI,KAAK,CAAC,iDAAkD,IAAiB,CAAC,IAAI,oCAAoC,CAAC,CAAC;QAChI,CAAC;QACD,OAAO,IAAI,CAAC,aAAa,CAAC,CAAC;YACzB,QAAQ,EAAE,SAAS;YACnB,IAAI;YACJ,MAAM,EAAE,eAAe,EAAE;YACzB,OAAO,EAAE,gBAAgB;YACzB,eAAe,EAAE,CAAC,IAAI,CAAC;YACvB,SAAS,EAAE,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC;SAC7B,CAAgB,CAAC;IACpB,CAAC;IAED;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;OAgCG;IACH,SAAS,CAAuB,UAAa,EAAE,OAAyB;QACtE,uCAAuC;QACvC,MAAM,WAAW,GAAG,sBAAsB,CAAC,OAAO,CAAC,CAAC;QACpD,MAAM,SAAS,GAAG,qBAAqB,CAAC,WAAW,EAAE,kBAAkB,CAAC,CAAC;QAEzE,OAAO,IAAI,CAAC,aAAa,CAAC,CAAC;YACzB,QAAQ,EAAE,SAAS;YACnB,IAAI,EAAE,SAAS,CAAC,UAAU,CAAC;YAC3B,MAAM,EAAE,eAAe,EAAE;YACzB,OAAO,EAAE,eAAe;YACxB,eAAe,EAAE,CAAC,UAAU,EAAE,kBAAkB,CAAC;YACjD,SAAS,EAAE,CAAC,IAAI,CAAC,SAAS,CAAC,EAAE,SAAS,CAAC;SACxC,CAAiB,CAAC;IACrB,CAAC;IAED;;;;;;;;;;;;;;;;;;OAkBG;IACH,MAAM,CAAC,KAA4B;QACjC,OAAO,KAAK,CAAC,IAAI,EAAE,KAAK,CAAC,CAAC;IAC5B,CAAC;IAED;;;;;;;;;;;;;;;;;OAiBG;IACH,SAAS,CAAC,KAA4B;QACpC,OAAO,QAAQ,CAAC,IAAI,EAAE,KAAK,CAAC,CAAC;IAC/B,CAAC;IAED,+EAA+E;IAC/E,oCAAoC;IACpC,+EAA+E;IAE/E,+BAA+B;IAC/B,EAAE,GAAG,IAAI,CAAC,MAAM,CAAC;IACjB,+BAA+B;IAC/B,KAAK,GAAG,IAAI,CAAC,MAAM,CAAC;IAEpB,kCAAkC;IAClC,EAAE,GAAG,IAAI,CAAC,SAAS,CAAC;IACpB,kCAAkC;IAClC,QAAQ,GAAG,IAAI,CAAC,SAAS,CAAC;CAC3B"}
@@ -14,6 +14,7 @@ import { StringExpr } from "./string.js";
14
14
  import { ArrayExpr } from "./array.js";
15
15
  import { SetExpr } from "./set.js";
16
16
  import { DictExpr } from "./dict.js";
17
+ import { RecursiveExpr } from "./recursive.js";
17
18
  import { type CallableFunctionExpr, FunctionExpr } from "./function.js";
18
19
  import type { PlatformFunction } from "../platform.js";
19
20
  import { type EastTypeValue } from "../type_of_type.js";
@@ -150,6 +151,73 @@ export declare const ge: typeof greaterEqual;
150
151
  * For immutable data types, such as integers and strings, this is equivalent to equality.
151
152
  */
152
153
  export declare function is<T>(left: Expr<T>, right: SubtypeExprOrValue<NoInfer<T>>): BooleanExpr;
154
+ /**
155
+ * Calls an East builtin by name — the raw spelling for a builtin the surface
156
+ * has no method for, and the form the codegen printers fall back to for one
157
+ * (`RAW_ONLY`). The python twin is `East.builtin`.
158
+ *
159
+ * @param name - The builtin's IR name, e.g. `"ArrayGetKeys"`
160
+ * @param typeParameters - Its type parameters, in declaration order
161
+ * @param args - Its arguments in IR order — expressions, values, or callbacks
162
+ * @param outputType - The type of the result
163
+ * @returns The `Builtin` expression, typed `outputType`
164
+ * @throws {Error} When `name` is not a builtin, or the type-parameter or
165
+ * argument counts do not match its declaration
166
+ *
167
+ * @example
168
+ * ```ts
169
+ * const size = East.function([ArrayType(IntegerType)], IntegerType, ($, xs) => {
170
+ * $.return(East.builtin("ArraySize", [IntegerType], [xs], IntegerType));
171
+ * });
172
+ * const compiled = East.compile(size, []);
173
+ * compiled([1n, 2n, 3n]); // 3n
174
+ * ```
175
+ */
176
+ export declare function builtin(name: string, typeParameters: EastType[], args: unknown[], outputType: EastType): Expr;
177
+ /**
178
+ * Widens a value to a declared supertype explicitly — an `As` node. The
179
+ * builder inserts the same node itself wherever a narrower value meets a
180
+ * wider declared type (a `$.const(x, T)`, a function argument), so this is
181
+ * the spelling for the other positions; the codegen printers spell every
182
+ * IR `As` with it. The python twin is `East.as_`.
183
+ *
184
+ * @param value - The value or expression to widen
185
+ * @param type - The wider type; the value's type must be a subtype of it
186
+ * @returns The value as an expression of `type`
187
+ * @throws {Error} When the value's type is not a subtype of `type`
188
+ *
189
+ * @example
190
+ * ```ts
191
+ * const Shape = VariantType({ circle: FloatType, square: FloatType });
192
+ * const widen = East.function([FloatType], Shape, ($, r) => {
193
+ * $.return(East.as(East.value(variant("circle", r)), Shape));
194
+ * });
195
+ * const compiled = East.compile(widen, []);
196
+ * compiled(2.0); // variant("circle", 2.0)
197
+ * ```
198
+ */
199
+ export declare function as<T extends EastType>(value: SubtypeExprOrValue<NoInfer<T>>, type: T): ExprType<T>;
200
+ /**
201
+ * Wraps a value or expression of a recursive type's node type in the
202
+ * recursive type — a `WrapRecursive` node; {@link RecursiveExpr.unwrap} is
203
+ * its inverse. The python twin is `East.wrap_recursive`.
204
+ *
205
+ * @param value - The value or expression of the wrapper's node type
206
+ * @param type - The recursive type to wrap it in
207
+ * @returns A `RecursiveExpr` of `type`
208
+ *
209
+ * @example
210
+ * ```ts
211
+ * const ListType = RecursiveType(self => VariantType({ nil: NullType, cons: StructType({ head: IntegerType, tail: self }) }));
212
+ * const singleton = East.function([IntegerType], ListType, ($, x) => {
213
+ * const nil = $.const(East.wrapRecursive(variant("nil", null), ListType));
214
+ * $.return(East.wrapRecursive(variant("cons", { head: x, tail: nil }), ListType));
215
+ * });
216
+ * const compiled = East.compile(singleton, []);
217
+ * compiled(1n); // variant("cons", { head: 1n, tail: variant("nil", null) })
218
+ * ```
219
+ */
220
+ export declare function wrapRecursive<T>(value: SubtypeExprOrValue<T>, type: RecursiveType<T>): RecursiveExpr<T>;
153
221
  /** Print a value as a string. */
154
222
  export declare function print(value: Expr): StringExpr;
155
223
  /** Compute the difference between two values of the same type.
@@ -169,6 +237,50 @@ export declare function composePatch<T extends EastType>(first: Expr<PatchTypeOf
169
237
  * Applying the inverted patch to the "after" value produces the "before" value.
170
238
  */
171
239
  export declare function invertPatch<T extends EastType>(patch: Expr<PatchTypeOf<T>>, type: T): ExprType<PatchTypeOf<T>>;
240
+ /**
241
+ * The brand every declaration handle carries — a registered symbol, so a
242
+ * handle built by any copy of `@elaraai/east` in the process is recognised.
243
+ */
244
+ export declare const PLATFORM_DECLARATION: unique symbol;
245
+ /**
246
+ * What a platform declaration handle says about itself: the identity of the
247
+ * `Platform` node a call emits — its registered name, declared input and
248
+ * output types, asyncness, optionality and (generic) type parameter names —
249
+ * readable from the handle. A library exports its declarations under its
250
+ * own names (`Compression.Tar.create` is the handle for `tar_create`), so
251
+ * anything given the library's exports can spell a call as the library
252
+ * spells it: the codegen printer does (`toSource`'s `libraries`).
253
+ */
254
+ export interface PlatformDeclaration {
255
+ /** The platform function's registered name — the `Platform` node's `name`. */
256
+ readonly name: string;
257
+ /** The declared input types (placeholder names for a generic declaration's parameters). */
258
+ readonly inputs: readonly (EastType | string)[];
259
+ /** The declared output type (or a placeholder name). */
260
+ readonly output: EastType | string;
261
+ /** Whether calls emit an async `Platform` node. */
262
+ readonly async: boolean;
263
+ /** Whether compiling succeeds with no implementation provided. */
264
+ readonly optional: boolean;
265
+ /** The type parameter names of a generic declaration; absent on a concrete one. */
266
+ readonly typeParameters?: readonly string[];
267
+ }
268
+ /**
269
+ * Whether `value` is a platform declaration handle — what `East.platform`,
270
+ * `East.asyncPlatform`, `East.genericPlatform` and `East.asyncGenericPlatform`
271
+ * return.
272
+ *
273
+ * @param value - Anything
274
+ * @returns True for a declaration handle, whose identity fields are then typed
275
+ *
276
+ * @example
277
+ * ```ts
278
+ * const log = East.platform("log", [StringType], NullType);
279
+ * isPlatformDeclaration(log); // true
280
+ * log.name; // "log"
281
+ * ```
282
+ */
283
+ export declare function isPlatformDeclaration(value: unknown): value is PlatformDeclaration;
172
284
  /** Callable helper type for synchronous platform functions. */
173
285
  export type PlatformDefinition<Inputs extends EastType[], Output extends EastType> = ((...args: {
174
286
  [K in keyof Inputs]: SubtypeExprOrValue<Inputs[K]>;
@@ -176,6 +288,14 @@ export type PlatformDefinition<Inputs extends EastType[], Output extends EastTyp
176
288
  implement: (fn: (...args: {
177
289
  [K in keyof Inputs]: ValueTypeOf<Inputs[K]>;
178
290
  }) => Output extends NullType ? null | undefined | void : ValueTypeOf<Output>) => PlatformFunction;
291
+ /** The registered platform function name. */
292
+ readonly name: string;
293
+ /** The declared input types. */
294
+ readonly inputs: Inputs;
295
+ /** The declared output type. */
296
+ readonly output: Output;
297
+ readonly async: false;
298
+ readonly optional: boolean;
179
299
  };
180
300
  /** Options for defining platform functions. */
181
301
  export interface PlatformOptions {
@@ -237,6 +357,14 @@ export type AsyncPlatformDefinition<Inputs extends EastType[], Output extends Ea
237
357
  implement: (fn: (...args: {
238
358
  [K in keyof Inputs]: ValueTypeOf<Inputs[K]>;
239
359
  }) => Output extends NullType ? Promise<null | undefined | void> : Promise<ValueTypeOf<Output>>) => PlatformFunction;
360
+ /** The registered platform function name. */
361
+ readonly name: string;
362
+ /** The declared input types. */
363
+ readonly inputs: Inputs;
364
+ /** The declared output type. */
365
+ readonly output: Output;
366
+ readonly async: true;
367
+ readonly optional: boolean;
240
368
  };
241
369
  /** Create a callable helper to invoke an asynchronous platform function.
242
370
  *
@@ -298,6 +426,16 @@ export type GenericPlatformDefinition<TParams extends readonly string[], Inputs
298
426
  implement: (factory: (...typeParams: {
299
427
  [K in keyof TParams]: EastTypeValue;
300
428
  }) => (...args: unknown[]) => unknown) => PlatformFunction;
429
+ /** The registered platform function name. */
430
+ readonly name: string;
431
+ /** The type parameter names. */
432
+ readonly typeParameters: TParams;
433
+ /** The declared input types, placeholders included. */
434
+ readonly inputs: Inputs;
435
+ /** The declared output type, or a placeholder. */
436
+ readonly output: Output;
437
+ readonly async: false;
438
+ readonly optional: boolean;
301
439
  };
302
440
  /** Create a callable helper to invoke a generic (polymorphic) platform function.
303
441
  *
@@ -367,6 +505,16 @@ export type AsyncGenericPlatformDefinition<TParams extends readonly string[], In
367
505
  implement: (factory: (...typeParams: {
368
506
  [K in keyof TParams]: EastTypeValue;
369
507
  }) => (...args: unknown[]) => Promise<unknown>) => PlatformFunction;
508
+ /** The registered platform function name. */
509
+ readonly name: string;
510
+ /** The type parameter names. */
511
+ readonly typeParameters: TParams;
512
+ /** The declared input types, placeholders included. */
513
+ readonly inputs: Inputs;
514
+ /** The declared output type, or a placeholder. */
515
+ readonly output: Output;
516
+ readonly async: true;
517
+ readonly optional: boolean;
370
518
  };
371
519
  /** Create a callable helper to invoke an asynchronous generic (polymorphic) platform function.
372
520
  *
@@ -1 +1 @@
1
- {"version":3,"file":"block.d.ts","sourceRoot":"","sources":["../../../src/expr/block.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"block.d.ts","sourceRoot":"","sources":["../../../src/expr/block.ts"],"names":[],"mappings":"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"}