github.com/jfrog/frogbot@v1.1.1-0.20231221090046-821a26f50338/action/node_modules/@kwsites/promise-deferred/dist/index.d.ts (about) 1 /** 2 * The `DeferredPromise` has a `promise` property in an initially pending state, 3 * that will be resolved when the `done` method is called or rejected when the 4 * `fail` method is called. 5 */ 6 export interface DeferredPromise<RESOLVES, REJECTS extends Error = Error> { 7 done(result: RESOLVES): void; 8 fail(error: REJECTS): void; 9 readonly status: DeferredPromiseStatus; 10 readonly fulfilled: boolean; 11 promise: Promise<RESOLVES>; 12 } 13 /** 14 * The three states the DeferredPromise can be in - initially pending then either 15 * resolved or rejected when it is fulfilled. 16 * 17 * ```typescript 18 import {createDeferred, DeferredPromiseStatus} from '@kwsites/promise-deferred`; 19 20 const pending: DeferredPromiseStatus = 'pending'; 21 expect(createDeferred()).toHaveProperty('status', pending); 22 ``` 23 */ 24 export declare type DeferredPromiseStatus = 'pending' | 'resolved' | 'rejected'; 25 /** 26 * Creates a new `DeferredPromise` 27 * 28 * ```typescript 29 import {deferred} from '@kwsites/promise-deferred`; 30 ``` 31 */ 32 export declare function deferred<T extends any = void, E extends Error = Error>(): DeferredPromise<T, E>; 33 /** 34 * Alias of the exported `deferred` function, to help consumers wanting to use `deferred` as the 35 * local variable name rather than the factory import name, without needing to rename on import. 36 * 37 * ```typescript 38 import {createDeferred} from '@kwsites/promise-deferred`; 39 ``` 40 */ 41 export declare const createDeferred: typeof deferred; 42 /** 43 * Default export allows use as: 44 * 45 * ```typescript 46 import deferred from '@kwsites/promise-deferred`; 47 ``` 48 */ 49 export default deferred;