flexium
Version:
A lightweight, signals-based UI framework with cross-platform renderers
2 lines • 881 B
JavaScript
import {e,b}from'./chunk-Z7JNAX53.mjs';var a=Symbol("store-signals");function g(o,e,s){let t=o[a];t||(t=new Map,Object.defineProperty(o,a,{value:t,enumerable:false}));let n=t.get(e);return n||(n=b(s),t.set(e,n)),n}var S={get(o,e,s){if(e===a)return o[a];let t=Reflect.get(o,e,s);return typeof e=="symbol"?t:(g(o,e,t).value,t&&typeof t=="object"?new Proxy(t,S):t)},set(o,e,s,t){return console.warn("Cannot mutate store directly. Use setStore instead."),true}};function v(o){let e$1=JSON.parse(JSON.stringify(o));return [new Proxy(e$1,S),(...n)=>{e(()=>{let i=e$1;for(let r=0;r<n.length-1;r++){let l=n[r],y=typeof l=="symbol"?l:String(l);if(r===n.length-2){let f=n[r+1];d(i,y,f);}else i=i[y];}});}]}function d(o,e,s){if(o[e]!==s){o[e]=s;let n=o[a];n&&n.has(e)&&(n.get(e).value=s);}}export{v as a};//# sourceMappingURL=chunk-62ZYILPI.mjs.map
//# sourceMappingURL=chunk-62ZYILPI.mjs.map