File tree Expand file tree Collapse file tree 2 files changed +17
-0
lines changed Expand file tree Collapse file tree 2 files changed +17
-0
lines changed Original file line number Diff line number Diff line change
1
+ /// <reference lib="es2018.asynciterable" />
2
+
1
3
declare module "stream" {
2
4
import * as events from "events" ;
3
5
@@ -18,6 +20,7 @@ declare module "stream" {
18
20
}
19
21
20
22
class Readable extends Stream implements NodeJS . ReadableStream {
23
+ static from ( iterable : Iterable < any > | AsyncIterable < any > , opts ?: ReadableOptions ) : NodeJS . ReadableStream ;
21
24
readable : boolean ;
22
25
readonly readableHighWaterMark : number ;
23
26
readonly readableLength : number ;
Original file line number Diff line number Diff line change @@ -192,3 +192,17 @@ function stream_readable_pipe_test() {
192
192
z . close ( ) ;
193
193
rs . close ( ) ;
194
194
}
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
+ }
You can’t perform that action at this time.
0 commit comments