diff --git a/through2/through2-tests.ts b/through2/through2-tests.ts index 6ea9a52d5f..e6f97fb712 100644 --- a/through2/through2-tests.ts +++ b/through2/through2-tests.ts @@ -22,6 +22,12 @@ rws = through2(function (entry: any, enc: string, callback: () => void) { }); +rws = through2(function (entry: any, enc: string, callback: (error: any, data?: any) => void) { + callback(null, 'foo'); +}, (flushCallback: () => void) => { + flushCallback(); +}); + rws = through2(function (entry: any, enc: string, callback: () => void) { this.push('foo'); callback(); @@ -42,3 +48,8 @@ rws = through2.obj(function (entry: any, enc: string, callback: () => void) { callback(); }); +rws = through2.obj(function (entry: any, enc: string, callback: (err: any) => void) { + callback('Oups!'); +}, (flashCallback) => { + flashCallback(); +}); diff --git a/through2/through2.d.ts b/through2/through2.d.ts index 7481fa910f..32e566e72e 100644 --- a/through2/through2.d.ts +++ b/through2/through2.d.ts @@ -1,6 +1,6 @@ -// Type definitions for through2 v 0.4.2 +// Type definitions for through2 v 2.0.0 // Project: https://github.com/rvagg/through2 -// Definitions by: Bart van der Schoor , jedmao +// Definitions by: Bart van der Schoor , jedmao , Georgios Valotasios // Definitions: https://github.com/borisyankov/DefinitelyTyped /// @@ -8,14 +8,18 @@ declare module 'through2' { import stream = require('stream'); + + type TransfofmCallback = (err?: any, data?: any) => void; + type TransformFunction = (chunk: any, enc: string, callback: TransfofmCallback) => void; + type FlashCallback = (flushCallback: () => void) => void; - function through2(transform?: (chunk: any, enc: string, callback: () => void) => void, flush?: () => void): NodeJS.ReadWriteStream; + function through2(transform?: TransformFunction, flush?: FlashCallback): NodeJS.ReadWriteStream; - function through2(opts?: stream.DuplexOptions, transform?: (chunk: any, enc: string, callback: () => void) => void, flush?: () => void): NodeJS.ReadWriteStream; + function through2(opts?: stream.DuplexOptions, transform?: TransformFunction, flush?: FlashCallback): NodeJS.ReadWriteStream; module through2 { - export function obj(transform?: (chunk: any, enc: string, callback: () => void) => void, flush?: () => void): NodeJS.ReadWriteStream; + export function obj(transform?: TransformFunction, flush?: FlashCallback): NodeJS.ReadWriteStream; export function push(data: any): void;