p-defer/index.d.ts

55 lines
1.1 KiB
TypeScript
Raw Normal View History

declare namespace pDefer {
interface DeferredPromise<ValueType> {
/**
Resolves the promise with a value or the result of another promise.
@param value - The value to resolve the promise with.
*/
resolve(value?: ValueType | PromiseLike<ValueType>): void;
/**
Reject the promise with a provided reason or error.
@param reason - The reason or error to reject the promise with.
*/
reject(reason?: unknown): void;
/**
The deferred promise.
*/
promise: Promise<ValueType>;
}
}
declare const pDefer: {
/**
Create a deferred promise.
@example
```
import pDefer = require('p-defer');
function delay(ms) {
const deferred = pDefer();
setTimeout(deferred.resolve, ms, '🦄');
return deferred.promise;
}
(async () => {
console.log(await delay(100));
//=> '🦄'
})();
```
*/
2019-06-07 07:44:51 +00:00
<ValueType>(): pDefer.DeferredPromise<ValueType>;
// TODO: Remove this for the next major release, refactor the whole definition to:
2019-06-07 07:44:51 +00:00
// declare function pDefer<ValueType>(): pDefer.DeferredPromise<
// ValueType
// >;
// export = pDefer;
default: typeof pDefer;
};
export = pDefer;