Skip to content

Commit 0a295fc

Browse files
committed
chore(node): add Readable.from utility
Added in v12.3.0 from PR nodejs/node#27660
1 parent e94ce02 commit 0a295fc

File tree

2 files changed

+17
-0
lines changed

2 files changed

+17
-0
lines changed

types/node/stream.d.ts

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,3 +1,5 @@
1+
/// <reference lib="es2018.asynciterable" />
2+
13
declare module "stream" {
24
import * as events from "events";
35

@@ -18,6 +20,7 @@ declare module "stream" {
1820
}
1921

2022
class Readable extends Stream implements NodeJS.ReadableStream {
23+
static from(iterable: Iterable<any> | AsyncIterable<any>, opts?: ReadableOptions): NodeJS.ReadableStream;
2124
readable: boolean;
2225
readonly readableHighWaterMark: number;
2326
readonly readableLength: number;

types/node/test/stream.ts

Lines changed: 14 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -192,3 +192,17 @@ function stream_readable_pipe_test() {
192192
z.close();
193193
rs.close();
194194
}
195+
196+
async function readable_from() {
197+
const list = [ 1, 2, 3 ];
198+
const listPromise = list.map(n => Promise.resolve(n)));
199+
200+
const readableSync = Readable.from(list);
201+
const readableAsync = Readable.from(listPromise);
202+
203+
let i = 0;
204+
readableSync.on('data', n => assert(n === list[i++]));
205+
206+
let j = 0;
207+
readableAsync.on('data', n => assert(n === list[j++]));
208+
}

0 commit comments

Comments
 (0)