tinycoll
Version:
A minimal reactive document store with Mongo-like querying, reactivity, TTL support, and optional persistence.
24 lines (23 loc) • 724 B
JavaScript
;
Object.defineProperty(exports, "__esModule", { value: true });
exports.IndexedDbStorage = void 0;
const idb_keyval_1 = require("idb-keyval");
class IndexedDbStorage {
#store;
constructor() {
this.#store = (0, idb_keyval_1.createStore)('tinycoll', 'tinycoll');
}
async get(key) {
return (0, idb_keyval_1.get)(key, this.#store);
}
async set(key, val) {
return (0, idb_keyval_1.set)(key, val, this.#store);
}
static async clear() {
return (0, idb_keyval_1.clear)((0, idb_keyval_1.createStore)('tinycoll', 'tinycoll'));
}
}
exports.IndexedDbStorage = IndexedDbStorage;
if (typeof window !== 'undefined') {
window['idb'] = IndexedDbStorage;
}