aboutsummaryrefslogtreecommitdiff
path: root/node_modules/@kwsites/promise-deferred/dist/index.js
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.js
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.js')
-rw-r--r--node_modules/@kwsites/promise-deferred/dist/index.js59
1 files changed, 59 insertions, 0 deletions
diff --git a/node_modules/@kwsites/promise-deferred/dist/index.js b/node_modules/@kwsites/promise-deferred/dist/index.js
new file mode 100644
index 0000000..1ffefe6
--- /dev/null
+++ b/node_modules/@kwsites/promise-deferred/dist/index.js
@@ -0,0 +1,59 @@
+"use strict";
+Object.defineProperty(exports, "__esModule", { value: true });
+exports.createDeferred = exports.deferred = void 0;
+/**
+ * Creates a new `DeferredPromise`
+ *
+ * ```typescript
+ import {deferred} from '@kwsites/promise-deferred`;
+ ```
+ */
+function deferred() {
+ let done;
+ let fail;
+ let status = 'pending';
+ const promise = new Promise((_done, _fail) => {
+ done = _done;
+ fail = _fail;
+ });
+ return {
+ promise,
+ done(result) {
+ if (status === 'pending') {
+ status = 'resolved';
+ done(result);
+ }
+ },
+ fail(error) {
+ if (status === 'pending') {
+ status = 'rejected';
+ fail(error);
+ }
+ },
+ get fulfilled() {
+ return status !== 'pending';
+ },
+ get status() {
+ return status;
+ },
+ };
+}
+exports.deferred = deferred;
+/**
+ * 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`;
+ ```
+ */
+exports.createDeferred = deferred;
+/**
+ * Default export allows use as:
+ *
+ * ```typescript
+ import deferred from '@kwsites/promise-deferred`;
+ ```
+ */
+exports.default = deferred;
+//# sourceMappingURL=index.js.map \ No newline at end of file