UNPKG

react-indexed-db-hook

Version:
2 lines 8.44 kB
(()=>{"use strict";var e={675:(e,n)=>{function t(e,n){return e.objectStoreNames.contains(n)}Object.defineProperty(n,"__esModule",{value:!0}),n.optionsGenerator=n.createTransaction=n.validateBeforeTransaction=n.validateStoreName=void 0,n.validateStoreName=t,n.validateBeforeTransaction=function(e,n,r){e||r("You need to use the openDatabase function to create a database before you query it!"),t(e,n)||r("objectStore does not exists: ".concat(n))},n.createTransaction=function(e,n){var t=e.transaction(n.storeName,n.dbMode);return t.onerror=n.error,t.oncomplete=n.complete,t.onabort=n.abort,t},n.optionsGenerator=function(e,n,t,r){return{storeName:n,dbMode:e,error:function(e){t(e)},complete:function(){r()},abort:function(e){t(e)}}}},823:(e,n,t)=>{Object.defineProperty(n,"__esModule",{value:!0}),n.createDatabaseTransaction=void 0;var r=t(675);n.createDatabaseTransaction=function(e,n,t,o,a,i,c){void 0===i&&(i=r.createTransaction),void 0===c&&(c=r.optionsGenerator);var u=i(e,c(n,t,a,o));return{store:u.objectStore(t),transaction:u}}},401:(e,n,t)=>{Object.defineProperty(n,"__esModule",{value:!0}),n.createReadonlyTransaction=void 0;var r=t(84),o=t(823);n.createReadonlyTransaction=function(e,n,t,a){return(0,o.createDatabaseTransaction)(e,r.DBMode.readonly,n,t,a)}},987:(e,n,t)=>{Object.defineProperty(n,"__esModule",{value:!0}),n.createReadwriteTransaction=void 0;var r=t(84),o=t(823);n.createReadwriteTransaction=function(e,n,t,a){return(0,o.createDatabaseTransaction)(e,r.DBMode.readwrite,n,t,a)}},629:function(e,n,t){var r=this&&this.__createBinding||(Object.create?function(e,n,t,r){void 0===r&&(r=t);var o=Object.getOwnPropertyDescriptor(n,t);o&&!("get"in o?!n.__esModule:o.writable||o.configurable)||(o={enumerable:!0,get:function(){return n[t]}}),Object.defineProperty(e,r,o)}:function(e,n,t,r){void 0===r&&(r=t),e[r]=n[t]}),o=this&&this.__exportStar||function(e,n){for(var t in e)"default"===t||Object.prototype.hasOwnProperty.call(n,t)||r(n,e,t)};Object.defineProperty(n,"__esModule",{value:!0}),n.IndexedDB=n.AccessDB=void 0;var a=t(7);Object.defineProperty(n,"AccessDB",{enumerable:!0,get:function(){return a.AccessDB}}),Object.defineProperty(n,"IndexedDB",{enumerable:!0,get:function(){return a.IndexedDB}}),o(t(157),n)},7:function(e,n,t){var r=this&&this.__assign||function(){return r=Object.assign||function(e){for(var n,t=1,r=arguments.length;t<r;t++)for(var o in n=arguments[t])Object.prototype.hasOwnProperty.call(n,o)&&(e[o]=n[o]);return e},r.apply(this,arguments)},o=this&&this.__awaiter||function(e,n,t,r){return new(t||(t=Promise))((function(o,a){function i(e){try{u(r.next(e))}catch(e){a(e)}}function c(e){try{u(r.throw(e))}catch(e){a(e)}}function u(e){var n;e.done?o(e.value):(n=e.value,n instanceof t?n:new t((function(e){e(n)}))).then(i,c)}u((r=r.apply(e,n||[])).next())}))},a=this&&this.__generator||function(e,n){var t,r,o,a,i={label:0,sent:function(){if(1&o[0])throw o[1];return o[1]},trys:[],ops:[]};return a={next:c(0),throw:c(1),return:c(2)},"function"==typeof Symbol&&(a[Symbol.iterator]=function(){return this}),a;function c(a){return function(c){return function(a){if(t)throw new TypeError("Generator is already executing.");for(;i;)try{if(t=1,r&&(o=2&a[0]?r.return:a[0]?r.throw||((o=r.return)&&o.call(r),0):r.next)&&!(o=o.call(r,a[1])).done)return o;switch(r=0,o&&(a=[2&a[0],o.value]),a[0]){case 0:case 1:o=a;break;case 4:return i.label++,{value:a[1],done:!1};case 5:i.label++,r=a[1],a=[0];continue;case 7:a=i.ops.pop(),i.trys.pop();continue;default:if(!((o=(o=i.trys).length>0&&o[o.length-1])||6!==a[0]&&2!==a[0])){i=0;continue}if(3===a[0]&&(!o||a[1]>o[0]&&a[1]<o[3])){i.label=a[1];break}if(6===a[0]&&i.label<o[1]){i.label=o[1],o=a;break}if(o&&i.label<o[2]){i.label=o[2],i.ops.push(a);break}o[2]&&i.ops.pop(),i.trys.pop();continue}a=n.call(e,i)}catch(e){a=[6,e],r=0}finally{t=o=0}if(5&a[0])throw a[1];return{value:a[0]?a[1]:void 0,done:!0}}([a,c])}}},i=this&&this.__importDefault||function(e){return e&&e.__esModule?e:{default:e}};Object.defineProperty(n,"__esModule",{value:!0}),n.AccessDB=n.IndexedDB=void 0;var c=i(t(689)),u=t(84),s=c.default.createContext({db:null,name:null,version:null}),f=s.Provider,d=s.Consumer;n.IndexedDB=function(e){var n=this,t=e.name,r=e.version,i=e.children;return e.objectStoresMeta.forEach((function(e){return o(n,void 0,void 0,(function(){return a(this,(function(n){switch(n.label){case 0:return[4,(0,u.openDatabase)(t,r,(function(n){var t=n.currentTarget.result.createObjectStore(e.store,e.storeConfig);e.storeSchema.forEach((function(e){t.createIndex(e.name,e.keypath,e.options)}))}))];case 1:return n.sent(),[2]}}))}))})),c.default.createElement(f,{value:{db:null,name:t,version:r}},i)},n.AccessDB=function(e){var n=e.children,t=e.objectStore;return c.default.createElement(d,null,(function(e){var o=e.db,a=e.name,i=e.version;return n(r({db:o},(0,u.DBOperations)(a,i,t)))}))}},84:(e,n,t)=>{Object.defineProperty(n,"__esModule",{value:!0}),n.DBMode=n.DBOperations=n.CreateObjectStore=n.openDatabase=void 0;var r,o=t(675),a=t(987),i=t(401),c=window.indexedDB||window.mozIndexedDB||window.webkitIndexedDB||window.msIndexedDB;function u(e,n,t){return new Promise((function(r,o){var a,i=c.open(e,n);i.onsuccess=function(){a=i.result,r(a)},i.onerror=function(){o("IndexedDB error: ".concat(i.error))},"function"==typeof t&&(i.onupgradeneeded=function(e){t(e,a)})}))}n.openDatabase=u,n.CreateObjectStore=function(e,n,t){var r=c.open(e,n);r.onupgradeneeded=function(e){var n=e.target.result;t.forEach((function(e){if(!n.objectStoreNames.contains(e.store)){var t=n.createObjectStore(e.store,e.storeConfig);e.storeSchema.forEach((function(e){t.createIndex(e.name,e.keypath,e.options)}))}})),n.close()},r.onsuccess=function(e){e.target.result.close()}},n.DBOperations=function(e,n,t){return{add:function(r,o){return new Promise((function(i,c){u(e,n).then((function(e){var n=(0,a.createReadwriteTransaction)(e,t,i,c).store.add(r,o);n.onsuccess=function(e){o=e.target.result,i(o)},n.onerror=function(e){return c(e)}}))}))},getByID:function(r){return new Promise((function(a,c){u(e,n).then((function(e){(0,o.validateBeforeTransaction)(e,t,c),(0,i.createReadonlyTransaction)(e,t,a,c).store.get(r).onsuccess=function(e){a(e.target.result)}}))}))},getAll:function(){return new Promise((function(r,a){u(e,n).then((function(e){(0,o.validateBeforeTransaction)(e,t,a);var n=(0,i.createReadonlyTransaction)(e,t,r,a).store.getAll();n.onerror=function(e){return a(e)},n.onsuccess=function(e){var n=e.target.result;r(n)}}))}))},update:function(r,i){return new Promise((function(c,s){u(e,n).then((function(e){(0,o.validateBeforeTransaction)(e,t,s);var n=(0,a.createReadwriteTransaction)(e,t,c,s),u=n.transaction,f=n.store;u.oncomplete=function(e){return c(e)},f.put(r,i)}))}))},deleteRecord:function(r){return new Promise((function(i,c){u(e,n).then((function(e){(0,o.validateBeforeTransaction)(e,t,c),(0,a.createReadwriteTransaction)(e,t,i,c).store.delete(r).onsuccess=function(e){return i(e)}}))}))},clear:function(){return new Promise((function(r,i){u(e,n).then((function(e){(0,o.validateBeforeTransaction)(e,t,i);var n=(0,a.createReadwriteTransaction)(e,t,r,i),c=n.store;n.transaction.oncomplete=function(){return r()},c.clear()}))}))},openCursor:function(r,a){return new Promise((function(c,s){u(e,n).then((function(e){(0,o.validateBeforeTransaction)(e,t,s),(0,i.createReadonlyTransaction)(e,t,c,s).store.openCursor(a).onsuccess=function(e){r(e),c()}}))}))},getByIndex:function(r,a){return new Promise((function(c,s){u(e,n).then((function(e){(0,o.validateBeforeTransaction)(e,t,s),(0,i.createReadonlyTransaction)(e,t,c,s).store.index(r).get(a).onsuccess=function(e){c(e.target.result)}}))}))}}},(r=n.DBMode||(n.DBMode={})).readonly="readonly",r.readwrite="readwrite"},157:(e,n,t)=>{Object.defineProperty(n,"__esModule",{value:!0}),n.useIndexedDB=n.initDB=void 0;var r=t(689),o=t(84),a={version:null,name:null};n.initDB=function(e){var n=e.name,t=e.version,r=e.objectStoresMeta;a.name=n,a.version=t,Object.freeze(a),(0,o.CreateObjectStore)(n,t,r)},n.useIndexedDB=function(e){if(!a.name||!a.version)throw new Error("Please, initialize the DB before the use.");return(0,r.useMemo)((function(){return(0,o.DBOperations)(a.name,a.version,e)}),[a,e])}},689:e=>{e.exports=require("react")}},n={},t=function t(r){var o=n[r];if(void 0!==o)return o.exports;var a=n[r]={exports:{}};return e[r].call(a.exports,a,a.exports,t),a.exports}(629);module.exports=t})(); //# sourceMappingURL=main.js.map