diff --git a/Q/Q.d.ts b/Q/Q.d.ts new file mode 100644 index 000000000..f7a871ea4 --- /dev/null +++ b/Q/Q.d.ts @@ -0,0 +1,61 @@ +// Type definitions for Q +// Project: https://github.com/kriskowal/q +// Definitions by: Barrie Nemetchek +// Definitions: https://github.com/borisyankov/DefinitelyTyped + +interface Qdeferred { + promise: Qpromise; + resolve(value: any): any; + reject(reason: any); + notify(value: any); + makeNodeResolver(); +} + +interface Qpromise { + fail(errorCallback: Function): Qpromise; + fin(finallyCallback: Function): Qpromise; + then(onFulfilled: Function, onRejected?: Function, onProgress?: Function): Qpromise; + catch(onRejected: Function): Qpromise; + progress(onProgress: Function): Qpromise; + done(onFulfilled: Function, onRejected?: Function, onProgress?: Function): Qpromise; + get (propertyName: String): Qpromise; + set (propertyName: String, value: any): Qpromise; + delete (propertyName: String): Qpromise; + post(methodName: String, args: any[]): Qpromise; + invoke(methodName: String, ...args: any[]): Qpromise; + keys(): Qpromise; + fapply(args: any[]): Qpromise; + fcall(method: Function, ...args: any[]): Qpromise; + timeout(ms: number): Qpromise; + delay(ms: number): Qpromise; + isFulfilled(): bool; + isRejected(): bool; + isPending(): bool; + valueOf(): any; +} + +interface QStatic { + try(method: Function, ...args: any[]): Qpromise; + fbind(method: Function, ...args: any[]): Qpromise; + fcall(method: Function, ...args: any[]): Qpromise; + all(promises: Qpromise[]): Qpromise; + allResolved(promises: Qpromise[]): Qpromise; + spread(onFulfilled: Function, onRejected: Function): Qpromise; + timeout(ms: number): Qpromise; + delay(ms: number): Qpromise; + delay(value: any, ms: number): Qpromise; + isFulfilled(): bool; + isRejected(): bool; + isPending(): bool; + valueOf(): any; + defer(): Qdeferred; + (value: any): Qpromise; + reject(): Qpromise; + promise(factory: { resolve: Function; reject: Function; notify: Function; }): Qpromise; + isPromise(value: any): bool; + async(generatorFunction: any): Qdeferred; + nextTick(callback: Function); + oneerror: any; + longStackJumpLimit: number; +} +declare var Q: QStatic; \ No newline at end of file