aboutsummaryrefslogtreecommitdiff
path: root/node_modules/@kwsites/promise-deferred/dist/index.d.ts
diff options
context:
space:
mode:
authorMinteck <contact@minteck.org>2022-02-12 10:33:06 +0100
committerMinteck <contact@minteck.org>2022-02-12 10:33:06 +0100
commit01160246e4a0c0052181c72a53737e356ea7d02d (patch)
treec6f8ea675f9147d4c06ef503697fb35d58493991 /node_modules/@kwsites/promise-deferred/dist/index.d.ts
parentaf898a152a14e31bdbcbbedb952ad333697553ef (diff)
downloadtwilight-01160246e4a0c0052181c72a53737e356ea7d02d.tar.gz
twilight-01160246e4a0c0052181c72a53737e356ea7d02d.tar.bz2
twilight-01160246e4a0c0052181c72a53737e356ea7d02d.zip
First commit
Diffstat (limited to 'node_modules/@kwsites/promise-deferred/dist/index.d.ts')
-rw-r--r--node_modules/@kwsites/promise-deferred/dist/index.d.ts49
1 files changed, 49 insertions, 0 deletions
diff --git a/node_modules/@kwsites/promise-deferred/dist/index.d.ts b/node_modules/@kwsites/promise-deferred/dist/index.d.ts
new file mode 100644
index 0000000..68fb38a
--- /dev/null
+++ b/node_modules/@kwsites/promise-deferred/dist/index.d.ts
@@ -0,0 +1,49 @@
+/**
+ * The `DeferredPromise` has a `promise` property in an initially pending state,
+ * that will be resolved when the `done` method is called or rejected when the
+ * `fail` method is called.
+ */
+export interface DeferredPromise<RESOLVES, REJECTS extends Error = Error> {
+ done(result: RESOLVES): void;
+ fail(error: REJECTS): void;
+ readonly status: DeferredPromiseStatus;
+ readonly fulfilled: boolean;
+ promise: Promise<RESOLVES>;
+}
+/**
+ * The three states the DeferredPromise can be in - initially pending then either
+ * resolved or rejected when it is fulfilled.
+ *
+ * ```typescript
+ import {createDeferred, DeferredPromiseStatus} from '@kwsites/promise-deferred`;
+
+ const pending: DeferredPromiseStatus = 'pending';
+ expect(createDeferred()).toHaveProperty('status', pending);
+ ```
+ */
+export declare type DeferredPromiseStatus = 'pending' | 'resolved' | 'rejected';
+/**
+ * Creates a new `DeferredPromise`
+ *
+ * ```typescript
+ import {deferred} from '@kwsites/promise-deferred`;
+ ```
+ */
+export declare function deferred<T extends any = void, E extends Error = Error>(): DeferredPromise<T, E>;
+/**
+ * Alias of the exported `deferred` function, to help consumers wanting to use `deferred` as the
+ * local variable name rather than the factory import name, without needing to rename on import.
+ *
+ * ```typescript
+ import {createDeferred} from '@kwsites/promise-deferred`;
+ ```
+ */
+export declare const createDeferred: typeof deferred;
+/**
+ * Default export allows use as:
+ *
+ * ```typescript
+ import deferred from '@kwsites/promise-deferred`;
+ ```
+ */
+export default deferred;