es-promise-ext
Version:
Native promise extensions for javascript and typescript.
54 lines (53 loc) • 1.58 kB
TypeScript
import { Logger } from './log';
declare global {
interface Promise<T> {
/**
* Logging the value between the promise chain.
*
* @return {Promise<T>}
* A value which pass through within a promise
*
* @example
* Promise.resolve(3)
* .log()
* .then(doSomething)
* // return 3 in a promise, after logging
*/
log(): Promise<T>;
/**
* Logging the value between the promise chain.
*
* @param {Function} [logger=console.log]
* - a logger; default would be console.log
*
* @return {Promise<T>}
* A value which pass through within a promise
*
* @example
* Promise.resolve(true)
* .log(console.warn)
* .then(doSomething)
* // return true in a promise, after logging
*/
log(logger?: Logger): Promise<T>;
/**
* Logging the value between the promise chain.
*
* @param {Function} [logger=console.log]
* - a logger; default would be console.log
*
* @param {...any[]} args[]
* - additional arguments for logger
*
* @return {Promise<T>}
* A value which pass through within a promise
*
* @example
* Promise.resolve('a')
* .log(console.log, "my value:")
* .then(doSomething)
* // return 'a' in a promise, after logging
*/
log(logger?: Logger, ...args: any[]): Promise<T>;
}
}