UNPKG

typescript-closure-tools

Version:

Command-line tools to convert closure-style JSDoc annotations to typescript, and to convert typescript sources to closure externs files

41 lines (35 loc) 2.02 kB
// Type definitions for tspromise 0.0.4 // Project: https://github.com/soywiz/tspromise // Definitions by: Carlos Ballesteros Velasco <https://github.com/soywiz> // Definitions: https://github.com/borisyankov/DefinitelyTyped /// <reference path="../node/node.d.ts" /> declare class Thenable<T> { then<TR>(onFulfilled: (value: T) => Thenable<TR>, onRejected?: (error: Error) => TR): Thenable<TR>; then<TR>(onFulfilled: (value: T) => Thenable<TR>, onRejected?: (error: Error) => void): Thenable<TR>; then<TR>(onFulfilled: (value: T) => TR, onRejected?: (error: Error) => void): Thenable<TR>; then<TR>(onFulfilled: (value: T) => TR, onRejected?: (error: Error) => TR): Thenable<TR>; catch(onRejected: (error: Error) => T): Thenable<T>; } interface NodeCallback<T> { (err: Error, value: T): void; } declare module "tspromise" { class Promise<T> extends Thenable<T> { constructor(callback: (resolve: (value?: T) => void, reject?: (error: Error) => void) => void); static resolve<T>(value?: T): Thenable<T>; static resolve<T>(promise: Thenable<T>): Thenable<T>; static reject<T>(error: Error): Thenable<T>; static all(promises: Thenable<any>[]): Thenable<any[]>; static async<TR>(callback: () => TR): () => Thenable<TR>; static async<T1, TR>(callback: (p1: T1) => TR): (p1: T1) => Thenable<TR>; static async<T1, T2, TR>(callback: (p1: T1, p2: T2) => TR): (p1: T1, p2: T2) => Thenable<TR>; static async<T1, T2, T3, TR>(callback: (p1: T1, p2: T2, p3: T3) => TR): (p1: T1, p2: T2, p3: T3) => Thenable<TR>; static async<T1, T2, T3, T4, TR>(callback: (p1: T1, p2: T2, p3: T3, p4: T4) => TR): (p1: T1, p2: T2, p3: T3, p4: T4) => Thenable<TR>; static spawn<TR>(generatorFunction: () => TR): Thenable<TR>; static rewriteFolderSync(path: string): void; static waitAsync(time: number): Thenable<{}>; static nfcall<T>(obj: any, methodName: String, ...args: any[]): Thenable<T>; } export = Promise; } declare function yield<T>(promise: Thenable<T>): T;