@elaraai/east 1.0.98 → 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.
- package/README.md +0 -1
- package/dist/src/builtins.d.ts +1 -1
- package/dist/src/builtins.d.ts.map +1 -1
- package/dist/src/builtins.js +14 -0
- package/dist/src/builtins.js.map +1 -1
- package/dist/src/codegen/spellings.d.ts.map +1 -1
- package/dist/src/codegen/spellings.js +2 -0
- package/dist/src/codegen/spellings.js.map +1 -1
- package/dist/src/comparison.d.ts +6 -5
- package/dist/src/comparison.d.ts.map +1 -1
- package/dist/src/comparison.js +6 -5
- package/dist/src/comparison.js.map +1 -1
- package/dist/src/compile/builtins/array.d.ts +4 -0
- package/dist/src/compile/builtins/array.d.ts.map +1 -1
- package/dist/src/compile/builtins/array.js +15 -1
- package/dist/src/compile/builtins/array.js.map +1 -1
- package/dist/src/compile/builtins/dict.d.ts +4 -0
- package/dist/src/compile/builtins/dict.d.ts.map +1 -1
- package/dist/src/compile/builtins/dict.js +14 -1
- package/dist/src/compile/builtins/dict.js.map +1 -1
- package/dist/src/compile/builtins/tree.d.ts +13 -0
- package/dist/src/compile/builtins/tree.d.ts.map +1 -1
- package/dist/src/compile/builtins/tree.js +27 -1
- package/dist/src/compile/builtins/tree.js.map +1 -1
- package/dist/src/compile/builtins/vector.d.ts +2 -2
- package/dist/src/expr/array.d.ts +39 -0
- package/dist/src/expr/array.d.ts.map +1 -1
- package/dist/src/expr/array.js +47 -0
- package/dist/src/expr/array.js.map +1 -1
- package/dist/src/expr/dict.d.ts +44 -1
- package/dist/src/expr/dict.d.ts.map +1 -1
- package/dist/src/expr/dict.js +54 -2
- package/dist/src/expr/dict.js.map +1 -1
- package/dist/src/expr/index.d.ts +130 -0
- package/dist/src/expr/index.d.ts.map +1 -1
- package/dist/src/expr/index.js +133 -0
- package/dist/src/expr/index.js.map +1 -1
- package/dist/src/expr/named.d.ts +100 -0
- package/dist/src/expr/named.d.ts.map +1 -0
- package/dist/src/expr/named.js +182 -0
- package/dist/src/expr/named.js.map +1 -0
- package/dist/src/functions.d.ts +21 -0
- package/dist/src/functions.d.ts.map +1 -1
- package/dist/src/functions.js +22 -41
- package/dist/src/functions.js.map +1 -1
- package/dist/src/ir_locations.d.ts +24 -0
- package/dist/src/ir_locations.d.ts.map +1 -0
- package/dist/src/ir_locations.js +58 -0
- package/dist/src/ir_locations.js.map +1 -0
- package/dist/src/location.d.ts +10 -0
- package/dist/src/location.d.ts.map +1 -1
- package/dist/src/location.js +19 -1
- package/dist/src/location.js.map +1 -1
- package/dist/src/query/jq/catalog.js +1 -1
- package/dist/src/query/jq/catalog.js.map +1 -1
- package/dist/src/query/jq/translate-builtins.d.ts.map +1 -1
- package/dist/src/query/jq/translate-builtins.js +11 -2
- package/dist/src/query/jq/translate-builtins.js.map +1 -1
- package/dist/src/query/jq/translate.d.ts +12 -0
- package/dist/src/query/jq/translate.d.ts.map +1 -1
- package/dist/src/query/jq/translate.js +40 -0
- package/dist/src/query/jq/translate.js.map +1 -1
- package/dist/src/runner_exec.d.ts +4 -1
- package/dist/src/runner_exec.d.ts.map +1 -1
- package/dist/src/runner_exec.js +24 -12
- package/dist/src/runner_exec.js.map +1 -1
- package/dist/src/runner_merge.d.ts +18 -0
- package/dist/src/runner_merge.d.ts.map +1 -1
- package/dist/src/runner_merge.js +36 -2
- package/dist/src/runner_merge.js.map +1 -1
- package/dist/src/serialization/beast2/decoded-function.spec.js +7 -4
- package/dist/src/serialization/beast2/decoded-function.spec.js.map +1 -1
- package/dist/src/serialization/beast2/v4/container.d.ts.map +1 -1
- package/dist/src/serialization/beast2/v4/container.js +3 -4
- package/dist/src/serialization/beast2/v4/container.js.map +1 -1
- package/dist/src/serialization/beast2/v4/type-table.d.ts +42 -14
- package/dist/src/serialization/beast2/v4/type-table.d.ts.map +1 -1
- package/dist/src/serialization/beast2/v4/type-table.js +139 -53
- package/dist/src/serialization/beast2/v4/type-table.js.map +1 -1
- package/dist/src/serialization/beast2/v5/codec.d.ts +29 -2
- package/dist/src/serialization/beast2/v5/codec.d.ts.map +1 -1
- package/dist/src/serialization/beast2/v5/codec.js +153 -27
- package/dist/src/serialization/beast2/v5/codec.js.map +1 -1
- package/dist/src/serialization/beast2/v5/manifest.d.ts +3 -3
- package/dist/src/serialization/beast2/v5/manifest.js +3 -3
- package/dist/src/serialization/beast2/v5/runs.d.ts.map +1 -1
- package/dist/src/serialization/beast2/v5/runs.js +16 -4
- package/dist/src/serialization/beast2/v5/runs.js.map +1 -1
- package/dist/src/serialization/beast2/v5/source-maps.spec.d.ts +6 -0
- package/dist/src/serialization/beast2/v5/source-maps.spec.d.ts.map +1 -0
- package/dist/src/serialization/beast2/v5/source-maps.spec.js +81 -0
- package/dist/src/serialization/beast2/v5/source-maps.spec.js.map +1 -0
- package/dist/src/serialization/beast2/v5/type-section.js +1 -1
- package/dist/src/serialization/beast2/v5/type-section.js.map +1 -1
- package/dist/src/type_of_type.d.ts +12 -33
- package/dist/src/type_of_type.d.ts.map +1 -1
- package/dist/src/type_of_type.js +46 -174
- package/dist/src/type_of_type.js.map +1 -1
- package/dist/src/type_of_type.recursive_id.spec.d.ts +6 -0
- package/dist/src/type_of_type.recursive_id.spec.d.ts.map +1 -0
- package/dist/src/type_of_type.recursive_id.spec.js +86 -0
- package/dist/src/type_of_type.recursive_id.spec.js.map +1 -0
- package/dist/src/type_of_type.to_etv.spec.js +9 -9
- package/dist/src/type_of_type.to_etv.spec.js.map +1 -1
- package/dist/src/type_value_equal.d.ts +31 -0
- package/dist/src/type_value_equal.d.ts.map +1 -0
- package/dist/src/type_value_equal.js +170 -0
- package/dist/src/type_value_equal.js.map +1 -0
- package/dist/src/types.d.ts.map +1 -1
- package/dist/src/types.js +3 -1
- package/dist/src/types.js.map +1 -1
- 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":"AAAA;;;GAGG;AAEH;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAmCG;AAEH,OAAO,EAAE,KAAK,aAAa,EAAE,MAAM,0BAA0B,CAAC;AAC9D,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,mBAAmB,CAAC;AAOlD,OAAO,EAAE,YAAY,EAAE,YAAY,EAAE,MAAM,uBAAuB,CAAC;
|
|
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
|
-
//
|
|
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
|
-
|
|
345
|
-
|
|
346
|
-
|
|
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
|
-
|
|
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
|
-
|
|
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
|
-
|
|
890
|
+
let logical = null;
|
|
771
891
|
if (count > 0) {
|
|
772
|
-
|
|
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
|
|
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})
|
|
166
|
-
*
|
|
167
|
-
*
|
|
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})
|
|
140
|
-
*
|
|
141
|
-
*
|
|
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;
|
|
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
|
-
|
|
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
|
}
|