iter-fest 0.1.1-main.e1f1fd3 → 0.1.1-main.edf2470
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 +50 -72
- package/dist/{chunk-YJSIVBF7.mjs → chunk-MOBXUTO5.mjs} +5 -5
- package/dist/chunk-MOBXUTO5.mjs.map +1 -0
- package/dist/chunk-O5SQJUKB.mjs +37 -0
- package/dist/chunk-O5SQJUKB.mjs.map +1 -0
- package/dist/iter-fest.d.mts +2 -3
- package/dist/iter-fest.d.ts +2 -3
- package/dist/iter-fest.iterableGetReadable.d.mts +3 -0
- package/dist/iter-fest.iterableGetReadable.d.ts +3 -0
- package/dist/{iter-fest.readableStreamFrom.js → iter-fest.iterableGetReadable.js} +9 -9
- package/dist/iter-fest.iterableGetReadable.js.map +1 -0
- package/dist/iter-fest.iterableGetReadable.mjs +7 -0
- package/dist/iter-fest.js +55 -77
- package/dist/iter-fest.js.map +1 -1
- package/dist/iter-fest.mjs +10 -14
- package/dist/iter-fest.pushAsyncIterableIterator.d.mts +9 -0
- package/dist/iter-fest.pushAsyncIterableIterator.d.ts +9 -0
- package/dist/{iter-fest.iterableWritableStream.js → iter-fest.pushAsyncIterableIterator.js} +30 -39
- package/dist/iter-fest.pushAsyncIterableIterator.js.map +1 -0
- package/dist/iter-fest.pushAsyncIterableIterator.mjs +7 -0
- package/package.json +17 -27
- package/dist/chunk-BWMXKULC.mjs +0 -46
- package/dist/chunk-BWMXKULC.mjs.map +0 -1
- package/dist/chunk-P4OSZLEH.mjs +0 -15
- package/dist/chunk-P4OSZLEH.mjs.map +0 -1
- package/dist/chunk-YJSIVBF7.mjs.map +0 -1
- package/dist/iter-fest.asyncIteratorToAsyncIterable.d.mts +0 -3
- package/dist/iter-fest.asyncIteratorToAsyncIterable.d.ts +0 -3
- package/dist/iter-fest.asyncIteratorToAsyncIterable.js +0 -39
- package/dist/iter-fest.asyncIteratorToAsyncIterable.js.map +0 -1
- package/dist/iter-fest.asyncIteratorToAsyncIterable.mjs +0 -7
- package/dist/iter-fest.iterableWritableStream.d.mts +0 -7
- package/dist/iter-fest.iterableWritableStream.d.ts +0 -7
- package/dist/iter-fest.iterableWritableStream.js.map +0 -1
- package/dist/iter-fest.iterableWritableStream.mjs +0 -7
- package/dist/iter-fest.readableStreamFrom.d.mts +0 -3
- package/dist/iter-fest.readableStreamFrom.d.ts +0 -3
- package/dist/iter-fest.readableStreamFrom.js.map +0 -1
- package/dist/iter-fest.readableStreamFrom.mjs +0 -7
- package/dist/iter-fest.readableStreamFrom.mjs.map +0 -1
- /package/dist/{iter-fest.asyncIteratorToAsyncIterable.mjs.map → iter-fest.iterableGetReadable.mjs.map} +0 -0
- /package/dist/{iter-fest.iterableWritableStream.mjs.map → iter-fest.pushAsyncIterableIterator.mjs.map} +0 -0
package/README.md
CHANGED
|
@@ -16,22 +16,38 @@ Iterables can contains infinite number of items, please use this package respons
|
|
|
16
16
|
npm install iter-fest
|
|
17
17
|
```
|
|
18
18
|
|
|
19
|
+
### `Array.prototype` ports
|
|
20
|
+
|
|
21
|
+
We ported majority of functions from `Array.prototype.*` to `iterable*`.
|
|
22
|
+
|
|
23
|
+
```ts
|
|
24
|
+
import { iterableIncludes, iterableReduce } from 'iter-fest'; // Via default exports.
|
|
25
|
+
import { iterableSome } from 'iter-fest/iterableSome'; // Via named exports.
|
|
26
|
+
|
|
27
|
+
const iterable: Iterable<number> = [1, 2, 3, 4, 5].values();
|
|
28
|
+
|
|
29
|
+
console.log(iterableIncludes(iterable, 3)); // Prints "true".
|
|
30
|
+
console.log(iterableReduce(iterable, (sum, value) => sum + value, 0)); // Prints "15".
|
|
31
|
+
console.log(iterableSome(iterable, value => value % 2)); // Prints "true".
|
|
32
|
+
```
|
|
33
|
+
|
|
34
|
+
List of ported functions: [`at`](https://tc39.es/ecma262/#sec-array.prototype.at), [`concat`](https://tc39.es/ecma262/#sec-array.prototype.concat), [`entries`](https://tc39.es/ecma262/#sec-array.prototype.entries), [`every`](https://tc39.es/ecma262/#sec-array.prototype.every), [`filter`](https://tc39.es/ecma262/#sec-array.prototype.filter), [`find`](https://tc39.es/ecma262/#sec-array.prototype.find), [`findIndex`](https://tc39.es/ecma262/#sec-array.prototype.findindex), [`findLast`](https://tc39.es/ecma262/#sec-array.prototype.findlast), [`findLastIndex`](https://tc39.es/ecma262/#sec-array.prototype.findlastindex), [`forEach`](https://tc39.es/ecma262/#sec-array.prototype.foreach), [`includes`](https://tc39.es/ecma262/#sec-array.prototype.includes), [`indexOf`](https://tc39.es/ecma262/#sec-array.prototype.indexof), [`join`](https://tc39.es/ecma262/#sec-array.prototype.join), [`keys`](https://tc39.es/ecma262/#sec-array.prototype.keys), [`map`](https://tc39.es/ecma262/#sec-array.prototype.map), [`reduce`](https://tc39.es/ecma262/#sec-array.prototype.reduce), [`slice`](https://tc39.es/ecma262/#sec-array.prototype.slice), [`some`](https://tc39.es/ecma262/#sec-array.prototype.some), [`toSpliced`](https://tc39.es/ecma262/#sec-array.prototype.tospliced), and [`toString`](https://tc39.es/ecma262/#sec-array.prototype.tostring).
|
|
35
|
+
|
|
19
36
|
## Conversions
|
|
20
37
|
|
|
21
|
-
| From | To | Function signature
|
|
22
|
-
| ----------------------------- | ----------------------- |
|
|
23
|
-
| `Iterator` | `IterableIterator` | [`iteratorToIterable<T>(iterator: Iterator<T>): IterableIterator<T>`](#converting-an-iterator-to-iterable)
|
|
24
|
-
| `
|
|
25
|
-
| `
|
|
26
|
-
| `
|
|
27
|
-
| `AsyncIterable`
|
|
28
|
-
| `AsyncIterable`/`Iterable` | `ReadableStream` | [`readableStreamFrom<T>(anyIterable: AsyncIterable<T> \| Iterable<T>): ReadableStream<T>`](#converting-an-asynciterableiterable-to-readablestream) |
|
|
38
|
+
| From | To | Function signature |
|
|
39
|
+
| ----------------------------- | ----------------------- | ------------------------------------------------------------------------------------------------------------------------------------------------ |
|
|
40
|
+
| `Iterator` | `IterableIterator` | [`iteratorToIterable<T>(iterator: Iterator<T>): IterableIterator<T>`](#converting-an-iterator-to-iterable) |
|
|
41
|
+
| `Observable` | `ReadableStream` | [`observableSubscribeAsReadable<T>(observable: Observable<T>): ReadableStream<T>`](#converting-an-observable-to-readablestream) |
|
|
42
|
+
| `ReadableStreamDefaultReader` | `AsyncIterableIterator` | [`readerValues`<T>(reader: ReadableStreamDefaultReader<T>): AsyncIterableIterator<T>`](#iterating-readablestreamdefaultreader) |
|
|
43
|
+
| `AsyncIterable` | `Observable` | [`observableFromAsync<T>(iterable: AsyncIterable<T>): Observable<T>`](#converting-an-asynciterable-to-observable) |
|
|
44
|
+
| `AsyncIterable`/`Iterable` | `ReadableStream` | [`iterableGetReadable<T>(iterable: AsyncIterable<T> \| Iterable<T>): ReadableStream<T>`](#converting-an-asynciterableiterable-to-readablestream) |
|
|
29
45
|
|
|
30
46
|
To convert `Observable` to `AsyncIterableIterator`, [use `ReadableStream` as intermediate format](#converting-an-observable-to-asynciterableiterator).
|
|
31
47
|
|
|
32
48
|
### Converting an iterator to iterable
|
|
33
49
|
|
|
34
|
-
`iteratorToIterable`
|
|
50
|
+
`iteratorToIterable` enable a [pure iterator](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Iterator) to be iterable using a for-loop statement.
|
|
35
51
|
|
|
36
52
|
```ts
|
|
37
53
|
const iterate = (): Iterator<number> => {
|
|
@@ -43,7 +59,7 @@ const iterate = (): Iterator<number> => {
|
|
|
43
59
|
return { value };
|
|
44
60
|
}
|
|
45
61
|
|
|
46
|
-
return { done: true, value: undefined }
|
|
62
|
+
return { done: true, value: undefined };
|
|
47
63
|
}
|
|
48
64
|
};
|
|
49
65
|
};
|
|
@@ -53,31 +69,28 @@ for (const value of iteratorToIterable(iterate())) {
|
|
|
53
69
|
}
|
|
54
70
|
```
|
|
55
71
|
|
|
56
|
-
Note: calling `[Symbol.iterator]
|
|
72
|
+
Note: calling `[Symbol.iterator]` will not refresh the iteration.
|
|
57
73
|
|
|
58
74
|
### Converting an `Observable` to `AsyncIterableIterator`
|
|
59
75
|
|
|
60
|
-
`ReadableStream` can be used
|
|
76
|
+
`ReadableStream` can be used to when converting an `Observable` to `AsyncIterableIterator`.
|
|
61
77
|
|
|
62
78
|
Note: `Observable` is push-based and it does not support flow control. When converting to `AsyncIterableIteratorrr`, the internal buffer of `ReadableStream` could build up quickly.
|
|
63
79
|
|
|
64
80
|
```ts
|
|
65
81
|
const observable = Observable.from([1, 2, 3]);
|
|
66
82
|
const readable = observableSubscribeAsReadable(observable);
|
|
67
|
-
const iterable = readerValues(readable.getReader());
|
|
68
83
|
|
|
69
|
-
for await (const value of
|
|
84
|
+
for await (const value of readerValues(readable.getReader())) {
|
|
70
85
|
console.log(value); // Prints "1", "2", "3".
|
|
71
86
|
}
|
|
72
87
|
```
|
|
73
88
|
|
|
74
|
-
Note: calling `[Symbol.asyncIterator]()` will not resubscribe and read from the start of the observable. This is because the intermediate format does not support restart.
|
|
75
|
-
|
|
76
89
|
### Converting an `AsyncIterable` to `Observable`
|
|
77
90
|
|
|
78
91
|
`Observable.from` converts `Iterable` into `Observable`. However, it does not convert `AsyncIterable`.
|
|
79
92
|
|
|
80
|
-
`observableFromAsync` will convert `AsyncIterable` into `Observable`.
|
|
93
|
+
`observableFromAsync` will convert `AsyncIterable` into `Observable`.
|
|
81
94
|
|
|
82
95
|
```ts
|
|
83
96
|
async function* generate() {
|
|
@@ -92,11 +105,7 @@ const next = value => console.log(value);
|
|
|
92
105
|
observable.subscribe({ next }); // Prints "1", "2", "3".
|
|
93
106
|
```
|
|
94
107
|
|
|
95
|
-
|
|
96
|
-
|
|
97
|
-
Note: It is not recommended to convert `AsyncGenerator` to an `Observable`. `AsyncGenerator` has more functionalities and `Observable` does not support many of them.
|
|
98
|
-
|
|
99
|
-
### Converting an `Observable` to `ReadableStream`
|
|
108
|
+
## Converting an `Observable` to `ReadableStream`
|
|
100
109
|
|
|
101
110
|
`ReadableStream` is powerful for transforming and piping stream of data. It can be formed using data from both push-based and pull-based source with backpressuree.
|
|
102
111
|
|
|
@@ -105,11 +114,12 @@ Note: `Observable` is push-based and it does not support flow control. When conv
|
|
|
105
114
|
```ts
|
|
106
115
|
const observable = Observable.from([1, 2, 3]);
|
|
107
116
|
const readable = observableSubscribeAsReadable(observable);
|
|
117
|
+
const reader = readable.getReader();
|
|
108
118
|
|
|
109
119
|
readable.pipeTo(stream.writable); // Will write 1, 2, 3.
|
|
110
120
|
```
|
|
111
121
|
|
|
112
|
-
###
|
|
122
|
+
### Iterating `ReadableStreamDefaultReader`
|
|
113
123
|
|
|
114
124
|
`readerValues` will convert default reader of `ReadableStream` into an `AsyncIterableIterator` to use in for-loop.
|
|
115
125
|
|
|
@@ -125,28 +135,20 @@ const readableStream = new ReadableStream({
|
|
|
125
135
|
}
|
|
126
136
|
});
|
|
127
137
|
|
|
128
|
-
const
|
|
129
|
-
|
|
130
|
-
for await (const value of iterable) {
|
|
138
|
+
for await (const value of readerValues(readableStream.getReader())) {
|
|
131
139
|
console.log(value); // Prints "1", "2", "3".
|
|
132
140
|
}
|
|
133
141
|
```
|
|
134
142
|
|
|
135
|
-
|
|
136
|
-
|
|
137
|
-
### Converting an `AsyncIterable`/`Iterable` to `ReadableStream`
|
|
138
|
-
|
|
139
|
-
> Notes: this feature is part of [Streams Standard](https://developer.mozilla.org/en-US/docs/Web/API/ReadableStream/from_static).
|
|
143
|
+
## Converting an `AsyncIterable`/`Iterable` to `ReadableStream`
|
|
140
144
|
|
|
141
145
|
```ts
|
|
142
146
|
const iterable = [1, 2, 3].values();
|
|
143
|
-
const readable =
|
|
147
|
+
const readable = iterableGetReadable(iterable);
|
|
144
148
|
|
|
145
149
|
readable.pipeTo(stream.writable); // Will write 1, 2, 3.
|
|
146
150
|
```
|
|
147
151
|
|
|
148
|
-
Note: `readableStreamFrom()` will call `[Symbol.iterator]()` initially to restart the iteration where possible.
|
|
149
|
-
|
|
150
152
|
## Others
|
|
151
153
|
|
|
152
154
|
### Typed `Observable`
|
|
@@ -155,18 +157,14 @@ Note: `readableStreamFrom()` will call `[Symbol.iterator]()` initially to restar
|
|
|
155
157
|
|
|
156
158
|
### Producer-consumer queue
|
|
157
159
|
|
|
158
|
-
`
|
|
159
|
-
|
|
160
|
-
`IterableWritableStream` supports multiple consumers and continuation:
|
|
160
|
+
`PushAsyncIterableIterator` is a simple push-based producer-consumer queue and designed to decouple the flow between a producer and consumer. The producer can push a new job at anytime. The consumer can pull a job at its own convenience.
|
|
161
161
|
|
|
162
|
-
-
|
|
163
|
-
- Continuation: when the last consumer disconnected while producer keep pushing new jobs, the next consumer will pick up where the last consumer left
|
|
162
|
+
Compare to pull-based queue, a push-based queue is easier to use. However, pull-based queue offers better flow control as it will produce a job only if there is a consumer ready to consume.
|
|
164
163
|
|
|
165
|
-
|
|
164
|
+
For a full-featured producer-consumer queue that supports flow control, use `ReadableStream` instead.
|
|
166
165
|
|
|
167
166
|
```ts
|
|
168
|
-
const iterable = new
|
|
169
|
-
const writer = iterable.getWriter();
|
|
167
|
+
const iterable = new PushAsyncIterableIterator();
|
|
170
168
|
|
|
171
169
|
(async function consumer() {
|
|
172
170
|
for await (const value of iterable) {
|
|
@@ -177,10 +175,10 @@ const writer = iterable.getWriter();
|
|
|
177
175
|
})();
|
|
178
176
|
|
|
179
177
|
(async function producer() {
|
|
180
|
-
|
|
181
|
-
|
|
182
|
-
|
|
183
|
-
|
|
178
|
+
iterable.push(1);
|
|
179
|
+
iterable.push(2);
|
|
180
|
+
iterable.push(3);
|
|
181
|
+
iterable.close();
|
|
184
182
|
})();
|
|
185
183
|
|
|
186
184
|
// Prints "1", "2", "3", "Done".
|
|
@@ -197,11 +195,11 @@ The `generatorWithLastValue()` and `asyncGeneratorWithLastValue()` helps bridge
|
|
|
197
195
|
```ts
|
|
198
196
|
const generator = generatorWithLastValue(
|
|
199
197
|
(function* () {
|
|
200
|
-
yield 1;
|
|
201
|
-
yield 2;
|
|
202
|
-
yield 3;
|
|
198
|
+
yield 1;
|
|
199
|
+
yield 2;
|
|
200
|
+
yield 3;
|
|
203
201
|
|
|
204
|
-
return 'end';
|
|
202
|
+
return 'end';
|
|
205
203
|
})()
|
|
206
204
|
);
|
|
207
205
|
|
|
@@ -224,23 +222,6 @@ const generator = generatorWithLastValue(
|
|
|
224
222
|
);
|
|
225
223
|
```
|
|
226
224
|
|
|
227
|
-
## `Array.prototype` ports
|
|
228
|
-
|
|
229
|
-
We ported majority of functions from `Array.prototype.*` to `iterable*`.
|
|
230
|
-
|
|
231
|
-
```ts
|
|
232
|
-
import { iterableIncludes, iterableReduce } from 'iter-fest'; // Via default exports.
|
|
233
|
-
import { iterableSome } from 'iter-fest/iterableSome'; // Via named exports.
|
|
234
|
-
|
|
235
|
-
const iterable: Iterable<number> = [1, 2, 3, 4, 5].values();
|
|
236
|
-
|
|
237
|
-
console.log(iterableIncludes(iterable, 3)); // Prints "true".
|
|
238
|
-
console.log(iterableReduce(iterable, (sum, value) => sum + value, 0)); // Prints "15".
|
|
239
|
-
console.log(iterableSome(iterable, value => value % 2)); // Prints "true".
|
|
240
|
-
```
|
|
241
|
-
|
|
242
|
-
List of ported functions: [`at`](https://tc39.es/ecma262/#sec-array.prototype.at), [`concat`](https://tc39.es/ecma262/#sec-array.prototype.concat), [`entries`](https://tc39.es/ecma262/#sec-array.prototype.entries), [`every`](https://tc39.es/ecma262/#sec-array.prototype.every), [`filter`](https://tc39.es/ecma262/#sec-array.prototype.filter), [`find`](https://tc39.es/ecma262/#sec-array.prototype.find), [`findIndex`](https://tc39.es/ecma262/#sec-array.prototype.findindex), [`findLast`](https://tc39.es/ecma262/#sec-array.prototype.findlast), [`findLastIndex`](https://tc39.es/ecma262/#sec-array.prototype.findlastindex), [`forEach`](https://tc39.es/ecma262/#sec-array.prototype.foreach), [`includes`](https://tc39.es/ecma262/#sec-array.prototype.includes), [`indexOf`](https://tc39.es/ecma262/#sec-array.prototype.indexof), [`join`](https://tc39.es/ecma262/#sec-array.prototype.join), [`keys`](https://tc39.es/ecma262/#sec-array.prototype.keys), [`map`](https://tc39.es/ecma262/#sec-array.prototype.map), [`reduce`](https://tc39.es/ecma262/#sec-array.prototype.reduce), [`slice`](https://tc39.es/ecma262/#sec-array.prototype.slice), [`some`](https://tc39.es/ecma262/#sec-array.prototype.some), [`toSpliced`](https://tc39.es/ecma262/#sec-array.prototype.tospliced), and [`toString`](https://tc39.es/ecma262/#sec-array.prototype.tostring).
|
|
243
|
-
|
|
244
225
|
## Behaviors
|
|
245
226
|
|
|
246
227
|
### How this compares to the TC39 proposals?
|
|
@@ -289,21 +270,18 @@ Generator has more functionalities than iterator and array. It is not recommende
|
|
|
289
270
|
- Generator can define the return value
|
|
290
271
|
- `return { done: true, value: 'the very last value' }`
|
|
291
272
|
- Iterating generator using for-loop will not get any values from `{ done: true }`
|
|
292
|
-
- The `generatorWithLastValue()` will help capturing and retrieving the last return value
|
|
293
273
|
- Generator can receive feedback values from its iterator
|
|
294
274
|
- `generator.next('something')`, the feedback can be assigned to variable via `const feedback = yield;`
|
|
295
275
|
- For-loop cannot send feedbacks to generator
|
|
296
276
|
|
|
297
277
|
### When should I use `Iterable`, `IterableIterator` and `Iterator`?
|
|
298
278
|
|
|
299
|
-
For best compatibility, you should generally follow this API signature: use `Iterable` for inputs, and use `IterableIterator` for outputs. You should avoid exporting pure `Iterator`.
|
|
279
|
+
For best compatibility, you should generally follow this API signature: use `Iterable` for inputs, and use `IterableIterator` for outputs. You should avoid exporting pure `Iterator`.
|
|
300
280
|
|
|
301
281
|
```ts
|
|
302
|
-
function
|
|
282
|
+
function transform<T>(iterable: Iterable<T>): IterableIterator<T>;
|
|
303
283
|
```
|
|
304
284
|
|
|
305
|
-
`IterableIterator` may opt to support restarting the iteration through `[Symbol.iterator]()`. When consuming an `IterableIterator`, you should call `[Symbol.iterator]()` to obtain a fresh iteration or use for-loop statement if possible. However, `[Symbol.iterator]()` is an opt-in feature and does not always guarantee a fresh iteration.
|
|
306
|
-
|
|
307
285
|
### What is on the roadmap?
|
|
308
286
|
|
|
309
287
|
We are planning to bring iterables and its siblings together, including:
|
|
@@ -1,9 +1,9 @@
|
|
|
1
|
-
// src/
|
|
1
|
+
// src/iterableGetReadable.ts
|
|
2
2
|
function isIterable(iterable) {
|
|
3
3
|
return !!(iterable && typeof iterable === "object" && Symbol.iterator in iterable);
|
|
4
4
|
}
|
|
5
|
-
function
|
|
6
|
-
const iterator = isIterable(
|
|
5
|
+
function iterableGetReadable(iterable) {
|
|
6
|
+
const iterator = isIterable(iterable) ? iterable[Symbol.iterator]() : iterable[Symbol.asyncIterator]();
|
|
7
7
|
return new ReadableStream({
|
|
8
8
|
async pull(controller) {
|
|
9
9
|
const result = await iterator.next();
|
|
@@ -17,6 +17,6 @@ function readableStreamFrom(anyIterable) {
|
|
|
17
17
|
}
|
|
18
18
|
|
|
19
19
|
export {
|
|
20
|
-
|
|
20
|
+
iterableGetReadable
|
|
21
21
|
};
|
|
22
|
-
//# sourceMappingURL=chunk-
|
|
22
|
+
//# sourceMappingURL=chunk-MOBXUTO5.mjs.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"sources":["../src/iterableGetReadable.ts"],"sourcesContent":["function isIterable(iterable: unknown): iterable is Iterable<unknown> {\n return !!(iterable && typeof iterable === 'object' && Symbol.iterator in iterable);\n}\n\nexport function iterableGetReadable<T>(iterable: AsyncIterable<T> | Iterable<T>): ReadableStream<T> {\n const iterator = isIterable(iterable) ? iterable[Symbol.iterator]() : iterable[Symbol.asyncIterator]();\n\n return new ReadableStream({\n async pull(controller) {\n const result = await iterator.next();\n\n if (result.done) {\n controller.close();\n } else {\n controller.enqueue(result.value);\n }\n }\n });\n}\n"],"mappings":";AAAA,SAAS,WAAW,UAAkD;AACpE,SAAO,CAAC,EAAE,YAAY,OAAO,aAAa,YAAY,OAAO,YAAY;AAC3E;AAEO,SAAS,oBAAuB,UAA6D;AAClG,QAAM,WAAW,WAAW,QAAQ,IAAI,SAAS,OAAO,QAAQ,EAAE,IAAI,SAAS,OAAO,aAAa,EAAE;AAErG,SAAO,IAAI,eAAe;AAAA,IACxB,MAAM,KAAK,YAAY;AACrB,YAAM,SAAS,MAAM,SAAS,KAAK;AAEnC,UAAI,OAAO,MAAM;AACf,mBAAW,MAAM;AAAA,MACnB,OAAO;AACL,mBAAW,QAAQ,OAAO,KAAK;AAAA,MACjC;AAAA,IACF;AAAA,EACF,CAAC;AACH;","names":[]}
|
|
@@ -0,0 +1,37 @@
|
|
|
1
|
+
// src/private/withResolvers.ts
|
|
2
|
+
import coreJSPromiseWithResolvers from "core-js-pure/full/promise/with-resolvers";
|
|
3
|
+
function withResolvers() {
|
|
4
|
+
return coreJSPromiseWithResolvers();
|
|
5
|
+
}
|
|
6
|
+
|
|
7
|
+
// src/PushAsyncIterableIterator.ts
|
|
8
|
+
var CLOSE = Symbol("close");
|
|
9
|
+
var PushAsyncIterableIterator = class {
|
|
10
|
+
#closed = false;
|
|
11
|
+
#pushResolvers = withResolvers();
|
|
12
|
+
[Symbol.asyncIterator]() {
|
|
13
|
+
return this;
|
|
14
|
+
}
|
|
15
|
+
close() {
|
|
16
|
+
this.#closed = true;
|
|
17
|
+
this.#pushResolvers.resolve(CLOSE);
|
|
18
|
+
}
|
|
19
|
+
async next() {
|
|
20
|
+
const value = await this.#pushResolvers.promise;
|
|
21
|
+
if (value === CLOSE) {
|
|
22
|
+
return { done: true, value: void 0 };
|
|
23
|
+
}
|
|
24
|
+
return { done: false, value };
|
|
25
|
+
}
|
|
26
|
+
push(value) {
|
|
27
|
+
if (!this.#closed) {
|
|
28
|
+
this.#pushResolvers.resolve(value);
|
|
29
|
+
this.#pushResolvers = withResolvers();
|
|
30
|
+
}
|
|
31
|
+
}
|
|
32
|
+
};
|
|
33
|
+
|
|
34
|
+
export {
|
|
35
|
+
PushAsyncIterableIterator
|
|
36
|
+
};
|
|
37
|
+
//# sourceMappingURL=chunk-O5SQJUKB.mjs.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"sources":["../src/private/withResolvers.ts","../src/PushAsyncIterableIterator.ts"],"sourcesContent":["// @ts-expect-error \"core-js\" is not typed.\nimport coreJSPromiseWithResolvers from 'core-js-pure/full/promise/with-resolvers';\n\nexport default function withResolvers<T>(): PromiseWithResolvers<T> {\n return coreJSPromiseWithResolvers();\n}\n","import withResolvers from './private/withResolvers';\n\nconst CLOSE = Symbol('close');\n\nexport class PushAsyncIterableIterator<T> implements AsyncIterableIterator<T> {\n #closed: boolean = false;\n #pushResolvers: PromiseWithResolvers<T | typeof CLOSE> = withResolvers();\n\n [Symbol.asyncIterator]() {\n return this;\n }\n\n close() {\n this.#closed = true;\n this.#pushResolvers.resolve(CLOSE);\n }\n\n async next(): Promise<IteratorResult<T>> {\n const value = await this.#pushResolvers.promise;\n\n if (value === CLOSE) {\n return { done: true, value: undefined };\n }\n\n return { done: false, value };\n }\n\n push(value: T) {\n if (!this.#closed) {\n this.#pushResolvers.resolve(value);\n this.#pushResolvers = withResolvers();\n }\n }\n}\n"],"mappings":";AACA,OAAO,gCAAgC;AAExB,SAAR,gBAA6D;AAClE,SAAO,2BAA2B;AACpC;;;ACHA,IAAM,QAAQ,OAAO,OAAO;AAErB,IAAM,4BAAN,MAAuE;AAAA,EAC5E,UAAmB;AAAA,EACnB,iBAAyD,cAAc;AAAA,EAEvE,CAAC,OAAO,aAAa,IAAI;AACvB,WAAO;AAAA,EACT;AAAA,EAEA,QAAQ;AACN,SAAK,UAAU;AACf,SAAK,eAAe,QAAQ,KAAK;AAAA,EACnC;AAAA,EAEA,MAAM,OAAmC;AACvC,UAAM,QAAQ,MAAM,KAAK,eAAe;AAExC,QAAI,UAAU,OAAO;AACnB,aAAO,EAAE,MAAM,MAAM,OAAO,OAAU;AAAA,IACxC;AAEA,WAAO,EAAE,MAAM,OAAO,MAAM;AAAA,EAC9B;AAAA,EAEA,KAAK,OAAU;AACb,QAAI,CAAC,KAAK,SAAS;AACjB,WAAK,eAAe,QAAQ,KAAK;AACjC,WAAK,iBAAiB,cAAc;AAAA,IACtC;AAAA,EACF;AACF;","names":[]}
|
package/dist/iter-fest.d.mts
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
export { CompleteFunction, ErrorFunction, NextFunction, Observable, Observer, StartFunction, SubscriberFunction, Subscription, SubscriptionObserver } from './iter-fest.observable.mjs';
|
|
2
|
+
export { PushAsyncIterableIterator } from './iter-fest.pushAsyncIterableIterator.mjs';
|
|
2
3
|
export { SymbolObservable } from './iter-fest.symbolObservable.mjs';
|
|
3
4
|
export { AsyncGeneratorWithLastValue, asyncGeneratorWithLastValue } from './iter-fest.asyncGeneratorWithLastValue.mjs';
|
|
4
|
-
export { asyncIteratorToAsyncIterable } from './iter-fest.asyncIteratorToAsyncIterable.mjs';
|
|
5
5
|
export { GeneratorWithLastValue, generatorWithLastValue } from './iter-fest.generatorWithLastValue.mjs';
|
|
6
6
|
export { iterableAt } from './iter-fest.iterableAt.mjs';
|
|
7
7
|
export { iterableConcat } from './iter-fest.iterableConcat.mjs';
|
|
@@ -13,6 +13,7 @@ export { iterableFindIndex } from './iter-fest.iterableFindIndex.mjs';
|
|
|
13
13
|
export { iterableFindLast } from './iter-fest.iterableFindLast.mjs';
|
|
14
14
|
export { iterableFindLastIndex } from './iter-fest.iterableFindLastIndex.mjs';
|
|
15
15
|
export { iterableForEach } from './iter-fest.iterableForEach.mjs';
|
|
16
|
+
export { iterableGetReadable } from './iter-fest.iterableGetReadable.mjs';
|
|
16
17
|
export { iterableIncludes } from './iter-fest.iterableIncludes.mjs';
|
|
17
18
|
export { iterableIndexOf } from './iter-fest.iterableIndexOf.mjs';
|
|
18
19
|
export { iterableJoin } from './iter-fest.iterableJoin.mjs';
|
|
@@ -23,10 +24,8 @@ export { iterableSlice } from './iter-fest.iterableSlice.mjs';
|
|
|
23
24
|
export { iterableSome } from './iter-fest.iterableSome.mjs';
|
|
24
25
|
export { iterableToSpliced } from './iter-fest.iterableToSpliced.mjs';
|
|
25
26
|
export { iterableToString } from './iter-fest.iterableToString.mjs';
|
|
26
|
-
export { IterableWritableStream } from './iter-fest.iterableWritableStream.mjs';
|
|
27
27
|
export { iteratorToIterable } from './iter-fest.iteratorToIterable.mjs';
|
|
28
28
|
export { observableFromAsync } from './iter-fest.observableFromAsync.mjs';
|
|
29
29
|
export { observableSubscribeAsReadable } from './iter-fest.observableSubscribeAsReadable.mjs';
|
|
30
|
-
export { readableStreamFrom } from './iter-fest.readableStreamFrom.mjs';
|
|
31
30
|
export { readerValues } from './iter-fest.readerValues.mjs';
|
|
32
31
|
import 'core-js-pure/full/observable';
|
package/dist/iter-fest.d.ts
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
export { CompleteFunction, ErrorFunction, NextFunction, Observable, Observer, StartFunction, SubscriberFunction, Subscription, SubscriptionObserver } from './iter-fest.observable.js';
|
|
2
|
+
export { PushAsyncIterableIterator } from './iter-fest.pushAsyncIterableIterator.js';
|
|
2
3
|
export { SymbolObservable } from './iter-fest.symbolObservable.js';
|
|
3
4
|
export { AsyncGeneratorWithLastValue, asyncGeneratorWithLastValue } from './iter-fest.asyncGeneratorWithLastValue.js';
|
|
4
|
-
export { asyncIteratorToAsyncIterable } from './iter-fest.asyncIteratorToAsyncIterable.js';
|
|
5
5
|
export { GeneratorWithLastValue, generatorWithLastValue } from './iter-fest.generatorWithLastValue.js';
|
|
6
6
|
export { iterableAt } from './iter-fest.iterableAt.js';
|
|
7
7
|
export { iterableConcat } from './iter-fest.iterableConcat.js';
|
|
@@ -13,6 +13,7 @@ export { iterableFindIndex } from './iter-fest.iterableFindIndex.js';
|
|
|
13
13
|
export { iterableFindLast } from './iter-fest.iterableFindLast.js';
|
|
14
14
|
export { iterableFindLastIndex } from './iter-fest.iterableFindLastIndex.js';
|
|
15
15
|
export { iterableForEach } from './iter-fest.iterableForEach.js';
|
|
16
|
+
export { iterableGetReadable } from './iter-fest.iterableGetReadable.js';
|
|
16
17
|
export { iterableIncludes } from './iter-fest.iterableIncludes.js';
|
|
17
18
|
export { iterableIndexOf } from './iter-fest.iterableIndexOf.js';
|
|
18
19
|
export { iterableJoin } from './iter-fest.iterableJoin.js';
|
|
@@ -23,10 +24,8 @@ export { iterableSlice } from './iter-fest.iterableSlice.js';
|
|
|
23
24
|
export { iterableSome } from './iter-fest.iterableSome.js';
|
|
24
25
|
export { iterableToSpliced } from './iter-fest.iterableToSpliced.js';
|
|
25
26
|
export { iterableToString } from './iter-fest.iterableToString.js';
|
|
26
|
-
export { IterableWritableStream } from './iter-fest.iterableWritableStream.js';
|
|
27
27
|
export { iteratorToIterable } from './iter-fest.iteratorToIterable.js';
|
|
28
28
|
export { observableFromAsync } from './iter-fest.observableFromAsync.js';
|
|
29
29
|
export { observableSubscribeAsReadable } from './iter-fest.observableSubscribeAsReadable.js';
|
|
30
|
-
export { readableStreamFrom } from './iter-fest.readableStreamFrom.js';
|
|
31
30
|
export { readerValues } from './iter-fest.readerValues.js';
|
|
32
31
|
import 'core-js-pure/full/observable';
|
|
@@ -17,17 +17,17 @@ var __copyProps = (to, from, except, desc) => {
|
|
|
17
17
|
};
|
|
18
18
|
var __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: true }), mod);
|
|
19
19
|
|
|
20
|
-
// src/
|
|
21
|
-
var
|
|
22
|
-
__export(
|
|
23
|
-
|
|
20
|
+
// src/iterableGetReadable.ts
|
|
21
|
+
var iterableGetReadable_exports = {};
|
|
22
|
+
__export(iterableGetReadable_exports, {
|
|
23
|
+
iterableGetReadable: () => iterableGetReadable
|
|
24
24
|
});
|
|
25
|
-
module.exports = __toCommonJS(
|
|
25
|
+
module.exports = __toCommonJS(iterableGetReadable_exports);
|
|
26
26
|
function isIterable(iterable) {
|
|
27
27
|
return !!(iterable && typeof iterable === "object" && Symbol.iterator in iterable);
|
|
28
28
|
}
|
|
29
|
-
function
|
|
30
|
-
const iterator = isIterable(
|
|
29
|
+
function iterableGetReadable(iterable) {
|
|
30
|
+
const iterator = isIterable(iterable) ? iterable[Symbol.iterator]() : iterable[Symbol.asyncIterator]();
|
|
31
31
|
return new ReadableStream({
|
|
32
32
|
async pull(controller) {
|
|
33
33
|
const result = await iterator.next();
|
|
@@ -41,6 +41,6 @@ function readableStreamFrom(anyIterable) {
|
|
|
41
41
|
}
|
|
42
42
|
// Annotate the CommonJS export names for ESM import in node:
|
|
43
43
|
0 && (module.exports = {
|
|
44
|
-
|
|
44
|
+
iterableGetReadable
|
|
45
45
|
});
|
|
46
|
-
//# sourceMappingURL=iter-fest.
|
|
46
|
+
//# sourceMappingURL=iter-fest.iterableGetReadable.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"sources":["../src/iterableGetReadable.ts"],"sourcesContent":["function isIterable(iterable: unknown): iterable is Iterable<unknown> {\n return !!(iterable && typeof iterable === 'object' && Symbol.iterator in iterable);\n}\n\nexport function iterableGetReadable<T>(iterable: AsyncIterable<T> | Iterable<T>): ReadableStream<T> {\n const iterator = isIterable(iterable) ? iterable[Symbol.iterator]() : iterable[Symbol.asyncIterator]();\n\n return new ReadableStream({\n async pull(controller) {\n const result = await iterator.next();\n\n if (result.done) {\n controller.close();\n } else {\n controller.enqueue(result.value);\n }\n }\n });\n}\n"],"mappings":";;;;;;;;;;;;;;;;;;;;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,SAAS,WAAW,UAAkD;AACpE,SAAO,CAAC,EAAE,YAAY,OAAO,aAAa,YAAY,OAAO,YAAY;AAC3E;AAEO,SAAS,oBAAuB,UAA6D;AAClG,QAAM,WAAW,WAAW,QAAQ,IAAI,SAAS,OAAO,QAAQ,EAAE,IAAI,SAAS,OAAO,aAAa,EAAE;AAErG,SAAO,IAAI,eAAe;AAAA,IACxB,MAAM,KAAK,YAAY;AACrB,YAAM,SAAS,MAAM,SAAS,KAAK;AAEnC,UAAI,OAAO,MAAM;AACf,mBAAW,MAAM;AAAA,MACnB,OAAO;AACL,mBAAW,QAAQ,OAAO,KAAK;AAAA,MACjC;AAAA,IACF;AAAA,EACF,CAAC;AACH;","names":[]}
|
package/dist/iter-fest.js
CHANGED
|
@@ -30,11 +30,10 @@ var __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: tru
|
|
|
30
30
|
// src/index.ts
|
|
31
31
|
var src_exports = {};
|
|
32
32
|
__export(src_exports, {
|
|
33
|
-
IterableWritableStream: () => IterableWritableStream,
|
|
34
33
|
Observable: () => Observable,
|
|
34
|
+
PushAsyncIterableIterator: () => PushAsyncIterableIterator,
|
|
35
35
|
SymbolObservable: () => SymbolObservable,
|
|
36
36
|
asyncGeneratorWithLastValue: () => asyncGeneratorWithLastValue,
|
|
37
|
-
asyncIteratorToAsyncIterable: () => asyncIteratorToAsyncIterable,
|
|
38
37
|
generatorWithLastValue: () => generatorWithLastValue,
|
|
39
38
|
iterableAt: () => iterableAt,
|
|
40
39
|
iterableConcat: () => iterableConcat,
|
|
@@ -46,6 +45,7 @@ __export(src_exports, {
|
|
|
46
45
|
iterableFindLast: () => iterableFindLast,
|
|
47
46
|
iterableFindLastIndex: () => iterableFindLastIndex,
|
|
48
47
|
iterableForEach: () => iterableForEach,
|
|
48
|
+
iterableGetReadable: () => iterableGetReadable,
|
|
49
49
|
iterableIncludes: () => iterableIncludes,
|
|
50
50
|
iterableIndexOf: () => iterableIndexOf,
|
|
51
51
|
iterableJoin: () => iterableJoin,
|
|
@@ -59,7 +59,6 @@ __export(src_exports, {
|
|
|
59
59
|
iteratorToIterable: () => iteratorToIterable,
|
|
60
60
|
observableFromAsync: () => observableFromAsync,
|
|
61
61
|
observableSubscribeAsReadable: () => observableSubscribeAsReadable,
|
|
62
|
-
readableStreamFrom: () => readableStreamFrom,
|
|
63
62
|
readerValues: () => readerValues
|
|
64
63
|
});
|
|
65
64
|
module.exports = __toCommonJS(src_exports);
|
|
@@ -92,6 +91,39 @@ var Observable = class extends import_observable2.default {
|
|
|
92
91
|
}
|
|
93
92
|
};
|
|
94
93
|
|
|
94
|
+
// src/private/withResolvers.ts
|
|
95
|
+
var import_with_resolvers = __toESM(require("core-js-pure/full/promise/with-resolvers"));
|
|
96
|
+
function withResolvers() {
|
|
97
|
+
return (0, import_with_resolvers.default)();
|
|
98
|
+
}
|
|
99
|
+
|
|
100
|
+
// src/PushAsyncIterableIterator.ts
|
|
101
|
+
var CLOSE = Symbol("close");
|
|
102
|
+
var PushAsyncIterableIterator = class {
|
|
103
|
+
#closed = false;
|
|
104
|
+
#pushResolvers = withResolvers();
|
|
105
|
+
[Symbol.asyncIterator]() {
|
|
106
|
+
return this;
|
|
107
|
+
}
|
|
108
|
+
close() {
|
|
109
|
+
this.#closed = true;
|
|
110
|
+
this.#pushResolvers.resolve(CLOSE);
|
|
111
|
+
}
|
|
112
|
+
async next() {
|
|
113
|
+
const value = await this.#pushResolvers.promise;
|
|
114
|
+
if (value === CLOSE) {
|
|
115
|
+
return { done: true, value: void 0 };
|
|
116
|
+
}
|
|
117
|
+
return { done: false, value };
|
|
118
|
+
}
|
|
119
|
+
push(value) {
|
|
120
|
+
if (!this.#closed) {
|
|
121
|
+
this.#pushResolvers.resolve(value);
|
|
122
|
+
this.#pushResolvers = withResolvers();
|
|
123
|
+
}
|
|
124
|
+
}
|
|
125
|
+
};
|
|
126
|
+
|
|
95
127
|
// src/asyncGeneratorWithLastValue.ts
|
|
96
128
|
var STILL_ITERATING = Symbol();
|
|
97
129
|
function asyncGeneratorWithLastValue(generator) {
|
|
@@ -123,17 +155,6 @@ function asyncGeneratorWithLastValue(generator) {
|
|
|
123
155
|
return asyncGeneratorWithLastValue2;
|
|
124
156
|
}
|
|
125
157
|
|
|
126
|
-
// src/asyncIteratorToAsyncIterable.ts
|
|
127
|
-
function asyncIteratorToAsyncIterable(asyncIterator) {
|
|
128
|
-
const asyncIterableIterator = {
|
|
129
|
-
[Symbol.asyncIterator]: () => asyncIterableIterator,
|
|
130
|
-
next: asyncIterator.next.bind(asyncIterator),
|
|
131
|
-
...asyncIterator.return ? { return: asyncIterator.return.bind(asyncIterator) } : {},
|
|
132
|
-
...asyncIterator.throw ? { throw: asyncIterator.throw.bind(asyncIterator) } : {}
|
|
133
|
-
};
|
|
134
|
-
return asyncIterableIterator;
|
|
135
|
-
}
|
|
136
|
-
|
|
137
158
|
// src/generatorWithLastValue.ts
|
|
138
159
|
var STILL_ITERATING2 = Symbol();
|
|
139
160
|
function generatorWithLastValue(generator) {
|
|
@@ -316,6 +337,24 @@ function iterableForEach(iterable, callbackfn, thisArg) {
|
|
|
316
337
|
}
|
|
317
338
|
}
|
|
318
339
|
|
|
340
|
+
// src/iterableGetReadable.ts
|
|
341
|
+
function isIterable(iterable) {
|
|
342
|
+
return !!(iterable && typeof iterable === "object" && Symbol.iterator in iterable);
|
|
343
|
+
}
|
|
344
|
+
function iterableGetReadable(iterable) {
|
|
345
|
+
const iterator = isIterable(iterable) ? iterable[Symbol.iterator]() : iterable[Symbol.asyncIterator]();
|
|
346
|
+
return new ReadableStream({
|
|
347
|
+
async pull(controller) {
|
|
348
|
+
const result = await iterator.next();
|
|
349
|
+
if (result.done) {
|
|
350
|
+
controller.close();
|
|
351
|
+
} else {
|
|
352
|
+
controller.enqueue(result.value);
|
|
353
|
+
}
|
|
354
|
+
}
|
|
355
|
+
});
|
|
356
|
+
}
|
|
357
|
+
|
|
319
358
|
// src/iterableIncludes.ts
|
|
320
359
|
function iterableIncludes(iterable, searchElement, fromIndex = 0) {
|
|
321
360
|
let index = 0;
|
|
@@ -472,48 +511,6 @@ function iterableToString(iterable) {
|
|
|
472
511
|
return iterableJoin(iterable);
|
|
473
512
|
}
|
|
474
513
|
|
|
475
|
-
// src/private/withResolvers.ts
|
|
476
|
-
var import_with_resolvers = __toESM(require("core-js-pure/full/promise/with-resolvers"));
|
|
477
|
-
function withResolvers() {
|
|
478
|
-
return (0, import_with_resolvers.default)();
|
|
479
|
-
}
|
|
480
|
-
|
|
481
|
-
// src/iterableWritableStream.ts
|
|
482
|
-
var CLOSE = Symbol();
|
|
483
|
-
var IterableWritableStream = class extends WritableStream {
|
|
484
|
-
constructor() {
|
|
485
|
-
super({
|
|
486
|
-
close: () => {
|
|
487
|
-
this.#buffer.push(CLOSE);
|
|
488
|
-
this.#writeResolvers.resolve();
|
|
489
|
-
},
|
|
490
|
-
write: (chunk) => {
|
|
491
|
-
this.#buffer.push(chunk);
|
|
492
|
-
this.#writeResolvers.resolve();
|
|
493
|
-
this.#writeResolvers = withResolvers();
|
|
494
|
-
}
|
|
495
|
-
});
|
|
496
|
-
}
|
|
497
|
-
#buffer = [];
|
|
498
|
-
#writeResolvers = withResolvers();
|
|
499
|
-
[Symbol.asyncIterator]() {
|
|
500
|
-
return {
|
|
501
|
-
next: async () => {
|
|
502
|
-
while (!this.#buffer.length) {
|
|
503
|
-
await this.#writeResolvers.promise;
|
|
504
|
-
}
|
|
505
|
-
const value = this.#buffer[0];
|
|
506
|
-
if (value === CLOSE) {
|
|
507
|
-
return { done: true, value: void 0 };
|
|
508
|
-
}
|
|
509
|
-
this.#buffer.shift();
|
|
510
|
-
await void 0;
|
|
511
|
-
return { done: false, value };
|
|
512
|
-
}
|
|
513
|
-
};
|
|
514
|
-
}
|
|
515
|
-
};
|
|
516
|
-
|
|
517
514
|
// src/iteratorToIterable.ts
|
|
518
515
|
function iteratorToIterable(iterator) {
|
|
519
516
|
const iterableIterator = {
|
|
@@ -571,24 +568,6 @@ function observableSubscribeAsReadable(observable) {
|
|
|
571
568
|
});
|
|
572
569
|
}
|
|
573
570
|
|
|
574
|
-
// src/readableStreamFrom.ts
|
|
575
|
-
function isIterable(iterable) {
|
|
576
|
-
return !!(iterable && typeof iterable === "object" && Symbol.iterator in iterable);
|
|
577
|
-
}
|
|
578
|
-
function readableStreamFrom(anyIterable) {
|
|
579
|
-
const iterator = isIterable(anyIterable) ? anyIterable[Symbol.iterator]() : anyIterable[Symbol.asyncIterator]();
|
|
580
|
-
return new ReadableStream({
|
|
581
|
-
async pull(controller) {
|
|
582
|
-
const result = await iterator.next();
|
|
583
|
-
if (result.done) {
|
|
584
|
-
controller.close();
|
|
585
|
-
} else {
|
|
586
|
-
controller.enqueue(result.value);
|
|
587
|
-
}
|
|
588
|
-
}
|
|
589
|
-
});
|
|
590
|
-
}
|
|
591
|
-
|
|
592
571
|
// src/readerValues.ts
|
|
593
572
|
function readerValues(reader) {
|
|
594
573
|
const iterable = {
|
|
@@ -611,11 +590,10 @@ function readerValues(reader) {
|
|
|
611
590
|
}
|
|
612
591
|
// Annotate the CommonJS export names for ESM import in node:
|
|
613
592
|
0 && (module.exports = {
|
|
614
|
-
IterableWritableStream,
|
|
615
593
|
Observable,
|
|
594
|
+
PushAsyncIterableIterator,
|
|
616
595
|
SymbolObservable,
|
|
617
596
|
asyncGeneratorWithLastValue,
|
|
618
|
-
asyncIteratorToAsyncIterable,
|
|
619
597
|
generatorWithLastValue,
|
|
620
598
|
iterableAt,
|
|
621
599
|
iterableConcat,
|
|
@@ -627,6 +605,7 @@ function readerValues(reader) {
|
|
|
627
605
|
iterableFindLast,
|
|
628
606
|
iterableFindLastIndex,
|
|
629
607
|
iterableForEach,
|
|
608
|
+
iterableGetReadable,
|
|
630
609
|
iterableIncludes,
|
|
631
610
|
iterableIndexOf,
|
|
632
611
|
iterableJoin,
|
|
@@ -640,7 +619,6 @@ function readerValues(reader) {
|
|
|
640
619
|
iteratorToIterable,
|
|
641
620
|
observableFromAsync,
|
|
642
621
|
observableSubscribeAsReadable,
|
|
643
|
-
readableStreamFrom,
|
|
644
622
|
readerValues
|
|
645
623
|
});
|
|
646
624
|
//# sourceMappingURL=iter-fest.js.map
|