6 lines
5.8 KiB
JavaScript
6 lines
5.8 KiB
JavaScript
import{o as e}from"./request-xrnk7ZJV.js";import{Pr as t}from"./jsx-runtime-OfKoVykY.js";var n=e(t(),1),r=e=>{let t,n=new Set,r=(e,r)=>{let i=typeof e==`function`?e(t):e;if(!Object.is(i,t)){let e=t;t=r??(typeof i!=`object`||!i)?i:Object.assign({},t,i),n.forEach(n=>n(t,e))}},i=()=>t,a={setState:r,getState:i,getInitialState:()=>o,subscribe:e=>(n.add(e),()=>n.delete(e))},o=t=e(r,i,a);return a},i=(e=>e?r(e):r),a=e=>e;function o(e,t=a){let r=n.useSyncExternalStore(e.subscribe,n.useCallback(()=>t(e.getState()),[e,t]),()=>t(e.getInitialState()));return n.useDebugValue(r),r}var s=e=>{let t=i(e),n=e=>o(t,e);return Object.assign(n,t),n},c=(e=>e?s(e):s),l=e=>!!e.dispatchFromDevtools&&typeof e.dispatch==`function`,u=new Map,d=e=>{let t=u.get(e);return t?Object.fromEntries(Object.entries(t.stores).map(([e,t])=>[e,t.getState()])):{}},f=(e,t,n)=>{if(e===void 0)return{type:`untracked`,connection:t.connect(n)};let r=u.get(n.name);if(r)return{type:`tracked`,store:e,...r};let i={connection:t.connect(n),stores:{}};return u.set(n.name,i),{type:`tracked`,store:e,...i}},p=(e,t,n)=>{if(t===void 0)return;let r=u.get(e);r?.stores[t]===n&&(delete r.stores[t],Object.keys(r.stores).length===0&&u.delete(e))},m=/^at (?:new |async )?(.+?) \(/,h=/^([^@]+)@/;function g(e){if(!e)return;let t=e.split(`
|
|
`),n=t.findIndex(e=>e.includes(`api.setState`));if(n<0)return;let r=t[n+1]?.trim()||``;return m.exec(r)?.[1]||h.exec(r)?.[1]}var _=(e,t={})=>(n,r,i)=>{let{enabled:a,anonymousActionType:o,store:s,...c}=t,m;try{m=(a??!1)&&window.__REDUX_DEVTOOLS_EXTENSION__}catch{}if(!m)return e(n,r,i);let{connection:h,..._}=f(s,m,c),y=!0;i.setState=((e,t,a)=>{let l=n(e,t);if(!y)return l;let u=a===void 0?{type:o||g(Error().stack)||`anonymous`}:typeof a==`string`?{type:a}:a;return s===void 0?(h?.send(u,r()),l):(h?.send({...u,type:`${s}/${u.type}`},{...d(c.name),[s]:i.getState()}),l)});let b;i.devtools={cleanup:()=>{b?.(),b=void 0,p(c.name,s,i),(s===void 0||!u.has(c.name))&&h&&typeof h.unsubscribe==`function`&&h.unsubscribe()}};let x=(...e)=>{let t=y;y=!1,n(...e),y=t},S=e(i.setState,r,i);if(_.type===`untracked`?h?.init(S):(_.stores[_.store]=i,h?.init(Object.fromEntries(Object.entries(_.stores).map(([e,t])=>[e,e===_.store?S:t.getState()])))),l(i)){let e=i.dispatch;i.dispatch=(...t)=>{e(...t)}}return b=h.subscribe(e=>{let t=typeof c.serialize==`object`?c.serialize.reviver:void 0;switch(e.type){case`ACTION`:if(typeof e.payload!=`string`){console.error(`[zustand devtools middleware] Unsupported action format`);return}return v(e.payload,t,e=>{if(e.type===`__setState`){if(s===void 0){x(e.state);return}Object.keys(e.state).length!==1&&console.error(`
|
|
[zustand devtools middleware] Unsupported __setState action format.
|
|
When using 'store' option in devtools(), the 'state' should have only one key, which is a value of 'store' that was passed in devtools(),
|
|
and value of this only key should be a state object. Example: { "type": "__setState", "state": { "abc123Store": { "foo": "bar" } } }
|
|
`);let t=e.state[s];if(t==null)return;JSON.stringify(i.getState())!==JSON.stringify(t)&&x(t)}else l(i)&&i.dispatch(e)});case`DISPATCH`:switch(e.payload.type){case`RESET`:return x(S),s===void 0?h?.init(i.getState()):h?.init(d(c.name));case`COMMIT`:if(s===void 0){h?.init(i.getState());return}return h?.init(d(c.name));case`ROLLBACK`:return v(e.state,t,e=>{s===void 0?(x(e),h?.init(i.getState())):(x(e[s]),h?.init(d(c.name)))});case`JUMP_TO_STATE`:case`JUMP_TO_ACTION`:return v(e.state,t,e=>{s===void 0?x(e):JSON.stringify(i.getState())!==JSON.stringify(e[s])&&x(e[s])});case`IMPORT_STATE`:{let{nextLiftedState:t}=e.payload,n=t.computedStates.slice(-1)[0]?.state;if(!n)return;x(s===void 0?n:n[s]),h?.send(null,t);return}case`PAUSE_RECORDING`:return y=!y}return}}),S},v=(e,t,n)=>{let r;try{r=JSON.parse(e,t)}catch(e){console.error(`[zustand devtools middleware] Could not parse the received json`,e)}r!==void 0&&n(r)};function y(e,t){let n;try{n=e()}catch{return}return{getItem:e=>{let r=e=>e===null?null:JSON.parse(e,t?.reviver),i=n.getItem(e)??null;return i instanceof Promise?i.then(r):r(i)},setItem:(e,r)=>n.setItem(e,JSON.stringify(r,t?.replacer)),removeItem:e=>n.removeItem(e)}}var b=e=>t=>{try{let n=e(t);return n instanceof Promise?n:{then(e){return b(e)(n)},catch(e){return this}}}catch(e){return{then(e){return this},catch(t){return b(t)(e)}}}},x=(e,t)=>(n,r,i)=>{let a={storage:y(()=>window.localStorage),partialize:e=>e,version:0,merge:(e,t)=>({...t,...e}),...t},o=!1,s=0,c=new Set,l=new Set,u=a.storage;if(!u)return e((...e)=>{console.warn(`[zustand persist middleware] Unable to update item '${a.name}', the given storage is currently unavailable.`),n(...e)},r,i);let d=()=>{let e=a.partialize({...r()});return u.setItem(a.name,{state:e,version:a.version})},f=i.setState;i.setState=(...e)=>(f(...e),d());let p=e((...e)=>(n(...e),d()),r,i);i.getInitialState=()=>p;let m,h=()=>{if(!u)return;let e=++s;o=!1,c.forEach(e=>e(r()??p));let t=a.onRehydrateStorage?.call(a,r()??p)||void 0;return b(u.getItem.bind(u))(a.name).then(e=>{if(e){if(typeof e.version==`number`&&e.version!==a.version){if(a.migrate){let t=a.migrate(e.state,e.version);return t instanceof Promise?t.then(e=>[!0,e]):[!0,t]}console.error(`State loaded from storage couldn't be migrated since no migrate function was provided`)}else return[!1,e.state]}return[!1,void 0]}).then(t=>{if(e!==s)return;let[i,o]=t;if(m=a.merge(o,r()??p),n(m,!0),i)return d()}).then(()=>{e===s&&(t?.(r(),void 0),m=r(),o=!0,l.forEach(e=>e(m)))}).catch(n=>{e===s&&t?.(void 0,n)})};return i.persist={setOptions:e=>{a={...a,...e},e.storage&&(u=e.storage)},clearStorage:()=>{++s,u?.removeItem(a.name)},getOptions:()=>a,rehydrate:()=>h(),hasHydrated:()=>o,onHydrate:e=>(c.add(e),()=>{c.delete(e)}),onFinishHydration:e=>(l.add(e),()=>{l.delete(e)})},a.skipHydration||h(),m||p};export{c as i,_ as n,x as r,y as t}; |