Merge pull request #7277 from valotas/through2

Added callback definitions to throught2
This commit is contained in:
Masahiro Wakame
2015-12-23 18:08:09 +09:00
4 changed files with 90 additions and 5 deletions

View File

@@ -0,0 +1,44 @@
/// <reference path="./through2-0.4.2.d.ts" />
/// <reference path="../node/node.d.ts" />
import through2 = require('through2');
var rws: NodeJS.ReadWriteStream;
rws = through2({
objectMode: true,
allowHalfOpen: true
}, function (entry: any, enc: string, callback: () => void) {
this.push('foo');
callback();
}, () => {
});
rws = through2(function (entry: any, enc: string, callback: () => void) {
this.push('foo');
callback();
}, () => {
});
rws = through2(function (entry: any, enc: string, callback: () => void) {
this.push('foo');
callback();
});
rws = through2();
// obj
rws = through2.obj(function (entry: any, enc: string, callback: () => void) {
this.push('foo');
callback();
}, () => {
});
rws = through2.obj(function (entry: any, enc: string, callback: () => void) {
this.push('foo');
callback();
});

26
through2/through2-0.4.2.d.ts vendored Normal file
View File

@@ -0,0 +1,26 @@
// Type definitions for through2 v 0.4.2
// Project: https://github.com/rvagg/through2
// Definitions by: Bart van der Schoor <https://github.com/Bartvds>, jedmao <https://github.com/jedmao>
// Definitions: https://github.com/borisyankov/DefinitelyTyped
/// <reference path="../node/node.d.ts" />
declare module 'through2' {
import stream = require('stream');
function through2(transform?: (chunk: any, enc: string, callback: () => void) => void, flush?: () => void): NodeJS.ReadWriteStream;
function through2(opts?: stream.DuplexOptions, transform?: (chunk: any, enc: string, callback: () => void) => void, flush?: () => void): NodeJS.ReadWriteStream;
module through2 {
export function obj(transform?: (chunk: any, enc: string, callback: () => void) => void, flush?: () => void): NodeJS.ReadWriteStream;
export function push(data: any): void;
}
export = through2;
}

View File

@@ -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();
});

View File

@@ -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 <https://github.com/Bartvds>, jedmao <https://github.com/jedmao>
// Definitions by: Bart van der Schoor <https://github.com/Bartvds>, jedmao <https://github.com/jedmao>, Georgios Valotasios <https://github.com/valotas>
// Definitions: https://github.com/borisyankov/DefinitelyTyped
/// <reference path="../node/node.d.ts" />
@@ -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;