spliterator 4.0.0 → 6.0.0
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 +56 -0
- package/out/index.d.ts +7 -1
- package/out/index.d.ts.map +1 -1
- package/out/index.js +7 -1
- package/out/index.js.map +1 -1
- package/out/lib/AsyncSequence.d.ts +180 -0
- package/out/lib/AsyncSequence.d.ts.map +1 -0
- package/out/lib/AsyncSequence.js +432 -0
- package/out/lib/AsyncSequence.js.map +1 -0
- package/out/lib/AsyncSpliterator.d.ts.map +1 -1
- package/out/lib/AsyncSpliterator.js +6 -4
- package/out/lib/AsyncSpliterator.js.map +1 -1
- package/out/lib/BufferController.d.ts.map +1 -1
- package/out/lib/BufferController.js.map +1 -1
- package/out/lib/CSVSpliterator.d.ts +14 -11
- package/out/lib/CSVSpliterator.d.ts.map +1 -1
- package/out/lib/CSVSpliterator.js +53 -37
- package/out/lib/CSVSpliterator.js.map +1 -1
- package/out/lib/CharacterSequence.d.ts +10 -1
- package/out/lib/CharacterSequence.d.ts.map +1 -1
- package/out/lib/CharacterSequence.js +76 -26
- package/out/lib/CharacterSequence.js.map +1 -1
- package/out/lib/CompositeDataView.d.ts.map +1 -1
- package/out/lib/CompositeDataView.js.map +1 -1
- package/out/lib/IndexQueue.d.ts.map +1 -1
- package/out/lib/IndexQueue.js +3 -1
- package/out/lib/IndexQueue.js.map +1 -1
- package/out/lib/JSONSpliterator.d.ts +20 -9
- package/out/lib/JSONSpliterator.d.ts.map +1 -1
- package/out/lib/JSONSpliterator.js +27 -19
- package/out/lib/JSONSpliterator.js.map +1 -1
- package/out/lib/PSVSpliterator.js.map +1 -1
- package/out/lib/SlidingWindow.d.ts.map +1 -1
- package/out/lib/SlidingWindow.js.map +1 -1
- package/out/lib/Spliterator.d.ts.map +1 -1
- package/out/lib/Spliterator.js +6 -4
- package/out/lib/Spliterator.js.map +1 -1
- package/out/lib/TSVSpliterator.js.map +1 -1
- package/out/lib/TextSpliterator.d.ts +6 -4
- package/out/lib/TextSpliterator.d.ts.map +1 -1
- package/out/lib/TextSpliterator.js +10 -13
- package/out/lib/TextSpliterator.js.map +1 -1
- package/out/lib/adaptive-source.d.ts +39 -0
- package/out/lib/adaptive-source.d.ts.map +1 -0
- package/out/lib/adaptive-source.js +95 -0
- package/out/lib/adaptive-source.js.map +1 -0
- package/out/lib/casing.js +3 -3
- package/out/lib/casing.js.map +1 -1
- package/out/lib/chunks.d.ts +20 -0
- package/out/lib/chunks.d.ts.map +1 -0
- package/out/lib/chunks.js +36 -0
- package/out/lib/chunks.js.map +1 -0
- package/out/lib/merge-async-iterators.d.ts.map +1 -1
- package/out/lib/merge-async-iterators.js +3 -2
- package/out/lib/merge-async-iterators.js.map +1 -1
- package/out/lib/parallel-map-runtime.d.ts +3 -1
- package/out/lib/parallel-map-runtime.d.ts.map +1 -1
- package/out/lib/parallel-map-runtime.js +1 -1
- package/out/lib/parallel-map-runtime.js.map +1 -1
- package/out/lib/parallel-map-worker-entry.js +3 -2
- package/out/lib/parallel-map-worker-entry.js.map +1 -1
- package/out/lib/parallel-map-workers.d.ts +57 -0
- package/out/lib/parallel-map-workers.d.ts.map +1 -0
- package/out/lib/parallel-map-workers.js +82 -0
- package/out/lib/parallel-map-workers.js.map +1 -0
- package/out/lib/parallel-map.d.ts +17 -34
- package/out/lib/parallel-map.d.ts.map +1 -1
- package/out/lib/parallel-map.js +18 -62
- package/out/lib/parallel-map.js.map +1 -1
- package/out/lib/pivot.d.ts +30 -0
- package/out/lib/pivot.d.ts.map +1 -0
- package/out/lib/pivot.js +47 -0
- package/out/lib/pivot.js.map +1 -0
- package/out/lib/segment-runtime.d.ts.map +1 -1
- package/out/lib/segment-runtime.js +7 -4
- package/out/lib/segment-runtime.js.map +1 -1
- package/out/lib/segment-worker-entry.js +20 -17
- package/out/lib/segment-worker-entry.js.map +1 -1
- package/out/lib/segment-workers.d.ts +22 -9
- package/out/lib/segment-workers.d.ts.map +1 -1
- package/out/lib/segment-workers.js +8 -4
- package/out/lib/segment-workers.js.map +1 -1
- package/out/lib/segments.d.ts +9 -3
- package/out/lib/segments.d.ts.map +1 -1
- package/out/lib/segments.js +6 -4
- package/out/lib/segments.js.map +1 -1
- package/out/lib/shared.d.ts +3 -29
- package/out/lib/shared.d.ts.map +1 -1
- package/out/lib/shared.js +0 -55
- package/out/lib/shared.js.map +1 -1
- package/out/lib/take.d.ts +16 -0
- package/out/lib/take.d.ts.map +1 -1
- package/out/lib/take.js +31 -1
- package/out/lib/take.js.map +1 -1
- package/out/lib/utils.d.ts +37 -0
- package/out/lib/utils.d.ts.map +1 -0
- package/out/lib/utils.js +39 -0
- package/out/lib/utils.js.map +1 -0
- package/out/lib/wasm_module.d.ts +9 -3
- package/out/lib/wasm_module.d.ts.map +1 -1
- package/out/lib/wasm_module.js.map +1 -1
- package/out/lib/writer.d.ts +1 -1
- package/out/lib/writer.d.ts.map +1 -1
- package/out/lib/writer.js +1 -1
- package/out/lib/writer.js.map +1 -1
- package/out/lib/zip.d.ts +33 -0
- package/out/lib/zip.d.ts.map +1 -0
- package/out/lib/zip.js +59 -0
- package/out/lib/zip.js.map +1 -0
- package/out/node/cli/commands/csv.d.ts +3 -38
- package/out/node/cli/commands/csv.d.ts.map +1 -1
- package/out/node/cli/commands/csv.js +55 -47
- package/out/node/cli/commands/csv.js.map +1 -1
- package/out/node/cli/commands/iterate.d.ts +3 -31
- package/out/node/cli/commands/iterate.d.ts.map +1 -1
- package/out/node/cli/commands/iterate.js +45 -24
- package/out/node/cli/commands/iterate.js.map +1 -1
- package/out/node/cli/index.js +36 -22
- package/out/node/cli/index.js.map +1 -1
- package/out/node/cli/parse-args.d.ts +120 -0
- package/out/node/cli/parse-args.d.ts.map +1 -0
- package/out/node/cli/parse-args.js +118 -0
- package/out/node/cli/parse-args.js.map +1 -0
- package/out/node/cli/utils.d.ts +79 -28
- package/out/node/cli/utils.d.ts.map +1 -1
- package/out/node/cli/utils.js +63 -63
- package/out/node/cli/utils.js.map +1 -1
- package/out/node/fs/index.d.ts.map +1 -1
- package/out/node/fs/index.js +7 -3
- package/out/node/fs/index.js.map +1 -1
- package/package.json +13 -17
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"CSVSpliterator.d.ts","sourceRoot":"","sources":["../../lib/CSVSpliterator.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAGH,OAAO,EAAqB,KAAK,sBAAsB,EAAc,MAAM,wBAAwB,CAAA;AACnG,OAAO,EAAE,
|
|
1
|
+
{"version":3,"file":"CSVSpliterator.d.ts","sourceRoot":"","sources":["../../lib/CSVSpliterator.ts"],"names":[],"mappings":"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"}
|
|
@@ -3,10 +3,12 @@
|
|
|
3
3
|
* @license MIT
|
|
4
4
|
* @author Teffen Ellis, et al.
|
|
5
5
|
*/
|
|
6
|
+
import { openDelimitedRows } from "./adaptive-source.js";
|
|
7
|
+
import { AsyncSequence } from "./AsyncSequence.js";
|
|
6
8
|
import { normalizeColumnNames } from "./casing.js";
|
|
7
9
|
import { CharacterSequence, Delimiters } from "./CharacterSequence.js";
|
|
8
|
-
import { zipSync } from "./shared.js";
|
|
9
10
|
import { Spliterator } from "./Spliterator.js";
|
|
11
|
+
import { zipSync } from "./zip.js";
|
|
10
12
|
const identity = (value) => value;
|
|
11
13
|
const doubleQuoteSequence = new CharacterSequence('"');
|
|
12
14
|
/**
|
|
@@ -95,7 +97,12 @@ export class CSVSpliterator {
|
|
|
95
97
|
static *from(source, init = {}) {
|
|
96
98
|
const {
|
|
97
99
|
// ---
|
|
98
|
-
header = true,
|
|
100
|
+
header = true,
|
|
101
|
+
// `mode` is destructured before `normalizeKeys` because the latter's default reads it.
|
|
102
|
+
mode = "array", transformers: transformersInput = [],
|
|
103
|
+
// Matches `fromAsync`. These two defaulted differently until 4.0.1, so the same options
|
|
104
|
+
// object produced `row.some_name` from one entry point and `row["Some Name"]` from the other.
|
|
105
|
+
normalizeKeys = mode !== "array", columnDelimiter: columnDelimiterInput = this.ColumnDelimiter, enableQuoteHandling = false,
|
|
99
106
|
// RFC 4180 mandates CRLF row terminators — accept them by default so the last column
|
|
100
107
|
// never carries a stray `\r` on Windows-lineage sources.
|
|
101
108
|
crlf = true, take = Infinity, drop = 0, ...rowInit } = init;
|
|
@@ -114,6 +121,7 @@ export class CSVSpliterator {
|
|
|
114
121
|
return;
|
|
115
122
|
const columns = splitRowColumns(result.value, columnDelimiter, decoder, enableQuoteHandling);
|
|
116
123
|
const headers = normalizeKeys ? normalizeColumnNames(columns) : columns;
|
|
124
|
+
// oxlint-disable-next-line unicorn/prefer-ternary
|
|
117
125
|
if (Array.isArray(transformersInput)) {
|
|
118
126
|
transformers = Array.from(zipSync(headers, transformersInput), ([columnName, transformer]) => [
|
|
119
127
|
columnName,
|
|
@@ -148,7 +156,8 @@ export class CSVSpliterator {
|
|
|
148
156
|
*
|
|
149
157
|
* @yields Each row, shaped according to the `mode` option.
|
|
150
158
|
*/
|
|
151
|
-
static
|
|
159
|
+
static fromAsync(source, init = {}) {
|
|
160
|
+
const defaultColumnDelimiter = this.ColumnDelimiter;
|
|
152
161
|
const {
|
|
153
162
|
// ---
|
|
154
163
|
header = true, mode = "array", transformers: transformersInput = [], normalizeKeys = mode !== "array", columnDelimiter: columnDelimiterInput, enableQuoteHandling = false,
|
|
@@ -156,44 +165,51 @@ export class CSVSpliterator {
|
|
|
156
165
|
// never carries a stray `\r` on Windows-lineage sources.
|
|
157
166
|
crlf = true, take = Infinity, drop = 0, ...rowInit } = init;
|
|
158
167
|
const emitter = CSVSpliteratorEmitters[mode];
|
|
159
|
-
|
|
160
|
-
let yieldCount = 0;
|
|
161
|
-
const yieldLimit = take + drop;
|
|
162
|
-
const columnDelimiter = new CharacterSequence(columnDelimiterInput ?? this.ColumnDelimiter);
|
|
168
|
+
const columnDelimiter = new CharacterSequence(columnDelimiterInput ?? defaultColumnDelimiter);
|
|
163
169
|
const decoder = new TextDecoder();
|
|
164
|
-
//
|
|
165
|
-
//
|
|
166
|
-
|
|
167
|
-
|
|
168
|
-
|
|
169
|
-
|
|
170
|
-
|
|
171
|
-
|
|
172
|
-
|
|
173
|
-
|
|
174
|
-
|
|
175
|
-
|
|
176
|
-
|
|
177
|
-
|
|
178
|
-
|
|
179
|
-
|
|
180
|
-
|
|
181
|
-
|
|
182
|
-
|
|
183
|
-
|
|
184
|
-
|
|
185
|
-
|
|
186
|
-
|
|
187
|
-
|
|
188
|
-
|
|
189
|
-
|
|
170
|
+
// Populated by the header pass below before the first row op runs, since the source thunk resolves on the first
|
|
171
|
+
// pull and the ops only run against what it returns.
|
|
172
|
+
let transformers = [];
|
|
173
|
+
const openRows = async () => {
|
|
174
|
+
// Quote handling applies at both levels: rows must not split on newlines inside quotes,
|
|
175
|
+
// columns must not split on quoted column delimiters.
|
|
176
|
+
const rows = await openDelimitedRows(source, { ...rowInit, crlf, enableQuoteHandling });
|
|
177
|
+
if (header) {
|
|
178
|
+
// Both engines return `this` from their iterator method, so consuming the header row here advances the very
|
|
179
|
+
// cursor the row ops will go on to read — returning `rows` afterwards resumes at row two, not row one.
|
|
180
|
+
const iterator = Symbol.asyncIterator in rows ? rows[Symbol.asyncIterator]() : rows[Symbol.iterator]();
|
|
181
|
+
const result = await iterator.next();
|
|
182
|
+
if (result.done)
|
|
183
|
+
return rows;
|
|
184
|
+
const columns = splitRowColumns(result.value, columnDelimiter, decoder, enableQuoteHandling);
|
|
185
|
+
const headers = normalizeKeys ? normalizeColumnNames(columns) : columns;
|
|
186
|
+
// oxlint-disable-next-line unicorn/prefer-ternary
|
|
187
|
+
if (Array.isArray(transformersInput)) {
|
|
188
|
+
transformers = Array.from(zipSync(headers, transformersInput), ([columnName, transformer]) => [
|
|
189
|
+
columnName,
|
|
190
|
+
transformer ?? identity,
|
|
191
|
+
]);
|
|
192
|
+
}
|
|
193
|
+
else {
|
|
194
|
+
transformers = headers.map((columnName) => {
|
|
195
|
+
const transform = transformersInput[columnName] || identity;
|
|
196
|
+
return [columnName, transform];
|
|
197
|
+
});
|
|
198
|
+
}
|
|
190
199
|
}
|
|
191
|
-
|
|
192
|
-
|
|
200
|
+
return rows;
|
|
201
|
+
};
|
|
202
|
+
let sequence = AsyncSequence.from(openRows).map((row) => {
|
|
193
203
|
const columns = splitRowColumns(row, columnDelimiter, decoder, enableQuoteHandling);
|
|
194
|
-
|
|
195
|
-
|
|
204
|
+
return emitter ? emitter(columns, transformers) : columns;
|
|
205
|
+
});
|
|
206
|
+
if (drop > 0) {
|
|
207
|
+
sequence = sequence.drop(drop);
|
|
208
|
+
}
|
|
209
|
+
if (Number.isFinite(take)) {
|
|
210
|
+
sequence = sequence.take(take);
|
|
196
211
|
}
|
|
212
|
+
return sequence;
|
|
197
213
|
}
|
|
198
214
|
}
|
|
199
215
|
//# sourceMappingURL=CSVSpliterator.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"CSVSpliterator.js","sourceRoot":"","sources":["../../lib/CSVSpliterator.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH,OAAO,EAAE,oBAAoB,EAAE,MAAM,aAAa,CAAA;AAClD,OAAO,EAAE,iBAAiB,EAA+B,UAAU,EAAE,MAAM,wBAAwB,CAAA;
|
|
1
|
+
{"version":3,"file":"CSVSpliterator.js","sourceRoot":"","sources":["../../lib/CSVSpliterator.ts"],"names":[],"mappings":"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"}
|
|
@@ -3,10 +3,11 @@
|
|
|
3
3
|
* @license MIT
|
|
4
4
|
* @author Teffen Ellis, et al.
|
|
5
5
|
*/
|
|
6
|
+
import type { PathBuilderLike } from "path-ts";
|
|
6
7
|
import type { ByteRange } from "./shared.js";
|
|
7
8
|
import { type MatchResult } from "./wasm_module.js";
|
|
8
9
|
export declare function isArrayLike<T>(input: unknown): input is ArrayLike<T>;
|
|
9
|
-
export type CharacterSequenceInput = number | string | DataView | ArrayBuffer | Buffer | Iterable<number
|
|
10
|
+
export type CharacterSequenceInput = number | string | DataView | ArrayBuffer | Buffer | Iterable<number> | PathBuilderLike;
|
|
10
11
|
export declare const Delimiters: {
|
|
11
12
|
readonly Null: 0;
|
|
12
13
|
readonly LineFeed: 10;
|
|
@@ -42,6 +43,14 @@ export declare class CharacterSequence extends Uint8Array {
|
|
|
42
43
|
* fallback otherwise.
|
|
43
44
|
*/
|
|
44
45
|
searchMatches(haystack: Uint8Array, quotePattern: Uint8Array, start?: number, end?: number): MatchResult[];
|
|
46
|
+
/**
|
|
47
|
+
* Adopt a pattern as a sequence, reusing it when it already is one.
|
|
48
|
+
*
|
|
49
|
+
* Constructing a sequence builds a 256-entry skip table, so wrapping unconditionally puts that allocation on every
|
|
50
|
+
* call of a per-row scan. Every in-tree caller of {@linkcode searchMatches} already holds a long-lived sequence for
|
|
51
|
+
* its quote pattern.
|
|
52
|
+
*/
|
|
53
|
+
static asSequence(pattern: Uint8Array): CharacterSequence;
|
|
45
54
|
decode(encoding?: string): string;
|
|
46
55
|
constructor(input?: CharacterSequenceInput);
|
|
47
56
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"CharacterSequence.d.ts","sourceRoot":"","sources":["../../lib/CharacterSequence.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,aAAa,CAAA;AAC5C,OAAO,EAIN,KAAK,WAAW,EAGhB,MAAM,kBAAkB,CAAA;AAEzB,wBAAgB,WAAW,CAAC,CAAC,EAAE,KAAK,EAAE,OAAO,GAAG,KAAK,IAAI,SAAS,CAAC,CAAC,CAAC,CAEpE;AAED,MAAM,MAAM,sBAAsB,
|
|
1
|
+
{"version":3,"file":"CharacterSequence.d.ts","sourceRoot":"","sources":["../../lib/CharacterSequence.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,SAAS,CAAA;AAE9C,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,aAAa,CAAA;AAC5C,OAAO,EAIN,KAAK,WAAW,EAGhB,MAAM,kBAAkB,CAAA;AAEzB,wBAAgB,WAAW,CAAC,CAAC,EAAE,KAAK,EAAE,OAAO,GAAG,KAAK,IAAI,SAAS,CAAC,CAAC,CAAC,CAEpE;AAED,MAAM,MAAM,sBAAsB,GAC/B,MAAM,GACN,MAAM,GACN,QAAQ,GACR,WAAW,GACX,MAAM,GACN,QAAQ,CAAC,MAAM,CAAC,GAChB,eAAe,CAAA;AAElB,eAAO,MAAM,UAAU;mBAChB,CAAC;uBACG,EAAE;6BACI,EAAE;oBACX,EAAE;kBACJ,CAAC;oBACC,EAAE;kBACJ,EAAE;mBACD,EAAE;0BACK,EAAE;8BACE,EAAE;mBACb,GAAG;CACiC,CAAA;AAE3C,eAAO,MAAM,mBAAmB,qBAS9B,CAAA;AAEF,wBAAgB,wBAAwB,CAAC,SAAS,EAAE,UAAU,GAAG,MAAM,CAItE;AAID,wBAAgB,uBAAuB,CAAC,KAAK,EAAE,sBAAsB,GAAG,UAAU,CAsBjF;AAeD,qBAAa,iBAAkB,SAAQ,UAAU;;IA8BhD;;;;;;OAMG;IACH,OAAc,SAAS,IAAI,OAAO,CAAC,OAAO,CAAC,CAE1C;IAEM,MAAM,CAAC,QAAQ,EAAE,UAAU,EAAE,KAAK,SAAI,EAAE,GAAG,GAAE,MAAwB,GAAG,MAAM,CAyDpF;IAEM,SAAS,CAAC,QAAQ,EAAE,UAAU,EAAE,KAAK,SAAI,EAAE,GAAG,SAAkB,GAAG,SAAS,EAAE,CAwEpF;IAED;;;;;OAKG;IACI,aAAa,CACnB,QAAQ,EAAE,UAAU,EACpB,YAAY,EAAE,UAAU,EACxB,KAAK,SAAI,EACT,GAAG,GAAE,MAAwB,GAC3B,WAAW,EAAE,CAuFf;IAED;;;;;;OAMG;IACH,OAAc,UAAU,CAAC,OAAO,EAAE,UAAU,GAAG,iBAAiB,CAE/D;IAEM,MAAM,CAAC,QAAQ,SAAS,GAAG,MAAM,CAEvC;IAED,YAAY,KAAK,GAAE,sBAA4C,EAW9D;CACD"}
|
|
@@ -45,8 +45,19 @@ export function normalizeCharacterInput(input) {
|
|
|
45
45
|
case "string":
|
|
46
46
|
return encoder.encode(input);
|
|
47
47
|
case "object":
|
|
48
|
-
|
|
48
|
+
// Typed arrays and buffers are adopted by reference where possible — a multi-megabyte
|
|
49
|
+
// haystack must not be copied on the way in. `ArrayBuffer` and `DataView` are declared
|
|
50
|
+
// inputs and previously threw: neither carries `length`, and neither is iterable.
|
|
51
|
+
if (input instanceof Uint8Array)
|
|
49
52
|
return input;
|
|
53
|
+
if (ArrayBuffer.isView(input))
|
|
54
|
+
return new Uint8Array(input.buffer, input.byteOffset, input.byteLength);
|
|
55
|
+
if (input instanceof ArrayBuffer)
|
|
56
|
+
return new Uint8Array(input);
|
|
57
|
+
// A plain array-like (`number[]`) is NOT a Uint8Array — copy it rather than hand back
|
|
58
|
+
// something whose `search` would index a boxed array.
|
|
59
|
+
if (isArrayLike(input))
|
|
60
|
+
return Uint8Array.from(input);
|
|
50
61
|
if (Symbol.iterator in input)
|
|
51
62
|
return Uint8Array.from(input);
|
|
52
63
|
throw new TypeError(`Invalid delimiter type.`);
|
|
@@ -57,10 +68,12 @@ export function normalizeCharacterInput(input) {
|
|
|
57
68
|
function ensureWasmCapacity(memory, required) {
|
|
58
69
|
if (required <= memory.buffer.byteLength)
|
|
59
70
|
return;
|
|
60
|
-
const pages = Math.ceil((required - memory.buffer.byteLength) /
|
|
71
|
+
const pages = Math.ceil((required - memory.buffer.byteLength) / 65_536);
|
|
61
72
|
memory.grow(pages);
|
|
62
73
|
}
|
|
63
|
-
/**
|
|
74
|
+
/**
|
|
75
|
+
* Round `offset` up to the next multiple of 4 — `Int32Array` views require a 4-byte-aligned base.
|
|
76
|
+
*/
|
|
64
77
|
function alignTo4(offset) {
|
|
65
78
|
return Math.ceil(offset / 4) * 4;
|
|
66
79
|
}
|
|
@@ -74,8 +87,9 @@ export class CharacterSequence extends Uint8Array {
|
|
|
74
87
|
if (CharacterSequence.#wasmReadyPromise === undefined) {
|
|
75
88
|
// Reflect "load in progress" synchronously so search()'s fast path stops
|
|
76
89
|
// re-triggering loads on every call while the module compiles.
|
|
77
|
-
if (CharacterSequence.#wasmScanner === undefined)
|
|
90
|
+
if (CharacterSequence.#wasmScanner === undefined) {
|
|
78
91
|
CharacterSequence.#wasmScanner = null;
|
|
92
|
+
}
|
|
79
93
|
CharacterSequence.#wasmReadyPromise = loadWasmModule().then((mod) => {
|
|
80
94
|
CharacterSequence.#wasmScanner = mod;
|
|
81
95
|
return mod;
|
|
@@ -126,15 +140,17 @@ export class CharacterSequence extends Uint8Array {
|
|
|
126
140
|
const result = wasm.findDelimiter(start, end - start, CharacterSequence.#wasmPatternOffset, sequenceLength);
|
|
127
141
|
return result >= 0 ? start + result : -1;
|
|
128
142
|
}
|
|
129
|
-
if (CharacterSequence.#wasmScanner === undefined)
|
|
143
|
+
if (CharacterSequence.#wasmScanner === undefined) {
|
|
130
144
|
CharacterSequence.#ensureWasm();
|
|
145
|
+
}
|
|
131
146
|
}
|
|
132
147
|
CharacterSequence.#wasmHaystack = null;
|
|
133
148
|
let startIndex = start;
|
|
134
149
|
while (startIndex <= end - sequenceLength) {
|
|
135
150
|
let lastIndex = sequenceLength - 1;
|
|
136
|
-
while (lastIndex >= 0 && this[lastIndex] === haystack[startIndex + lastIndex])
|
|
151
|
+
while (lastIndex >= 0 && this[lastIndex] === haystack[startIndex + lastIndex]) {
|
|
137
152
|
lastIndex--;
|
|
153
|
+
}
|
|
138
154
|
if (lastIndex < 0)
|
|
139
155
|
return startIndex;
|
|
140
156
|
startIndex += this.#skipIndex[haystack[startIndex + sequenceLength - 1]];
|
|
@@ -159,22 +175,25 @@ export class CharacterSequence extends Uint8Array {
|
|
|
159
175
|
const count = wasm.findAllDelimiters(0, haystackLen, haystackLen, sequenceLength, resultsOffset, WASM_MAX_RESULTS);
|
|
160
176
|
const rv = new Int32Array(wasm.memory.buffer, resultsOffset, count * 2);
|
|
161
177
|
const ranges = [];
|
|
162
|
-
for (let i = 0; i < count; i++)
|
|
178
|
+
for (let i = 0; i < count; i++) {
|
|
163
179
|
ranges.push([start + rv[i * 2], start + rv[i * 2 + 1]]);
|
|
180
|
+
}
|
|
164
181
|
// A full results buffer means the scan may have hit the cap and dropped
|
|
165
182
|
// trailing delimiters; fall back to the uncapped JS scan rather than truncate.
|
|
166
183
|
if (count < WASM_MAX_RESULTS)
|
|
167
184
|
return ranges;
|
|
168
185
|
}
|
|
169
|
-
if (CharacterSequence.#wasmScanner === undefined)
|
|
186
|
+
if (CharacterSequence.#wasmScanner === undefined) {
|
|
170
187
|
CharacterSequence.#ensureWasm();
|
|
188
|
+
}
|
|
171
189
|
}
|
|
172
190
|
const ranges = [];
|
|
173
191
|
let searchStart = start, rangeStart = start;
|
|
174
192
|
while (searchStart <= end - sequenceLength) {
|
|
175
193
|
let lastIndex = sequenceLength - 1;
|
|
176
|
-
while (lastIndex >= 0 && this[lastIndex] === haystack[searchStart + lastIndex])
|
|
194
|
+
while (lastIndex >= 0 && this[lastIndex] === haystack[searchStart + lastIndex]) {
|
|
177
195
|
lastIndex--;
|
|
196
|
+
}
|
|
178
197
|
if (lastIndex < 0) {
|
|
179
198
|
ranges.push([rangeStart, searchStart]);
|
|
180
199
|
searchStart += sequenceLength;
|
|
@@ -183,8 +202,9 @@ export class CharacterSequence extends Uint8Array {
|
|
|
183
202
|
}
|
|
184
203
|
searchStart += this.#skipIndex[haystack[searchStart + sequenceLength - 1]];
|
|
185
204
|
}
|
|
186
|
-
if (rangeStart <= end)
|
|
205
|
+
if (rangeStart <= end) {
|
|
187
206
|
ranges.push([rangeStart, end]);
|
|
207
|
+
}
|
|
188
208
|
return ranges;
|
|
189
209
|
}
|
|
190
210
|
/**
|
|
@@ -215,46 +235,76 @@ export class CharacterSequence extends Uint8Array {
|
|
|
215
235
|
const count = wasm.findAllMatches(0, haystackLen, haystackLen, delimiterLen, quoteLen, resultsOffset, WASM_MAX_RESULTS);
|
|
216
236
|
const rv = new Int32Array(wasm.memory.buffer, resultsOffset, count * 2);
|
|
217
237
|
const matches = [];
|
|
218
|
-
for (let i = 0; i < count; i++)
|
|
238
|
+
for (let i = 0; i < count; i++) {
|
|
219
239
|
matches.push({ offset: start + rv[i * 2], patternId: rv[i * 2 + 1] });
|
|
240
|
+
}
|
|
220
241
|
// A full results buffer means the scan may have hit the cap and dropped
|
|
221
242
|
// trailing matches; fall back to the uncapped JS scan rather than truncate.
|
|
222
243
|
if (count < WASM_MAX_RESULTS)
|
|
223
244
|
return matches;
|
|
224
245
|
}
|
|
225
|
-
if (CharacterSequence.#wasmScanner === undefined)
|
|
246
|
+
if (CharacterSequence.#wasmScanner === undefined) {
|
|
226
247
|
CharacterSequence.#ensureWasm();
|
|
248
|
+
}
|
|
227
249
|
// JS fallback: scan both patterns independently and merge in offset order. Both
|
|
228
250
|
// searches honour `end` exclusivity and handle multi-byte patterns (the quote is
|
|
229
251
|
// wrapped in a CharacterSequence so it isn't limited to a single byte).
|
|
252
|
+
//
|
|
253
|
+
// Each pattern's next hit is carried across iterations and re-searched only once the
|
|
254
|
+
// cursor has passed it. Re-searching both every iteration is quadratic: a `search` that
|
|
255
|
+
// finds nothing has scanned all the way to `end` to say so, and a source containing no
|
|
256
|
+
// quote at all pays that whole scan once per delimiter. A `-1` is final for the rest of
|
|
257
|
+
// the range and must never be re-searched.
|
|
230
258
|
const matches = [];
|
|
231
|
-
const quoteSeq =
|
|
259
|
+
const quoteSeq = CharacterSequence.asSequence(quotePattern);
|
|
232
260
|
let searchStart = start;
|
|
233
|
-
|
|
234
|
-
|
|
235
|
-
|
|
236
|
-
if (
|
|
237
|
-
|
|
238
|
-
|
|
239
|
-
|
|
240
|
-
|
|
261
|
+
let delimiterIndex = this.search(haystack, searchStart, end);
|
|
262
|
+
let quoteIndex = quoteSeq.search(haystack, searchStart, end);
|
|
263
|
+
while (delimiterIndex >= 0 || quoteIndex >= 0) {
|
|
264
|
+
if (delimiterIndex >= 0 && (quoteIndex < 0 || delimiterIndex <= quoteIndex)) {
|
|
265
|
+
matches.push({ offset: delimiterIndex, patternId: 0 });
|
|
266
|
+
searchStart = delimiterIndex + delimiterLen;
|
|
267
|
+
delimiterIndex = this.search(haystack, searchStart, end);
|
|
268
|
+
// Patterns longer than a byte can overlap, so a carried quote hit that the delimiter's
|
|
269
|
+
// span just swallowed is stale. Single-byte patterns never enter this branch.
|
|
270
|
+
if (quoteIndex >= 0 && quoteIndex < searchStart) {
|
|
271
|
+
quoteIndex = quoteSeq.search(haystack, searchStart, end);
|
|
272
|
+
}
|
|
241
273
|
}
|
|
242
274
|
else {
|
|
243
|
-
matches.push({ offset:
|
|
244
|
-
searchStart =
|
|
275
|
+
matches.push({ offset: quoteIndex, patternId: 1 });
|
|
276
|
+
searchStart = quoteIndex + quoteLen;
|
|
277
|
+
quoteIndex = quoteSeq.search(haystack, searchStart, end);
|
|
278
|
+
if (delimiterIndex >= 0 && delimiterIndex < searchStart) {
|
|
279
|
+
delimiterIndex = this.search(haystack, searchStart, end);
|
|
280
|
+
}
|
|
245
281
|
}
|
|
246
282
|
}
|
|
247
283
|
return matches;
|
|
248
284
|
}
|
|
249
|
-
|
|
285
|
+
/**
|
|
286
|
+
* Adopt a pattern as a sequence, reusing it when it already is one.
|
|
287
|
+
*
|
|
288
|
+
* Constructing a sequence builds a 256-entry skip table, so wrapping unconditionally puts that allocation on every
|
|
289
|
+
* call of a per-row scan. Every in-tree caller of {@linkcode searchMatches} already holds a long-lived sequence for
|
|
290
|
+
* its quote pattern.
|
|
291
|
+
*/
|
|
292
|
+
static asSequence(pattern) {
|
|
293
|
+
return pattern instanceof CharacterSequence ? pattern : new CharacterSequence(pattern);
|
|
294
|
+
}
|
|
295
|
+
decode(encoding = "utf8") {
|
|
250
296
|
return new TextDecoder(encoding).decode(this);
|
|
251
297
|
}
|
|
252
298
|
constructor(input = Delimiters.LineFeed) {
|
|
253
299
|
const bytes = normalizeCharacterInput(input);
|
|
254
300
|
super(bytes);
|
|
255
|
-
|
|
256
|
-
|
|
301
|
+
// `new Array(256).fill(…)` rather than `Array.from({length: 256}, …)`: same result, no
|
|
302
|
+
// per-entry callback, and this runs for every sequence constructed.
|
|
303
|
+
// oxlint-disable-next-line unicorn/no-new-array
|
|
304
|
+
this.#skipIndex = new Array(256).fill(this.length);
|
|
305
|
+
for (let i = 0; i < this.length - 1; i++) {
|
|
257
306
|
this.#skipIndex[this[i]] = this.length - 1 - i;
|
|
307
|
+
}
|
|
258
308
|
}
|
|
259
309
|
}
|
|
260
310
|
//# sourceMappingURL=CharacterSequence.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"CharacterSequence.js","sourceRoot":"","sources":["../../lib/CharacterSequence.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"CharacterSequence.js","sourceRoot":"","sources":["../../lib/CharacterSequence.ts"],"names":[],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"CompositeDataView.d.ts","sourceRoot":"","sources":["../../lib/CompositeDataView.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,aAAa,CAAA;AAE7C;;GAEG;AACH,MAAM,WAAW,iBAAiB,CAAC,CAAC,SAAS,MAAM,GAAG,MAAM,GAAG,MAAM,GAAG,MAAM;IAC7E,QAAQ,CAAC,MAAM,EAAE,MAAM,CAAA;IACvB,QAAQ,EAAE,CAAC,EAAE,MAAM,GAAG,CAAC,CAAA;IACvB,GAAG,CAAC,KAAK,EAAE,SAAS,CAAC,CAAC,CAAC,EAAE,MAAM,CAAC,EAAE,MAAM,GAAG,IAAI,CAAA;CAC/C;AAED;;GAEG;AACH,MAAM,MAAM,4BAA4B,CAAC,CAAC,SAAS,MAAM,GAAG,MAAM,GAAG,MAAM,GAAG,MAAM,IAAI,KACvF,MAAM,EAAE,MAAM,KACV,iBAAiB,CAAC,CAAC,CAAC,CAAA;AAUzB;;;GAGG;AACH,UAAU,iBAAiB,CAAC,CAAC;IAC5B,EAAE,CAAC,KAAK,EAAE,MAAM,GAAG,CAAC,GAAG,SAAS,CAAA;CAChC;AAED;;GAEG;AACH,qBAAa,iBAAiB,CAAC,KAAK,SAAS,UAAU,GAAG,UAAU,CACnE,YAAW,QAAQ,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,EAAE,iBAAiB,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC;;
|
|
1
|
+
{"version":3,"file":"CompositeDataView.d.ts","sourceRoot":"","sources":["../../lib/CompositeDataView.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,aAAa,CAAA;AAE7C;;GAEG;AACH,MAAM,WAAW,iBAAiB,CAAC,CAAC,SAAS,MAAM,GAAG,MAAM,GAAG,MAAM,GAAG,MAAM;IAC7E,QAAQ,CAAC,MAAM,EAAE,MAAM,CAAA;IACvB,QAAQ,EAAE,CAAC,EAAE,MAAM,GAAG,CAAC,CAAA;IACvB,GAAG,CAAC,KAAK,EAAE,SAAS,CAAC,CAAC,CAAC,EAAE,MAAM,CAAC,EAAE,MAAM,GAAG,IAAI,CAAA;CAC/C;AAED;;GAEG;AACH,MAAM,MAAM,4BAA4B,CAAC,CAAC,SAAS,MAAM,GAAG,MAAM,GAAG,MAAM,GAAG,MAAM,IAAI,KACvF,MAAM,EAAE,MAAM,KACV,iBAAiB,CAAC,CAAC,CAAC,CAAA;AAUzB;;;GAGG;AACH,UAAU,iBAAiB,CAAC,CAAC;IAC5B,EAAE,CAAC,KAAK,EAAE,MAAM,GAAG,CAAC,GAAG,SAAS,CAAA;CAChC;AAED;;GAEG;AACH,qBAAa,iBAAiB,CAAC,KAAK,SAAS,UAAU,GAAG,UAAU,CACnE,YAAW,QAAQ,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,EAAE,iBAAiB,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC;;IAsE1D,YAAY,MAAM,CAAC,EAAE,KAAK,EAAE,EAM3B;IAED;;;;OAIG;IACH,IAAW,UAAU,IAAI,MAAM,CAE9B;IAED;;;;OAIG;IACH,IAAW,IAAI,IAAI,MAAM,CAExB;IAED,IAAW,MAAM,IAAI,SAAS,KAAK,EAAE,CAEpC;IAED;;;;OAIG;IACH,IAAW,MAAM,IAAI,KAAK,CAEzB;IAED,IAAW,CAAC,MAAM,CAAC,WAAW,CAAC,IAAI,MAAM,CAExC;IAEO,CAAC,MAAM,CAAC,QAAQ,CAAC,IAAI,QAAQ,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,CAI9C;IAED;;OAEG;IACI,EAAE,CAAC,KAAK,EAAE,MAAM,GAAG,KAAK,CAAC,CAAC,CAAC,CAUjC;IAED;;OAEG;IACI,MAAM,CAAC,KAAK,EAAE,KAAK,GAAG,MAAM,CAQlC;IAED;;;;OAIG;IACI,OAAO,CAAC,KAAK,EAAE,KAAK,GAAG,MAAM,CAMnC;IAED;;OAEG;IACI,UAAU,IAAI,KAAK,GAAG,SAAS,CAUrC;IAED;;OAEG;IACI,WAAW,IAAI,KAAK,GAAG,SAAS,CAStC;IAED;;OAEG;IACI,QAAQ;IACd;;OAEG;IACH,KAAK,SAAI;IACT;;OAEG;IACH,GAAG,SAA2B,GAC5B,KAAK,CAiDP;IAED;;OAEG;IACI,IAAI,IAAI,KAAK,CAEnB;IAED;;;;OAIG;IACI,KAAK;IACX;;;;OAIG;IACH,KAAK,SAAI;IACT;;;;OAIG;IACH,GAAG,SAA2B,GAC5B,KAAK,CAUP;CACD"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"CompositeDataView.js","sourceRoot":"","sources":["../../lib/CompositeDataView.ts"],"names":[],"mappings":"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
|
|
1
|
+
{"version":3,"file":"CompositeDataView.js","sourceRoot":"","sources":["../../lib/CompositeDataView.ts"],"names":[],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"IndexQueue.d.ts","sourceRoot":"","sources":["../../lib/IndexQueue.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,aAAa,CAAA;AAS5C;;GAEG;AACH,qBAAa,UAAW,YAAW,gBAAgB,CAAC,SAAS,CAAC;;
|
|
1
|
+
{"version":3,"file":"IndexQueue.d.ts","sourceRoot":"","sources":["../../lib/IndexQueue.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,aAAa,CAAA;AAS5C;;GAEG;AACH,qBAAa,UAAW,YAAW,gBAAgB,CAAC,SAAS,CAAC;;IAa7D;;OAEG;IACH,IAAW,IAAI,IAAI,MAAM,CAExB;IAID;;;;OAIG;IACH,IAAW,UAAU,IAAI,MAAM,CAE9B;IAED;;OAEG;IACI,OAAO,CAAC,KAAK,EAAE,SAAS,GAAG,IAAI,CAKrC;IAED;;OAEG;IACI,OAAO,IAAI,SAAS,GAAG,SAAS,CAqBtC;IAED;;OAEG;IACI,IAAI,IAAI,SAAS,GAAG,SAAS,CAInC;IAED;;OAEG;IACI,QAAQ,IAAI,SAAS,GAAG,SAAS,CAMvC;IAED;;OAEG;IACI,KAAK,IAAI,IAAI,CAInB;IAED;;OAEG;IACI,IAAI,IAAI,cAAc,CAAC,SAAS,CAAC,CAQvC;IAEM,CAAC,MAAM,CAAC,QAAQ,CAAC,IAAI,UAAU,CAErC;CACD"}
|
package/out/lib/IndexQueue.js
CHANGED
|
@@ -19,7 +19,9 @@ export class IndexQueue {
|
|
|
19
19
|
* yield.
|
|
20
20
|
*/
|
|
21
21
|
#tuples = [];
|
|
22
|
-
/**
|
|
22
|
+
/**
|
|
23
|
+
* Index of the next tuple's `start` in {@link #tuples}; advances by 2 per dequeue.
|
|
24
|
+
*/
|
|
23
25
|
#head = 0;
|
|
24
26
|
/**
|
|
25
27
|
* The number of tuples in the queue.
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"IndexQueue.js","sourceRoot":"","sources":["../../lib/IndexQueue.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAIH;;;;GAIG;AACH,MAAM,iBAAiB,GAAG,IAAI,CAAA;AAE9B;;GAEG;AACH,MAAM,OAAO,UAAU;IACtB;;;;OAIG;IACH,OAAO,GAAa,EAAE,CAAA;IAEtB
|
|
1
|
+
{"version":3,"file":"IndexQueue.js","sourceRoot":"","sources":["../../lib/IndexQueue.ts"],"names":[],"mappings":"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"}
|
|
@@ -3,20 +3,31 @@
|
|
|
3
3
|
* @license MIT
|
|
4
4
|
* @author Teffen Ellis, et al.
|
|
5
5
|
*/
|
|
6
|
+
import { type AdaptiveSourceInit } from "./adaptive-source.js";
|
|
7
|
+
import { AsyncSequence } from "./AsyncSequence.js";
|
|
6
8
|
import type { CharacterSequenceInput } from "./CharacterSequence.js";
|
|
7
9
|
import type { AsyncDataResource } from "./shared.js";
|
|
8
|
-
import { type
|
|
10
|
+
import { type SpliteratorInit } from "./Spliterator.js";
|
|
9
11
|
/**
|
|
10
12
|
* Stream a delimited byte source and `JSON.parse` each row — one parsed value per line, for JSONL / NDJSON. Set the row
|
|
11
13
|
* delimiter via `options.delimiter` (there is no implicit default); `skipEmpty` drops blank rows.
|
|
12
14
|
*
|
|
13
|
-
* **Performance caveat — this path is `JSON.parse`-bound, not scan-bound.**
|
|
14
|
-
*
|
|
15
|
-
*
|
|
16
|
-
*
|
|
17
|
-
*
|
|
18
|
-
*
|
|
19
|
-
*
|
|
15
|
+
* **Performance caveat — this path is `JSON.parse`-bound, not scan-bound.** Measured over 500k rows (88MB, ~177B per
|
|
16
|
+
* row, Node 26): the delimiter scan is ~140ms and decoding ~46ms, while `JSON.parse` and the per-row async machinery
|
|
17
|
+
* account for the rest of ~1280ms. Against Node's `readline` + `JSON.parse` at ~630ms, this runs **roughly half the
|
|
18
|
+
* speed — a net loss.** Use it for API convenience, or when streaming to bound memory; do NOT swap a working `readline`
|
|
19
|
+
* loop to it expecting a speedup on parse-heavy JSONL.
|
|
20
|
+
*
|
|
21
|
+
* The scan advantage only shows when you _don't_ fully parse every row. Filtering on the raw text and parsing only what
|
|
22
|
+
* survives is the shape that wins — parsing 20% of rows measured ~2.5× faster than parsing all of them:
|
|
23
|
+
*
|
|
24
|
+
* ```ts
|
|
25
|
+
* TextSpliterator.fromAsync(path, { delimiter: "\n" })
|
|
26
|
+
* .filter((line) => line.includes('"category":"Novelty"'))
|
|
27
|
+
* .map((line) => JSON.parse(line))
|
|
28
|
+
* ```
|
|
29
|
+
*
|
|
30
|
+
* For segmentation or counting, use {@link Spliterator} (raw byte ranges) or {@link TextSpliterator}. When unsure,
|
|
20
31
|
* benchmark.
|
|
21
32
|
*/
|
|
22
33
|
export declare abstract class JSONSpliterator {
|
|
@@ -27,6 +38,6 @@ export declare abstract class JSONSpliterator {
|
|
|
27
38
|
*
|
|
28
39
|
* @yields Each row as an array of columns.
|
|
29
40
|
*/
|
|
30
|
-
static fromAsync<T = unknown>(source: AsyncDataResource, options?:
|
|
41
|
+
static fromAsync<T = unknown>(source: AsyncDataResource, options?: AdaptiveSourceInit): AsyncSequence<T>;
|
|
31
42
|
}
|
|
32
43
|
//# sourceMappingURL=JSONSpliterator.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"JSONSpliterator.d.ts","sourceRoot":"","sources":["../../lib/JSONSpliterator.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH,OAAO,KAAK,EAAE,sBAAsB,EAAE,MAAM,wBAAwB,CAAA;AACpE,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,aAAa,CAAA;AACpD,OAAO,
|
|
1
|
+
{"version":3,"file":"JSONSpliterator.d.ts","sourceRoot":"","sources":["../../lib/JSONSpliterator.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH,OAAO,EAAE,KAAK,kBAAkB,EAAqB,MAAM,sBAAsB,CAAA;AACjF,OAAO,EAAE,aAAa,EAAE,MAAM,oBAAoB,CAAA;AAClD,OAAO,KAAK,EAAE,sBAAsB,EAAE,MAAM,wBAAwB,CAAA;AACpE,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,aAAa,CAAA;AACpD,OAAO,EAA0C,KAAK,eAAe,EAAE,MAAM,kBAAkB,CAAA;AAE/F;;;;;;;;;;;;;;;;;;;;;GAqBG;AACH,8BAAsB,eAAe;IACpC,cAEC;IAED,MAAM,CAAE,IAAI,CAAC,CAAC,GAAG,OAAO,EAAE,MAAM,EAAE,sBAAsB,EAAE,OAAO,GAAE,eAAoB,GAAG,SAAS,CAAC,CAAC,CAAC,CAwBrG;IAED;;;;OAIG;IACH,MAAM,CAAC,SAAS,CAAC,CAAC,GAAG,OAAO,EAAE,MAAM,EAAE,iBAAiB,EAAE,OAAO,GAAE,kBAAuB,GAAG,aAAa,CAAC,CAAC,CAAC,CAgB3G;CACD"}
|