{"version":3,"sources":["webpack:////gll_better/node_modules/idb/lib/idb.js"],"names":["toArray","arr","Array","prototype","slice","call","promisifyRequest","request","Promise","resolve","reject","onsuccess","result","onerror","error","promisifyRequestCall","obj","method","args","p","apply","then","promisifyCursorRequestCall","value","Cursor","proxyProperties","ProxyClass","targetProp","properties","forEach","prop","Object","defineProperty","get","this","set","val","proxyRequestMethods","Constructor","arguments","proxyMethods","proxyCursorRequestMethods","Index","index","_index","cursor","_cursor","_request","ObjectStore","store","_store","Transaction","idbTransaction","_tx","complete","oncomplete","onabort","UpgradeDB","db","oldVersion","transaction","_db","DB","IDBIndex","IDBCursor","methodName","createIndex","IDBObjectStore","objectStore","IDBTransaction","createObjectStore","IDBDatabase","funcName","replace","callback","length","nativeObject","getAll","query","count","instance","items","iterateCursor","push","undefined","continue","exp","open","name","version","upgradeCallback","indexedDB","onupgradeneeded","event","delete","module","exports","default"],"mappings":"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","file":"idb-2ffc4559.chunk.js","sourcesContent":["'use strict';\n\n(function () {\n function toArray(arr) {\n return Array.prototype.slice.call(arr);\n }\n\n function promisifyRequest(request) {\n return new Promise(function (resolve, reject) {\n request.onsuccess = function () {\n resolve(request.result);\n };\n\n request.onerror = function () {\n reject(request.error);\n };\n });\n }\n\n function promisifyRequestCall(obj, method, args) {\n var request;\n var p = new Promise(function (resolve, reject) {\n request = obj[method].apply(obj, args);\n promisifyRequest(request).then(resolve, reject);\n });\n p.request = request;\n return p;\n }\n\n function promisifyCursorRequestCall(obj, method, args) {\n var p = promisifyRequestCall(obj, method, args);\n return p.then(function (value) {\n if (!value) return;\n return new Cursor(value, p.request);\n });\n }\n\n function proxyProperties(ProxyClass, targetProp, properties) {\n properties.forEach(function (prop) {\n Object.defineProperty(ProxyClass.prototype, prop, {\n get: function get() {\n return this[targetProp][prop];\n },\n set: function set(val) {\n this[targetProp][prop] = val;\n }\n });\n });\n }\n\n function proxyRequestMethods(ProxyClass, targetProp, Constructor, properties) {\n properties.forEach(function (prop) {\n if (!(prop in Constructor.prototype)) return;\n\n ProxyClass.prototype[prop] = function () {\n return promisifyRequestCall(this[targetProp], prop, arguments);\n };\n });\n }\n\n function proxyMethods(ProxyClass, targetProp, Constructor, properties) {\n properties.forEach(function (prop) {\n if (!(prop in Constructor.prototype)) return;\n\n ProxyClass.prototype[prop] = function () {\n return this[targetProp][prop].apply(this[targetProp], arguments);\n };\n });\n }\n\n function proxyCursorRequestMethods(ProxyClass, targetProp, Constructor, properties) {\n properties.forEach(function (prop) {\n if (!(prop in Constructor.prototype)) return;\n\n ProxyClass.prototype[prop] = function () {\n return promisifyCursorRequestCall(this[targetProp], prop, arguments);\n };\n });\n }\n\n function Index(index) {\n this._index = index;\n }\n\n proxyProperties(Index, '_index', ['name', 'keyPath', 'multiEntry', 'unique']);\n proxyRequestMethods(Index, '_index', IDBIndex, ['get', 'getKey', 'getAll', 'getAllKeys', 'count']);\n proxyCursorRequestMethods(Index, '_index', IDBIndex, ['openCursor', 'openKeyCursor']);\n\n function Cursor(cursor, request) {\n this._cursor = cursor;\n this._request = request;\n }\n\n proxyProperties(Cursor, '_cursor', ['direction', 'key', 'primaryKey', 'value']);\n proxyRequestMethods(Cursor, '_cursor', IDBCursor, ['update', 'delete']); // proxy 'next' methods\n\n ['advance', 'continue', 'continuePrimaryKey'].forEach(function (methodName) {\n if (!(methodName in IDBCursor.prototype)) return;\n\n Cursor.prototype[methodName] = function () {\n var cursor = this;\n var args = arguments;\n return Promise.resolve().then(function () {\n cursor._cursor[methodName].apply(cursor._cursor, args);\n\n return promisifyRequest(cursor._request).then(function (value) {\n if (!value) return;\n return new Cursor(value, cursor._request);\n });\n });\n };\n });\n\n function ObjectStore(store) {\n this._store = store;\n }\n\n ObjectStore.prototype.createIndex = function () {\n return new Index(this._store.createIndex.apply(this._store, arguments));\n };\n\n ObjectStore.prototype.index = function () {\n return new Index(this._store.index.apply(this._store, arguments));\n };\n\n proxyProperties(ObjectStore, '_store', ['name', 'keyPath', 'indexNames', 'autoIncrement']);\n proxyRequestMethods(ObjectStore, '_store', IDBObjectStore, ['put', 'add', 'delete', 'clear', 'get', 'getAll', 'getKey', 'getAllKeys', 'count']);\n proxyCursorRequestMethods(ObjectStore, '_store', IDBObjectStore, ['openCursor', 'openKeyCursor']);\n proxyMethods(ObjectStore, '_store', IDBObjectStore, ['deleteIndex']);\n\n function Transaction(idbTransaction) {\n this._tx = idbTransaction;\n this.complete = new Promise(function (resolve, reject) {\n idbTransaction.oncomplete = function () {\n resolve();\n };\n\n idbTransaction.onerror = function () {\n reject(idbTransaction.error);\n };\n\n idbTransaction.onabort = function () {\n reject(idbTransaction.error);\n };\n });\n }\n\n Transaction.prototype.objectStore = function () {\n return new ObjectStore(this._tx.objectStore.apply(this._tx, arguments));\n };\n\n proxyProperties(Transaction, '_tx', ['objectStoreNames', 'mode']);\n proxyMethods(Transaction, '_tx', IDBTransaction, ['abort']);\n\n function UpgradeDB(db, oldVersion, transaction) {\n this._db = db;\n this.oldVersion = oldVersion;\n this.transaction = new Transaction(transaction);\n }\n\n UpgradeDB.prototype.createObjectStore = function () {\n return new ObjectStore(this._db.createObjectStore.apply(this._db, arguments));\n };\n\n proxyProperties(UpgradeDB, '_db', ['name', 'version', 'objectStoreNames']);\n proxyMethods(UpgradeDB, '_db', IDBDatabase, ['deleteObjectStore', 'close']);\n\n function DB(db) {\n this._db = db;\n }\n\n DB.prototype.transaction = function () {\n return new Transaction(this._db.transaction.apply(this._db, arguments));\n };\n\n proxyProperties(DB, '_db', ['name', 'version', 'objectStoreNames']);\n proxyMethods(DB, '_db', IDBDatabase, ['close']); // Add cursor iterators\n // TODO: remove this once browsers do the right thing with promises\n\n ['openCursor', 'openKeyCursor'].forEach(function (funcName) {\n [ObjectStore, Index].forEach(function (Constructor) {\n // Don't create iterateKeyCursor if openKeyCursor doesn't exist.\n if (!(funcName in Constructor.prototype)) return;\n\n Constructor.prototype[funcName.replace('open', 'iterate')] = function () {\n var args = toArray(arguments);\n var callback = args[args.length - 1];\n var nativeObject = this._store || this._index;\n var request = nativeObject[funcName].apply(nativeObject, args.slice(0, -1));\n\n request.onsuccess = function () {\n callback(request.result);\n };\n };\n });\n }); // polyfill getAll\n\n [Index, ObjectStore].forEach(function (Constructor) {\n if (Constructor.prototype.getAll) return;\n\n Constructor.prototype.getAll = function (query, count) {\n var instance = this;\n var items = [];\n return new Promise(function (resolve) {\n instance.iterateCursor(query, function (cursor) {\n if (!cursor) {\n resolve(items);\n return;\n }\n\n items.push(cursor.value);\n\n if (count !== undefined && items.length == count) {\n resolve(items);\n return;\n }\n\n cursor.continue();\n });\n });\n };\n });\n var exp = {\n open: function open(name, version, upgradeCallback) {\n var p = promisifyRequestCall(indexedDB, 'open', [name, version]);\n var request = p.request;\n\n if (request) {\n request.onupgradeneeded = function (event) {\n if (upgradeCallback) {\n upgradeCallback(new UpgradeDB(request.result, event.oldVersion, request.transaction));\n }\n };\n }\n\n return p.then(function (db) {\n return new DB(db);\n });\n },\n delete: function _delete(name) {\n return promisifyRequestCall(indexedDB, 'deleteDatabase', [name]);\n }\n };\n\n if (typeof module !== 'undefined') {\n module.exports = exp;\n module.exports.default = module.exports;\n } else {\n self.idb = exp;\n }\n})();"],"sourceRoot":""}