@elaraai/east 1.0.97 → 1.0.99

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 (154) hide show
  1. package/README.md +0 -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 +14 -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 +2 -0
  8. package/dist/src/codegen/spellings.js.map +1 -1
  9. package/dist/src/comparison.d.ts +6 -5
  10. package/dist/src/comparison.d.ts.map +1 -1
  11. package/dist/src/comparison.js +6 -5
  12. package/dist/src/comparison.js.map +1 -1
  13. package/dist/src/compile/builtins/array.d.ts +4 -0
  14. package/dist/src/compile/builtins/array.d.ts.map +1 -1
  15. package/dist/src/compile/builtins/array.js +15 -1
  16. package/dist/src/compile/builtins/array.js.map +1 -1
  17. package/dist/src/compile/builtins/dict.d.ts +4 -0
  18. package/dist/src/compile/builtins/dict.d.ts.map +1 -1
  19. package/dist/src/compile/builtins/dict.js +14 -1
  20. package/dist/src/compile/builtins/dict.js.map +1 -1
  21. package/dist/src/compile/builtins/tree.d.ts +13 -0
  22. package/dist/src/compile/builtins/tree.d.ts.map +1 -1
  23. package/dist/src/compile/builtins/tree.js +27 -1
  24. package/dist/src/compile/builtins/tree.js.map +1 -1
  25. package/dist/src/compile/builtins/vector.d.ts +2 -2
  26. package/dist/src/compile/constructors.d.ts +6 -1
  27. package/dist/src/compile/constructors.d.ts.map +1 -1
  28. package/dist/src/compile/constructors.js +21 -11
  29. package/dist/src/compile/constructors.js.map +1 -1
  30. package/dist/src/compile/control.d.ts +7 -1
  31. package/dist/src/compile/control.d.ts.map +1 -1
  32. package/dist/src/compile/control.js +228 -146
  33. package/dist/src/compile/control.js.map +1 -1
  34. package/dist/src/compile/flow.d.ts +138 -0
  35. package/dist/src/compile/flow.d.ts.map +1 -0
  36. package/dist/src/compile/flow.js +358 -0
  37. package/dist/src/compile/flow.js.map +1 -0
  38. package/dist/src/compile/functions.d.ts +9 -1
  39. package/dist/src/compile/functions.d.ts.map +1 -1
  40. package/dist/src/compile/functions.js +62 -69
  41. package/dist/src/compile/functions.js.map +1 -1
  42. package/dist/src/compile/ir.d.ts +12 -0
  43. package/dist/src/compile/ir.d.ts.map +1 -1
  44. package/dist/src/compile/ir.js +164 -40
  45. package/dist/src/compile/ir.js.map +1 -1
  46. package/dist/src/compile/runtime.d.ts +2 -16
  47. package/dist/src/compile/runtime.d.ts.map +1 -1
  48. package/dist/src/compile/runtime.js +5 -40
  49. package/dist/src/compile/runtime.js.map +1 -1
  50. package/dist/src/compile.control_flow.spec.d.ts +6 -0
  51. package/dist/src/compile.control_flow.spec.d.ts.map +1 -0
  52. package/dist/src/compile.control_flow.spec.js +219 -0
  53. package/dist/src/compile.control_flow.spec.js.map +1 -0
  54. package/dist/src/compile.d.ts +1 -1
  55. package/dist/src/compile.d.ts.map +1 -1
  56. package/dist/src/compile.js +1 -1
  57. package/dist/src/compile.js.map +1 -1
  58. package/dist/src/eastir.d.ts.map +1 -1
  59. package/dist/src/eastir.js +8 -30
  60. package/dist/src/eastir.js.map +1 -1
  61. package/dist/src/expr/array.d.ts +39 -0
  62. package/dist/src/expr/array.d.ts.map +1 -1
  63. package/dist/src/expr/array.js +47 -0
  64. package/dist/src/expr/array.js.map +1 -1
  65. package/dist/src/expr/dict.d.ts +44 -1
  66. package/dist/src/expr/dict.d.ts.map +1 -1
  67. package/dist/src/expr/dict.js +54 -2
  68. package/dist/src/expr/dict.js.map +1 -1
  69. package/dist/src/expr/index.d.ts +130 -0
  70. package/dist/src/expr/index.d.ts.map +1 -1
  71. package/dist/src/expr/index.js +133 -0
  72. package/dist/src/expr/index.js.map +1 -1
  73. package/dist/src/expr/named.d.ts +100 -0
  74. package/dist/src/expr/named.d.ts.map +1 -0
  75. package/dist/src/expr/named.js +182 -0
  76. package/dist/src/expr/named.js.map +1 -0
  77. package/dist/src/functions.d.ts +21 -0
  78. package/dist/src/functions.d.ts.map +1 -1
  79. package/dist/src/functions.js +22 -41
  80. package/dist/src/functions.js.map +1 -1
  81. package/dist/src/internal.d.ts +1 -0
  82. package/dist/src/internal.d.ts.map +1 -1
  83. package/dist/src/internal.js +4 -0
  84. package/dist/src/internal.js.map +1 -1
  85. package/dist/src/ir_locations.d.ts +24 -0
  86. package/dist/src/ir_locations.d.ts.map +1 -0
  87. package/dist/src/ir_locations.js +58 -0
  88. package/dist/src/ir_locations.js.map +1 -0
  89. package/dist/src/location.d.ts +10 -0
  90. package/dist/src/location.d.ts.map +1 -1
  91. package/dist/src/location.js +19 -1
  92. package/dist/src/location.js.map +1 -1
  93. package/dist/src/query/jq/catalog.js +1 -1
  94. package/dist/src/query/jq/catalog.js.map +1 -1
  95. package/dist/src/query/jq/translate-builtins.d.ts.map +1 -1
  96. package/dist/src/query/jq/translate-builtins.js +11 -2
  97. package/dist/src/query/jq/translate-builtins.js.map +1 -1
  98. package/dist/src/query/jq/translate.d.ts +12 -0
  99. package/dist/src/query/jq/translate.d.ts.map +1 -1
  100. package/dist/src/query/jq/translate.js +40 -0
  101. package/dist/src/query/jq/translate.js.map +1 -1
  102. package/dist/src/runner_exec.d.ts +4 -1
  103. package/dist/src/runner_exec.d.ts.map +1 -1
  104. package/dist/src/runner_exec.js +24 -12
  105. package/dist/src/runner_exec.js.map +1 -1
  106. package/dist/src/runner_merge.d.ts +18 -0
  107. package/dist/src/runner_merge.d.ts.map +1 -1
  108. package/dist/src/runner_merge.js +36 -2
  109. package/dist/src/runner_merge.js.map +1 -1
  110. package/dist/src/serialization/beast2/decoded-function.spec.js +7 -4
  111. package/dist/src/serialization/beast2/decoded-function.spec.js.map +1 -1
  112. package/dist/src/serialization/beast2/shared.d.ts.map +1 -1
  113. package/dist/src/serialization/beast2/shared.js +6 -21
  114. package/dist/src/serialization/beast2/shared.js.map +1 -1
  115. package/dist/src/serialization/beast2/v4/container.d.ts.map +1 -1
  116. package/dist/src/serialization/beast2/v4/container.js +3 -4
  117. package/dist/src/serialization/beast2/v4/container.js.map +1 -1
  118. package/dist/src/serialization/beast2/v4/type-table.d.ts +42 -14
  119. package/dist/src/serialization/beast2/v4/type-table.d.ts.map +1 -1
  120. package/dist/src/serialization/beast2/v4/type-table.js +139 -53
  121. package/dist/src/serialization/beast2/v4/type-table.js.map +1 -1
  122. package/dist/src/serialization/beast2/v5/codec.d.ts +29 -2
  123. package/dist/src/serialization/beast2/v5/codec.d.ts.map +1 -1
  124. package/dist/src/serialization/beast2/v5/codec.js +153 -27
  125. package/dist/src/serialization/beast2/v5/codec.js.map +1 -1
  126. package/dist/src/serialization/beast2/v5/manifest.d.ts +3 -3
  127. package/dist/src/serialization/beast2/v5/manifest.js +3 -3
  128. package/dist/src/serialization/beast2/v5/runs.d.ts.map +1 -1
  129. package/dist/src/serialization/beast2/v5/runs.js +16 -4
  130. package/dist/src/serialization/beast2/v5/runs.js.map +1 -1
  131. package/dist/src/serialization/beast2/v5/source-maps.spec.d.ts +6 -0
  132. package/dist/src/serialization/beast2/v5/source-maps.spec.d.ts.map +1 -0
  133. package/dist/src/serialization/beast2/v5/source-maps.spec.js +81 -0
  134. package/dist/src/serialization/beast2/v5/source-maps.spec.js.map +1 -0
  135. package/dist/src/serialization/beast2/v5/type-section.js +1 -1
  136. package/dist/src/serialization/beast2/v5/type-section.js.map +1 -1
  137. package/dist/src/type_of_type.d.ts +12 -33
  138. package/dist/src/type_of_type.d.ts.map +1 -1
  139. package/dist/src/type_of_type.js +46 -174
  140. package/dist/src/type_of_type.js.map +1 -1
  141. package/dist/src/type_of_type.recursive_id.spec.d.ts +6 -0
  142. package/dist/src/type_of_type.recursive_id.spec.d.ts.map +1 -0
  143. package/dist/src/type_of_type.recursive_id.spec.js +86 -0
  144. package/dist/src/type_of_type.recursive_id.spec.js.map +1 -0
  145. package/dist/src/type_of_type.to_etv.spec.js +9 -9
  146. package/dist/src/type_of_type.to_etv.spec.js.map +1 -1
  147. package/dist/src/type_value_equal.d.ts +31 -0
  148. package/dist/src/type_value_equal.d.ts.map +1 -0
  149. package/dist/src/type_value_equal.js +170 -0
  150. package/dist/src/type_value_equal.js.map +1 -0
  151. package/dist/src/types.d.ts.map +1 -1
  152. package/dist/src/types.js +3 -1
  153. package/dist/src/types.js.map +1 -1
  154. package/package.json +1 -1
@@ -41,6 +41,7 @@
41
41
  import { type EastTypeValue } from "../../../type_of_type.js";
42
42
  import type { EastType } from "../../../types.js";
43
43
  import { BufferWriter, BufferReader } from "../../binary-utils.js";
44
+ import type { IR } from "../../../ir.js";
44
45
  import { SourceMap } from "../../../location.js";
45
46
  import { type Beast2DecodeOptions, type PlatformDecodeContext } from "../shared.js";
46
47
  import { type Beast2Codec } from "./frames.js";
@@ -64,7 +65,7 @@ export interface V5EncodeContext {
64
65
  /** Whether any REF crossed a root-segment boundary. */
65
66
  crossSegmentRef: boolean;
66
67
  /** The stream's source map (header map, or adopted from the first function
67
- * value that carries one). */
68
+ * value that carries one). Never written to: it is a program's own. */
68
69
  sourceMap: SourceMap | null;
69
70
  /** Number of source-map stacks already written (header + inline deltas),
70
71
  * including the index-0 empty sentinel. */
@@ -72,15 +73,41 @@ export interface V5EncodeContext {
72
73
  /** Self-contained mode: inline source-map growth is forbidden (stacks
73
74
  * emitted mid-stream would be unreachable from later segments). */
74
75
  selfContained: boolean;
76
+ /** The blob's map, once a closure of another program brings stacks the
77
+ * stream's map lacks: the stream map's stacks, then each one brought, by
78
+ * content, in its own map's order. Null while every stack a closure names
79
+ * is the stream map's. */
80
+ merged: SourceMap | null;
81
+ /** How the loc_ids of each closure map other than the stream's stand in the
82
+ * blob's map: each id's place, 0 where the blob holds none of its stack, or
83
+ * `null` for a map whose stacks stand where they are. */
84
+ translations: Map<SourceMap, readonly bigint[] | null>;
85
+ /** Each closure's IR as written translated, by the translation, so a
86
+ * closure written many times is translated once. */
87
+ translated: WeakMap<object, Map<readonly bigint[], IR>>;
88
+ /** A whole-value encode, which writes the blob's map once the value is
89
+ * encoded: in the header, or else in the first closure's delta, where an
90
+ * encode of the value decoded puts it, since its closures then share it. */
91
+ deferred: boolean;
92
+ /** Where a deferred encode's map goes: the header, or the first closure's
93
+ * delta — its offsets in the logical bytes, and the size of the map it was
94
+ * written from — or, before the first closure, not yet anywhere. */
95
+ blobMapAt: "header" | {
96
+ start: number;
97
+ end: number;
98
+ written: number;
99
+ } | null;
75
100
  }
76
101
  /** Creates a fresh v5 encode context.
77
102
  *
78
103
  * @param sourceMap - the pre-resolved header source map, if any
79
104
  * @param selfContained - whether the writer's segments must decode on their
80
105
  * own, which forbids inline source-map growth
106
+ * @param deferred - a whole-value encode, which writes the blob's map once the
107
+ * value is encoded
81
108
  * @returns the initialized context
82
109
  */
83
- export declare function createV5EncodeContext(sourceMap: SourceMap | null, selfContained: boolean): V5EncodeContext;
110
+ export declare function createV5EncodeContext(sourceMap: SourceMap | null, selfContained: boolean, deferred?: boolean): V5EncodeContext;
84
111
  /** Mutable state threaded through a v5 decode pass. */
85
112
  export interface V5DecodeContext extends PlatformDecodeContext {
86
113
  /** Every decoded container in definition order — REF deltas resolve from
@@ -1 +1 @@
1
- {"version":3,"file":"codec.d.ts","sourceRoot":"","sources":["../../../../../src/serialization/beast2/v5/codec.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"codec.d.ts","sourceRoot":"","sources":["../../../../../src/serialization/beast2/v5/codec.ts"],"names":[],"mappings":"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"}
@@ -49,6 +49,7 @@ import { BufferWriter, BufferReader } from "../../binary-utils.js";
49
49
  import { compareFor } from "../../../comparison.js";
50
50
  import { EAST_IR_SYMBOL, EAST_CAPTURES_SYMBOL, EAST_SOURCE_MAP_SYMBOL } from "../../../compile.js";
51
51
  import { InternalError } from "../../../error.js";
52
+ import { mapLocIds } from "../../../ir_locations.js";
52
53
  import { SourceMap } from "../../../location.js";
53
54
  import { buildPlatformContext, checkDecodeType, describeNoIrValue, finishDecodedFunction, irTypeValue } from "../shared.js";
54
55
  import { writeTypeSection, readTypeSection, asTypeValue } from "./type-section.js";
@@ -68,9 +69,11 @@ export const TAG_REF = 0x01;
68
69
  * @param sourceMap - the pre-resolved header source map, if any
69
70
  * @param selfContained - whether the writer's segments must decode on their
70
71
  * own, which forbids inline source-map growth
72
+ * @param deferred - a whole-value encode, which writes the blob's map once the
73
+ * value is encoded
71
74
  * @returns the initialized context
72
75
  */
73
- export function createV5EncodeContext(sourceMap, selfContained) {
76
+ export function createV5EncodeContext(sourceMap, selfContained, deferred = false) {
74
77
  return {
75
78
  containerIndex: new Map(),
76
79
  containerCount: 0,
@@ -79,8 +82,135 @@ export function createV5EncodeContext(sourceMap, selfContained) {
79
82
  sourceMap,
80
83
  sourceMapEmitted: sourceMap ? Number(sourceMap.size) : 1,
81
84
  selfContained,
85
+ merged: null,
86
+ translations: new Map(),
87
+ translated: new WeakMap(),
88
+ deferred,
89
+ blobMapAt: deferred && sourceMap !== null ? "header" : null,
82
90
  };
83
91
  }
92
+ /** The loc_ids of a closure with no map: they index nothing, so none names a
93
+ * stack of the blob it is written into. */
94
+ const NO_LOCATIONS = [];
95
+ /**
96
+ * How a closure's loc_ids stand in the blob's map: `null` when they stand
97
+ * where they are, as a closure of the stream's map's do; else each id's place.
98
+ *
99
+ * @remarks
100
+ * A stack the blob holds is found by its content. One it lacks is added, in
101
+ * its map's order, unless the stream is self-contained: a segment decoded on
102
+ * its own sees only the header's stacks, so the id is written as 0, no
103
+ * location. A closure names its own lines or none, never another's.
104
+ */
105
+ function blobLocationsOf(ctx, sm) {
106
+ if (sm === null)
107
+ return NO_LOCATIONS;
108
+ if (sm === ctx.sourceMap)
109
+ return null;
110
+ const known = ctx.translations.get(sm);
111
+ if (known !== undefined)
112
+ return known;
113
+ const stacks = sm.entries();
114
+ const table = [0n];
115
+ for (let i = 1; i < stacks.length; i++) {
116
+ const stack = stacks[i];
117
+ const held = (ctx.merged ?? ctx.sourceMap)?.find(stack);
118
+ if (held !== undefined) {
119
+ table.push(held);
120
+ }
121
+ else if (ctx.selfContained || ctx.sourceMap === null) {
122
+ table.push(0n);
123
+ }
124
+ else {
125
+ ctx.merged ??= copyOf(ctx.sourceMap);
126
+ table.push(ctx.merged.intern_stack([...stack]));
127
+ }
128
+ }
129
+ const translation = table.every((id, i) => id === BigInt(i)) ? null : table;
130
+ ctx.translations.set(sm, translation);
131
+ return translation;
132
+ }
133
+ /** A map of the same stacks, under the same ids, that an encode may add to. */
134
+ function copyOf(map) {
135
+ const copy = new SourceMap();
136
+ for (const stack of map.entries())
137
+ copy.intern_stack([...stack]);
138
+ return copy;
139
+ }
140
+ /** A closure's IR with its loc_ids where its stacks stand in the blob's map. */
141
+ function translatedIR(ctx, ir, translation) {
142
+ let byTranslation = ctx.translated.get(ir);
143
+ if (byTranslation === undefined) {
144
+ byTranslation = new Map();
145
+ ctx.translated.set(ir, byTranslation);
146
+ }
147
+ let translated = byTranslation.get(translation);
148
+ if (translated === undefined) {
149
+ translated = mapLocIds(ir, (id) => translation[Number(id)] ?? 0n);
150
+ byTranslation.set(translation, translated);
151
+ }
152
+ return translated;
153
+ }
154
+ /**
155
+ * Writes a closure's source-map delta. A self-contained stream writes none. A
156
+ * deferred encode writes its first closure's — every stack the blob's map holds
157
+ * so far — and none after it, the stacks later closures bring being left to
158
+ * {@link finishBlobMap}; with a header holding the map, none at all. Any other
159
+ * stream writes the stacks of the blob's map not yet written.
160
+ */
161
+ function writeStacksDelta(ctx, writer) {
162
+ const map = ctx.merged ?? ctx.sourceMap;
163
+ if (ctx.selfContained || (ctx.deferred && ctx.blobMapAt !== null)) {
164
+ writer.writeVarint(0);
165
+ return;
166
+ }
167
+ if (ctx.deferred) {
168
+ const start = writer.size;
169
+ if (map === null)
170
+ writer.writeVarint(0);
171
+ else
172
+ writeStacksFrom(map, 1, writer);
173
+ ctx.sourceMapEmitted = map === null ? 1 : Number(map.size);
174
+ ctx.blobMapAt = { start, end: writer.size, written: ctx.sourceMapEmitted };
175
+ return;
176
+ }
177
+ const pending = map === null ? 0 : Number(map.size) - ctx.sourceMapEmitted;
178
+ if (pending <= 0) {
179
+ writer.writeVarint(0);
180
+ return;
181
+ }
182
+ writeStacksFrom(map, ctx.sourceMapEmitted, writer);
183
+ ctx.sourceMapEmitted = Number(map.size);
184
+ }
185
+ /** Writes `varint(n)` and a map's stacks from `from` on: a delta. */
186
+ function writeStacksFrom(map, from, writer) {
187
+ const entries = map.entries();
188
+ writer.writeVarint(entries.length - from);
189
+ for (let i = from; i < entries.length; i++)
190
+ writeStack(entries[i], writer);
191
+ }
192
+ /**
193
+ * The logical bytes of a deferred encode, the first closure's delta holding the
194
+ * blob's map: as written, when a header holds the map, or when the map is the
195
+ * one the delta was written from; otherwise written again, holding every stack
196
+ * the value's closures brought. The logical bytes hold no byte offset, so
197
+ * nothing after the delta changes meaning.
198
+ */
199
+ function finishBlobMap(ctx, logical) {
200
+ const bytes = logical.toUint8Array();
201
+ const at = ctx.blobMapAt;
202
+ const map = ctx.merged ?? ctx.sourceMap;
203
+ if (at === null || at === "header" || map === null || Number(map.size) === at.written)
204
+ return bytes;
205
+ const delta = new BufferWriter();
206
+ writeStacksFrom(map, 1, delta);
207
+ const written = delta.toUint8Array();
208
+ const out = new Uint8Array(bytes.length - (at.end - at.start) + written.length);
209
+ out.set(bytes.subarray(0, at.start), 0);
210
+ out.set(written, at.start);
211
+ out.set(bytes.subarray(at.end), at.start + written.length);
212
+ return out;
213
+ }
84
214
  // =============================================================================
85
215
  // Source map section (v5: inline filenames)
86
216
  // =============================================================================
@@ -337,26 +467,15 @@ export function buildV5Encoder(type, typeCtx = new Map()) {
337
467
  const ir = value[EAST_IR_SYMBOL];
338
468
  if (!ir)
339
469
  throw new Error(`Cannot serialize function: no IR attached (${describeNoIrValue(value)})`);
340
- // Source-map delta: stacks of the stream's map not yet on the wire.
470
+ // A stream with no map yet takes the first closure's that carries one,
471
+ // whose stacks then stand where they are; any other closure's loc_ids
472
+ // are written where its stacks stand in the blob's map.
341
473
  const sm = value[EAST_SOURCE_MAP_SYMBOL] ?? null;
342
- if (ctx.sourceMap === null && sm)
474
+ if (ctx.sourceMap === null && sm !== null && !ctx.selfContained)
343
475
  ctx.sourceMap = sm;
344
- if (ctx.sourceMap !== null && sm === ctx.sourceMap && Number(ctx.sourceMap.size) > ctx.sourceMapEmitted) {
345
- if (ctx.selfContained) {
346
- throw new Error(`beast2 v5: self-contained streams cannot add function source maps mid-stream; ` +
347
- `pass the source map to the writer up front or disable selfContained`);
348
- }
349
- const entries = ctx.sourceMap.entries();
350
- writer.writeVarint(entries.length - ctx.sourceMapEmitted);
351
- for (let i = ctx.sourceMapEmitted; i < entries.length; i++) {
352
- writeStack(entries[i], writer);
353
- }
354
- ctx.sourceMapEmitted = entries.length;
355
- }
356
- else {
357
- writer.writeVarint(0);
358
- }
359
- fnIrEncoder(ir, writer, ctx);
476
+ const translation = blobLocationsOf(ctx, sm);
477
+ writeStacksDelta(ctx, writer);
478
+ fnIrEncoder(translation === null ? ir : translatedIR(ctx, ir, translation), writer, ctx);
360
479
  const captures = value[EAST_CAPTURES_SYMBOL];
361
480
  const captureList = ir.value.captures;
362
481
  writer.writeVarint(captureList.length);
@@ -749,15 +868,17 @@ export function encodeBeast2V5For(type, options) {
749
868
  const sourceMap = options?.sourceMap
750
869
  ?? value?.[EAST_SOURCE_MAP_SYMBOL]
751
870
  ?? null;
752
- const ctx = createV5EncodeContext(sourceMap, false);
871
+ // The value is encoded before the header is written: the blob's map is
872
+ // known once every closure in it has been.
873
+ const ctx = createV5EncodeContext(sourceMap, false, true);
753
874
  const writer = new BufferWriter();
754
- writer.writeBytes(headBytes);
755
- writeSourceMapSectionV5(sourceMap, writer);
756
875
  if (!withIndex) {
757
876
  // Single frame carrying the whole logical value encoding.
758
877
  const logical = new BufferWriter();
759
878
  valueEncoder(value, logical, ctx);
760
- writeFrame(writer, logical.toUint8Array(), codec);
879
+ writer.writeBytes(headBytes);
880
+ writeSourceMapSectionV5(sourceMap === null ? null : ctx.merged ?? sourceMap, writer);
881
+ writeFrame(writer, finishBlobMap(ctx, logical), codec);
761
882
  return writer.toUint8Array();
762
883
  }
763
884
  // Indexed layout: tag frame, one segment frame, terminator frame — every
@@ -765,15 +886,20 @@ export function encodeBeast2V5For(type, options) {
765
886
  ctx.containerCount++;
766
887
  ctx.containerIndex.set(value, 0);
767
888
  ctx.segmentBaseDef = 1;
768
- writeFrame(writer, new Uint8Array([TAG_NEW]), "none");
769
889
  const count = typeValue.type === "Array" ? value.length : value.size;
770
- const segments = [];
890
+ let logical = null;
771
891
  if (count > 0) {
772
- const logical = new BufferWriter();
892
+ logical = new BufferWriter();
773
893
  logical.writeVarint(count);
774
894
  encodeSegmentElements(typeValue, value, logical, ctx, setupTypeCtx);
895
+ }
896
+ writer.writeBytes(headBytes);
897
+ writeSourceMapSectionV5(sourceMap === null ? null : ctx.merged ?? sourceMap, writer);
898
+ writeFrame(writer, new Uint8Array([TAG_NEW]), "none");
899
+ const segments = [];
900
+ if (logical !== null) {
775
901
  segments.push({ offset: writer.size, count });
776
- writeFrame(writer, logical.toUint8Array(), codec);
902
+ writeFrame(writer, finishBlobMap(ctx, logical), codec);
777
903
  }
778
904
  writeFrame(writer, new Uint8Array([0x00]), "none");
779
905
  writeIndexAndFooter(writer, segments, !ctx.crossSegmentRef);
@@ -1 +1 @@
1
- {"version":3,"file":"codec.js","sourceRoot":"","sources":["../../../../../src/serialization/beast2/v5/codec.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"codec.js","sourceRoot":"","sources":["../../../../../src/serialization/beast2/v5/codec.ts"],"names":[],"mappings":"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"}
@@ -162,9 +162,9 @@ export declare function isCollectionManifest(typeValue: EastTypeValue, value: un
162
162
  *
163
163
  * @remarks
164
164
  * The collection type is written with its recursive types renamed
165
- * canonically ({@link canonicalTypeValue}): the ids a runtime gives them are
166
- * its own, and a manifest's hash names the collection in a store, so one
167
- * collection must have one manifest whichever runtime writes it.
165
+ * canonically ({@link canonicalTypeValue}), whatever ids its writer gave them:
166
+ * a manifest's hash names the collection in a store, so one collection has one
167
+ * manifest, whoever writes it and whenever.
168
168
  */
169
169
  export declare function encodeCollectionManifest(manifest: CollectionManifest): Uint8Array;
170
170
  /**
@@ -136,9 +136,9 @@ function codec() {
136
136
  *
137
137
  * @remarks
138
138
  * The collection type is written with its recursive types renamed
139
- * canonically ({@link canonicalTypeValue}): the ids a runtime gives them are
140
- * its own, and a manifest's hash names the collection in a store, so one
141
- * collection must have one manifest whichever runtime writes it.
139
+ * canonically ({@link canonicalTypeValue}), whatever ids its writer gave them:
140
+ * a manifest's hash names the collection in a store, so one collection has one
141
+ * manifest, whoever writes it and whenever.
142
142
  */
143
143
  export function encodeCollectionManifest(manifest) {
144
144
  return codec().encode({ ...manifest, type: canonicalTypeValue(manifest.type) });
@@ -1 +1 @@
1
- {"version":3,"file":"runs.d.ts","sourceRoot":"","sources":["../../../../../src/serialization/beast2/v5/runs.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAEH;;;;;;;;;;;;;;;;;;;;GAoBG;AAEH,OAAO,EAAE,KAAK,aAAa,EAAE,MAAM,0BAA0B,CAAC;AAC9D,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,mBAAmB,CAAC;AAMlD,OAAO,EAAuB,KAAK,eAAe,EAAE,KAAK,0BAA0B,EAAE,MAAM,aAAa,CAAC;AACzG,OAAO,EAAwB,KAAK,kBAAkB,EAAE,MAAM,sBAAsB,CAAC;AAGrF,iEAAiE;AACjE,eAAO,MAAM,aAAa,SAAU,CAAC;AAErC;wBACwB;AACxB,eAAO,MAAM,aAAa,QAAmB,CAAC;AA4B9C,sDAAsD;AACtD,MAAM,WAAW,aAAa;IAC5B;;;;OAIG;IACH,KAAK,CAAC,KAAK,EAAE,UAAU,GAAG,IAAI,CAAC;IAC/B,+DAA+D;IAC/D,KAAK,IAAI,IAAI,CAAC;CACf;AAED,mDAAmD;AACnD,MAAM,MAAM,sBAAsB,GAAG,IAAI,CAAC,0BAA0B,EAAE,cAAc,CAAC,GAAG;IACtF;;;;;;;OAOG;IACH,KAAK,CAAC,EAAE,CAAC,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,KAAK,EAAE,GAAG,KAAK,GAAG,CAAC;IAChD;iCAC6B;IAC7B,KAAK,CAAC,EAAE,OAAO,CAAC;CACjB,CAAC;AAEF;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA6BG;AACH,qBAAa,eAAe,CAAC,CAAC,SAAS,QAAQ,GAAG,QAAQ;IACxD,OAAO,CAAC,QAAQ,CAAC,SAAS,CAAgB;IAC1C,OAAO,CAAC,QAAQ,CAAC,IAAI,CAAiB;IACtC,OAAO,CAAC,QAAQ,CAAC,OAAO,CAAsD;IAC9E,OAAO,CAAC,QAAQ,CAAC,aAAa,CAA6B;IAC3D,OAAO,CAAC,QAAQ,CAAC,KAAK,CAAmD;IACzE,OAAO,CAAC,QAAQ,CAAC,KAAK,CAAU;IAChC,OAAO,CAAC,QAAQ,CAAC,GAAG,CAAqC;IACzD,OAAO,CAAC,QAAQ,CAAC,QAAQ,CAA2B;IACpD,OAAO,CAAC,QAAQ,CAAC,GAAG,CAAkB;IACtC;oEACgE;IAChE,OAAO,CAAC,QAAQ,CAAC,aAAa,CAAqD;IACnF,OAAO,CAAC,QAAQ,CAAC,WAAW,CAAgF;IAC5G,OAAO,CAAC,QAAQ,CAAC,WAAW,CAA0C;IACtE,6CAA6C;IAC7C,OAAO,CAAC,QAAQ,CAAC,MAAM,CAAsB;IAC7C,+CAA+C;IAC/C,OAAO,CAAC,QAAQ,CAAC,MAAM,CAAsB;IAC7C,OAAO,CAAC,MAAM,CAAgB;IAC9B,OAAO,CAAC,UAAU,CAAgB;IAClC,OAAO,CAAC,IAAI,CAAiB;IAC7B,OAAO,CAAC,OAAO,CAAK;IACpB,OAAO,CAAC,QAAQ,CAAS;IAEzB;;;;;;;;OAQG;gBACS,IAAI,EAAE,CAAC,GAAG,aAAa,EAAE,OAAO,EAAE,CAAC,GAAG,EAAE,MAAM,KAAK,aAAa,GAAG,kBAAkB,EAAE,OAAO,CAAC,EAAE,sBAAsB;IAoDnI;oCACgC;IAChC,IAAI,IAAI,IAAI,MAAM,CAEjB;IAED;;;;;;;;OAQG;IACH,GAAG,CAAC,OAAO,EAAE,eAAe,CAAC,CAAC,CAAC,GAAG,IAAI;IAsBtC;;;;;OAKG;IACH,MAAM,IAAI,IAAI;IAMd;;0CAEsC;IACtC,OAAO,CAAC,QAAQ;CAiDjB"}
1
+ {"version":3,"file":"runs.d.ts","sourceRoot":"","sources":["../../../../../src/serialization/beast2/v5/runs.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAEH;;;;;;;;;;;;;;;;;;;;GAoBG;AAEH,OAAO,EAAE,KAAK,aAAa,EAAE,MAAM,0BAA0B,CAAC;AAC9D,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,mBAAmB,CAAC;AAQlD,OAAO,EAAuB,KAAK,eAAe,EAAE,KAAK,0BAA0B,EAAE,MAAM,aAAa,CAAC;AACzG,OAAO,EAAwB,KAAK,kBAAkB,EAAE,MAAM,sBAAsB,CAAC;AAErF,iEAAiE;AACjE,eAAO,MAAM,aAAa,SAAU,CAAC;AAErC;wBACwB;AACxB,eAAO,MAAM,aAAa,QAAmB,CAAC;AA4B9C,sDAAsD;AACtD,MAAM,WAAW,aAAa;IAC5B;;;;OAIG;IACH,KAAK,CAAC,KAAK,EAAE,UAAU,GAAG,IAAI,CAAC;IAC/B,+DAA+D;IAC/D,KAAK,IAAI,IAAI,CAAC;CACf;AAED,mDAAmD;AACnD,MAAM,MAAM,sBAAsB,GAAG,IAAI,CAAC,0BAA0B,EAAE,cAAc,CAAC,GAAG;IACtF;;;;;;;OAOG;IACH,KAAK,CAAC,EAAE,CAAC,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,KAAK,EAAE,GAAG,KAAK,GAAG,CAAC;IAChD;iCAC6B;IAC7B,KAAK,CAAC,EAAE,OAAO,CAAC;CACjB,CAAC;AAEF;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA6BG;AACH,qBAAa,eAAe,CAAC,CAAC,SAAS,QAAQ,GAAG,QAAQ;IACxD,OAAO,CAAC,QAAQ,CAAC,SAAS,CAAgB;IAC1C,OAAO,CAAC,QAAQ,CAAC,IAAI,CAAiB;IACtC,OAAO,CAAC,QAAQ,CAAC,OAAO,CAAsD;IAC9E,OAAO,CAAC,QAAQ,CAAC,aAAa,CAA6B;IAC3D,OAAO,CAAC,QAAQ,CAAC,KAAK,CAAmD;IACzE,OAAO,CAAC,QAAQ,CAAC,KAAK,CAAU;IAChC,OAAO,CAAC,QAAQ,CAAC,GAAG,CAAqC;IACzD,OAAO,CAAC,QAAQ,CAAC,QAAQ,CAA2B;IACpD,OAAO,CAAC,QAAQ,CAAC,GAAG,CAAkB;IACtC;oEACgE;IAChE,OAAO,CAAC,QAAQ,CAAC,aAAa,CAAqD;IACnF,OAAO,CAAC,QAAQ,CAAC,WAAW,CAAgF;IAC5G,OAAO,CAAC,QAAQ,CAAC,WAAW,CAA0C;IACtE,6CAA6C;IAC7C,OAAO,CAAC,QAAQ,CAAC,MAAM,CAAsB;IAC7C,+CAA+C;IAC/C,OAAO,CAAC,QAAQ,CAAC,MAAM,CAAsB;IAC7C,OAAO,CAAC,MAAM,CAAgB;IAC9B,OAAO,CAAC,UAAU,CAAgB;IAClC,OAAO,CAAC,IAAI,CAAiB;IAC7B,OAAO,CAAC,OAAO,CAAK;IACpB,OAAO,CAAC,QAAQ,CAAS;IAEzB;;;;;;;;OAQG;gBACS,IAAI,EAAE,CAAC,GAAG,aAAa,EAAE,OAAO,EAAE,CAAC,GAAG,EAAE,MAAM,KAAK,aAAa,GAAG,kBAAkB,EAAE,OAAO,CAAC,EAAE,sBAAsB;IA8DnI;oCACgC;IAChC,IAAI,IAAI,IAAI,MAAM,CAEjB;IAED;;;;;;;;OAQG;IACH,GAAG,CAAC,OAAO,EAAE,eAAe,CAAC,CAAC,CAAC,GAAG,IAAI;IAsBtC;;;;;OAKG;IACH,MAAM,IAAI,IAAI;IAMd;;0CAEsC;IACtC,OAAO,CAAC,QAAQ;CAiDjB"}
@@ -26,12 +26,13 @@
26
26
  import {} from "../../../type_of_type.js";
27
27
  import { printFor } from "../../east.js";
28
28
  import { compareFor } from "../../../comparison.js";
29
- import { BufferWriter } from "../../binary-utils.js";
29
+ import { BufferReader, BufferWriter } from "../../binary-utils.js";
30
+ import { SourceMap } from "../../../location.js";
31
+ import { buildPlatformContext } from "../shared.js";
30
32
  import { asTypeValue } from "./type-section.js";
31
- import { buildV5Encoder, createV5EncodeContext } from "./codec.js";
33
+ import { buildV5Decoder, buildV5Encoder, createV5EncodeContext } from "./codec.js";
32
34
  import { Beast2ElementWriter } from "./stream.js";
33
35
  import { Beast2ManifestWriter } from "./manifest-writer.js";
34
- import { decodeBeast2FenceFor } from "./boundary.js";
35
36
  /** Elements a run holds before it closes (pairs, for a Dict). */
36
37
  export const RUN_MAX_COUNT = 131_072;
37
38
  /** Bytes of canonical element encoding — keys and values both — a run holds
@@ -159,7 +160,18 @@ export class Beast2RunSorter {
159
160
  return keyLength;
160
161
  };
161
162
  this.encodeValue = value;
162
- this.decodeValue = merge !== undefined ? decodeBeast2FenceFor(dict.value) : null;
163
+ // A value folds decoded under the runs' map, which its bytes were
164
+ // written against, so a closure in it names the lines it was written at
165
+ // — and is written again as it was.
166
+ const decode = buildV5Decoder(dict.value);
167
+ const sourceMap = writerOptions.sourceMap ?? new SourceMap();
168
+ this.decodeValue = merge === undefined ? null : (bytes) => {
169
+ const reader = new BufferReader(bytes, 0);
170
+ const decoded = decode(reader, { containers: [], sourceMap, frozen: false, ...buildPlatformContext() });
171
+ if (reader.offset !== bytes.length)
172
+ throw new Error(`beast2 v5: ${bytes.length - reader.offset} bytes after the encoded value`);
173
+ return decoded;
174
+ };
163
175
  this.cmp = compareFor(dict.key);
164
176
  this.printKey = printFor(dict.key);
165
177
  }