// Type definitions for PinkySwear v2.2.2 // Project: https://github.com/timjansen/PinkySwear.js // Definitions by: Chance Snow // Definitions: https://github.com/borisyankov/DefinitelyTyped /* * PinkySwear.js 2.2.2 - Minimalistic implementation of the Promises/A+ spec * * Public Domain. Use, modify and distribute it any way you like. No attribution required. * * NO WARRANTY EXPRESSED OR IMPLIED. USE AT YOUR OWN RISK. */ declare module PinkySwear { interface Promise { /** * Get the promise's current state; true if fulfilled, false if rejected, and undefined, otherwise. */ (): boolean; /** * Fulfill or reject the promise. * * @param fulfilled true to fulfill promise, false to reject * @param values Value(s) with which to fulfill or reject the promise * @returns PinkySwear.Promise */ (fulfilled: boolean, ...values: any[]): Promise; /** * Called when or if the promise is either resolved or rejected. * * @returns PinkySwear.Promise */ then(): Promise; /** * Called when or if the promise is either resolved or rejected. * * @param onFulfilled Called when or if the promise is resolved. * @param onRejected Called when or if the promise is rejected. * @returns PinkySwear.Promise */ then(onFulfilled?: () => Promise, onRejected?: () => void): Promise; /** * Called when or if the promise is either resolved or rejected. * * @param onFulfilled Called when or if the promise is resolved. * @param onRejected Called when or if the promise is rejected. * @returns PinkySwear.Promise */ then(onFulfilled?: () => void, onRejected?: () => void): Promise; /** * Called when or if the promise is either resolved or rejected. * * @param onFulfilled Called when or if the promise is resolved. * @param onRejected Called when or if the promise is rejected. * @returns PinkySwear.Promise */ then(onFulfilled?: () => any, onRejected?: () => void): Promise; /** * onFulfilled is called when or if the promise is resolved. * onRejected is called when or if the promise is rejected. * * @param onFulfilled Called when or if the promise is resolved. * @param onRejected Called when or if the promise is rejected. * @returns PinkySwear.Promise */ then(onFulfilled?: (...values: any[]) => Promise, onRejected?: (...values: any[]) => void): Promise; /** * onFulfilled is called when or if the promise is resolved. * onRejected is called when or if the promise is rejected. * * @param onFulfilled Called when or if the promise is resolved. * @param onRejected Called when or if the promise is rejected. * @returns PinkySwear.Promise */ then(onFulfilled?: (...values: any[]) => void, onRejected?: (...values: any[]) => void): Promise; /** * onFulfilled is called when or if the promise is resolved. * onRejected is called when or if the promise is rejected. * * @param onFulfilled Called when or if the promise is resolved. * @param onRejected Called when or if the promise is rejected. * @returns PinkySwear.Promise */ then(onFulfilled?: (...values: any[]) => any, onRejected?: (...values: any[]) => void): Promise; /** * onFulfilled is called when or if the promise is resolved. * onRejected is called when or if the promise is rejected. * * @param onFulfilled Called when or if the promise is resolved. * @param onRejected Called when or if the promise is rejected. * @returns PinkySwear.Promise */ then(onFulfilled?: (...values: any[]) => Promise, onRejected?: (error?: TypeError) => void): Promise; /** * onFulfilled is called when or if the promise is resolved. * onRejected is called when or if the promise is rejected. * * @param onFulfilled Called when or if the promise is resolved. * @param onRejected Called when or if the promise is rejected. * @returns PinkySwear.Promise */ then(onFulfilled?: (...values: any[]) => void, onRejected?: (error: TypeError) => void): Promise; /** * onFulfilled is called when or if the promise is resolved. * onRejected is called when or if the promise is rejected. * * @param onFulfilled Called when or if the promise is resolved. * @param onRejected Called when or if the promise is rejected. * @returns PinkySwear.Promise */ then(onFulfilled?: (...values: any[]) => any, onRejected?: (error: TypeError) => void): Promise; } interface GenericPromise extends Promise { /** * Fulfill or reject the promise. * * @param fulfilled true to fulfill promise, false to reject * @param value Value with which to fulfill or reject the promise */ (fulfilled: boolean, value: T): boolean; /** * onFulfilled is called when or if the promise is resolved. * onRejected is called when or if the promise is rejected. * * @param onFulfilled Called when or if the promise is resolved. * @param onRejected Called when or if the promise is rejected. * @returns PinkySwear.GenericPromise */ then(onFulfilled?: (value: T) => G, onRejected?: (value: T) => void): GenericPromise; /** * onFulfilled is called when or if the promise is resolved. * onRejected is called when or if the promise is rejected. * * @param onFulfilled Called when or if the promise is resolved. * @param onRejected Called when or if the promise is rejected. * @returns PinkySwear.GenericPromise */ then(onFulfilled?: (value: T) => GenericPromise, onRejected?: (value: T) => void): GenericPromise; /** * onFulfilled is called when or if the promise is resolved. * onRejected is called when or if the promise is rejected. * * @param onFulfilled Called when or if the promise is resolved. * @param onRejected Called when or if the promise is rejected. * @returns PinkySwear.Promise */ then(onFulfilled?: (value: T) => void, onRejected?: (value: T) => void): Promise; /** * onFulfilled is called when or if the promise is resolved. * onRejected is called when or if the promise is rejected. * * @param onFulfilled Called when or if the promise is resolved. * @param onRejected Called when or if the promise is rejected. * @returns PinkySwear.GenericPromise */ then(onFulfilled?: (value: T) => G, onRejected?: (error: TypeError) => void): GenericPromise; /** * onFulfilled is called when or if the promise is resolved. * onRejected is called when or if the promise is rejected. * * @param onFulfilled Called when or if the promise is resolved. * @param onRejected Called when or if the promise is rejected. * @returns PinkySwear.GenericPromise */ then(onFulfilled?: (value: T) => GenericPromise, onRejected?: (error: TypeError) => void): GenericPromise; /** * onFulfilled is called when or if the promise is resolved. * onRejected is called when or if the promise is rejected. * * @param onFulfilled Called when or if the promise is resolved. * @param onRejected Called when or if the promise is rejected. * @returns PinkySwear.Promise */ then(onFulfilled?: (value: T) => void, onRejected?: (error: TypeError) => void): Promise; } } interface PinkySwearStatic { /** * Create a new generic promise in pending state that promises a value of a specific type and that also extends * the returned generic promise object as specified in an extend function. * * @param extend Called when the promise is created and is ready to be extended. * @returns PinkySwear.GenericPromise */ (extend: (promise: PinkySwear.GenericPromise) => PinkySwear.GenericPromise): PinkySwear.GenericPromise; /** * Create a new generic promise in pending state that promises a value of a specific type. * * @see PinkySwear.GenericPromise * @returns PinkySwear.GenericPromise */ (): PinkySwear.GenericPromise; /** * Create a new promise in pending state that promises a value of a specific type and that also extends the * returned promise object as specified in an extend function. * * @param extend Called when the promise is created and is ready to be extended. * @returns PinkySwear.Promise */ (extend: (promise: PinkySwear.Promise) => PinkySwear.Promise): PinkySwear.Promise; /** * Create a new promise in pending state that promises a value or set of values. * * @see PinkySwear.Promise * @returns PinkySwear.Promise */ (): PinkySwear.Promise; } declare var pinkySwear: PinkySwearStatic;