fix(ext/node): export promises from stream (#30427)
Some checks are pending
ci / test release windows-x86_64 (push) Blocked by required conditions
ci / build libs (push) Blocked by required conditions
ci / test release macos-x86_64 (push) Blocked by required conditions
ci / test debug windows-x86_64 (push) Blocked by required conditions
ci / pre-build (push) Waiting to run
ci / test debug linux-aarch64 (push) Blocked by required conditions
ci / test release linux-aarch64 (push) Blocked by required conditions
ci / test debug macos-aarch64 (push) Blocked by required conditions
ci / test release macos-aarch64 (push) Blocked by required conditions
ci / bench release linux-x86_64 (push) Blocked by required conditions
ci / lint debug linux-x86_64 (push) Blocked by required conditions
ci / lint debug macos-x86_64 (push) Blocked by required conditions
ci / lint debug windows-x86_64 (push) Blocked by required conditions
ci / test debug linux-x86_64 (push) Blocked by required conditions
ci / test release linux-x86_64 (push) Blocked by required conditions
ci / test debug macos-x86_64 (push) Blocked by required conditions
ci / publish canary (push) Blocked by required conditions

Closes #30423
This commit is contained in:
Daniel Osvaldo R 2025-08-17 20:26:29 +07:00 committed by GitHub
parent 5c79bc7300
commit a694cae55d
No known key found for this signature in database
GPG key ID: B5690EEEBB952194
3 changed files with 23 additions and 2 deletions

View file

@ -3,7 +3,12 @@
import { assert, assertEquals } from "@std/assert";
import { fromFileUrl, relative } from "@std/path";
import { finished, pipeline } from "node:stream/promises";
import { getDefaultHighWaterMark, Stream, Writable } from "node:stream";
import {
getDefaultHighWaterMark,
promises,
Stream,
Writable,
} from "node:stream";
import { TextEncoderStream } from "node:stream/web";
import { createReadStream, createWriteStream } from "node:fs";
import { EventEmitter } from "node:events";
@ -78,3 +83,18 @@ Deno.test("Writable toWeb", async () => {
await finished(nodeWritable);
});
// https://github.com/denoland/deno/issues/30423
Deno.test("exported `promises` from node:stream works", async () => {
const stream = new ReadableStream({
start(controller) {
controller.enqueue("asd");
controller.close();
},
});
const promise = promises.finished(stream as unknown as NodeJS.ReadableStream);
for await (const chunk of stream) {
assertEquals(chunk, "asd");
}
await promise;
});