@elaraai/east 1.0.69 → 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 (59) hide show
  1. package/dist/src/builtins.d.ts +1 -1
  2. package/dist/src/builtins.d.ts.map +1 -1
  3. package/dist/src/builtins.js +7 -0
  4. package/dist/src/builtins.js.map +1 -1
  5. package/dist/src/codegen/spellings.d.ts.map +1 -1
  6. package/dist/src/codegen/spellings.js +1 -0
  7. package/dist/src/codegen/spellings.js.map +1 -1
  8. package/dist/src/compile.d.ts.map +1 -1
  9. package/dist/src/compile.js +50 -2
  10. package/dist/src/compile.js.map +1 -1
  11. package/dist/src/compile.open_beast.spec.d.ts +6 -0
  12. package/dist/src/compile.open_beast.spec.d.ts.map +1 -0
  13. package/dist/src/compile.open_beast.spec.js +99 -0
  14. package/dist/src/compile.open_beast.spec.js.map +1 -0
  15. package/dist/src/expr/blob.d.ts +41 -1
  16. package/dist/src/expr/blob.d.ts.map +1 -1
  17. package/dist/src/expr/blob.js +52 -0
  18. package/dist/src/expr/blob.js.map +1 -1
  19. package/dist/src/expr/libs/datetime.d.ts +11 -0
  20. package/dist/src/expr/libs/datetime.d.ts.map +1 -1
  21. package/dist/src/expr/libs/datetime.js +11 -0
  22. package/dist/src/expr/libs/datetime.js.map +1 -1
  23. package/dist/src/serialization/beast2/index.d.ts +16 -1
  24. package/dist/src/serialization/beast2/index.d.ts.map +1 -1
  25. package/dist/src/serialization/beast2/index.js +24 -3
  26. package/dist/src/serialization/beast2/index.js.map +1 -1
  27. package/dist/src/serialization/beast2/v4/container.d.ts +10 -0
  28. package/dist/src/serialization/beast2/v4/container.d.ts.map +1 -1
  29. package/dist/src/serialization/beast2/v4/container.js +13 -0
  30. package/dist/src/serialization/beast2/v4/container.js.map +1 -1
  31. package/dist/src/serialization/beast2/v5/frames.d.ts +17 -0
  32. package/dist/src/serialization/beast2/v5/frames.d.ts.map +1 -1
  33. package/dist/src/serialization/beast2/v5/frames.js +40 -0
  34. package/dist/src/serialization/beast2/v5/frames.js.map +1 -1
  35. package/dist/src/serialization/beast2/v5/geometry.d.ts +10 -113
  36. package/dist/src/serialization/beast2/v5/geometry.d.ts.map +1 -1
  37. package/dist/src/serialization/beast2/v5/geometry.js +7 -151
  38. package/dist/src/serialization/beast2/v5/geometry.js.map +1 -1
  39. package/dist/src/serialization/beast2/v5/lazy.d.ts +8 -2
  40. package/dist/src/serialization/beast2/v5/lazy.d.ts.map +1 -1
  41. package/dist/src/serialization/beast2/v5/lazy.js +9 -3
  42. package/dist/src/serialization/beast2/v5/lazy.js.map +1 -1
  43. package/dist/src/serialization/beast2/v5/range.d.ts +201 -0
  44. package/dist/src/serialization/beast2/v5/range.d.ts.map +1 -0
  45. package/dist/src/serialization/beast2/v5/range.js +252 -0
  46. package/dist/src/serialization/beast2/v5/range.js.map +1 -0
  47. package/dist/src/serialization/beast2/v5/stream.d.ts +29 -5
  48. package/dist/src/serialization/beast2/v5/stream.d.ts.map +1 -1
  49. package/dist/src/serialization/beast2/v5/stream.js +86 -19
  50. package/dist/src/serialization/beast2/v5/stream.js.map +1 -1
  51. package/dist/src/serialization/beast2/v5/sync-reader.spec.d.ts +6 -0
  52. package/dist/src/serialization/beast2/v5/sync-reader.spec.d.ts.map +1 -0
  53. package/dist/src/serialization/beast2/v5/sync-reader.spec.js +228 -0
  54. package/dist/src/serialization/beast2/v5/sync-reader.spec.js.map +1 -0
  55. package/dist/src/serialization/index.d.ts +1 -1
  56. package/dist/src/serialization/index.d.ts.map +1 -1
  57. package/dist/src/serialization/index.js +1 -1
  58. package/dist/src/serialization/index.js.map +1 -1
  59. package/package.json +1 -1
@@ -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":"AAKA,OAAO,EAAE,eAAe,EAAE,MAAM,gBAAgB,CAAC;AACjD,OAAO,EAAE,SAAS,EAAE,WAAW,EAAE,UAAU,EAAiD,MAAM,aAAa,CAAC;AAChH,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;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;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"}
1
+ {"version":3,"file":"blob.js","sourceRoot":"","sources":["../../../src/expr/blob.ts"],"names":[],"mappings":"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"}
@@ -43,6 +43,17 @@ declare const _default: {
43
43
  * Components are: year, month (1-12), day (1-31), hour (0-23), minute (0-59),
44
44
  * second (0-59), and millisecond (0-999).
45
45
  *
46
+ * A component outside its range is NORMALISED, never rejected: it carries
47
+ * into the next one. `fromComponents(2024n, 2n, 31n)` is `2024-03-02`,
48
+ * `(2024n, 13n, 1n)` is `2025-01-01`, `(2024n, 1n, 0n)` is `2023-12-31`,
49
+ * and `(2023n, 2n, 29n)` — 2023 is not a leap year — is `2023-03-01`. So an
50
+ * impossible date becomes a real, wrong, plausible one rather than an error.
51
+ *
52
+ * Range-checking the inputs does not catch it, because `31 February` has
53
+ * every component in range. Build the date and ask it for its own month
54
+ * back: `$.let(East.DateTime.fromComponents(y, m, d))`, then
55
+ * `Expr.equal(dt.getMonth(), m).ifElse(() => some(dt), () => none)`.
56
+ *
46
57
  * @example
47
58
  * ```ts
48
59
  * const makeDate = East.function([IntegerType], DateTimeType, ($, year) => {
@@ -1 +1 @@
1
- {"version":3,"file":"datetime.d.ts","sourceRoot":"","sources":["../../../../src/expr/libs/datetime.ts"],"names":[],"mappings":"AAAA;;;GAGG;AACH,OAAO,EAAE,YAAY,EAAE,WAAW,EAAE,MAAM,gBAAgB,CAAC;AAC3D,OAAO,EAAE,cAAc,EAAE,qBAAqB,EAAE,cAAc,EAAE,MAAM,gBAAgB,CAAC;AAGvF,+CAA+C;;IAE7C;;;;;;;;;;;;;;;;;;;OAmBG;;IAGH;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;OAiCG;;IAGH;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;OAyCG;;IAGH;;;;;;;;;;;;;;;;OAgBG;;IAUH;;;;;;;;;;;;;;;;OAgBG;;IAWH;;;;;;;;;;;;;;;;OAgBG;;IAWH;;;;;;;;;;;;;;;;OAgBG;;IAWH;;;;;;;;;;;;;;;;OAgBG;;IAeH;;;;;;;;;;;;;;;;;OAiBG;;IAmBH;;;;;;;;;;;;;;;;OAgBG;;IAgBH;;;;;;;;;;;;;;;;;OAiBG;;IAoBH;;;;;;;;;;;;;;;;OAgBG;;IAgBH;;;;;;;;;;;;;;;;;OAiBG;;IAoBH;;;;;;;;;;;;;;;;OAgBG;;IAgBH;;;;;;;;;;;;;;;;;OAiBG;;IAoBH;;;;;;;;;;;;;;;;OAgBG;;IAYH;;;;;;;;;;;;;;;;OAgBG;;IAgBH;;;;;;;;;;;;;;;;;OAiBG;;IAoBH;;;;;;;;;;;;;;;;OAgBG;;IAmBH;;;;;;;;;;;;;;;;OAgBG;;IAwBH;;;;;;;;;;;;;;;;OAgBG;;IA4BH;;;;;;;;;;;;;;;;;;OAkBG;;IAkBH;;;;;;;;;;;;;;;;;;OAkBG;;;AAlvBL,wBA8vBC"}
1
+ {"version":3,"file":"datetime.d.ts","sourceRoot":"","sources":["../../../../src/expr/libs/datetime.ts"],"names":[],"mappings":"AAAA;;;GAGG;AACH,OAAO,EAAE,YAAY,EAAE,WAAW,EAAE,MAAM,gBAAgB,CAAC;AAC3D,OAAO,EAAE,cAAc,EAAE,qBAAqB,EAAE,cAAc,EAAE,MAAM,gBAAgB,CAAC;AAGvF,+CAA+C;;IAE7C;;;;;;;;;;;;;;;;;;;OAmBG;;IAGH;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;OA4CG;;IAGH;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;OAyCG;;IAGH;;;;;;;;;;;;;;;;OAgBG;;IAUH;;;;;;;;;;;;;;;;OAgBG;;IAWH;;;;;;;;;;;;;;;;OAgBG;;IAWH;;;;;;;;;;;;;;;;OAgBG;;IAWH;;;;;;;;;;;;;;;;OAgBG;;IAeH;;;;;;;;;;;;;;;;;OAiBG;;IAmBH;;;;;;;;;;;;;;;;OAgBG;;IAgBH;;;;;;;;;;;;;;;;;OAiBG;;IAoBH;;;;;;;;;;;;;;;;OAgBG;;IAgBH;;;;;;;;;;;;;;;;;OAiBG;;IAoBH;;;;;;;;;;;;;;;;OAgBG;;IAgBH;;;;;;;;;;;;;;;;;OAiBG;;IAoBH;;;;;;;;;;;;;;;;OAgBG;;IAYH;;;;;;;;;;;;;;;;OAgBG;;IAgBH;;;;;;;;;;;;;;;;;OAiBG;;IAoBH;;;;;;;;;;;;;;;;OAgBG;;IAmBH;;;;;;;;;;;;;;;;OAgBG;;IAwBH;;;;;;;;;;;;;;;;OAgBG;;IA4BH;;;;;;;;;;;;;;;;;;OAkBG;;IAkBH;;;;;;;;;;;;;;;;;;OAkBG;;;AA7vBL,wBAywBC"}
@@ -44,6 +44,17 @@ export default {
44
44
  * Components are: year, month (1-12), day (1-31), hour (0-23), minute (0-59),
45
45
  * second (0-59), and millisecond (0-999).
46
46
  *
47
+ * A component outside its range is NORMALISED, never rejected: it carries
48
+ * into the next one. `fromComponents(2024n, 2n, 31n)` is `2024-03-02`,
49
+ * `(2024n, 13n, 1n)` is `2025-01-01`, `(2024n, 1n, 0n)` is `2023-12-31`,
50
+ * and `(2023n, 2n, 29n)` — 2023 is not a leap year — is `2023-03-01`. So an
51
+ * impossible date becomes a real, wrong, plausible one rather than an error.
52
+ *
53
+ * Range-checking the inputs does not catch it, because `31 February` has
54
+ * every component in range. Build the date and ask it for its own month
55
+ * back: `$.let(East.DateTime.fromComponents(y, m, d))`, then
56
+ * `Expr.equal(dt.getMonth(), m).ifElse(() => some(dt), () => none)`.
57
+ *
47
58
  * @example
48
59
  * ```ts
49
60
  * const makeDate = East.function([IntegerType], DateTimeType, ($, year) => {
@@ -1 +1 @@
1
- {"version":3,"file":"datetime.js","sourceRoot":"","sources":["../../../../src/expr/libs/datetime.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"datetime.js","sourceRoot":"","sources":["../../../../src/expr/libs/datetime.ts"],"names":[],"mappings":"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"}
@@ -24,8 +24,23 @@ export { MAGIC_BYTES_V5 } from "./v5/codec.js";
24
24
  export type { Beast2DecodeOptions } from "./shared.js";
25
25
  export type { Beast2Codec } from "./v5/frames.js";
26
26
  export { Beast2Writer, type Beast2WriterOptions, encodeBeast2SegmentsFor, encodeBeast2PagedFor, type Beast2PagedEncodeOptions, BEAST2_PAGED_BATCH_DEFAULT, BEAST2_PAGED_TARGET_BYTES_DEFAULT, iterBeast2SegmentsFor, Beast2Pages, openBeast2PagesFor, } from "./v5/stream.js";
27
- export { type Beast2Extents, readBeast2Extents, carveBeast2, spliceBeast2, rebuildBeast2, type RebuildBeast2Options, type Beast2RangeReader, type Beast2RangedExtents, type ReadBeast2ExtentsRangedOptions, readBeast2ExtentsRanged, carveBeast2Ranged, spliceBeast2Tail, } from "./v5/geometry.js";
27
+ export { type Beast2Extents, readBeast2Extents, carveBeast2, spliceBeast2, rebuildBeast2, type RebuildBeast2Options, type Beast2RangeReader, type Beast2SyncRangeReader, type Beast2RangedExtents, type ReadBeast2ExtentsRangedOptions, readBeast2ExtentsRanged, readBeast2ExtentsSync, isBeast2SyncRangeReader, carveBeast2Ranged, spliceBeast2Tail, } from "./v5/geometry.js";
28
28
  export { openBeast2LazyFor, isBeast2LazySafe, type Beast2LazySafeOptions } from "./v5/lazy.js";
29
+ /**
30
+ * Reads the root type a beast2 blob's header declares, without decoding the
31
+ * value.
32
+ *
33
+ * Both container versions carry the type up front, so this is O(header) for
34
+ * either; the version is sniffed from the magic. A decoder built for another
35
+ * type would read garbage, which is what the in-expression opens
36
+ * (`blob.openBeast`, `FileSystem.openBeast`) check against on every runtime.
37
+ *
38
+ * @param data - the blob to inspect
39
+ * @returns the declared root type
40
+ * @throws {Error} When the data is not a beast2 container, or its type
41
+ * section is malformed.
42
+ */
43
+ export declare function readBeast2Type(data: Uint8Array): EastTypeValue;
29
44
  /**
30
45
  * Whether a blob carries the v5 trailing paging index (a well-formed
31
46
  * index + footer). O(index) — inspects the blob's tail without decoding any
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../src/serialization/beast2/index.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../src/serialization/beast2/index.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAEH;;;;;;;GAOG;AAEH,OAAO,EAAmB,KAAK,aAAa,EAAE,MAAM,uBAAuB,CAAC;AAE5E,OAAO,KAAK,EAAE,QAAQ,EAAE,WAAW,EAAE,MAAM,gBAAgB,CAAC;AAC5D,OAAO,EAAU,KAAK,UAAU,EAAE,KAAK,eAAe,EAAE,MAAM,aAAa,CAAC;AAC5E,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,mBAAmB,CAAC;AAC1D,OAAO,EAAE,MAAM,EAAE,WAAW,EAAE,MAAM,iBAAiB,CAAC;AACtD,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,mBAAmB,CAAC;AAEnD,OAAO,EAAE,KAAK,mBAAmB,EAAE,MAAM,aAAa,CAAC;AAiBvD,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,gBAAgB,CAAC;AAClD,OAAO,EAAwB,KAAK,aAAa,EAAE,MAAM,cAAc,CAAC;AAExE,OAAO,EAAE,WAAW,EAAE,MAAM,mBAAmB,CAAC;AAChD,OAAO,EAAE,cAAc,EAAE,MAAM,eAAe,CAAC;AAC/C,YAAY,EAAE,mBAAmB,EAAE,MAAM,aAAa,CAAC;AACvD,YAAY,EAAE,WAAW,EAAE,MAAM,gBAAgB,CAAC;AAClD,OAAO,EACL,YAAY,EACZ,KAAK,mBAAmB,EACxB,uBAAuB,EACvB,oBAAoB,EACpB,KAAK,wBAAwB,EAC7B,0BAA0B,EAC1B,iCAAiC,EACjC,qBAAqB,EACrB,WAAW,EACX,kBAAkB,GACnB,MAAM,gBAAgB,CAAC;AACxB,OAAO,EACL,KAAK,aAAa,EAClB,iBAAiB,EACjB,WAAW,EACX,YAAY,EACZ,aAAa,EACb,KAAK,oBAAoB,EACzB,KAAK,iBAAiB,EACtB,KAAK,qBAAqB,EAC1B,KAAK,mBAAmB,EACxB,KAAK,8BAA8B,EACnC,uBAAuB,EACvB,qBAAqB,EACrB,uBAAuB,EACvB,iBAAiB,EACjB,gBAAgB,GACjB,MAAM,kBAAkB,CAAC;AAC1B,OAAO,EAAE,iBAAiB,EAAE,gBAAgB,EAAE,KAAK,qBAAqB,EAAE,MAAM,cAAc,CAAC;AAG/F;;;;;;;;;;;;;GAaG;AACH,wBAAgB,cAAc,CAAC,IAAI,EAAE,UAAU,GAAG,aAAa,CAG9D;AAED;;;;;;;GAOG;AACH,wBAAgB,cAAc,CAAC,IAAI,EAAE,UAAU,GAAG,OAAO,CAMxD;AAMD,OAAO,EAAE,oBAAoB,EAAE,oBAAoB,EAAE,KAAK,aAAa,EAAE,MAAM,cAAc,CAAC;AA6B9F,mDAAmD;AACnD,MAAM,MAAM,mBAAmB,GAAG;IAChC,+EAA+E;IAC/E,SAAS,CAAC,EAAE,SAAS,GAAG,IAAI,CAAC;IAC7B;6EACyE;IACzE,OAAO,CAAC,EAAE,aAAa,CAAC;IACxB,yDAAyD;IACzD,KAAK,CAAC,EAAE,WAAW,CAAC;IACpB;+BAC2B;IAC3B,KAAK,CAAC,EAAE,OAAO,CAAC;CACjB,CAAC;AAEF;;;;;;;;;;;;GAYG;AACH,wBAAgB,eAAe,CAAC,IAAI,EAAE,aAAa,EAAE,OAAO,CAAC,EAAE,mBAAmB,GAAG,CAAC,KAAK,EAAE,GAAG,KAAK,UAAU,CAAA;AAC/G,wBAAgB,eAAe,CAAC,CAAC,SAAS,QAAQ,EAAE,IAAI,EAAE,CAAC,EAAE,OAAO,CAAC,EAAE,mBAAmB,GAAG,CAAC,KAAK,EAAE,WAAW,CAAC,CAAC,CAAC,KAAK,UAAU,CAAA;AAYlI;;;;;;;;;GASG;AACH,wBAAgB,eAAe,CAAC,IAAI,EAAE,aAAa,EAAE,OAAO,CAAC,EAAE,mBAAmB,GAAG,CAAC,IAAI,EAAE,UAAU,KAAK,GAAG,CAAA;AAC9G,wBAAgB,eAAe,CAAC,CAAC,SAAS,QAAQ,EAAE,IAAI,EAAE,CAAC,EAAE,OAAO,CAAC,EAAE,mBAAmB,GAAG,CAAC,IAAI,EAAE,UAAU,KAAK,WAAW,CAAC,CAAC,CAAC,CAAA;AAiBjI;;;;;;;;;;;;GAYG;AACH,wBAAgB,oBAAoB,CAAC,IAAI,EAAE,aAAa,EAAE,OAAO,CAAC,EAAE,mBAAmB,GAAG,CAAC,IAAI,EAAE,UAAU,KAAK,OAAO,CAAC,GAAG,CAAC,CAAA;AAC5H,wBAAgB,oBAAoB,CAAC,CAAC,SAAS,QAAQ,EAAE,IAAI,EAAE,CAAC,EAAE,OAAO,CAAC,EAAE,mBAAmB,GAAG,CAAC,IAAI,EAAE,UAAU,KAAK,OAAO,CAAC,WAAW,CAAC,CAAC,CAAC,CAAC,CAAA;AAmB/I;;;;;;GAMG;AACH,wBAAgB,YAAY,CAAC,IAAI,EAAE,UAAU,EAAE,OAAO,CAAC,EAAE,mBAAmB,GAAG;IAAE,IAAI,EAAE,aAAa,CAAC;IAAC,KAAK,EAAE,GAAG,CAAA;CAAE,CAKjH;AAWD;;qDAEqD;AACrD,wBAAgB,YAAY,CAAC,CAAC,SAAS,GAAG,EAAE,EAAE,CAAC,EAAE,MAAM,EAAE,MAAM,CAAC,CAAC,EAAE,CAAC,CAAC,GAAG,WAAW,CAAC,CAAC,EAAE,CAAC,CAAC,EAAE,OAAO,CAAC,EAAE,IAAI,CAAC,mBAAmB,EAAE,WAAW,CAAC,GAAG,UAAU,CAEvJ;AAED;;uEAEuE;AACvE,wBAAgB,YAAY,CAAC,CAAC,SAAS,GAAG,EAAE,GAAG,GAAG,EAAE,EAAE,CAAC,GAAG,GAAG,EAAE,IAAI,EAAE,UAAU,GAAG,MAAM,CAAC,CAAC,EAAE,CAAC,CAAC,CAQ7F;AAED,8CAA8C;AAC9C,wBAAgB,iBAAiB,CAAC,CAAC,SAAS,GAAG,EAAE,GAAG,GAAG,EAAE,EAAE,CAAC,GAAG,GAAG,EAAE,IAAI,EAAE,UAAU,GAAG,WAAW,CAAC,CAAC,EAAE,CAAC,CAAC,CAQvG;AAiBD,wBAAgB,iBAAiB,CAAC,CAAC,SAAS,GAAG,EAAE,EAAE,CAAC,EAAE,EAAE,EAAE,UAAU,EAAE,QAAQ,EAAE,gBAAgB,EAAE,GAAG,CAAC,GAAG,IAAI,EAAE,CAAC,KAAK,CAAC,CAErH;AAED,wBAAgB,sBAAsB,CAAC,CAAC,SAAS,GAAG,EAAE,EAAE,CAAC,EAAE,EAAE,EAAE,eAAe,EAAE,QAAQ,EAAE,gBAAgB,EAAE,GAAG,CAAC,GAAG,IAAI,EAAE,CAAC,KAAK,OAAO,CAAC,CAAC,CAAC,CAExI"}
@@ -14,16 +14,37 @@ import { toEastTypeValue } from "../../type_of_type.js";
14
14
  import { isVariant } from "../../containers/variant.js";
15
15
  import { IRType } from "../../ir.js";
16
16
  import { EastIR, AsyncEastIR } from "../../eastir.js";
17
+ import { BufferReader } from "../binary-utils.js";
17
18
  import {} from "./shared.js";
18
- import { MAGIC_BYTES, encodeBeast2V4For, decodeBeast2V4For, decodeBeast2V4, decodeIRWithSourceMapV4, } from "./v4/container.js";
19
+ import { readTypeSection } from "./v5/type-section.js";
20
+ import { MAGIC_BYTES, encodeBeast2V4For, decodeBeast2V4For, decodeBeast2V4, decodeIRWithSourceMapV4, readBeast2V4Type, } from "./v4/container.js";
19
21
  import { encodeBeast2V5For, decodeBeast2V5For, decodeBeast2V5ForAsync, decodeBeast2V5, decodeIRWithSourceMapV5, } from "./v5/codec.js";
20
22
  import { BEAST2_WRITE_VERSION } from "./version.js";
21
23
  export { MAGIC_BYTES } from "./v4/container.js";
22
24
  export { MAGIC_BYTES_V5 } from "./v5/codec.js";
23
25
  export { Beast2Writer, encodeBeast2SegmentsFor, encodeBeast2PagedFor, BEAST2_PAGED_BATCH_DEFAULT, BEAST2_PAGED_TARGET_BYTES_DEFAULT, iterBeast2SegmentsFor, Beast2Pages, openBeast2PagesFor, } from "./v5/stream.js";
24
- export { readBeast2Extents, carveBeast2, spliceBeast2, rebuildBeast2, readBeast2ExtentsRanged, carveBeast2Ranged, spliceBeast2Tail, } from "./v5/geometry.js";
26
+ export { readBeast2Extents, carveBeast2, spliceBeast2, rebuildBeast2, readBeast2ExtentsRanged, readBeast2ExtentsSync, isBeast2SyncRangeReader, carveBeast2Ranged, spliceBeast2Tail, } from "./v5/geometry.js";
25
27
  export { openBeast2LazyFor, isBeast2LazySafe } from "./v5/lazy.js";
26
- import { readIndex } from "./v5/codec.js";
28
+ import { readIndex, MAGIC_BYTES_V5 } from "./v5/codec.js";
29
+ /**
30
+ * Reads the root type a beast2 blob's header declares, without decoding the
31
+ * value.
32
+ *
33
+ * Both container versions carry the type up front, so this is O(header) for
34
+ * either; the version is sniffed from the magic. A decoder built for another
35
+ * type would read garbage, which is what the in-expression opens
36
+ * (`blob.openBeast`, `FileSystem.openBeast`) check against on every runtime.
37
+ *
38
+ * @param data - the blob to inspect
39
+ * @returns the declared root type
40
+ * @throws {Error} When the data is not a beast2 container, or its type
41
+ * section is malformed.
42
+ */
43
+ export function readBeast2Type(data) {
44
+ if (sniffVersion(data) !== 5)
45
+ return readBeast2V4Type(data);
46
+ return readTypeSection(new BufferReader(data, MAGIC_BYTES_V5.length)).rootType;
47
+ }
27
48
  /**
28
49
  * Whether a blob carries the v5 trailing paging index (a well-formed
29
50
  * index + footer). O(index) — inspects the blob's tail without decoding any
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../src/serialization/beast2/index.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../src/serialization/beast2/index.ts"],"names":[],"mappings":"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"}
@@ -53,6 +53,16 @@ export declare function decodeIRWithSourceMapV4(data: Uint8Array): {
53
53
  ir: any;
54
54
  sourceMap: SourceMap | null;
55
55
  };
56
+ /**
57
+ * Reads the root type a v4 blob's header declares, without decoding the
58
+ * value — the type table section sits right after the magic.
59
+ *
60
+ * @param data - a v4 beast2 blob
61
+ * @returns the declared root type
62
+ * @throws {Error} When the data is not a v4 container or its type table is
63
+ * malformed.
64
+ */
65
+ export declare function readBeast2V4Type(data: Uint8Array): EastTypeValue;
56
66
  /**
57
67
  * Decodes a self-describing v4 blob using its embedded root type.
58
68
  *
@@ -1 +1 @@
1
- {"version":3,"file":"container.d.ts","sourceRoot":"","sources":["../../../../../src/serialization/beast2/v4/container.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAEH;;;;;;;;;;;;GAYG;AAEH,OAAO,EAAmB,KAAK,aAAa,EAAE,MAAM,0BAA0B,CAAC;AAC/E,OAAO,KAAK,EAAE,QAAQ,EAAE,WAAW,EAAE,MAAM,mBAAmB,CAAC;AAe/D,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,sBAAsB,CAAC;AAEtD,OAAO,EAAE,KAAK,mBAAmB,EAA2G,MAAM,cAAc,CAAC;AASjK,eAAO,MAAM,WAAW,yBAAmE,CAAC;AA2pB5F;;;;;;GAMG;AACH,wBAAgB,iBAAiB,CAAC,IAAI,EAAE,aAAa,EAAE,OAAO,CAAC,EAAE;IAAE,SAAS,CAAC,EAAE,SAAS,GAAG,IAAI,CAAA;CAAE,GAAG,CAAC,KAAK,EAAE,GAAG,KAAK,UAAU,CAAA;AAC9H,wBAAgB,iBAAiB,CAAC,CAAC,SAAS,QAAQ,EAAE,IAAI,EAAE,CAAC,EAAE,OAAO,CAAC,EAAE;IAAE,SAAS,CAAC,EAAE,SAAS,GAAG,IAAI,CAAA;CAAE,GAAG,CAAC,KAAK,EAAE,WAAW,CAAC,CAAC,CAAC,KAAK,UAAU,CAAA;AA4EjJ;;;;;;GAMG;AACH,wBAAgB,iBAAiB,CAAC,IAAI,EAAE,aAAa,EAAE,OAAO,CAAC,EAAE,mBAAmB,GAAG,CAAC,IAAI,EAAE,UAAU,KAAK,GAAG,CAAA;AAChH,wBAAgB,iBAAiB,CAAC,CAAC,SAAS,QAAQ,EAAE,IAAI,EAAE,CAAC,EAAE,OAAO,CAAC,EAAE,mBAAmB,GAAG,CAAC,IAAI,EAAE,UAAU,KAAK,WAAW,CAAC,CAAC,CAAC,CAAA;AAwCnI;;;;;;GAMG;AACH,wBAAgB,uBAAuB,CAAC,IAAI,EAAE,UAAU,GAAG;IAAE,EAAE,EAAE,GAAG,CAAC;IAAC,SAAS,EAAE,SAAS,GAAG,IAAI,CAAA;CAAE,CAsBlG;AAMD;;;;;;GAMG;AACH,wBAAgB,cAAc,CAAC,IAAI,EAAE,UAAU,EAAE,OAAO,CAAC,EAAE,mBAAmB,GAAG;IAAE,IAAI,EAAE,aAAa,CAAC;IAAC,KAAK,EAAE,GAAG,CAAA;CAAE,CAyBnH"}
1
+ {"version":3,"file":"container.d.ts","sourceRoot":"","sources":["../../../../../src/serialization/beast2/v4/container.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAEH;;;;;;;;;;;;GAYG;AAEH,OAAO,EAAmB,KAAK,aAAa,EAAE,MAAM,0BAA0B,CAAC;AAC/E,OAAO,KAAK,EAAE,QAAQ,EAAE,WAAW,EAAE,MAAM,mBAAmB,CAAC;AAe/D,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,sBAAsB,CAAC;AAEtD,OAAO,EAAE,KAAK,mBAAmB,EAA2G,MAAM,cAAc,CAAC;AASjK,eAAO,MAAM,WAAW,yBAAmE,CAAC;AA2pB5F;;;;;;GAMG;AACH,wBAAgB,iBAAiB,CAAC,IAAI,EAAE,aAAa,EAAE,OAAO,CAAC,EAAE;IAAE,SAAS,CAAC,EAAE,SAAS,GAAG,IAAI,CAAA;CAAE,GAAG,CAAC,KAAK,EAAE,GAAG,KAAK,UAAU,CAAA;AAC9H,wBAAgB,iBAAiB,CAAC,CAAC,SAAS,QAAQ,EAAE,IAAI,EAAE,CAAC,EAAE,OAAO,CAAC,EAAE;IAAE,SAAS,CAAC,EAAE,SAAS,GAAG,IAAI,CAAA;CAAE,GAAG,CAAC,KAAK,EAAE,WAAW,CAAC,CAAC,CAAC,KAAK,UAAU,CAAA;AA4EjJ;;;;;;GAMG;AACH,wBAAgB,iBAAiB,CAAC,IAAI,EAAE,aAAa,EAAE,OAAO,CAAC,EAAE,mBAAmB,GAAG,CAAC,IAAI,EAAE,UAAU,KAAK,GAAG,CAAA;AAChH,wBAAgB,iBAAiB,CAAC,CAAC,SAAS,QAAQ,EAAE,IAAI,EAAE,CAAC,EAAE,OAAO,CAAC,EAAE,mBAAmB,GAAG,CAAC,IAAI,EAAE,UAAU,KAAK,WAAW,CAAC,CAAC,CAAC,CAAA;AAwCnI;;;;;;GAMG;AACH,wBAAgB,uBAAuB,CAAC,IAAI,EAAE,UAAU,GAAG;IAAE,EAAE,EAAE,GAAG,CAAC;IAAC,SAAS,EAAE,SAAS,GAAG,IAAI,CAAA;CAAE,CAsBlG;AAED;;;;;;;;GAQG;AACH,wBAAgB,gBAAgB,CAAC,IAAI,EAAE,UAAU,GAAG,aAAa,CAGhE;AAMD;;;;;;GAMG;AACH,wBAAgB,cAAc,CAAC,IAAI,EAAE,UAAU,EAAE,OAAO,CAAC,EAAE,mBAAmB,GAAG;IAAE,IAAI,EAAE,aAAa,CAAC;IAAC,KAAK,EAAE,GAAG,CAAA;CAAE,CAyBnH"}
@@ -731,6 +731,19 @@ export function decodeIRWithSourceMapV4(data) {
731
731
  }
732
732
  return { ir, sourceMap };
733
733
  }
734
+ /**
735
+ * Reads the root type a v4 blob's header declares, without decoding the
736
+ * value — the type table section sits right after the magic.
737
+ *
738
+ * @param data - a v4 beast2 blob
739
+ * @returns the declared root type
740
+ * @throws {Error} When the data is not a v4 container or its type table is
741
+ * malformed.
742
+ */
743
+ export function readBeast2V4Type(data) {
744
+ verifyMagic(data);
745
+ return readTypeTableSection(new BufferReader(data, MAGIC_BYTES.length)).rootType;
746
+ }
734
747
  // =============================================================================
735
748
  // Public API — Decode (v4 container, self-describing)
736
749
  // =============================================================================