Skip to content

Commit 66d4b7d

Browse files
authored
🤖 Merge PR DefinitelyTyped#74422 [node/stream/web] Fix type of byobRequest by @ikeyan
1 parent 8b5952e commit 66d4b7d

File tree

7 files changed

+71
-3
lines changed

7 files changed

+71
-3
lines changed

types/node/node-tests/stream.ts

Lines changed: 17 additions & 0 deletions
Original file line numberDiff line numberDiff 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+
819836
async function testStreamComposeExample1() {
820837
const removeSpaces = new Transform({
821838
transform(chunk, encoding, callback) {

types/node/v20/stream/web.d.ts

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff 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;

types/node/v20/test/stream.ts

Lines changed: 17 additions & 0 deletions
Original file line numberDiff line numberDiff 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+
}

types/node/v22/stream/web.d.ts

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff 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;

types/node/v22/test/stream.ts

Lines changed: 17 additions & 0 deletions
Original file line numberDiff line numberDiff 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+
}

types/node/v24/stream/web.d.ts

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff 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;

types/node/v24/test/stream.ts

Lines changed: 17 additions & 0 deletions
Original file line numberDiff line numberDiff 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+
}

0 commit comments

Comments
 (0)