File tree Expand file tree Collapse file tree 7 files changed +71
-3
lines changed
Expand file tree Collapse file tree 7 files changed +71
-3
lines changed Original file line number Diff line number Diff line change @@ -816,6 +816,23 @@ async function testTransferringStreamWithPostMessage() {
816816 byobReader . releaseLock ( ) ;
817817}
818818
819+ {
820+ const stream = new ReadableStream ( {
821+ type : "bytes" ,
822+ pull ( controller ) {
823+ const req = controller . byobRequest ;
824+ if ( ! req ?. view ) return ;
825+ ( req . view as Uint8Array ) . set ( [ 42 ] , 0 ) ;
826+ req . respond ( 1 ) ;
827+ controller . close ( ) ;
828+ } ,
829+ } ) ;
830+ const reader = stream . getReader ( { mode : "byob" } ) ;
831+ reader . read ( new Uint8Array ( new ArrayBuffer ( 8 ) ) ) . then ( ( { done, value } ) => {
832+ console . log ( done , value ) ;
833+ } ) ;
834+ }
835+
819836async function testStreamComposeExample1 ( ) {
820837 const removeSpaces = new Transform ( {
821838 transform ( chunk , encoding , callback ) {
Original file line number Diff line number Diff line change @@ -238,7 +238,7 @@ declare module "stream/web" {
238238 new ( ) : ReadableStreamBYOBRequest ;
239239 } ;
240240 interface ReadableByteStreamController {
241- readonly byobRequest : undefined ;
241+ readonly byobRequest : ReadableStreamBYOBRequest | null ;
242242 readonly desiredSize : number | null ;
243243 close ( ) : void ;
244244 enqueue ( chunk : ArrayBufferView ) : void ;
Original file line number Diff line number Diff line change @@ -824,3 +824,20 @@ async function testTransferringStreamWithPostMessage() {
824824 // $ExpectType void
825825 byobReader . releaseLock ( ) ;
826826}
827+
828+ {
829+ const stream = new ReadableStream ( {
830+ type : "bytes" ,
831+ pull ( controller ) {
832+ const req = controller . byobRequest ;
833+ if ( ! req ?. view ) return ;
834+ ( req . view as Uint8Array ) . set ( [ 42 ] , 0 ) ;
835+ req . respond ( 1 ) ;
836+ controller . close ( ) ;
837+ } ,
838+ } ) ;
839+ const reader = stream . getReader ( { mode : "byob" } ) ;
840+ reader . read ( new Uint8Array ( new ArrayBuffer ( 8 ) ) ) . then ( ( { done, value } ) => {
841+ console . log ( done , value ) ;
842+ } ) ;
843+ }
Original file line number Diff line number Diff line change @@ -241,7 +241,7 @@ declare module "stream/web" {
241241 new ( ) : ReadableStreamBYOBRequest ;
242242 } ;
243243 interface ReadableByteStreamController {
244- readonly byobRequest : undefined ;
244+ readonly byobRequest : ReadableStreamBYOBRequest | null ;
245245 readonly desiredSize : number | null ;
246246 close ( ) : void ;
247247 enqueue ( chunk : ArrayBufferView ) : void ;
Original file line number Diff line number Diff line change @@ -828,3 +828,20 @@ async function testTransferringStreamWithPostMessage() {
828828 // $ExpectType void
829829 byobReader . releaseLock ( ) ;
830830}
831+
832+ {
833+ const stream = new ReadableStream ( {
834+ type : "bytes" ,
835+ pull ( controller ) {
836+ const req = controller . byobRequest ;
837+ if ( ! req ?. view ) return ;
838+ ( req . view as Uint8Array ) . set ( [ 42 ] , 0 ) ;
839+ req . respond ( 1 ) ;
840+ controller . close ( ) ;
841+ } ,
842+ } ) ;
843+ const reader = stream . getReader ( { mode : "byob" } ) ;
844+ reader . read ( new Uint8Array ( new ArrayBuffer ( 8 ) ) ) . then ( ( { done, value } ) => {
845+ console . log ( done , value ) ;
846+ } ) ;
847+ }
Original file line number Diff line number Diff line change @@ -237,7 +237,7 @@ declare module "stream/web" {
237237 new ( ) : ReadableStreamBYOBRequest ;
238238 } ;
239239 interface ReadableByteStreamController {
240- readonly byobRequest : undefined ;
240+ readonly byobRequest : ReadableStreamBYOBRequest | null ;
241241 readonly desiredSize : number | null ;
242242 close ( ) : void ;
243243 enqueue ( chunk : ArrayBufferView ) : void ;
Original file line number Diff line number Diff line change @@ -831,3 +831,20 @@ async function testTransferringStreamWithPostMessage() {
831831 // $ExpectType void
832832 byobReader . releaseLock ( ) ;
833833}
834+
835+ {
836+ const stream = new ReadableStream ( {
837+ type : "bytes" ,
838+ pull ( controller ) {
839+ const req = controller . byobRequest ;
840+ if ( ! req ?. view ) return ;
841+ ( req . view as Uint8Array ) . set ( [ 42 ] , 0 ) ;
842+ req . respond ( 1 ) ;
843+ controller . close ( ) ;
844+ } ,
845+ } ) ;
846+ const reader = stream . getReader ( { mode : "byob" } ) ;
847+ reader . read ( new Uint8Array ( new ArrayBuffer ( 8 ) ) ) . then ( ( { done, value } ) => {
848+ console . log ( done , value ) ;
849+ } ) ;
850+ }
You can’t perform that action at this time.
0 commit comments