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;