From 7329ae6688394e18feca20a9afbdc99979475be8 Mon Sep 17 00:00:00 2001 From: Manuel Rueda Date: Sun, 10 Jan 2016 19:43:37 -0300 Subject: [PATCH 1/3] add typing for promise --- promise/promise-test.ts | 21 +++++++++++++++++++++ promise/promise.d.ts | 31 +++++++++++++++++++++++++++++++ 2 files changed, 52 insertions(+) create mode 100644 promise/promise-test.ts create mode 100644 promise/promise.d.ts diff --git a/promise/promise-test.ts b/promise/promise-test.ts new file mode 100644 index 0000000000..140d170b1a --- /dev/null +++ b/promise/promise-test.ts @@ -0,0 +1,21 @@ +/// + +var prom = new Promise((resolve, reject) => { + resolve(true); +}); + +var prom2 = new Promise((resolve, reject) => { + resolve(true); +}); + +prom.then((val) => { + console.log(val); +}).catch(() => { + +}); + +var prom3 = Promise.all([prom, prom2]); + +prom3.then((resolve: Array) => { + +}); diff --git a/promise/promise.d.ts b/promise/promise.d.ts new file mode 100644 index 0000000000..387a013975 --- /dev/null +++ b/promise/promise.d.ts @@ -0,0 +1,31 @@ +// Type definitions for promise v7.1.1 +// Project: https://www.promisejs.org/ +// Definitions by: Manuel Rueda +// Definitions: https://github.com/DefinitelyTyped/DefinitelyTyped + +// Support AMD require +declare module 'promise' { + export = Promise; +} + +declare var Promise: Promise.Ipromise; + +declare module Promise { + + export interface Ipromise { + new (resolver: (resolve: (value: T) => void, reject: (reason: any) => void) => void): IThenable; + + resolve: (value: T) => IThenable; + reject: (value: T) => IThenable; + all: (array: Array>) => IThenable>; + denodeify: (fn: Function) => IThenable; + nodeify: (fn: Function) => Function; + } + + export interface IThenable { + then(onFulfilled?: (value: T) => IThenable|R, onRejected?: (error: any) => IThenable|R): IThenable; + catch(onRejected?: (error: any) => IThenable|R): IThenable; + done(onFulfilled?: (value: T) => IThenable|R, onRejected?: (error: any) => IThenable|R): IThenable; + nodeify(callbacl: Function): IThenable; + } +} From 52b68b9e9c434c51c78ee27066a5c473b112ba3f Mon Sep 17 00:00:00 2001 From: Manuel Rueda Date: Sun, 10 Jan 2016 19:46:46 -0300 Subject: [PATCH 2/3] fix typo --- promise/promise.d.ts | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/promise/promise.d.ts b/promise/promise.d.ts index 387a013975..9237b89088 100644 --- a/promise/promise.d.ts +++ b/promise/promise.d.ts @@ -26,6 +26,6 @@ declare module Promise { then(onFulfilled?: (value: T) => IThenable|R, onRejected?: (error: any) => IThenable|R): IThenable; catch(onRejected?: (error: any) => IThenable|R): IThenable; done(onFulfilled?: (value: T) => IThenable|R, onRejected?: (error: any) => IThenable|R): IThenable; - nodeify(callbacl: Function): IThenable; + nodeify(callback: Function): IThenable; } } From 6c53e8f8572775932e15ccdf4c889f4f79c83dde Mon Sep 17 00:00:00 2001 From: Manuel Rueda Date: Mon, 11 Jan 2016 12:24:32 -0300 Subject: [PATCH 3/3] Fix tests file name --- promise/{promise-test.ts => promise-tests.ts} | 0 1 file changed, 0 insertions(+), 0 deletions(-) rename promise/{promise-test.ts => promise-tests.ts} (100%) diff --git a/promise/promise-test.ts b/promise/promise-tests.ts similarity index 100% rename from promise/promise-test.ts rename to promise/promise-tests.ts