diff options
Diffstat (limited to 'packages/idb-bridge/src/idbpromutil.ts')
-rw-r--r-- | packages/idb-bridge/src/idbpromutil.ts | 26 |
1 files changed, 26 insertions, 0 deletions
diff --git a/packages/idb-bridge/src/idbpromutil.ts b/packages/idb-bridge/src/idbpromutil.ts new file mode 100644 index 000000000..e711db027 --- /dev/null +++ b/packages/idb-bridge/src/idbpromutil.ts @@ -0,0 +1,26 @@ +import { BridgeIDBTransaction } from "./bridge-idb.js"; +import { IDBRequest } from "./idbtypes.js"; + +export function promiseFromRequest(request: IDBRequest): Promise<any> { + return new Promise((resolve, reject) => { + request.onsuccess = () => { + resolve(request.result); + }; + request.onerror = () => { + reject(request.error); + }; + }); +} + +export function promiseFromTransaction( + transaction: BridgeIDBTransaction, +): Promise<void> { + return new Promise<void>((resolve, reject) => { + transaction.oncomplete = () => { + resolve(); + }; + transaction.onerror = () => { + reject(); + }; + }); +}
\ No newline at end of file |