@idxdb/promised
Version:
@idxdb/promised wraps the IndexedDB API. It allows you to easily store and retrieve data in an indexed db database using async/await syntax, making it easier to integrate with your existing codebase.
18 lines (17 loc) • 660 B
JavaScript
export const requestResolver = (request) => new Promise((resolve, reject) => {
const onsuccess = (event) => {
request.removeEventListener('success', onsuccess);
request.removeEventListener('error', onerror);
const target = event.target;
resolve(target.result);
};
/* istanbul ignore next */
const onerror = (event) => {
request.removeEventListener('success', onsuccess);
request.removeEventListener('error', onerror);
const target = event.target;
reject(target.error);
};
request.addEventListener('success', onsuccess);
request.addEventListener('error', onerror);
});