From 3420691dd9dbc807799d0e44043a45acd583dffb Mon Sep 17 00:00:00 2001 From: Michael Zabka Date: Wed, 12 Nov 2014 21:56:42 +0100 Subject: [PATCH] Added typings for npm module each * git: https://github.com/wdavidw/node-each --- each/each-tests.ts | 41 +++++++++++++++++++++++++++++++++++++++++ each/each.d.ts | 39 +++++++++++++++++++++++++++++++++++++++ 2 files changed, 80 insertions(+) create mode 100644 each/each-tests.ts create mode 100644 each/each.d.ts diff --git a/each/each-tests.ts b/each/each-tests.ts new file mode 100644 index 000000000..370e6ac39 --- /dev/null +++ b/each/each-tests.ts @@ -0,0 +1,41 @@ +/// +/// + +function testEach() { + var EachStaticClass: EachStatic = function (array: any[]) { + return { + paused: true, + readable: false, + started: true, + done: true, + total: true, + on: function (eventName: string, cb: (a: any, b?: () => void) => void) { + return EachStaticClass([]); + }, + parallel: function (mode: any) { + return EachStaticClass([]); + }, + shift: function (items: any[]) {}, + write: function (items: any[]) {}, + unshift: function (items: any[]) {}, + end: function () { + return EachStaticClass([]); + }, + times: function () { + return EachStaticClass([]); + }, + repeat: function () { + return EachStaticClass([]); + }, + sync: function () { + return EachStaticClass([]); + }, + files: function (a: any, glob?: any) {} + }; + }; + + var each: Each = EachStaticClass([1, 2, 3]); + + var EachReq: EachStatic = require("each"); + var each: Each = EachReq([4, 5, 6]); +} diff --git a/each/each.d.ts b/each/each.d.ts new file mode 100644 index 000000000..65d0a3f9d --- /dev/null +++ b/each/each.d.ts @@ -0,0 +1,39 @@ +// Type definitions for NodeEach v0.4.9 +// Project: http://www.adaltas.com/projects/node-each/ +// Definitions by: Michael Zabka +// Definitions: https://github.com/borisyankov/DefinitelyTyped + +interface Each { + paused: boolean; + readable: boolean; + started: boolean; + done: boolean; + total: boolean; + on(eventName: string, onCallback: Function): Each; + on(eventName: "item", onItem: (item: any, next: (error?: Error) => void) => void): Each; + on(eventName: "error", onError: (error: Error[]) => void): Each; + on(eventName: "error", onError: (error: Error) => void): Each; + on(eventName: "both", onBoth: (error?: Error[]) => void): Each; + on(eventName: "end", onEnd: () => void): Each; + parallel(mode: number): Each; + parallel(mode: boolean): Each; + shift(items: any[]): void; + write(items: any[]): void; + unshift(items: any[]): void; + end(): Each; + times(): Each; + repeat(): Each; + sync(): Each; + files(glob: any): void; + files(base: any, glob: any): void; +} + +interface EachStatic { + (array: any[]): Each; +} + +declare var each: EachStatic; + +declare module "each" { + export = each; +} \ No newline at end of file