documonster 0.20.2 → 0.21.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 +1 -1
- package/README_zh.md +1 -1
- package/THIRD_PARTY_NOTICES.md +34 -2
- package/dist/esm/modules/archive/core/byte-queue.js +2 -1
- package/dist/esm/modules/archive/unzip/stream.browser.js +6 -0
- package/dist/esm/modules/csv/parse/async.js +2 -1
- package/dist/esm/modules/excel/bridge/csv-bridge.js +1 -1
- package/dist/esm/modules/excel/core/xlsx-io.browser.js +5 -9
- package/dist/esm/modules/excel/core/xlsx-io.js +1 -3
- package/dist/esm/modules/excel/core/xlsx-stream.js +3 -1
- package/dist/esm/modules/excel/stream/workbook-reader.browser.js +10 -10
- package/dist/esm/modules/excel/stream/workbook-reader.js +30 -6
- package/dist/esm/modules/stream/browser/collector.js +3 -5
- package/dist/esm/modules/stream/browser/compose.js +13 -228
- package/dist/esm/modules/stream/browser/duplex-pair.js +71 -0
- package/dist/esm/modules/stream/browser/factories.js +35 -217
- package/dist/esm/modules/stream/browser/pipeline.js +43 -478
- package/dist/esm/modules/stream/browser/utils.js +21 -247
- package/dist/esm/modules/stream/browser/web.js +25 -0
- package/dist/esm/modules/stream/buffered-stream.js +8 -6
- package/dist/esm/modules/stream/core/factories.js +166 -0
- package/dist/esm/modules/stream/core/pipeline-api.js +32 -0
- package/dist/esm/modules/stream/core/sink-adapter.js +94 -24
- package/dist/esm/modules/stream/core/stream-helpers.js +160 -0
- package/dist/esm/modules/stream/core/utils.js +0 -23
- package/dist/esm/modules/stream/core/web-conversions.js +31 -0
- package/dist/esm/modules/stream/core/web-pipeline.js +90 -0
- package/dist/esm/modules/stream/index.base.js +2 -2
- package/dist/esm/modules/stream/index.browser.js +13 -19
- package/dist/esm/modules/stream/index.js +6 -10
- package/dist/esm/modules/stream/kernel/classes.js +618 -0
- package/dist/esm/modules/stream/kernel/compose-impl.js +225 -0
- package/dist/esm/modules/stream/kernel/destroy.js +255 -0
- package/dist/esm/modules/stream/kernel/duplexify.js +355 -0
- package/dist/esm/modules/stream/kernel/end-of-stream.js +212 -0
- package/dist/esm/modules/stream/kernel/errors.js +215 -0
- package/dist/esm/modules/stream/kernel/from.js +202 -0
- package/dist/esm/modules/stream/kernel/legacy.js +35 -0
- package/dist/esm/modules/stream/kernel/operators.js +285 -0
- package/dist/esm/modules/stream/kernel/pipeline-impl.js +561 -0
- package/dist/esm/modules/stream/kernel/readable-impl.js +963 -0
- package/dist/esm/modules/stream/kernel/state.js +253 -0
- package/dist/esm/modules/stream/kernel/stream-utils.js +212 -0
- package/dist/esm/modules/stream/kernel/web-adapters.js +584 -0
- package/dist/esm/modules/stream/kernel/writable.js +651 -0
- package/dist/esm/modules/stream/node/collector.js +7 -1
- package/dist/esm/modules/stream/node/compose.js +21 -206
- package/dist/esm/modules/stream/node/factories.js +34 -238
- package/dist/esm/modules/stream/node/pipeline.js +40 -94
- package/dist/esm/modules/stream/node/utils.js +15 -239
- package/dist/esm/modules/stream/node/web.js +27 -0
- package/dist/esm/modules/stream/pull-stream.js +15 -9
- package/dist/esm/modules/word/writer/streaming-writer.js +3 -0
- package/dist/iife/THIRD_PARTY_NOTICES.md +34 -2
- package/dist/iife/documonster.archive.iife.min.js +4 -4
- package/dist/iife/documonster.csv.iife.min.js +19 -19
- package/dist/iife/documonster.draw.iife.min.js +1 -1
- package/dist/iife/documonster.excel.iife.min.js +50 -50
- package/dist/iife/documonster.formula.iife.min.js +1 -1
- package/dist/iife/documonster.markdown.iife.min.js +1 -1
- package/dist/iife/documonster.mermaid.iife.min.js +1 -1
- package/dist/iife/documonster.pdf.iife.min.js +1 -1
- package/dist/iife/documonster.stream.iife.min.js +2 -2
- package/dist/iife/documonster.word.iife.min.js +60 -60
- package/dist/iife/documonster.xml.iife.min.js +1 -1
- package/dist/types/modules/excel/core/xlsx-io.browser.d.ts +5 -9
- package/dist/types/modules/excel/core/xlsx-io.d.ts +1 -3
- package/dist/types/modules/excel/core/xlsx-stream.d.ts +3 -2
- package/dist/types/modules/excel/stream/workbook-reader.browser.d.ts +2 -1
- package/dist/types/modules/excel/stream/workbook-reader.d.ts +2 -1
- package/dist/types/modules/stream/browser/collector.d.ts +1 -1
- package/dist/types/modules/stream/browser/compose.d.ts +14 -15
- package/dist/types/modules/stream/browser/duplex-pair.d.ts +10 -0
- package/dist/types/modules/stream/browser/factories.d.ts +22 -79
- package/dist/types/modules/stream/browser/pipeline.d.ts +8 -40
- package/dist/types/modules/stream/browser/utils.d.ts +6 -47
- package/dist/types/modules/stream/browser/web.d.ts +18 -0
- package/dist/types/modules/stream/core/add-abort-signal.d.ts +2 -1
- package/dist/types/modules/stream/core/consumers.d.ts +1 -1
- package/dist/types/modules/stream/core/event-utils.d.ts +2 -1
- package/dist/types/modules/stream/core/factories.d.ts +129 -0
- package/dist/types/modules/stream/core/pipeline-api.d.ts +10 -0
- package/dist/types/modules/stream/core/sink-adapter.d.ts +18 -1
- package/dist/types/modules/stream/core/stream-helpers.d.ts +76 -0
- package/dist/types/modules/stream/core/utils.d.ts +0 -9
- package/dist/types/modules/stream/core/web-conversions.d.ts +68 -0
- package/dist/types/modules/stream/core/web-pipeline.d.ts +27 -0
- package/dist/types/modules/stream/index.base.d.ts +6 -4
- package/dist/types/modules/stream/index.browser.d.ts +13 -14
- package/dist/types/modules/stream/index.d.ts +7 -10
- package/dist/types/modules/stream/kernel/classes.d.ts +220 -0
- package/dist/types/modules/stream/kernel/compose-impl.d.ts +10 -0
- package/dist/types/modules/stream/kernel/destroy.d.ts +21 -0
- package/dist/types/modules/stream/kernel/duplexify.d.ts +31 -0
- package/dist/types/modules/stream/kernel/end-of-stream.d.ts +28 -0
- package/dist/types/modules/stream/kernel/errors.d.ts +42 -0
- package/dist/types/modules/stream/kernel/from.d.ts +17 -0
- package/dist/types/modules/stream/kernel/legacy.d.ts +20 -0
- package/dist/types/modules/stream/kernel/operators.d.ts +44 -0
- package/dist/types/modules/stream/kernel/pipeline-impl.d.ts +32 -0
- package/dist/types/modules/stream/kernel/readable-impl.d.ts +34 -0
- package/dist/types/modules/stream/kernel/state.d.ts +223 -0
- package/dist/types/modules/stream/kernel/stream-utils.d.ts +34 -0
- package/dist/types/modules/stream/kernel/web-adapters.d.ts +65 -0
- package/dist/types/modules/stream/kernel/writable.d.ts +107 -0
- package/dist/types/modules/stream/node/collector.d.ts +7 -2
- package/dist/types/modules/stream/node/compose.d.ts +31 -5
- package/dist/types/modules/stream/node/factories.d.ts +22 -85
- package/dist/types/modules/stream/node/pipeline.d.ts +4 -15
- package/dist/types/modules/stream/node/utils.d.ts +9 -49
- package/dist/types/modules/stream/node/web.d.ts +18 -0
- package/dist/types/modules/stream/pull-stream.d.ts +2 -2
- package/dist/types/modules/stream/types.d.ts +24 -6
- package/package.json +5 -3
- package/dist/esm/modules/stream/browser/_lazy.js +0 -30
- package/dist/esm/modules/stream/browser/chunk-buffer.js +0 -223
- package/dist/esm/modules/stream/browser/duplex.js +0 -979
- package/dist/esm/modules/stream/browser/helpers.js +0 -44
- package/dist/esm/modules/stream/browser/microtask-context.js +0 -60
- package/dist/esm/modules/stream/browser/passthrough.js +0 -16
- package/dist/esm/modules/stream/browser/pipe-manager.js +0 -161
- package/dist/esm/modules/stream/browser/readable.js +0 -2208
- package/dist/esm/modules/stream/browser/transform.js +0 -1241
- package/dist/esm/modules/stream/browser/writable.js +0 -1316
- package/dist/esm/modules/stream/core/end-args.js +0 -24
- package/dist/esm/modules/stream/node/writable.js +0 -125
- package/dist/esm/modules/stream/utils.base.js +0 -126
- package/dist/esm/modules/stream/utils.browser.js +0 -80
- package/dist/esm/modules/stream/utils.js +0 -81
- package/dist/types/modules/stream/browser/_lazy.d.ts +0 -20
- package/dist/types/modules/stream/browser/chunk-buffer.d.ts +0 -61
- package/dist/types/modules/stream/browser/duplex.d.ts +0 -299
- package/dist/types/modules/stream/browser/helpers.d.ts +0 -13
- package/dist/types/modules/stream/browser/microtask-context.d.ts +0 -44
- package/dist/types/modules/stream/browser/passthrough.d.ts +0 -11
- package/dist/types/modules/stream/browser/pipe-manager.d.ts +0 -38
- package/dist/types/modules/stream/browser/readable.d.ts +0 -379
- package/dist/types/modules/stream/browser/transform.d.ts +0 -314
- package/dist/types/modules/stream/browser/writable.d.ts +0 -238
- package/dist/types/modules/stream/core/end-args.d.ts +0 -20
- package/dist/types/modules/stream/node/writable.d.ts +0 -53
- package/dist/types/modules/stream/utils.base.d.ts +0 -63
- package/dist/types/modules/stream/utils.browser.d.ts +0 -23
- package/dist/types/modules/stream/utils.d.ts +0 -24
|
@@ -1,218 +1,36 @@
|
|
|
1
1
|
/**
|
|
2
|
-
* Browser Stream -
|
|
3
|
-
*/
|
|
4
|
-
import {
|
|
5
|
-
import { Duplex } from "
|
|
6
|
-
import {
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
|
|
24
|
-
|
|
25
|
-
|
|
26
|
-
|
|
27
|
-
*/
|
|
28
|
-
export
|
|
29
|
-
|
|
30
|
-
|
|
31
|
-
|
|
32
|
-
|
|
33
|
-
|
|
34
|
-
|
|
35
|
-
*/
|
|
36
|
-
export
|
|
37
|
-
const readable = new Readable({ ...options, objectMode: options?.objectMode ?? true });
|
|
38
|
-
pumpAsyncIterableToReadable(readable, iterable);
|
|
39
|
-
return readable;
|
|
40
|
-
}
|
|
41
|
-
/**
|
|
42
|
-
* Create a readable stream from an array
|
|
43
|
-
*/
|
|
44
|
-
export function createReadableFromArray(data, options) {
|
|
45
|
-
let index = 0;
|
|
46
|
-
const readable = new Readable({
|
|
47
|
-
...options,
|
|
48
|
-
objectMode: options?.objectMode ?? true,
|
|
49
|
-
read() {
|
|
50
|
-
// Push data when read is called
|
|
51
|
-
while (index < data.length) {
|
|
52
|
-
const chunk = data[index++];
|
|
53
|
-
if (chunk === undefined) {
|
|
54
|
-
continue; // see the note on the Node factory: not a value a stream carries
|
|
55
|
-
}
|
|
56
|
-
if (!this.push(chunk)) {
|
|
57
|
-
// Backpressure - wait for next read
|
|
58
|
-
return;
|
|
59
|
-
}
|
|
60
|
-
}
|
|
61
|
-
// All data pushed, end the stream
|
|
62
|
-
this.push(null);
|
|
63
|
-
}
|
|
64
|
-
});
|
|
65
|
-
return readable;
|
|
66
|
-
}
|
|
67
|
-
/**
|
|
68
|
-
* Create a writable stream with custom write implementation
|
|
69
|
-
*/
|
|
70
|
-
export function createWritable(options) {
|
|
71
|
-
// Writable already supports Node-style `write()` / `final()` via the constructor.
|
|
72
|
-
return new Writable(options);
|
|
73
|
-
}
|
|
74
|
-
/**
|
|
75
|
-
* Create a transform stream from a transform function.
|
|
76
|
-
*
|
|
77
|
-
* The shorthand `transformFn` (1-2 params, returns value) is wrapped into
|
|
78
|
-
* a proper Node.js-style callback-based transform so that the return value
|
|
79
|
-
* is delivered via `callback(null, data)` — matching the Node.js factory.
|
|
80
|
-
*/
|
|
81
|
-
export function createTransform(transformFn, options) {
|
|
82
|
-
return new Transform({
|
|
83
|
-
...options,
|
|
84
|
-
transform(chunk, encoding, callback) {
|
|
85
|
-
try {
|
|
86
|
-
const result = transformFn(chunk, encoding);
|
|
87
|
-
if (result instanceof Promise) {
|
|
88
|
-
result
|
|
89
|
-
.then(data => {
|
|
90
|
-
if (data !== undefined) {
|
|
91
|
-
callback(null, data);
|
|
92
|
-
}
|
|
93
|
-
else {
|
|
94
|
-
callback();
|
|
95
|
-
}
|
|
96
|
-
})
|
|
97
|
-
.catch(err => callback(err));
|
|
98
|
-
}
|
|
99
|
-
else {
|
|
100
|
-
if (result !== undefined) {
|
|
101
|
-
callback(null, result);
|
|
102
|
-
}
|
|
103
|
-
else {
|
|
104
|
-
callback();
|
|
105
|
-
}
|
|
106
|
-
}
|
|
107
|
-
}
|
|
108
|
-
catch (err) {
|
|
109
|
-
callback(err);
|
|
110
|
-
}
|
|
111
|
-
},
|
|
112
|
-
flush: options?.flush
|
|
113
|
-
? function (callback) {
|
|
114
|
-
try {
|
|
115
|
-
const result = options.flush();
|
|
116
|
-
if (result instanceof Promise) {
|
|
117
|
-
result
|
|
118
|
-
.then(data => {
|
|
119
|
-
if (data !== undefined) {
|
|
120
|
-
callback(null, data);
|
|
121
|
-
}
|
|
122
|
-
else {
|
|
123
|
-
callback();
|
|
124
|
-
}
|
|
125
|
-
})
|
|
126
|
-
.catch(err => callback(err));
|
|
127
|
-
}
|
|
128
|
-
else if (result !== undefined) {
|
|
129
|
-
callback(null, result);
|
|
130
|
-
}
|
|
131
|
-
else {
|
|
132
|
-
callback();
|
|
133
|
-
}
|
|
134
|
-
}
|
|
135
|
-
catch (err) {
|
|
136
|
-
callback(err);
|
|
137
|
-
}
|
|
138
|
-
}
|
|
139
|
-
: undefined
|
|
140
|
-
});
|
|
141
|
-
}
|
|
142
|
-
// createCollector is now defined in collector.ts and re-exported here for convenience.
|
|
143
|
-
export { createCollector };
|
|
144
|
-
/**
|
|
145
|
-
* Create a passthrough stream
|
|
146
|
-
*/
|
|
147
|
-
export function createPassThrough(options) {
|
|
148
|
-
return new PassThrough(options);
|
|
149
|
-
}
|
|
150
|
-
/**
|
|
151
|
-
* Create a duplex stream from a pair of readable and writable streams
|
|
152
|
-
*/
|
|
153
|
-
export function createDuplex(options) {
|
|
154
|
-
return new Duplex({
|
|
155
|
-
highWaterMark: options?.highWaterMark,
|
|
156
|
-
objectMode: options?.objectMode,
|
|
157
|
-
allowHalfOpen: options?.allowHalfOpen,
|
|
158
|
-
readableHighWaterMark: options?.readableHighWaterMark,
|
|
159
|
-
writableHighWaterMark: options?.writableHighWaterMark,
|
|
160
|
-
readableObjectMode: options?.readableObjectMode,
|
|
161
|
-
writableObjectMode: options?.writableObjectMode,
|
|
162
|
-
read: options?.read,
|
|
163
|
-
write: options?.write,
|
|
164
|
-
final: options?.final,
|
|
165
|
-
destroy: options?.destroy
|
|
166
|
-
});
|
|
167
|
-
}
|
|
168
|
-
/**
|
|
169
|
-
* Create a readable stream from a generator function
|
|
170
|
-
*/
|
|
171
|
-
export function createReadableFromGenerator(generator, options) {
|
|
172
|
-
const readable = new Readable({ ...options, objectMode: options?.objectMode ?? true });
|
|
173
|
-
pumpAsyncIterableToReadable(readable, generator());
|
|
174
|
-
return readable;
|
|
175
|
-
}
|
|
176
|
-
/**
|
|
177
|
-
* Create a readable stream from a Promise
|
|
178
|
-
*/
|
|
179
|
-
export function createReadableFromPromise(promise, options) {
|
|
180
|
-
const readable = new Readable({ ...options, objectMode: options?.objectMode ?? true });
|
|
181
|
-
promise
|
|
182
|
-
.then(value => {
|
|
183
|
-
readable.push(value);
|
|
184
|
-
readable.push(null);
|
|
185
|
-
})
|
|
186
|
-
.catch(err => {
|
|
187
|
-
readable.destroy(err);
|
|
188
|
-
});
|
|
189
|
-
return readable;
|
|
190
|
-
}
|
|
191
|
-
// Reusable read callback for createEmptyReadable (pull-based, matches Node behavior).
|
|
192
|
-
// Boundary: this single shared hook is reused across every Readable<T>
|
|
193
|
-
// instantiation, so its `this` is left open (Readable is invariant in T).
|
|
194
|
-
function emptyRead() {
|
|
195
|
-
this.push(null);
|
|
196
|
-
}
|
|
197
|
-
/**
|
|
198
|
-
* Create a readable stream that emits nothing and immediately ends
|
|
199
|
-
*/
|
|
200
|
-
export function createEmptyReadable(options) {
|
|
201
|
-
return new Readable({
|
|
202
|
-
...options,
|
|
203
|
-
read: emptyRead
|
|
204
|
-
});
|
|
205
|
-
}
|
|
206
|
-
// Reusable null write handler
|
|
207
|
-
function nullWrite(_chunk, _encoding, callback) {
|
|
208
|
-
callback();
|
|
209
|
-
}
|
|
210
|
-
/**
|
|
211
|
-
* Create a writable stream that discards all data (like /dev/null)
|
|
212
|
-
*/
|
|
213
|
-
export function createNullWritable(options) {
|
|
214
|
-
return new Writable({
|
|
215
|
-
...options,
|
|
216
|
-
write: nullWrite
|
|
217
|
-
});
|
|
218
|
-
}
|
|
2
|
+
* Browser Stream - factory functions, built on the browser stream classes.
|
|
3
|
+
*/
|
|
4
|
+
import { makeCreateReadable, makeCreateReadableFromAsyncIterable, makeCreateReadableFromArray, makeCreateReadableFromGenerator, makeCreateReadableFromPromise, makeCreateEmptyReadable, makeCreateWritable, makeCreateNullWritable, makeCreateTransform, makeCreatePassThrough, makeCreateDuplex, makeFilter, makeFromBytes, makeFromJSON, makeFromString, makeTransform } from "../core/factories.js";
|
|
5
|
+
import { Duplex, PassThrough, Readable, Transform } from "../kernel/classes.js";
|
|
6
|
+
import { Writable } from "../kernel/writable.js";
|
|
7
|
+
export { BufferedStream, createByteChunk, createStringChunk } from "../buffered-stream.js";
|
|
8
|
+
export { createBufferedStream, createPullStream } from "../core/factories.js";
|
|
9
|
+
export { PullStream } from "../pull-stream.js";
|
|
10
|
+
export const createReadable =
|
|
11
|
+
/* @__PURE__ */ makeCreateReadable(Readable);
|
|
12
|
+
export const createReadableFromAsyncIterable =
|
|
13
|
+
/* @__PURE__ */ makeCreateReadableFromAsyncIterable(Readable);
|
|
14
|
+
export const createReadableFromArray =
|
|
15
|
+
/* @__PURE__ */ makeCreateReadableFromArray(Readable);
|
|
16
|
+
export const createReadableFromGenerator =
|
|
17
|
+
/* @__PURE__ */ makeCreateReadableFromGenerator(Readable);
|
|
18
|
+
export const createReadableFromPromise =
|
|
19
|
+
/* @__PURE__ */ makeCreateReadableFromPromise(Readable);
|
|
20
|
+
export const createEmptyReadable =
|
|
21
|
+
/* @__PURE__ */ makeCreateEmptyReadable(Readable);
|
|
22
|
+
export const createWritable =
|
|
23
|
+
/* @__PURE__ */ makeCreateWritable(Writable);
|
|
24
|
+
export const createNullWritable =
|
|
25
|
+
/* @__PURE__ */ makeCreateNullWritable(Writable);
|
|
26
|
+
export const createTransform =
|
|
27
|
+
/* @__PURE__ */ makeCreateTransform(Transform);
|
|
28
|
+
export const createPassThrough =
|
|
29
|
+
/* @__PURE__ */ makeCreatePassThrough(PassThrough);
|
|
30
|
+
export const createDuplex =
|
|
31
|
+
/* @__PURE__ */ makeCreateDuplex(Duplex);
|
|
32
|
+
export const fromBytes = /* @__PURE__ */ makeFromBytes(Readable);
|
|
33
|
+
export const fromString = /* @__PURE__ */ makeFromString(Readable);
|
|
34
|
+
export const fromJSON = /* @__PURE__ */ makeFromJSON(Readable);
|
|
35
|
+
export const transform = /* @__PURE__ */ makeTransform(Transform);
|
|
36
|
+
export const filter = /* @__PURE__ */ makeFilter(Transform);
|