cyl-hooks-tools
Version:
基于react上下文实现的权限管理
2 lines • 8.42 kB
JavaScript
/*! For license information please see useIndexedDB.js.LICENSE.txt */
!function(r,t){"object"==typeof exports&&"object"==typeof module?module.exports=t(require("react")):"function"==typeof define&&define.amd?define(["react"],t):"object"==typeof exports?exports.cylHooksTools=t(require("react")):r.cylHooksTools=t(r.react)}(self,r=>(()=>{"use strict";var t={155:t=>{t.exports=r}},n={};function e(r){var o=n[r];if(void 0!==o)return o.exports;var u=n[r]={exports:{}};return t[r](u,u.exports,e),u.exports}e.n=r=>{var t=r&&r.__esModule?()=>r.default:()=>r;return e.d(t,{a:t}),t},e.d=(r,t)=>{for(var n in t)e.o(t,n)&&!e.o(r,n)&&Object.defineProperty(r,n,{enumerable:!0,get:t[n]})},e.o=(r,t)=>Object.prototype.hasOwnProperty.call(r,t);var o={};e.d(o,{default:()=>v});var u=e(155);function i(r){return i="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(r){return typeof r}:function(r){return r&&"function"==typeof Symbol&&r.constructor===Symbol&&r!==Symbol.prototype?"symbol":typeof r},i(r)}function c(r,t){var n=Object.keys(r);if(Object.getOwnPropertySymbols){var e=Object.getOwnPropertySymbols(r);t&&(e=e.filter(function(t){return Object.getOwnPropertyDescriptor(r,t).enumerable})),n.push.apply(n,e)}return n}function a(r){for(var t=1;t<arguments.length;t++){var n=null!=arguments[t]?arguments[t]:{};t%2?c(Object(n),!0).forEach(function(t){f(r,t,n[t])}):Object.getOwnPropertyDescriptors?Object.defineProperties(r,Object.getOwnPropertyDescriptors(n)):c(Object(n)).forEach(function(t){Object.defineProperty(r,t,Object.getOwnPropertyDescriptor(n,t))})}return r}function f(r,t,n){return(t=function(r){var t=function(r,t){if("object"!=i(r)||!r)return r;var n=r[Symbol.toPrimitive];if(void 0!==n){var e=n.call(r,t||"default");if("object"!=i(e))return e;throw new TypeError("@@toPrimitive must return a primitive value.")}return("string"===t?String:Number)(r)}(r,"string");return"symbol"==i(t)?t:t+""}(t))in r?Object.defineProperty(r,t,{value:n,enumerable:!0,configurable:!0,writable:!0}):r[t]=n,r}function s(){var r,t,n="function"==typeof Symbol?Symbol:{},e=n.iterator||"@@iterator",o=n.toStringTag||"@@toStringTag";function u(n,e,o,u){var a=e&&e.prototype instanceof c?e:c,f=Object.create(a.prototype);return l(f,"_invoke",function(n,e,o){var u,c,a,f=0,s=o||[],l=!1,p={p:0,n:0,v:r,a:y,f:y.bind(r,4),d:function(t,n){return u=t,c=0,a=r,p.n=n,i}};function y(n,e){for(c=n,a=e,t=0;!l&&f&&!o&&t<s.length;t++){var o,u=s[t],y=p.p,b=u[2];n>3?(o=b===e)&&(a=u[(c=u[4])?5:(c=3,3)],u[4]=u[5]=r):u[0]<=y&&((o=n<2&&y<u[1])?(c=0,p.v=e,p.n=u[1]):y<b&&(o=n<3||u[0]>e||e>b)&&(u[4]=n,u[5]=e,p.n=b,c=0))}if(o||n>1)return i;throw l=!0,e}return function(o,s,b){if(f>1)throw TypeError("Generator is already running");for(l&&1===s&&y(s,b),c=s,a=b;(t=c<2?r:a)||!l;){u||(c?c<3?(c>1&&(p.n=-1),y(c,a)):p.n=a:p.v=a);try{if(f=2,u){if(c||(o="next"),t=u[o]){if(!(t=t.call(u,a)))throw TypeError("iterator result is not an object");if(!t.done)return t;a=t.value,c<2&&(c=0)}else 1===c&&(t=u.return)&&t.call(u),c<2&&(a=TypeError("The iterator does not provide a '"+o+"' method"),c=1);u=r}else if((t=(l=p.n<0)?a:n.call(e,p))!==i)break}catch(t){u=r,c=1,a=t}finally{f=1}}return{value:t,done:l}}}(n,o,u),!0),f}var i={};function c(){}function a(){}function f(){}t=Object.getPrototypeOf;var p=[][e]?t(t([][e]())):(l(t={},e,function(){return this}),t),y=f.prototype=c.prototype=Object.create(p);function b(r){return Object.setPrototypeOf?Object.setPrototypeOf(r,f):(r.__proto__=f,l(r,o,"GeneratorFunction")),r.prototype=Object.create(y),r}return a.prototype=f,l(y,"constructor",f),l(f,"constructor",a),a.displayName="GeneratorFunction",l(f,o,"GeneratorFunction"),l(y),l(y,o,"Generator"),l(y,e,function(){return this}),l(y,"toString",function(){return"[object Generator]"}),(s=function(){return{w:u,m:b}})()}function l(r,t,n,e){var o=Object.defineProperty;try{o({},"",{})}catch(r){o=0}l=function(r,t,n,e){function u(t,n){l(r,t,function(r){return this._invoke(t,n,r)})}t?o?o(r,t,{value:n,enumerable:!e,configurable:!e,writable:!e}):r[t]=n:(u("next",0),u("throw",1),u("return",2))},l(r,t,n,e)}function p(r,t,n,e,o,u,i){try{var c=r[u](i),a=c.value}catch(r){return void n(r)}c.done?t(a):Promise.resolve(a).then(e,o)}function y(r){return function(){var t=this,n=arguments;return new Promise(function(e,o){var u=r.apply(t,n);function i(r){p(u,e,o,i,c,"next",r)}function c(r){p(u,e,o,i,c,"throw",r)}i(void 0)})}}function b(r,t){return function(r){if(Array.isArray(r))return r}(r)||function(r,t){var n=null==r?null:"undefined"!=typeof Symbol&&r[Symbol.iterator]||r["@@iterator"];if(null!=n){var e,o,u,i,c=[],a=!0,f=!1;try{if(u=(n=n.call(r)).next,0===t){if(Object(n)!==n)return;a=!1}else for(;!(a=(e=u.call(n)).done)&&(c.push(e.value),c.length!==t);a=!0);}catch(r){f=!0,o=r}finally{try{if(!a&&null!=n.return&&(i=n.return(),Object(i)!==i))return}finally{if(f)throw o}}return c}}(r,t)||function(r,t){if(r){if("string"==typeof r)return d(r,t);var n={}.toString.call(r).slice(8,-1);return"Object"===n&&r.constructor&&(n=r.constructor.name),"Map"===n||"Set"===n?Array.from(r):"Arguments"===n||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)?d(r,t):void 0}}(r,t)||function(){throw new TypeError("Invalid attempt to destructure non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}()}function d(r,t){(null==t||t>r.length)&&(t=r.length);for(var n=0,e=Array(t);n<t;n++)e[n]=r[n];return e}const v={useIndexedDB:function(r,t){var n=b((0,u.useState)(null),2),e=n[0],o=n[1];function i(){return(i=y(s().m(function r(n,o){return s().w(function(r){for(;;)switch(r.n){case 0:return r.n=1,d();case 1:return r.a(2,new Promise(function(r,u){var i=e.transaction([t],"readwrite").objectStore(t).add(a({id:n},o));i.onerror=function(){return u(i.error)},i.onsuccess=function(){return r(i.result)}}))}},r)}))).apply(this,arguments)}function c(){return(c=y(s().m(function r(n,o){return s().w(function(r){for(;;)switch(r.n){case 0:return r.n=1,d();case 1:return r.a(2,new Promise(function(r,u){var i=e.transaction([t],"readwrite").objectStore(t),c=i.get(n);c.onerror=function(){return u(c.error)},c.onsuccess=function(){var t=c.result;if(t){var e=a(a({},t),o),f=i.put(e);f.onerror=function(){return u(f.error)},f.onsuccess=function(){return r(f.result)}}else u(new Error("Item with ID ".concat(n," not found")))}}))}},r)}))).apply(this,arguments)}function f(){return(f=y(s().m(function r(n){return s().w(function(r){for(;;)switch(r.n){case 0:return r.n=1,d();case 1:return r.a(2,new Promise(function(r,o){var u=e.transaction([t],"readwrite").objectStore(t).delete(n);u.onerror=function(){return o(u.error)},u.onsuccess=function(){return r(u.result)}}))}},r)}))).apply(this,arguments)}function l(){return(l=y(s().m(function r(n){return s().w(function(r){for(;;)switch(r.n){case 0:return r.n=1,d();case 1:return r.a(2,new Promise(function(r,o){var u=e.transaction([t],"readonly").objectStore(t).get(n);u.onerror=function(){return o(u.error)},u.onsuccess=function(){return r(u.result)}}))}},r)}))).apply(this,arguments)}function p(){return(p=y(s().m(function r(){return s().w(function(r){for(;;)switch(r.n){case 0:return r.n=1,d();case 1:return r.a(2,new Promise(function(r,n){var o=e.transaction([t],"readonly").objectStore(t),u=[],i=o.openCursor();i.onerror=function(){return n(i.error)},i.onsuccess=function(){var t=i.result;t?(u.push(t.value),t.continue()):r(u)}}))}},r)}))).apply(this,arguments)}function d(){return v.apply(this,arguments)}function v(){return(v=y(s().m(function r(){return s().w(function(r){for(;;)switch(r.n){case 0:if(e){r.n=2;break}return r.n=1,new Promise(function(r){return setTimeout(r,100)});case 1:return r.a(2,d());case 2:return r.a(2)}},r)}))).apply(this,arguments)}return(0,u.useEffect)(function(){function n(){return(n=y(s().m(function n(){var e;return s().w(function(n){for(;;)switch(n.n){case 0:(e=window.indexedDB.open(r)).onerror=function(){return console.error("IndexedDB open error:",e.error)},e.onupgradeneeded=function(r){r.target.result.createObjectStore(t,{keyPath:"id"})},e.onsuccess=function(){return o(e.result)};case 1:return n.a(2)}},n)}))).apply(this,arguments)}!function(){n.apply(this,arguments)}()},[r,t]),{add:function(r,t){return i.apply(this,arguments)},update:function(r,t){return c.apply(this,arguments)},remove:function(r){return f.apply(this,arguments)},get:function(r){return l.apply(this,arguments)},getAll:function(){return p.apply(this,arguments)}}}};return o=o.default})());