{"version":3,"sources":["webpack:///./node_modules/ieee754/index.js","webpack:///./node_modules/idb/build/idb.js","webpack:///./node_modules/isarray/index.js"],"names":["exports","read","buffer","offset","isLE","mLen","nBytes","e","m","eLen","eMax","eBias","nBits","i","d","s","NaN","Infinity","Math","pow","write","value","c","rt","abs","isNaN","floor","log","LN2","global","factory","this","toArray","arr","Array","prototype","slice","call","promisifyRequest","request","Promise","resolve","reject","onsuccess","result","onerror","error","promisifyRequestCall","obj","method","args","p","apply","then","promisifyCursorRequestCall","Cursor","proxyProperties","ProxyClass","targetProp","properties","forEach","prop","Object","defineProperty","get","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","openDb","name","version","upgradeCallback","indexedDB","onupgradeneeded","event","deleteDb","IDBIndex","IDBCursor","methodName","createIndex","IDBObjectStore","objectStore","IDBTransaction","createObjectStore","IDBDatabase","funcName","replace","callback","length","nativeObject","getAll","query","count","instance","items","iterateCursor","push","undefined","continue","toString","module","isArray"],"mappings":";;AACAA,EAAQC,KAAO,SAAUC,EAAQC,EAAQC,EAAMC,EAAMC,GACnD,IAAIC,EAAGC,EACHC,EAAiB,EAATH,EAAcD,EAAO,EAC7BK,GAAQ,GAAKD,GAAQ,EACrBE,EAAQD,GAAQ,EAChBE,GAAS,EACTC,EAAIT,EAAQE,EAAS,EAAK,EAC1BQ,EAAIV,GAAQ,EAAI,EAChBW,EAAIb,EAAOC,EAASU,GAOxB,IALAA,GAAKC,EAELP,EAAIQ,GAAM,IAAOH,GAAU,EAC3BG,KAAQH,EACRA,GAASH,EACFG,EAAQ,EAAGL,EAAS,IAAJA,EAAWL,EAAOC,EAASU,GAAIA,GAAKC,EAAGF,GAAS,GAKvE,IAHAJ,EAAID,GAAM,IAAOK,GAAU,EAC3BL,KAAQK,EACRA,GAASP,EACFO,EAAQ,EAAGJ,EAAS,IAAJA,EAAWN,EAAOC,EAASU,GAAIA,GAAKC,EAAGF,GAAS,GAEvE,GAAU,IAANL,EACFA,EAAI,EAAII,MACH,IAAIJ,IAAMG,EACf,OAAOF,EAAIQ,IAAsBC,KAAdF,GAAK,EAAI,GAE5BP,GAAQU,KAAKC,IAAI,EAAGd,GACpBE,GAAQI,EAEV,OAAQI,GAAK,EAAI,GAAKP,EAAIU,KAAKC,IAAI,EAAGZ,EAAIF,IAG5CL,EAAQoB,MAAQ,SAAUlB,EAAQmB,EAAOlB,EAAQC,EAAMC,EAAMC,GAC3D,IAAIC,EAAGC,EAAGc,EACNb,EAAiB,EAATH,EAAcD,EAAO,EAC7BK,GAAQ,GAAKD,GAAQ,EACrBE,EAAQD,GAAQ,EAChBa,EAAe,KAATlB,EAAca,KAAKC,IAAI,GAAI,IAAMD,KAAKC,IAAI,GAAI,IAAM,EAC1DN,EAAIT,EAAO,EAAKE,EAAS,EACzBQ,EAAIV,EAAO,GAAK,EAChBW,EAAIM,EAAQ,GAAgB,IAAVA,GAAe,EAAIA,EAAQ,EAAK,EAAI,EAmC1D,IAjCAA,EAAQH,KAAKM,IAAIH,GAEbI,MAAMJ,IAAUA,IAAUJ,KAC5BT,EAAIiB,MAAMJ,GAAS,EAAI,EACvBd,EAAIG,IAEJH,EAAIW,KAAKQ,MAAMR,KAAKS,IAAIN,GAASH,KAAKU,KAClCP,GAASC,EAAIJ,KAAKC,IAAI,GAAIZ,IAAM,IAClCA,IACAe,GAAK,GAGLD,GADEd,EAAII,GAAS,EACNY,EAAKD,EAELC,EAAKL,KAAKC,IAAI,EAAG,EAAIR,GAE5BU,EAAQC,GAAK,IACff,IACAe,GAAK,GAGHf,EAAII,GAASD,GACfF,EAAI,EACJD,EAAIG,GACKH,EAAII,GAAS,GACtBH,GAAMa,EAAQC,EAAK,GAAKJ,KAAKC,IAAI,EAAGd,GACpCE,GAAQI,IAERH,EAAIa,EAAQH,KAAKC,IAAI,EAAGR,EAAQ,GAAKO,KAAKC,IAAI,EAAGd,GACjDE,EAAI,IAIDF,GAAQ,EAAGH,EAAOC,EAASU,GAAS,IAAJL,EAAUK,GAAKC,EAAGN,GAAK,IAAKH,GAAQ,GAI3E,IAFAE,EAAKA,GAAKF,EAAQG,EAClBC,GAAQJ,EACDI,EAAO,EAAGP,EAAOC,EAASU,GAAS,IAAJN,EAAUM,GAAKC,EAAGP,GAAK,IAAKE,GAAQ,GAE1EP,EAAOC,EAASU,EAAIC,IAAU,IAAJC,I,wBCnF3B,SAAUc,EAAQC,GAC8CA,EAAQ9B,IADzE,CAIE+B,GAAM,SAAU/B,GAAW,aAE3B,SAASgC,EAAQC,GACf,OAAOC,MAAMC,UAAUC,MAAMC,KAAKJ,GAGpC,SAASK,EAAiBC,GACxB,OAAO,IAAIC,SAAQ,SAASC,EAASC,GACnCH,EAAQI,UAAY,WAClBF,EAAQF,EAAQK,SAGlBL,EAAQM,QAAU,WAChBH,EAAOH,EAAQO,WAKrB,SAASC,EAAqBC,EAAKC,EAAQC,GACzC,IAAIX,EACAY,EAAI,IAAIX,SAAQ,SAASC,EAASC,GACpCH,EAAUS,EAAIC,GAAQG,MAAMJ,EAAKE,GACjCZ,EAAiBC,GAASc,KAAKZ,EAASC,MAI1C,OADAS,EAAEZ,QAAUA,EACLY,EAGT,SAASG,EAA2BN,EAAKC,EAAQC,GAC/C,IAAIC,EAAIJ,EAAqBC,EAAKC,EAAQC,GAC1C,OAAOC,EAAEE,MAAK,SAAShC,GACrB,GAAKA,EACL,OAAO,IAAIkC,EAAOlC,EAAO8B,EAAEZ,YAI/B,SAASiB,EAAgBC,EAAYC,EAAYC,GAC/CA,EAAWC,SAAQ,SAASC,GAC1BC,OAAOC,eAAeN,EAAWtB,UAAW0B,EAAM,CAChDG,IAAK,WACH,OAAOjC,KAAK2B,GAAYG,IAE1BI,IAAK,SAASC,GACZnC,KAAK2B,GAAYG,GAAQK,QAMjC,SAASC,EAAoBV,EAAYC,EAAYU,EAAaT,GAChEA,EAAWC,SAAQ,SAASC,GACpBA,KAAQO,EAAYjC,YAC1BsB,EAAWtB,UAAU0B,GAAQ,WAC3B,OAAOd,EAAqBhB,KAAK2B,GAAaG,EAAMQ,gBAK1D,SAASC,EAAab,EAAYC,EAAYU,EAAaT,GACzDA,EAAWC,SAAQ,SAASC,GACpBA,KAAQO,EAAYjC,YAC1BsB,EAAWtB,UAAU0B,GAAQ,WAC3B,OAAO9B,KAAK2B,GAAYG,GAAMT,MAAMrB,KAAK2B,GAAaW,gBAK5D,SAASE,EAA0Bd,EAAYC,EAAYU,EAAaT,GACtEA,EAAWC,SAAQ,SAASC,GACpBA,KAAQO,EAAYjC,YAC1BsB,EAAWtB,UAAU0B,GAAQ,WAC3B,OAAOP,EAA2BvB,KAAK2B,GAAaG,EAAMQ,gBAKhE,SAASG,EAAMC,GACb1C,KAAK2C,OAASD,EAuBhB,SAASlB,EAAOoB,EAAQpC,GACtBR,KAAK6C,QAAUD,EACf5C,KAAK8C,SAAWtC,EA+BlB,SAASuC,EAAYC,GACnBhD,KAAKiD,OAASD,EAuChB,SAASE,EAAYC,GACnBnD,KAAKoD,IAAMD,EACXnD,KAAKqD,SAAW,IAAI5C,SAAQ,SAASC,EAASC,GAC5CwC,EAAeG,WAAa,WAC1B5C,KAEFyC,EAAerC,QAAU,WACvBH,EAAOwC,EAAepC,QAExBoC,EAAeI,QAAU,WACvB5C,EAAOwC,EAAepC,WAkB5B,SAASyC,EAAUC,EAAIC,EAAYC,GACjC3D,KAAK4D,IAAMH,EACXzD,KAAK0D,WAAaA,EAClB1D,KAAK2D,YAAc,IAAIT,EAAYS,GAkBrC,SAASE,EAAGJ,GACVzD,KAAK4D,IAAMH,EA6Db,SAASK,EAAOC,EAAMC,EAASC,GAC7B,IAAI7C,EAAIJ,EAAqBkD,UAAW,OAAQ,CAACH,EAAMC,IACnDxD,EAAUY,EAAEZ,QAUhB,OARIA,IACFA,EAAQ2D,gBAAkB,SAASC,GAC7BH,GACFA,EAAgB,IAAIT,EAAUhD,EAAQK,OAAQuD,EAAMV,WAAYlD,EAAQmD,gBAKvEvC,EAAEE,MAAK,SAASmC,GACrB,OAAO,IAAII,EAAGJ,MAIlB,SAASY,EAASN,GAChB,OAAO/C,EAAqBkD,UAAW,iBAAkB,CAACH,IA9N5DtC,EAAgBgB,EAAO,SAAU,CAC/B,OACA,UACA,aACA,WAGFL,EAAoBK,EAAO,SAAU6B,SAAU,CAC7C,MACA,SACA,SACA,aACA,UAGF9B,EAA0BC,EAAO,SAAU6B,SAAU,CACnD,aACA,kBAQF7C,EAAgBD,EAAQ,UAAW,CACjC,YACA,MACA,aACA,UAGFY,EAAoBZ,EAAQ,UAAW+C,UAAW,CAChD,SACA,WAIF,CAAC,UAAW,WAAY,sBAAsB1C,SAAQ,SAAS2C,GACvDA,KAAcD,UAAUnE,YAC9BoB,EAAOpB,UAAUoE,GAAc,WAC7B,IAAI5B,EAAS5C,KACTmB,EAAOmB,UACX,OAAO7B,QAAQC,UAAUY,MAAK,WAE5B,OADAsB,EAAOC,QAAQ2B,GAAYnD,MAAMuB,EAAOC,QAAS1B,GAC1CZ,EAAiBqC,EAAOE,UAAUxB,MAAK,SAAShC,GACrD,GAAKA,EACL,OAAO,IAAIkC,EAAOlC,EAAOsD,EAAOE,qBAUxCC,EAAY3C,UAAUqE,YAAc,WAClC,OAAO,IAAIhC,EAAMzC,KAAKiD,OAAOwB,YAAYpD,MAAMrB,KAAKiD,OAAQX,aAG9DS,EAAY3C,UAAUsC,MAAQ,WAC5B,OAAO,IAAID,EAAMzC,KAAKiD,OAAOP,MAAMrB,MAAMrB,KAAKiD,OAAQX,aAGxDb,EAAgBsB,EAAa,SAAU,CACrC,OACA,UACA,aACA,kBAGFX,EAAoBW,EAAa,SAAU2B,eAAgB,CACzD,MACA,MACA,SACA,QACA,MACA,SACA,SACA,aACA,UAGFlC,EAA0BO,EAAa,SAAU2B,eAAgB,CAC/D,aACA,kBAGFnC,EAAaQ,EAAa,SAAU2B,eAAgB,CAClD,gBAkBFxB,EAAY9C,UAAUuE,YAAc,WAClC,OAAO,IAAI5B,EAAY/C,KAAKoD,IAAIuB,YAAYtD,MAAMrB,KAAKoD,IAAKd,aAG9Db,EAAgByB,EAAa,MAAO,CAClC,mBACA,SAGFX,EAAaW,EAAa,MAAO0B,eAAgB,CAC/C,UASFpB,EAAUpD,UAAUyE,kBAAoB,WACtC,OAAO,IAAI9B,EAAY/C,KAAK4D,IAAIiB,kBAAkBxD,MAAMrB,KAAK4D,IAAKtB,aAGpEb,EAAgB+B,EAAW,MAAO,CAChC,OACA,UACA,qBAGFjB,EAAaiB,EAAW,MAAOsB,YAAa,CAC1C,oBACA,UAOFjB,EAAGzD,UAAUuD,YAAc,WACzB,OAAO,IAAIT,EAAYlD,KAAK4D,IAAID,YAAYtC,MAAMrB,KAAK4D,IAAKtB,aAG9Db,EAAgBoC,EAAI,MAAO,CACzB,OACA,UACA,qBAGFtB,EAAasB,EAAI,MAAOiB,YAAa,CACnC,UAKF,CAAC,aAAc,iBAAiBjD,SAAQ,SAASkD,GAC/C,CAAChC,EAAaN,GAAOZ,SAAQ,SAASQ,GAE9B0C,KAAY1C,EAAYjC,YAE9BiC,EAAYjC,UAAU2E,EAASC,QAAQ,OAAQ,YAAc,WAC3D,IAAI7D,EAAOlB,EAAQqC,WACf2C,EAAW9D,EAAKA,EAAK+D,OAAS,GAC9BC,EAAenF,KAAKiD,QAAUjD,KAAK2C,OACnCnC,EAAU2E,EAAaJ,GAAU1D,MAAM8D,EAAchE,EAAKd,MAAM,GAAI,IACxEG,EAAQI,UAAY,WAClBqE,EAASzE,EAAQK,iBAOzB,CAAC4B,EAAOM,GAAalB,SAAQ,SAASQ,GAChCA,EAAYjC,UAAUgF,SAC1B/C,EAAYjC,UAAUgF,OAAS,SAASC,EAAOC,GAC7C,IAAIC,EAAWvF,KACXwF,EAAQ,GAEZ,OAAO,IAAI/E,SAAQ,SAASC,GAC1B6E,EAASE,cAAcJ,GAAO,SAASzC,GAChCA,GAIL4C,EAAME,KAAK9C,EAAOtD,YAEJqG,IAAVL,GAAuBE,EAAMN,QAAUI,EAI3C1C,EAAOgD,WAHLlF,EAAQ8E,IANR9E,EAAQ8E,cAoClBvH,EAAQ6F,OAASA,EACjB7F,EAAQoG,SAAWA,EAEnBtC,OAAOC,eAAe/D,EAAS,aAAc,CAAEqB,OAAO,Q,mBCzTxD,IAAIuG,EAAW,GAAGA,SAElBC,EAAO7H,QAAUkC,MAAM4F,SAAW,SAAU7F,GAC1C,MAA6B,kBAAtB2F,EAASvF,KAAKJ","file":"js/chunk-vendors~af2a85b2.71c36758.js","sourcesContent":["/*! ieee754. BSD-3-Clause License. Feross Aboukhadijeh */\nexports.read = function (buffer, offset, isLE, mLen, nBytes) {\n var e, m\n var eLen = (nBytes * 8) - mLen - 1\n var eMax = (1 << eLen) - 1\n var eBias = eMax >> 1\n var nBits = -7\n var i = isLE ? (nBytes - 1) : 0\n var d = isLE ? -1 : 1\n var s = buffer[offset + i]\n\n i += d\n\n e = s & ((1 << (-nBits)) - 1)\n s >>= (-nBits)\n nBits += eLen\n for (; nBits > 0; e = (e * 256) + buffer[offset + i], i += d, nBits -= 8) {}\n\n m = e & ((1 << (-nBits)) - 1)\n e >>= (-nBits)\n nBits += mLen\n for (; nBits > 0; m = (m * 256) + buffer[offset + i], i += d, nBits -= 8) {}\n\n if (e === 0) {\n e = 1 - eBias\n } else if (e === eMax) {\n return m ? NaN : ((s ? -1 : 1) * Infinity)\n } else {\n m = m + Math.pow(2, mLen)\n e = e - eBias\n }\n return (s ? -1 : 1) * m * Math.pow(2, e - mLen)\n}\n\nexports.write = function (buffer, value, offset, isLE, mLen, nBytes) {\n var e, m, c\n var eLen = (nBytes * 8) - mLen - 1\n var eMax = (1 << eLen) - 1\n var eBias = eMax >> 1\n var rt = (mLen === 23 ? Math.pow(2, -24) - Math.pow(2, -77) : 0)\n var i = isLE ? 0 : (nBytes - 1)\n var d = isLE ? 1 : -1\n var s = value < 0 || (value === 0 && 1 / value < 0) ? 1 : 0\n\n value = Math.abs(value)\n\n if (isNaN(value) || value === Infinity) {\n m = isNaN(value) ? 1 : 0\n e = eMax\n } else {\n e = Math.floor(Math.log(value) / Math.LN2)\n if (value * (c = Math.pow(2, -e)) < 1) {\n e--\n c *= 2\n }\n if (e + eBias >= 1) {\n value += rt / c\n } else {\n value += rt * Math.pow(2, 1 - eBias)\n }\n if (value * c >= 2) {\n e++\n c /= 2\n }\n\n if (e + eBias >= eMax) {\n m = 0\n e = eMax\n } else if (e + eBias >= 1) {\n m = ((value * c) - 1) * Math.pow(2, mLen)\n e = e + eBias\n } else {\n m = value * Math.pow(2, eBias - 1) * Math.pow(2, mLen)\n e = 0\n }\n }\n\n for (; mLen >= 8; buffer[offset + i] = m & 0xff, i += d, m /= 256, mLen -= 8) {}\n\n e = (e << mLen) | m\n eLen += mLen\n for (; eLen > 0; buffer[offset + i] = e & 0xff, i += d, e /= 256, eLen -= 8) {}\n\n buffer[offset + i - d] |= s * 128\n}\n","(function (global, factory) {\n typeof exports === 'object' && typeof module !== 'undefined' ? factory(exports) :\n typeof define === 'function' && define.amd ? define(['exports'], factory) :\n (global = global || self, factory(global.idb = {}));\n}(this, function (exports) { 'use strict';\n\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\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() {\n return this[targetProp][prop];\n },\n set: function(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 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 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 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', [\n 'name',\n 'keyPath',\n 'multiEntry',\n 'unique'\n ]);\n\n proxyRequestMethods(Index, '_index', IDBIndex, [\n 'get',\n 'getKey',\n 'getAll',\n 'getAllKeys',\n 'count'\n ]);\n\n proxyCursorRequestMethods(Index, '_index', IDBIndex, [\n 'openCursor',\n 'openKeyCursor'\n ]);\n\n function Cursor(cursor, request) {\n this._cursor = cursor;\n this._request = request;\n }\n\n proxyProperties(Cursor, '_cursor', [\n 'direction',\n 'key',\n 'primaryKey',\n 'value'\n ]);\n\n proxyRequestMethods(Cursor, '_cursor', IDBCursor, [\n 'update',\n 'delete'\n ]);\n\n // proxy 'next' methods\n ['advance', 'continue', 'continuePrimaryKey'].forEach(function(methodName) {\n if (!(methodName in IDBCursor.prototype)) return;\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 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', [\n 'name',\n 'keyPath',\n 'indexNames',\n 'autoIncrement'\n ]);\n\n proxyRequestMethods(ObjectStore, '_store', IDBObjectStore, [\n 'put',\n 'add',\n 'delete',\n 'clear',\n 'get',\n 'getAll',\n 'getKey',\n 'getAllKeys',\n 'count'\n ]);\n\n proxyCursorRequestMethods(ObjectStore, '_store', IDBObjectStore, [\n 'openCursor',\n 'openKeyCursor'\n ]);\n\n proxyMethods(ObjectStore, '_store', IDBObjectStore, [\n 'deleteIndex'\n ]);\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 idbTransaction.onerror = function() {\n reject(idbTransaction.error);\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', [\n 'objectStoreNames',\n 'mode'\n ]);\n\n proxyMethods(Transaction, '_tx', IDBTransaction, [\n 'abort'\n ]);\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', [\n 'name',\n 'version',\n 'objectStoreNames'\n ]);\n\n proxyMethods(UpgradeDB, '_db', IDBDatabase, [\n 'deleteObjectStore',\n 'close'\n ]);\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', [\n 'name',\n 'version',\n 'objectStoreNames'\n ]);\n\n proxyMethods(DB, '_db', IDBDatabase, [\n 'close'\n ]);\n\n // Add cursor iterators\n // TODO: remove this once browsers do the right thing with promises\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 request.onsuccess = function() {\n callback(request.result);\n };\n };\n });\n });\n\n // polyfill getAll\n [Index, ObjectStore].forEach(function(Constructor) {\n if (Constructor.prototype.getAll) return;\n Constructor.prototype.getAll = function(query, count) {\n var instance = this;\n var items = [];\n\n return new Promise(function(resolve) {\n instance.iterateCursor(query, function(cursor) {\n if (!cursor) {\n resolve(items);\n return;\n }\n items.push(cursor.value);\n\n if (count !== undefined && items.length == count) {\n resolve(items);\n return;\n }\n cursor.continue();\n });\n });\n };\n });\n\n function openDb(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\n function deleteDb(name) {\n return promisifyRequestCall(indexedDB, 'deleteDatabase', [name]);\n }\n\n exports.openDb = openDb;\n exports.deleteDb = deleteDb;\n\n Object.defineProperty(exports, '__esModule', { value: true });\n\n}));\n","var toString = {}.toString;\n\nmodule.exports = Array.isArray || function (arr) {\n return toString.call(arr) == '[object Array]';\n};\n"],"sourceRoot":""}