kosha
Version:
⚡A modern, lightweight, fast, and powerful global state management library for modern React.js projects.
2 lines (1 loc) • 1.21 kB
JavaScript
;var d=Object.defineProperty;var m=Object.getOwnPropertyDescriptor;var f=Object.getOwnPropertyNames;var u=Object.prototype.hasOwnProperty;var y=(e,t)=>{for(var r in t)d(e,r,{get:t[r],enumerable:!0})},g=(e,t,r,s)=>{if(t&&typeof t=="object"||typeof t=="function")for(let a of f(t))!u.call(e,a)&&a!==r&&d(e,a,{get:()=>t[a],enumerable:!(s=m(t,a))||s.enumerable});return e};var v=e=>g(d({},"__esModule",{value:!0}),e);var P={};y(P,{immer:()=>w,persist:()=>x});module.exports=v(P);var x=e=>t=>(r,s)=>{let a=!1,S=()=>{let o=localStorage.getItem(e.key);if(!o)return;let n=JSON.parse(o);if(e.version===void 0||e.version===n.version)r(n.state);else if(e.migrate){let i=e.migrate(n.state,n.version);i instanceof Promise?i.then(p=>{r(p)}):r(i)}},l=(o,n)=>{let i={...s(),...o instanceof Function?o(s()):o},p=e.partialize?e.partialize(i):i;localStorage.setItem(e.key,JSON.stringify({state:p,version:e.version})),n?r(i,n):r(i)},T=()=>(!a&&typeof window!="undefined"&&(S(),window.addEventListener("storage",S),a=!0),s());return{...t(l,s),__get:T}};var c=require("immer"),w=e=>(t,r)=>({...e((a,S)=>{let l=r(),T=a instanceof Function?(0,c.produce)(l,a):a;S?t(T,!0):t(T)},r)});0&&(module.exports={immer,persist});