aboutsummaryrefslogtreecommitdiffstats
path: root/vanilla/node_modules/undici/lib/util/promise.js
diff options
context:
space:
mode:
Diffstat (limited to 'vanilla/node_modules/undici/lib/util/promise.js')
-rw-r--r--vanilla/node_modules/undici/lib/util/promise.js28
1 files changed, 28 insertions, 0 deletions
diff --git a/vanilla/node_modules/undici/lib/util/promise.js b/vanilla/node_modules/undici/lib/util/promise.js
new file mode 100644
index 0000000..048f86e
--- /dev/null
+++ b/vanilla/node_modules/undici/lib/util/promise.js
@@ -0,0 +1,28 @@
+'use strict'
+
+/**
+ * @template {*} T
+ * @typedef {Object} DeferredPromise
+ * @property {Promise<T>} promise
+ * @property {(value?: T) => void} resolve
+ * @property {(reason?: any) => void} reject
+ */
+
+/**
+ * @template {*} T
+ * @returns {DeferredPromise<T>} An object containing a promise and its resolve/reject methods.
+ */
+function createDeferredPromise () {
+ let res
+ let rej
+ const promise = new Promise((resolve, reject) => {
+ res = resolve
+ rej = reject
+ })
+
+ return { promise, resolve: res, reject: rej }
+}
+
+module.exports = {
+ createDeferredPromise
+}