spliterator 6.2.0 → 6.3.1

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 (162) hide show
  1. package/out/lib/core/AsyncSpliterator.d.ts +1 -1
  2. package/out/lib/core/AsyncSpliterator.d.ts.map +1 -1
  3. package/out/lib/core/AsyncSpliterator.js +2 -2
  4. package/out/lib/core/AsyncSpliterator.js.map +1 -1
  5. package/out/lib/core/SlidingWindow.d.ts +1 -1
  6. package/out/lib/core/SlidingWindow.d.ts.map +1 -1
  7. package/out/lib/core/SlidingWindow.js.map +1 -1
  8. package/out/lib/core/Spliterator.d.ts +1 -1
  9. package/out/lib/core/Spliterator.d.ts.map +1 -1
  10. package/out/lib/core/Spliterator.js +1 -1
  11. package/out/lib/core/Spliterator.js.map +1 -1
  12. package/out/lib/formats/CSVSpliterator.d.ts +2 -2
  13. package/out/lib/formats/CSVSpliterator.d.ts.map +1 -1
  14. package/out/lib/formats/CSVSpliterator.js +92 -1
  15. package/out/lib/formats/CSVSpliterator.js.map +1 -1
  16. package/out/lib/formats/XLSXSpliterator.d.ts +1 -1
  17. package/out/lib/formats/XLSXSpliterator.d.ts.map +1 -1
  18. package/package.json +2 -3
  19. package/out/lib/AsyncSequence.d.ts +0 -180
  20. package/out/lib/AsyncSequence.d.ts.map +0 -1
  21. package/out/lib/AsyncSequence.js +0 -432
  22. package/out/lib/AsyncSequence.js.map +0 -1
  23. package/out/lib/AsyncSpliterator.d.ts +0 -227
  24. package/out/lib/AsyncSpliterator.d.ts.map +0 -1
  25. package/out/lib/AsyncSpliterator.js +0 -510
  26. package/out/lib/AsyncSpliterator.js.map +0 -1
  27. package/out/lib/BufferController.d.ts +0 -77
  28. package/out/lib/BufferController.d.ts.map +0 -1
  29. package/out/lib/BufferController.js +0 -118
  30. package/out/lib/BufferController.js.map +0 -1
  31. package/out/lib/CSVSpliterator.d.ts +0 -131
  32. package/out/lib/CSVSpliterator.d.ts.map +0 -1
  33. package/out/lib/CSVSpliterator.js +0 -172
  34. package/out/lib/CSVSpliterator.js.map +0 -1
  35. package/out/lib/CharacterSequence.d.ts +0 -72
  36. package/out/lib/CharacterSequence.d.ts.map +0 -1
  37. package/out/lib/CharacterSequence.js +0 -347
  38. package/out/lib/CharacterSequence.js.map +0 -1
  39. package/out/lib/CompositeDataView.d.ts +0 -111
  40. package/out/lib/CompositeDataView.d.ts.map +0 -1
  41. package/out/lib/CompositeDataView.js +0 -241
  42. package/out/lib/CompositeDataView.js.map +0 -1
  43. package/out/lib/IndexQueue.d.ts +0 -48
  44. package/out/lib/IndexQueue.d.ts.map +0 -1
  45. package/out/lib/IndexQueue.js +0 -111
  46. package/out/lib/IndexQueue.js.map +0 -1
  47. package/out/lib/JSONSpliterator.d.ts +0 -44
  48. package/out/lib/JSONSpliterator.d.ts.map +0 -1
  49. package/out/lib/JSONSpliterator.js +0 -77
  50. package/out/lib/JSONSpliterator.js.map +0 -1
  51. package/out/lib/PSVSpliterator.d.ts +0 -21
  52. package/out/lib/PSVSpliterator.d.ts.map +0 -1
  53. package/out/lib/PSVSpliterator.js +0 -22
  54. package/out/lib/PSVSpliterator.js.map +0 -1
  55. package/out/lib/SlidingWindow.d.ts +0 -47
  56. package/out/lib/SlidingWindow.d.ts.map +0 -1
  57. package/out/lib/SlidingWindow.js +0 -63
  58. package/out/lib/SlidingWindow.js.map +0 -1
  59. package/out/lib/Spliterator.d.ts +0 -96
  60. package/out/lib/Spliterator.d.ts.map +0 -1
  61. package/out/lib/Spliterator.js +0 -330
  62. package/out/lib/Spliterator.js.map +0 -1
  63. package/out/lib/TSVSpliterator.d.ts +0 -21
  64. package/out/lib/TSVSpliterator.d.ts.map +0 -1
  65. package/out/lib/TSVSpliterator.js +0 -22
  66. package/out/lib/TSVSpliterator.js.map +0 -1
  67. package/out/lib/TextSpliterator.d.ts +0 -53
  68. package/out/lib/TextSpliterator.d.ts.map +0 -1
  69. package/out/lib/TextSpliterator.js +0 -67
  70. package/out/lib/TextSpliterator.js.map +0 -1
  71. package/out/lib/XLSXSpliterator.d.ts +0 -143
  72. package/out/lib/XLSXSpliterator.d.ts.map +0 -1
  73. package/out/lib/XLSXSpliterator.js +0 -161
  74. package/out/lib/XLSXSpliterator.js.map +0 -1
  75. package/out/lib/adaptive-source.d.ts +0 -39
  76. package/out/lib/adaptive-source.d.ts.map +0 -1
  77. package/out/lib/adaptive-source.js +0 -95
  78. package/out/lib/adaptive-source.js.map +0 -1
  79. package/out/lib/casing.d.ts +0 -27
  80. package/out/lib/casing.d.ts.map +0 -1
  81. package/out/lib/casing.js +0 -68
  82. package/out/lib/casing.js.map +0 -1
  83. package/out/lib/chunks.d.ts +0 -20
  84. package/out/lib/chunks.d.ts.map +0 -1
  85. package/out/lib/chunks.js +0 -36
  86. package/out/lib/chunks.js.map +0 -1
  87. package/out/lib/merge-async-iterators.d.ts +0 -12
  88. package/out/lib/merge-async-iterators.d.ts.map +0 -1
  89. package/out/lib/merge-async-iterators.js +0 -39
  90. package/out/lib/merge-async-iterators.js.map +0 -1
  91. package/out/lib/parallel-map-runtime.d.ts +0 -22
  92. package/out/lib/parallel-map-runtime.d.ts.map +0 -1
  93. package/out/lib/parallel-map-runtime.js +0 -60
  94. package/out/lib/parallel-map-runtime.js.map +0 -1
  95. package/out/lib/parallel-map-worker-entry.d.ts +0 -11
  96. package/out/lib/parallel-map-worker-entry.d.ts.map +0 -1
  97. package/out/lib/parallel-map-worker-entry.js +0 -41
  98. package/out/lib/parallel-map-worker-entry.js.map +0 -1
  99. package/out/lib/parallel-map-workers.d.ts +0 -57
  100. package/out/lib/parallel-map-workers.d.ts.map +0 -1
  101. package/out/lib/parallel-map-workers.js +0 -82
  102. package/out/lib/parallel-map-workers.js.map +0 -1
  103. package/out/lib/parallel-map.d.ts +0 -28
  104. package/out/lib/parallel-map.d.ts.map +0 -1
  105. package/out/lib/parallel-map.js +0 -30
  106. package/out/lib/parallel-map.js.map +0 -1
  107. package/out/lib/pivot.d.ts +0 -30
  108. package/out/lib/pivot.d.ts.map +0 -1
  109. package/out/lib/pivot.js +0 -47
  110. package/out/lib/pivot.js.map +0 -1
  111. package/out/lib/row-emitters.d.ts +0 -35
  112. package/out/lib/row-emitters.d.ts.map +0 -1
  113. package/out/lib/row-emitters.js +0 -50
  114. package/out/lib/row-emitters.js.map +0 -1
  115. package/out/lib/segment-runtime.d.ts +0 -27
  116. package/out/lib/segment-runtime.d.ts.map +0 -1
  117. package/out/lib/segment-runtime.js +0 -41
  118. package/out/lib/segment-runtime.js.map +0 -1
  119. package/out/lib/segment-worker-entry.d.ts +0 -10
  120. package/out/lib/segment-worker-entry.d.ts.map +0 -1
  121. package/out/lib/segment-worker-entry.js +0 -59
  122. package/out/lib/segment-worker-entry.js.map +0 -1
  123. package/out/lib/segment-workers.d.ts +0 -56
  124. package/out/lib/segment-workers.d.ts.map +0 -1
  125. package/out/lib/segment-workers.js +0 -110
  126. package/out/lib/segment-workers.js.map +0 -1
  127. package/out/lib/segments.d.ts +0 -31
  128. package/out/lib/segments.d.ts.map +0 -1
  129. package/out/lib/segments.js +0 -52
  130. package/out/lib/segments.js.map +0 -1
  131. package/out/lib/shared.d.ts +0 -155
  132. package/out/lib/shared.d.ts.map +0 -1
  133. package/out/lib/shared.js +0 -41
  134. package/out/lib/shared.js.map +0 -1
  135. package/out/lib/take.d.ts +0 -42
  136. package/out/lib/take.d.ts.map +0 -1
  137. package/out/lib/take.js +0 -101
  138. package/out/lib/take.js.map +0 -1
  139. package/out/lib/utils.d.ts +0 -37
  140. package/out/lib/utils.d.ts.map +0 -1
  141. package/out/lib/utils.js +0 -39
  142. package/out/lib/utils.js.map +0 -1
  143. package/out/lib/wasm_base64.d.ts +0 -19
  144. package/out/lib/wasm_base64.d.ts.map +0 -1
  145. package/out/lib/wasm_base64.js +0 -19
  146. package/out/lib/wasm_base64.js.map +0 -1
  147. package/out/lib/wasm_module.d.ts +0 -57
  148. package/out/lib/wasm_module.d.ts.map +0 -1
  149. package/out/lib/wasm_module.js +0 -34
  150. package/out/lib/wasm_module.js.map +0 -1
  151. package/out/lib/writer.d.ts +0 -45
  152. package/out/lib/writer.d.ts.map +0 -1
  153. package/out/lib/writer.js +0 -57
  154. package/out/lib/writer.js.map +0 -1
  155. package/out/lib/zip.d.ts +0 -33
  156. package/out/lib/zip.d.ts.map +0 -1
  157. package/out/lib/zip.js +0 -59
  158. package/out/lib/zip.js.map +0 -1
  159. package/out/node/cli/parse-args.d.ts +0 -120
  160. package/out/node/cli/parse-args.d.ts.map +0 -1
  161. package/out/node/cli/parse-args.js +0 -118
  162. package/out/node/cli/parse-args.js.map +0 -1
@@ -1,227 +0,0 @@
1
- /**
2
- * @copyright Sister Software
3
- * @license MIT
4
- * @author Teffen Ellis, et al.
5
- */
6
- import { ReadableStream, type ReadableWritablePair, type StreamPipeOptions } from "stream/web";
7
- import { type CharacterSequenceInput } from "./CharacterSequence.js";
8
- import { type AsManyWorkersOptions } from "./segment-workers.js";
9
- import { type SegmentOptions } from "./segments.js";
10
- import type { AsyncChunkIterator, AsyncDataResource, ByteRange } from "./shared.js";
11
- /**
12
- * Initialization options for creating a spliterator.
13
- */
14
- export interface SpliteratorInit {
15
- /**
16
- * The character to delimit by. Typically a newline or comma.
17
- *
18
- * @default Delimiters.LineFeed
19
- */
20
- delimiter?: CharacterSequenceInput;
21
- /**
22
- * The byte offset to start reading from.
23
- *
24
- * This is an advanced option that is not typically used.
25
- *
26
- * @default 0
27
- */
28
- position?: number;
29
- /**
30
- * Whether to drop empty slices, so a run of repeated delimiters yields nothing between them.
31
- *
32
- * Setting this to `false` emits those empties and matches the behavior of `String.prototype.split`.
33
- *
34
- * @default true
35
- */
36
- skipEmpty?: boolean;
37
- /**
38
- * Count of skipped matches before emitting a data.
39
- *
40
- * @default 0
41
- */
42
- drop?: number;
43
- /**
44
- * The maximum number of data slices to yield.
45
- *
46
- * Useful for limiting the number of emitted slices, i.e. lines in a file.
47
- *
48
- * Note that skipped slices are not counted towards the limit.
49
- *
50
- * @default Infinity
51
- */
52
- take?: number;
53
- /**
54
- * Whether to treat double-quoted regions as opaque: a delimiter inside `"…"` does not split, and the emitted slices
55
- * keep their quotes verbatim. Quote _stripping_ and `""` unescaping are the consumer's concern —
56
- * {@linkcode CSVSpliterator} does both when this flag is set.
57
- *
58
- * The asynchronous engine requires a single-byte delimiter for this mode (every {@linkcode Delimiters} entry
59
- * qualifies) — a multi-byte delimiter straddling a chunk boundary cannot be rescanned without re-toggling quote
60
- * state.
61
- *
62
- * @default false
63
- */
64
- enableQuoteHandling?: boolean;
65
- /**
66
- * Whether to treat a carriage return immediately preceding a delimiter as part of the delimiter — i.e. CRLF
67
- * normalization when splitting on `\n`, matching `node:readline`'s `crlfDelay: Infinity`. Only a `\r` directly before
68
- * an actual delimiter match is trimmed; a trailing `\r` at end-of-input is preserved.
69
- *
70
- * {@linkcode CSVSpliterator} defaults this to `true` for row splitting (RFC 4180 mandates CRLF row terminators);
71
- * everywhere else the default is `false`.
72
- *
73
- * @default false
74
- */
75
- crlf?: boolean;
76
- /**
77
- * Whether to emit debug information.
78
- */
79
- debug?: boolean;
80
- }
81
- /**
82
- * Initialization options for creating an asynchronous spliterator.
83
- */
84
- export interface AsyncSpliteratorInit extends SpliteratorInit {
85
- /**
86
- * The buffer chunk size to read from the file, i.e. the high-water mark for the file read operation.
87
- *
88
- * @default BlockSize * 16
89
- * @minimum The delimiter byte length * 4 or block size of the file system. Whichever is greater.
90
- * @maximum The byte length of the file.
91
- */
92
- highWaterMark?: number;
93
- /**
94
- * Whether to automatically dispose of the source once the iterator is done.
95
- *
96
- * @default true
97
- */
98
- autoDispose?: boolean;
99
- }
100
- /**
101
- * An asynchronous spliterator for reading delimited byte streams.
102
- *
103
- * ```ts
104
- * import { AsyncSpliterator } from "spliterator"
105
- *
106
- * const file = await AsyncSpliterator.from("data.csv")
107
- *
108
- * for await (const line of file) {
109
- * console.log(line)
110
- * }
111
- * ```
112
- *
113
- * @see {@linkcode Spliterator} for the synchronous version.
114
- */
115
- export declare class AsyncSpliterator<R extends Uint8Array | DataView | ArrayBuffer = Uint8Array> implements AsyncIterableIterator<R>, AsyncDisposable {
116
- #private;
117
- /**
118
- * Create a new delimited generator from an asynchronous byte stream.
119
- *
120
- * @param source - The data resource to read from.
121
- * @param init - The initialization options for the generator.
122
- *
123
- * @returns A new generator instance, yielding byte ranges.
124
- */
125
- static from(source: AsyncChunkIterator, init?: AsyncSpliteratorInit): AsyncSpliterator;
126
- /**
127
- * Create a new delimited generator from a resource such as a file handle or URL.
128
- *
129
- * @param source - The data resource to read from.
130
- * @param init - The initialization options for the generator.
131
- *
132
- * @returns A new generator instance, yielding byte ranges.
133
- */
134
- static from(source: AsyncDataResource, init?: AsyncSpliteratorInit): Promise<AsyncSpliterator>;
135
- /**
136
- * Create a new delimited generator from a resource such as a file handle, URL, or byte stream.
137
- *
138
- * @param source - The data resource to read from.
139
- * @param init - The initialization options for the generator.
140
- *
141
- * @returns A new generator instance, yielding byte ranges.
142
- */
143
- static from(source: AsyncDataResource | AsyncChunkIterator, init?: AsyncSpliteratorInit): AsyncSpliterator | Promise<AsyncSpliterator>;
144
- /**
145
- * Dispose of the spliterator, closing the file handle if necessary.
146
- */
147
- [Symbol.asyncDispose](): Promise<void>;
148
- /**
149
- * Create a new delimited generator from a data resource.
150
- */
151
- static toTransformStream(init: SpliteratorInit): TransformStream<AsyncChunkIterator, Uint8Array>;
152
- /**
153
- * Create a new delimited generator from an asynchronous byte stream.
154
- *
155
- * @param source - The file to read from.
156
- * @param init - The initialization options for the generator.
157
- * @see {@linkcode AsyncSpliterator.from} to create a new generator from a data resource.
158
- */
159
- constructor(source: AsyncChunkIterator, init?: AsyncSpliteratorInit);
160
- next(): Promise<IteratorResult<R>>;
161
- /**
162
- * Collect all the byte ranges from the file.
163
- *
164
- * **This method will read the entire file into memory.**
165
- */
166
- toArray(): Promise<R[]>;
167
- /**
168
- * Collect all the byte ranges from the file as a string.
169
- *
170
- * **This method will read the entire file into memory.**
171
- */
172
- toDecodedArray(decoder?: import("node:util").TextDecoder): Promise<string[]>;
173
- /**
174
- * Wraps the spliterator in a readable stream.
175
- *
176
- * This is useful for piping the spliterator to other streams.
177
- *
178
- * @returns A readable stream of byte ranges.
179
- */
180
- toReadableStream(): ReadableStream<R>;
181
- /**
182
- * Pipes the spliterator to a writable stream.
183
- *
184
- * ```ts
185
- * const spliterator = await AsyncSpliterator.from("data.csv")
186
- *
187
- * const textStream = spliterator.pipeTo(new TextDecoderStream())
188
- * ```
189
- *
190
- * @see {@linkcode toReadableStream} to first convert the spliterator to a readable stream.
191
- */
192
- pipeThrough<T>(transform: ReadableWritablePair<T, R>, options?: StreamPipeOptions): ReadableStream<T>;
193
- /**
194
- * Iterate over the byte ranges in the file, yielding each range. between delimiters.
195
- */
196
- [Symbol.asyncIterator](): this;
197
- return(): Promise<IteratorReturnResult<undefined>>;
198
- /**
199
- * Compute delimiter-aligned `[start, end)` byte ranges dividing `source` into up to `concurrency` segments. The
200
- * boundary primitive for parallel parsing — hand each range to a worker (with its own handle). See
201
- * {@linkcode asManyWorkers} for the turnkey worker version.
202
- */
203
- static segments(source: AsyncDataResource, options: SegmentOptions): Promise<ByteRange[]>;
204
- /**
205
- * Split `source` into delimiter-aligned segments and return one {@linkcode AsyncSpliterator} per segment. All share
206
- * the event loop (no worker threads) — for moderate jobs or to overlap I/O. Returns at most `concurrency` instances.
207
- *
208
- * @param source - The data resource to read from.
209
- * @param options - Delimiter, desired concurrency, and optional probe size.
210
- *
211
- * @returns One `AsyncSpliterator` per non-empty segment, possibly fewer than `concurrency`.
212
- */
213
- static asMany(source: AsyncDataResource, options: SegmentOptions): Promise<AsyncSpliterator[]>;
214
- /**
215
- * Parse `source` across worker threads. Each worker owns a handle to a delimiter-aligned segment, runs the `worker`
216
- * handler module per record, and streams results back to the main thread as one merged async iterator — for a
217
- * single-thread writer. Results interleave across segments.
218
- *
219
- * The handler returns a value (structured-cloned back), a `Uint8Array` (transferred zero-copy), or `undefined` (the
220
- * record is skipped). The handler module's top-level code runs once per worker — load models/handles there.
221
- *
222
- * @param source A file path or URL (file handles cannot cross threads → `TypeError` otherwise).
223
- * @param options Handler module, delimiter, concurrency, and batching/backpressure tuning.
224
- */
225
- static asManyWorkers<R = unknown>(source: AsyncDataResource, options: AsManyWorkersOptions): AsyncIterableIterator<R>;
226
- }
227
- //# sourceMappingURL=AsyncSpliterator.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"AsyncSpliterator.d.ts","sourceRoot":"","sources":["../../lib/AsyncSpliterator.ts"],"names":[],"mappings":"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"}