From 2ee9431f1ba5bf67546bbf85758a01991c40673f Mon Sep 17 00:00:00 2001 From: Florian Dold Date: Sat, 15 Jun 2019 22:44:54 +0200 Subject: idb wip --- packages/idb-bridge/src/util/openPromise.ts | 22 ++++++++++++++++++++++ 1 file changed, 22 insertions(+) create mode 100644 packages/idb-bridge/src/util/openPromise.ts (limited to 'packages/idb-bridge/src/util/openPromise.ts') diff --git a/packages/idb-bridge/src/util/openPromise.ts b/packages/idb-bridge/src/util/openPromise.ts new file mode 100644 index 000000000..3f6da81bd --- /dev/null +++ b/packages/idb-bridge/src/util/openPromise.ts @@ -0,0 +1,22 @@ +function openPromise(): { + promise: Promise; + resolve: (v?: T | PromiseLike) => void; + reject: (err?: any) => void; +} { + let resolve; + let reject; + const promise = new Promise((resolve2, reject2) => { + resolve = resolve2; + reject = reject2; + }); + if (!resolve) { + throw Error("broken invariant"); + } + if (!reject) { + throw Error("broken invariant"); + } + + return { promise, resolve, reject }; +} + +export default openPromise; -- cgit v1.2.3