@@ -20,7 +20,7 @@ import { performance } from "node:perf_hooks";
2020import { stdout } from "node:process" ;
2121import { arrayBuffer , blob , buffer , json , text } from "node:stream/consumers" ;
2222import { finished as finishedPromise , pipeline as pipelinePromise } from "node:stream/promises" ;
23- import { ReadableStream , TransformStream , WritableStream } from "node:stream/web" ;
23+ import { ReadableStream , ReadableStreamBYOBReader , TransformStream , WritableStream } from "node:stream/web" ;
2424import { setInterval as every , setTimeout as wait } from "node:timers/promises" ;
2525import { MessageChannel as NodeMC } from "node:worker_threads" ;
2626
@@ -810,5 +810,24 @@ async function testTransferringStreamWithPostMessage() {
810810}
811811
812812{
813- new Blob ( [ "1" , "2" ] ) . stream ( ) . getReader ( { mode : "byob" } ) ;
813+ let byobReader = new Blob ( [ "1" , "2" ] ) . stream ( ) . getReader ( { mode : "byob" } ) ;
814+ byobReader = new ReadableStreamBYOBReader ( new Blob ( [ ] ) . stream ( ) ) ;
815+
816+ // $ExpectType Promise<void>
817+ byobReader . cancel ( ) ;
818+ // $ExpectType Promise<void>
819+ byobReader . cancel ( "reason" ) ;
820+
821+ // $ExpectType Promise<undefined>
822+ byobReader . closed ;
823+
824+ // $ExpectType Promise<ReadableStreamReadResult<Uint8Array<ArrayBuffer>>>
825+ byobReader . read ( new Uint8Array ( ) ) ;
826+ // $ExpectType Promise<ReadableStreamReadResult<Uint8Array<ArrayBuffer>>>
827+ byobReader . read ( new Uint8Array ( ) , { } ) ;
828+ // $ExpectType Promise<ReadableStreamReadResult<Uint8Array<ArrayBuffer>>>
829+ byobReader . read ( new Uint8Array ( ) , { min : 1 } ) ;
830+
831+ // $ExpectType void
832+ byobReader . releaseLock ( ) ;
814833}
0 commit comments