diff --git a/promise/promise-tests.ts b/promise/promise-tests.ts new file mode 100644 index 0000000000..140d170b1a --- /dev/null +++ b/promise/promise-tests.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..9237b89088 --- /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(callback: Function): IThenable; + } +}