@vueuse/integrations
Version:
Integration wrappers for utility libraries
1 lines • 1.25 kB
JavaScript
(function(e,t,n,r){var i=Object.create,a=Object.defineProperty,o=Object.getOwnPropertyDescriptor,s=Object.getOwnPropertyNames,c=Object.getPrototypeOf,l=Object.prototype.hasOwnProperty,u=(e,t,n,r)=>{if(t&&typeof t==`object`||typeof t==`function`)for(var i=s(t),c=0,u=i.length,d;c<u;c++)d=i[c],!l.call(e,d)&&d!==n&&a(e,d,{get:(e=>t[e]).bind(null,d),enumerable:!(r=o(t,d))||r.enumerable});return e},d=(e,t,n)=>(n=e==null?{}:i(c(e)),u(t||!e||!e.__esModule?a(n,`default`,{value:e,enumerable:!0}):n,e));t=d(t),n=d(n),r=d(r);function f(e,i,a={}){let{flush:o=`pre`,deep:s=!0,shallow:c=!1,onError:l=e=>{console.error(e)},writeDefaults:u=!0,serializer:d={read:e=>e,write:e=>e}}=a,f=(0,r.shallowRef)(!1),p=(c?r.shallowRef:r.ref)(i),m=(0,r.toValue)(i);async function h(){try{let t=await(0,n.get)(e);t===void 0?m!=null&&u&&await(0,n.set)(e,d.write(m)):p.value=d.read(t)}catch(e){l(e)}f.value=!0}h();async function g(){try{if(p.value==null)await(0,n.del)(e);else{let t=(0,r.toRaw)(p.value),i=d.write(t);await(0,n.update)(e,()=>i)}}catch(e){l(e)}}let{pause:_,resume:v}=(0,t.watchPausable)(p,()=>g(),{flush:o,deep:s});async function y(e){_(),p.value=e,await g(),v()}return{set:y,isFinished:f,data:p}}e.useIDBKeyval=f})(this.VueUse=this.VueUse||{},VueUse,idbKeyval,Vue);