UNPKG

@atproto/oauth-client-browser

Version:

ATPROTO OAuth client for the browser (relies on WebCrypto & Indexed DB)

40 lines 1.21 kB
import { promisify } from './util.js'; export class DBIndex { constructor(idbIndex) { this.idbIndex = idbIndex; } count(query) { return promisify(this.idbIndex.count(query)); } get(query) { return promisify(this.idbIndex.get(query)); } getKey(query) { return promisify(this.idbIndex.getKey(query)); } getAll(query, count) { return promisify(this.idbIndex.getAll(query, count)); } getAllKeys(query, count) { return promisify(this.idbIndex.getAllKeys(query, count)); } deleteAll(query) { return new Promise((resolve, reject) => { const result = this.idbIndex.openCursor(query); result.onsuccess = function (event) { const cursor = event.target.result; if (cursor) { cursor.delete(); cursor.continue(); } else { resolve(); } }; result.onerror = function (event) { reject(event.target?.error || new Error('Unexpected error')); }; }); } } //# sourceMappingURL=db-index.js.map