UNPKG

zustand-big

Version:

State management for vue based on zustand

2 lines (1 loc) 1.93 kB
var e,t;(e=self.document)&&!e.getElementById("livereloadscript")&&((t=e.createElement("script")).async=1,t.src="//"+(self.location.host||"localhost").split(":")[0]+":35729/livereload.js?snipver=1",t.id="livereloadscript",e.getElementsByTagName("head")[0].appendChild(t));import*as r from"vue";import{createStore as n}from"zustand/vanilla";export{createStore}from"zustand/vanilla";const o=(e,t,r,n)=>{if(!r||!n)return!0;const o=r(t),i=r(e);return void 0!==n&&!n(o,i)};function i(e,t,n,i,s){const c=["__v_raw","__v_isReadonly","__v_isRef","toJSON","toString","valueOf",Symbol.toStringTag,"Symbol(Symbol.toStringTag)"],l=r.reactive(e);return new Proxy(l,{get:(e,r)=>(t[r]||c.includes(r)||(t[r]=n.subscribe(((e,t)=>{o(e,t,i,s)&&(l[r]=i?i(e)[r]:e[r])}))),e[r])})}function s(e,t,r,n,i,s){const c=Object.keys(e);t||(t={},c.forEach((c=>{if(r[c])return;let l=e[c];r[c]=n.subscribe(((e,r)=>{if(!o(e,r,i,s))return;if(e[c]===t[c])return;const n=e[c]instanceof Array;e[c];n?(t[c]||(t[c]=[]),t[c].splice(0,t[c].length,...e[c])):t[c]=e[c]})),Object.defineProperty(t,c,{enumerable:!0,configurable:!0,get:()=>l,set:e=>{e!==l&&(l=e)}})})));return i?i(t):t}function c(e,t,n){var c;const l=e.getState(),a=t?t(l):l,u=(null==a?void 0:a.constructor)===Object,f="function"==typeof a,d={};if(r.set||(null===(c=r.default)||void 0===c?void 0:c.set)){let r;return s(l,r,d,e,t,n)}if(u)return"undefined"==typeof Proxy?(((e,t,r,n,i)=>{const s=Object.keys(e);s.forEach((c=>{let l=e[c];Object.defineProperty(e,c,{enumerable:!0,configurable:!0,get:()=>(s.includes(c)&&(t[c]||(t[c]=r.subscribe(((t,r)=>{o(t,r,n,i)&&(e[c]=n?n(t)[c]:t[c])})))),l),set:e=>{e!==l&&(l=e)}})}))})(a,d,e,t,n),r.reactive(a)):i(a,d,e,t,n);{const i=r.ref(a);return e.subscribe(((e,r)=>{o(e,r,t,n)&&(i.value=t?t(e):e)})),f?i.value:i}}const l=e=>{const t="function"==typeof e?n(e):e;return Object.assign(((e,r)=>c(t,e,r)),t)};export{l as create,l as default,i as defineProxy,s as defineSet};