From e245e116c7fb3fe8a96908fa26bc90e6482b547e Mon Sep 17 00:00:00 2001 From: Tomasz Pluskiewicz Date: Mon, 20 Nov 2023 23:01:26 +0100 Subject: [PATCH] =?UTF-8?q?=F0=9F=A4=96=20Merge=20PR=20#67108=20fix:=20mis?= =?UTF-8?q?sing=20exports=20finished=20and=20pipeline=20by=20@tpluscode?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit * fix: missing exports * test finished/pipeline * style: fixed formatting --- types/readable-stream/index.d.ts | 4 +++ .../readable-stream/readable-stream-tests.ts | 27 +++++++++++++++++++ 2 files changed, 31 insertions(+) diff --git a/types/readable-stream/index.d.ts b/types/readable-stream/index.d.ts index 1accef7597e674..f741dbcf3fa39e 100644 --- a/types/readable-stream/index.d.ts +++ b/types/readable-stream/index.d.ts @@ -1,6 +1,7 @@ /// import * as SafeBuffer from "safe-buffer"; +import type * as NodeStream from "stream"; declare class StringDecoder { constructor(encoding?: BufferEncoding | string); @@ -658,6 +659,9 @@ declare namespace _Readable { options?: { signal: AbortSignal }, ): T; } + + const finished: typeof NodeStream.finished; + const pipeline: typeof NodeStream.pipeline; } export = _Readable; diff --git a/types/readable-stream/readable-stream-tests.ts b/types/readable-stream/readable-stream-tests.ts index 91c8e059e00873..ead3779ee8a4c1 100644 --- a/types/readable-stream/readable-stream-tests.ts +++ b/types/readable-stream/readable-stream-tests.ts @@ -1,6 +1,7 @@ import stream = require("stream"); import RStream = require("readable-stream"); import { dot, spec, tap } from "node:test/reporters"; +import ErrnoException = NodeJS.ErrnoException; function testTypes() { const ANY: any = undefined; @@ -149,6 +150,32 @@ function test() { }; } +function callback(err: ErrnoException | undefined | null) { +} + +function testFinished() { + const _readable: stream.Readable = {}; + RStream.finished(_readable, callback); + + const _writable: stream.Writable = {}; + RStream.finished(_writable, callback); + + const _transform: stream.Transform = {}; + RStream.finished(_transform, callback); + + const _duplex: stream.Duplex = {}; + RStream.finished(_duplex, callback); +} + +function testPipeline() { + const _readable: stream.Readable = {}; + const _transform: stream.Transform = {}; + const _writable: stream.Writable = {}; + + RStream.pipeline([_readable], callback); + RStream.pipeline([_readable], _transform, _writable, callback); +} + function assertType(value: T, msg?: string): T { if (!(typeof value)) throw new Error(msg); return value;