UNPKG

@wora/cache-persist

Version:
35 lines 1.69 kB
"use strict"; Object.defineProperty(exports, "__esModule", { value: true }); var idb_1 = require("idb"); function createIdbStorage(dbPromise, storeName) { var db = null; return { getAllKeys: function () { return dbPromise.then(function (database) { db = database; return db.getAllKeys(storeName); }); }, setItem: function (key, value) { return db.put(storeName, value, key); }, removeItem: function (key) { return db.delete(storeName, key); }, getItem: function (key) { return db.get(storeName, key); }, }; } exports.createIdbStorage = createIdbStorage; var IDBStorage = (function () { function IDBStorage() { } IDBStorage.create = function (options) { var _a = options.name, name = _a === void 0 ? 'cache' : _a, _b = options.storeNames, storeNames = _b === void 0 ? ['persist'] : _b, _c = options.version, version = _c === void 0 ? 1 : _c, _d = options.onUpgrade, onUpgrade = _d === void 0 ? function (_db, _oV, _nV, _t) { return undefined; } : _d; var dbPromise = idb_1.openDB(name, version, { upgrade: function (database, oldVersion, newVersion, transaction) { if (newVersion === 1) { storeNames.forEach(function (storeName) { return database.createObjectStore(storeName); }); } onUpgrade(database, oldVersion, newVersion, transaction); }, }); return storeNames.map(function (value) { return createIdbStorage(dbPromise, value); }); }; return IDBStorage; }()); exports.IDBStorage = IDBStorage; //# sourceMappingURL=idbstorage.js.map