@biglogic/rgs 2.9.1 → 2.9.3

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/README.md CHANGED
@@ -101,7 +101,7 @@ Best for modern applications. Clean imports, zero global pollution.
101
101
  ```tsx
102
102
  import { gstate } from '@biglogic/rgs'
103
103
 
104
- // Create store and hook in one line
104
+ // gstate CREA un hook personalizzato - NON si importa!
105
105
  const useCounter = gstate({ count: 0 })
106
106
 
107
107
  // In your component
@@ -114,7 +114,7 @@ Best for shared state across the entire application.
114
114
 
115
115
  ```tsx
116
116
  // 1. Initialize once
117
- import { initState } from '@biglogic/rgs'
117
+ import { initState, useStore } from '@biglogic/rgs'
118
118
  initState({ namespace: 'app' })
119
119
 
120
120
  // 2. Use anywhere
package/advanced.js CHANGED
@@ -1 +1 @@
1
- import{createStore as o,StorageAdapters as r}from"./core/store";import*as s from"./core/security";const S=(e,t)=>o({...t,storage:e}),i=e=>o({...e,storage:r.memory()}),c=e=>{const t=r.session();return t?o({...e,storage:t}):null};export{s as Security,r as StorageAdapters,i as createMemoryStore,c as createSessionStore,o as createStore,S as createStoreWithStorage};
1
+ var Lt=Object.defineProperty;var At=(e,t)=>()=>(t||e((t={exports:{}}).exports,t),t.exports),Jt=(e,t)=>{for(var r in t)Lt(e,r,{get:t[r],enumerable:!0})};var Wt=At((Or,Nt)=>{"use strict";var ht=Object.defineProperty,Xt=Object.getOwnPropertyDescriptor,Zt=Object.getOwnPropertyNames,Yt=Object.prototype.hasOwnProperty,er=(e,t)=>{for(var r in t)ht(e,r,{get:t[r],enumerable:!0})},tr=(e,t,r,n)=>{if(t&&typeof t=="object"||typeof t=="function")for(let s of Zt(t))!Yt.call(e,s)&&s!==r&&ht(e,s,{get:()=>t[s],enumerable:!(n=Xt(t,s))||n.enumerable});return e},rr=e=>tr(ht({},"__esModule",{value:!0}),e),Rt={};er(Rt,{Immer:()=>Vt,applyPatches:()=>Cr,castDraft:()=>_r,castImmutable:()=>Pr,createDraft:()=>Er,current:()=>Ut,enableArrayMethods:()=>Sr,enableMapSet:()=>mr,enablePatches:()=>yr,finishDraft:()=>Mr,freeze:()=>Ke,immerable:()=>se,isDraft:()=>L,isDraftable:()=>K,nothing:()=>Fe,original:()=>or,produce:()=>wr,produceWithPatches:()=>br,setAutoFreeze:()=>vr,setUseStrictIteration:()=>xr,setUseStrictShallowCopy:()=>Ar});Nt.exports=rr(Rt);var Fe=Symbol.for("immer-nothing"),se=Symbol.for("immer-draftable"),E=Symbol.for("immer-state");function T(e,...t){throw new Error(`[Immer] minified error nr: ${e}. Full error at: https://bit.ly/3cXEKWf`)}var F=Object,re=F.getPrototypeOf,ge="constructor",be="prototype",ut="configurable",ze="enumerable",De="writable",he="value",L=e=>!!e&&!!e[E];function K(e){return e?It(e)||ve(e)||!!e[se]||!!e[ge]?.[se]||Ae(e)||xe(e):!1}var nr=F[be][ge].toString(),Ct=new WeakMap;function It(e){if(!e||!ie(e))return!1;let t=re(e);if(t===null||t===F[be])return!0;let r=F.hasOwnProperty.call(t,ge)&&t[ge];if(r===Object)return!0;if(!te(r))return!1;let n=Ct.get(r);return n===void 0&&(n=Function.toString.call(r),Ct.set(r,n)),n===nr}function or(e){return L(e)||T(15,e),e[E].t}function ae(e,t,r=!0){ne(e)===0?(r?Reflect.ownKeys(e):F.keys(e)).forEach(n=>{t(n,e[n],e)}):e.forEach((n,s)=>t(s,n,e))}function ne(e){let t=e[E];return t?t.r:ve(e)?1:Ae(e)?2:xe(e)?3:0}var pe=(e,t,r=ne(e))=>r===2?e.has(t):F[be].hasOwnProperty.call(e,t),X=(e,t,r=ne(e))=>r===2?e.get(t):e[t],je=(e,t,r,n=ne(e))=>{n===2?e.set(t,r):n===3?e.add(r):e[t]=r};function sr(e,t){return e===t?e!==0||1/e===1/t:e!==e&&t!==t}var ve=Array.isArray,Ae=e=>e instanceof Map,xe=e=>e instanceof Set,ie=e=>typeof e=="object",te=e=>typeof e=="function",lt=e=>typeof e=="boolean";function ir(e){let t=+e;return Number.isInteger(t)&&String(t)===e}var Ot=e=>ie(e)?e?.[E]:null,z=e=>e.e||e.t,ar=e=>{let t=Ot(e);return t?t.e??t.t:e},yt=e=>e.s?e.e:e.t;function ft(e,t){if(Ae(e))return new Map(e);if(xe(e))return new Set(e);if(ve(e))return Array[be].slice.call(e);let r=It(e);if(t===!0||t==="class_only"&&!r){let n=F.getOwnPropertyDescriptors(e);delete n[E];let s=Reflect.ownKeys(n);for(let l=0;l<s.length;l++){let g=s[l],x=n[g];x[De]===!1&&(x[De]=!0,x[ut]=!0),(x.get||x.set)&&(n[g]={[ut]:!0,[De]:!0,[ze]:x[ze],[he]:e[g]})}return F.create(re(e),n)}else{let n=re(e);if(n!==null&&r)return{...e};let s=F.create(n);return F.assign(s,e)}}function Ke(e,t=!1){return Be(e)||L(e)||!K(e)||(ne(e)>1&&F.defineProperties(e,{set:Oe,add:Oe,clear:Oe,delete:Oe}),F.freeze(e),t&&ae(e,(r,n)=>{Ke(n,!0)},!1)),e}function lr(){T(2)}var Oe={[he]:lr};function Be(e){return e===null||!ie(e)?!0:F.isFrozen(e)}var ye="MapSet",Te="Patches",pt="ArrayMethods",Ve={};function oe(e){let t=Ve[e];return t||T(0,e),t}var Et=e=>!!Ve[e];function mt(e,t){Ve[e]||(Ve[e]=t)}var me,Ue=()=>me,cr=(e,t)=>({o:[],i:e,l:t,F:!0,m:0,P:new Set,T:new Set,I:Et(ye)?oe(ye):void 0,E:Et(pt)?oe(pt):void 0});function Mt(e,t){t&&(e.x=oe(Te),e.y=[],e.d=[],e.C=t)}function dt(e){gt(e),e.o.forEach(ur),e.o=null}function gt(e){e===me&&(me=e.i)}var _t=e=>me=cr(me,e);function ur(e){let t=e[E];t.r===0||t.r===1?t.b():t.g=!0}function Pt(e,t){t.m=t.o.length;let r=t.o[0];if(e!==void 0&&e!==r){r[E].s&&(dt(t),T(4)),K(e)&&(e=kt(t,e));let{x:n}=t;n&&n.M(r[E].t,e,t)}else e=kt(t,r);return fr(t,e,!0),dt(t),t.y&&t.C(t.y,t.d),e!==Fe?e:void 0}function kt(e,t){if(Be(t))return t;let r=t[E];if(!r)return Ne(t,e.P,e);if(!Le(r,e))return t;if(!r.s)return r.t;if(!r.u){let{f:n}=r;if(n)for(;n.length>0;)n.pop()(e);jt(r,e)}return r.e}function fr(e,t,r=!1){!e.i&&e.l.h&&e.F&&Ke(t,r)}function Dt(e){e.u=!0,e.a.m--}var Le=(e,t)=>e.a===t,pr=[];function zt(e,t,r,n){let s=z(e),l=e.r;if(n!==void 0&&X(s,n,l)===t){je(s,n,r,l);return}if(!e.D){let x=e.D=new Map;ae(s,(v,a)=>{if(L(a)){let u=x.get(a)||[];u.push(v),x.set(a,u)}})}let g=e.D.get(t)??pr;for(let x of g)je(s,x,r,l)}function dr(e,t,r){e.f.push(function(n){let s=t;if(!s||!Le(s,n))return;n.I?.fixSetContents(s);let l=yt(s);zt(e,s.c??s,l,r),jt(s,n)})}function jt(e,t){if(e.s&&!e.u&&(e.r===3||e.r===1&&e.R||(e.n?.size??0)>0)){let{x:r}=t;if(r){let n=r.getPath(e);n&&r.O(e,n,t)}Dt(e)}}function $e(e,t,r){let{a:n}=e;if(L(r)){let s=r[E];Le(s,n)&&s.f.push(function(){de(e);let l=yt(s);zt(e,r,l,t)})}else K(r)&&e.f.push(function(){let s=z(e);e.r===3?s.has(r)&&Ne(r,n.P,n):X(s,t,e.r)===r&&n.o.length>1&&(e.n.get(t)??!1)===!0&&e.e&&Ne(X(e.e,t,e.r),n.P,n)})}function Ne(e,t,r){return!r.l.h&&r.m<1||L(e)||t.has(e)||!K(e)||Be(e)||(t.add(e),ae(e,(n,s)=>{if(L(s)){let l=s[E];if(Le(l,r)){let g=yt(l);je(e,n,g,e.r),Dt(l)}}else K(s)&&Ne(s,t,r)})),e}function gr(e,t){let r=ve(e),n={r:r?1:0,a:t?t.a:Ue(),s:!1,u:!1,n:void 0,i:t,t:e,c:null,e:null,b:null,S:!1,f:void 0},s=n,l=We;r&&(s=[n],l=Se);let{revoke:g,proxy:x}=Proxy.revocable(s,l);return n.c=x,n.b=g,[x,n]}var We={get(e,t){if(t===E)return e;let r=e.a.E,n=e.r===1&&typeof t=="string";if(n&&r?.isArrayOperationMethod(t))return r.createMethodInterceptor(e,t);let s=z(e);if(!pe(s,t,e.r))return hr(e,s,t);let l=s[t];if(e.u||!K(l)||n&&e.operationMethod&&r?.isMutatingArrayMethod(e.operationMethod)&&ir(t))return l;if(l===ct(e.t,t)){de(e);let g=e.r===1?+t:t,x=we(e.a,l,e,g);return e.e[g]=x}return l},has(e,t){return t in z(e)},ownKeys(e){return Reflect.ownKeys(z(e))},set(e,t,r){let n=Tt(z(e),t);if(n?.set)return n.set.call(e.c,r),!0;if(!e.s){let s=ct(z(e),t),l=s?.[E];if(l&&l.t===r)return e.e[t]=r,e.n.set(t,!1),!0;if(sr(r,s)&&(r!==void 0||pe(e.t,t,e.r)))return!0;de(e),H(e)}return e.e[t]===r&&(r!==void 0||t in e.e)||Number.isNaN(r)&&Number.isNaN(e.e[t])||(e.e[t]=r,e.n.set(t,!0),$e(e,t,r)),!0},deleteProperty(e,t){return de(e),ct(e.t,t)!==void 0||t in e.t?(e.n.set(t,!1),H(e)):e.n.delete(t),e.e&&delete e.e[t],!0},getOwnPropertyDescriptor(e,t){let r=z(e),n=Reflect.getOwnPropertyDescriptor(r,t);return n&&{[De]:!0,[ut]:e.r!==1||t!=="length",[ze]:n[ze],[he]:r[t]}},defineProperty(){T(11)},getPrototypeOf(e){return re(e.t)},setPrototypeOf(){T(12)}},Se={};for(let e in We){let t=We[e];Se[e]=function(){let r=arguments;return r[0]=r[0][0],t.apply(this,r)}}Se.deleteProperty=function(e,t){return Se.set.call(this,e,t,void 0)};Se.set=function(e,t,r){return We.set.call(this,e[0],t,r,e[0])};function ct(e,t){let r=e[E];return(r?z(r):e)[t]}function hr(e,t,r){let n=Tt(t,r);return n?he in n?n[he]:n.get?.call(e.c):void 0}function Tt(e,t){if(!(t in e))return;let r=re(e);for(;r;){let n=Object.getOwnPropertyDescriptor(r,t);if(n)return n;r=re(r)}}function H(e){e.s||(e.s=!0,e.i&&H(e.i))}function de(e){e.e||(e.n=new Map,e.e=ft(e.t,e.a.l.A))}var Vt=class{constructor(e){this.h=!0,this.A=!1,this._=!1,this.produce=(t,r,n)=>{if(te(t)&&!te(r)){let l=r;r=t;let g=this;return function(x=l,...v){return g.produce(x,a=>r.call(this,a,...v))}}te(r)||T(6),n!==void 0&&!te(n)&&T(7);let s;if(K(t)){let l=_t(this),g=we(l,t,void 0),x=!0;try{s=r(g),x=!1}finally{x?dt(l):gt(l)}return Mt(l,n),Pt(s,l)}else if(!t||!ie(t)){if(s=r(t),s===void 0&&(s=t),s===Fe&&(s=void 0),this.h&&Ke(s,!0),n){let l=[],g=[];oe(Te).M(t,s,{y:l,d:g}),n(l,g)}return s}else T(1,t)},this.produceWithPatches=(t,r)=>{if(te(t))return(l,...g)=>this.produceWithPatches(l,x=>t(x,...g));let n,s;return[this.produce(t,r,(l,g)=>{n=l,s=g}),n,s]},lt(e?.autoFreeze)&&this.setAutoFreeze(e.autoFreeze),lt(e?.useStrictShallowCopy)&&this.setUseStrictShallowCopy(e.useStrictShallowCopy),lt(e?.useStrictIteration)&&this.setUseStrictIteration(e.useStrictIteration)}createDraft(e){K(e)||T(8),L(e)&&(e=Ut(e));let t=_t(this),r=we(t,e,void 0);return r[E].S=!0,gt(t),r}finishDraft(e,t){let r=e&&e[E];(!r||!r.S)&&T(9);let{a:n}=r;return Mt(n,t),Pt(void 0,n)}setAutoFreeze(e){this.h=e}setUseStrictShallowCopy(e){this.A=e}setUseStrictIteration(e){this._=e}shouldUseStrictIteration(){return this._}applyPatches(e,t){let r;for(r=t.length-1;r>=0;r--){let s=t[r];if(s.path.length===0&&s.op==="replace"){e=s.value;break}}r>-1&&(t=t.slice(r+1));let n=oe(Te).N;return L(e)?n(e,t):this.produce(e,s=>n(s,t))}};function we(e,t,r,n){let[s,l]=Ae(t)?oe(ye).w(t,r):xe(t)?oe(ye).V(t,r):gr(t,r);return(r?.a??Ue()).o.push(s),l.f=r?.f??[],l.p=n,r&&n!==void 0?dr(r,l,n):l.f.push(function(g){g.I?.fixSetContents(l);let{x}=g;l.s&&x&&x.O(l,[],g)}),s}function Ut(e){return L(e)||T(10,e),$t(e)}function $t(e){if(!K(e)||Be(e))return e;let t=e[E],r,n=!0;if(t){if(!t.s)return t.t;t.u=!0,r=ft(e,t.a.l.A),n=t.a.l.shouldUseStrictIteration()}else r=ft(e,!0);return ae(r,(s,l)=>{je(r,s,$t(l))},n),t&&(t.u=!1),r}function yr(){function e(p,S=[]){if(p.p!==void 0){let C=p.i.e??p.i.t,m=Ot(X(C,p.p)),R=X(C,p.p);if(R===void 0||R!==p.c&&R!==p.t&&R!==p.e||m!=null&&m.t!==p.t)return null;let I=p.i.r===3,A;if(I){let i=p.i;A=Array.from(i.o.keys()).indexOf(p.p)}else A=p.p;if(!(I&&C.size>A||pe(C,A)))return null;S.push(A)}if(p.i)return e(p.i,S);S.reverse();try{t(p.e,S)}catch{return null}return S}function t(p,S){let C=p;for(let m=0;m<S.length-1;m++){let R=S[m];if(C=X(C,R),!ie(C)||C===null)throw new Error(`Cannot resolve path at '${S.join("/")}'`)}return C}let r="replace",n="add",s="remove";function l(p,S,C){if(p.a.T.has(p))return;p.a.T.add(p);let{y:m,d:R}=C;switch(p.r){case 0:case 2:return x(p,S,m,R);case 1:return g(p,S,m,R);case 3:return v(p,S,m,R)}}function g(p,S,C,m){let{t:R,n:I}=p,A=p.e;A.length<R.length&&([R,A]=[A,R],[C,m]=[m,C]);let i=p.R===!0;for(let d=0;d<R.length;d++){let h=A[d],w=R[d];if((i||I?.get(d.toString()))&&h!==w){let _=h?.[E];if(_&&_.s)continue;let j=S.concat([d]);C.push({op:r,path:j,value:D(h)}),m.push({op:r,path:j,value:D(w)})}}for(let d=R.length;d<A.length;d++){let h=S.concat([d]);C.push({op:n,path:h,value:D(A[d])})}for(let d=A.length-1;R.length<=d;--d){let h=S.concat([d]);m.push({op:s,path:h})}}function x(p,S,C,m){let{t:R,e:I,r:A}=p;ae(p.n,(i,d)=>{let h=X(R,i,A),w=X(I,i,A),_=d?pe(R,i)?r:n:s;if(h===w&&_===r)return;let j=S.concat(i);C.push(_===s?{op:_,path:j}:{op:_,path:j,value:D(w)}),m.push(_===n?{op:s,path:j}:_===s?{op:n,path:j,value:D(h)}:{op:r,path:j,value:D(h)})})}function v(p,S,C,m){let{t:R,e:I}=p,A=0;R.forEach(i=>{if(!I.has(i)){let d=S.concat([A]);C.push({op:s,path:d,value:i}),m.unshift({op:n,path:d,value:i})}A++}),A=0,I.forEach(i=>{if(!R.has(i)){let d=S.concat([A]);C.push({op:n,path:d,value:i}),m.unshift({op:s,path:d,value:i})}A++})}function a(p,S,C){let{y:m,d:R}=C;m.push({op:r,path:[],value:S===Fe?void 0:S}),R.push({op:r,path:[],value:p})}function u(p,S){return S.forEach(C=>{let{path:m,op:R}=C,I=p;for(let h=0;h<m.length-1;h++){let w=ne(I),_=m[h];typeof _!="string"&&typeof _!="number"&&(_=""+_),(w===0||w===1)&&(_==="__proto__"||_===ge)&&T(19),te(I)&&_===be&&T(19),I=X(I,_),ie(I)||T(18,m.join("/"))}let A=ne(I),i=M(C.value),d=m[m.length-1];switch(R){case r:switch(A){case 2:return I.set(d,i);case 3:T(16);default:return I[d]=i}case n:switch(A){case 1:return d==="-"?I.push(i):I.splice(d,0,i);case 2:return I.set(d,i);case 3:return I.add(i);default:return I[d]=i}case s:switch(A){case 1:return I.splice(d,1);case 2:return I.delete(d);case 3:return I.delete(C.value);default:return delete I[d]}default:T(17,R)}}),p}function M(p){if(!K(p))return p;if(ve(p))return p.map(M);if(Ae(p))return new Map(Array.from(p.entries()).map(([C,m])=>[C,M(m)]));if(xe(p))return new Set(Array.from(p).map(M));let S=Object.create(re(p));for(let C in p)S[C]=M(p[C]);return pe(p,se)&&(S[se]=p[se]),S}function D(p){return L(p)?M(p):p}mt(Te,{N:u,O:l,M:a,getPath:e})}function mr(){class e extends Map{constructor(a,u){super(),this[E]={r:2,i:u,a:u?u.a:Ue(),s:!1,u:!1,e:void 0,n:void 0,t:a,c:this,S:!1,g:!1,f:[]}}get size(){return z(this[E]).size}has(a){return z(this[E]).has(a)}set(a,u){let M=this[E];return g(M),(!z(M).has(a)||z(M).get(a)!==u)&&(r(M),H(M),M.n.set(a,!0),M.e.set(a,u),M.n.set(a,!0),$e(M,a,u)),this}delete(a){if(!this.has(a))return!1;let u=this[E];return g(u),r(u),H(u),u.t.has(a)?u.n.set(a,!1):u.n.delete(a),u.e.delete(a),!0}clear(){let a=this[E];g(a),z(a).size&&(r(a),H(a),a.n=new Map,ae(a.t,u=>{a.n.set(u,!1)}),a.e.clear())}forEach(a,u){let M=this[E];z(M).forEach((D,p,S)=>{a.call(u,this.get(p),p,this)})}get(a){let u=this[E];g(u);let M=z(u).get(a);if(u.u||!K(M)||M!==u.t.get(a))return M;let D=we(u.a,M,u,a);return r(u),u.e.set(a,D),D}keys(){return z(this[E]).keys()}values(){let a=this.keys();return{[Symbol.iterator]:()=>this.values(),next:()=>{let u=a.next();return u.done?u:{done:!1,value:this.get(u.value)}}}}entries(){let a=this.keys();return{[Symbol.iterator]:()=>this.entries(),next:()=>{let u=a.next();if(u.done)return u;let M=this.get(u.value);return{done:!1,value:[u.value,M]}}}}[Symbol.iterator](){return this.entries()}}function t(v,a){let u=new e(v,a);return[u,u[E]]}function r(v){v.e||(v.n=new Map,v.e=new Map(v.t))}class n extends Set{constructor(a,u){super(),this[E]={r:3,i:u,a:u?u.a:Ue(),s:!1,u:!1,e:void 0,t:a,c:this,o:new Map,g:!1,S:!1,n:void 0,f:[]}}get size(){return z(this[E]).size}has(a){let u=this[E];return g(u),u.e?!!(u.e.has(a)||u.o.has(a)&&u.e.has(u.o.get(a))):u.t.has(a)}add(a){let u=this[E];return g(u),this.has(a)||(l(u),H(u),u.e.add(a),$e(u,a,a)),this}delete(a){if(!this.has(a))return!1;let u=this[E];return g(u),l(u),H(u),u.e.delete(a)||(u.o.has(a)?u.e.delete(u.o.get(a)):!1)}clear(){let a=this[E];g(a),z(a).size&&(l(a),H(a),a.e.clear())}values(){let a=this[E];return g(a),l(a),a.e.values()}entries(){let a=this[E];return g(a),l(a),a.e.entries()}keys(){return this.values()}[Symbol.iterator](){return this.values()}forEach(a,u){let M=this.values(),D=M.next();for(;!D.done;)a.call(u,D.value,D.value,this),D=M.next()}}function s(v,a){let u=new n(v,a);return[u,u[E]]}function l(v){v.e||(v.e=new Set,v.t.forEach(a=>{if(K(a)){let u=we(v.a,a,v,a);v.o.set(a,u),v.e.add(u)}else v.e.add(a)}))}function g(v){v.g&&T(3,JSON.stringify(z(v)))}function x(v){if(v.r===3&&v.e){let a=new Set(v.e);v.e.clear(),a.forEach(u=>{v.e.add(ar(u))})}}mt(ye,{w:t,V:s,fixSetContents:x})}function Sr(){let e=new Set(["shift","unshift"]),t=new Set(["push","pop"]),r=new Set([...t,...e]),n=new Set(["reverse","sort"]),s=new Set([...r,...n,"splice"]),l=new Set(["find","findLast"]),g=new Set(["filter","slice","concat","flat",...l,"findIndex","findLastIndex","some","every","indexOf","lastIndexOf","includes","join","toString","toLocaleString"]);function x(i){return s.has(i)}function v(i){return g.has(i)}function a(i){return x(i)||v(i)}function u(i,d){i.operationMethod=d}function M(i){i.operationMethod=void 0}function D(i,d,h=!0){de(i);let w=d();return H(i),h&&i.n.set("length",!0),w}function p(i){i.R=!0}function S(i,d){return i<0?Math.max(d+i,0):Math.min(i,d)}function C(i,d,h){for(let w=0;w<h.length;w++){let _=d+w;i.n.set(_,!0),$e(i,_,h[w])}}function m(i,d,h){return D(i,()=>{let w=i.e.length,_=i.e[d](...h);return e.has(d)&&p(i),d==="push"&&h.length>0?C(i,w,h):d==="unshift"&&h.length>0&&C(i,0,h),r.has(d)?_:i.c})}function R(i,d,h){return D(i,()=>(i.e[d](...h),p(i),i.c),!1)}function I(i,d){return function(...h){let w=d;u(i,w);try{if(x(w)){if(r.has(w))return m(i,w,h);if(n.has(w))return R(i,w,h);if(w==="splice"){let _=D(i,()=>i.e.splice(...h));if(p(i),h.length>2){let j=S(h[0]??0,i.e.length);C(i,j,h.slice(2))}return _}}else return A(i,w,h)}finally{M(i)}}}function A(i,d,h){let w=z(i);if(d==="filter"){let _=h[0],j=[];for(let N=0;N<w.length;N++)_(w[N],N,w)&&j.push(i.c[N]);return j}if(l.has(d)){let _=h[0],j=d==="find",N=j?1:-1,J=j?0:w.length-1;for(let W=J;W>=0&&W<w.length;W+=N)if(_(w[W],W,w))return i.c[W];return}if(d==="slice"){let _=h[0]??0,j=h[1]??w.length,N=S(_,w.length),J=S(j,w.length),W=[];for(let Z=N;Z<J;Z++)W.push(i.c[Z]);return W}return w[d](...h)}mt(pt,{createMethodInterceptor:I,isArrayOperationMethod:a,isMutatingArrayMethod:x})}var $=new Vt,wr=$.produce,br=$.produceWithPatches.bind($),vr=$.setAutoFreeze.bind($),Ar=$.setUseStrictShallowCopy.bind($),xr=$.setUseStrictIteration.bind($),Cr=$.applyPatches.bind($),Er=$.createDraft.bind($),Mr=$.finishDraft.bind($),_r=e=>e,Pr=e=>e});var Kt=At((zr,Ft)=>{"use strict";Ft.exports=Wt()});var at={};Jt(at,{addAccessRule:()=>Re,decrypt:()=>Ye,deleteUserData:()=>it,encrypt:()=>Ze,exportKey:()=>Ht,exportUserData:()=>st,generateEncryptionKey:()=>Gt,getConsents:()=>ot,hasConsent:()=>rt,hasPermission:()=>fe,importKey:()=>qt,isAuditActive:()=>et,isCryptoAvailable:()=>xt,logAudit:()=>ue,recordConsent:()=>Ie,revokeConsent:()=>nt,sanitizeValue:()=>ce,setAuditLogger:()=>Qt,validateKey:()=>tt});var xt=typeof crypto<"u"&&typeof crypto.subtle<"u"&&typeof crypto.subtle.generateKey=="function",Gt=async()=>{if(!xt)throw new Error("Web Crypto API not available");let e=await crypto.subtle.generateKey({name:"AES-GCM",length:256},!0,["encrypt","decrypt"]),t=crypto.getRandomValues(new Uint8Array(12));return{key:e,iv:t}},Ht=async e=>{let t=await crypto.subtle.exportKey("raw",e.key);return{key:btoa(String.fromCharCode(...new Uint8Array(t))),iv:btoa(String.fromCharCode(...e.iv))}},qt=async(e,t)=>{let r=Uint8Array.from(atob(e),l=>l.charCodeAt(0)),n=Uint8Array.from(atob(t),l=>l.charCodeAt(0));return{key:await crypto.subtle.importKey("raw",r,{name:"AES-GCM",length:256},!0,["encrypt","decrypt"]),iv:n}},Ze=async(e,t)=>{let r=new TextEncoder,n=r.encode(JSON.stringify(e)),s=await crypto.subtle.encrypt({name:"AES-GCM",iv:t.iv},t.key,n),l=new Uint8Array(t.iv.length+s.byteLength);return l.set(t.iv),l.set(new Uint8Array(s),t.iv.length),btoa(String.fromCharCode(...l))},Ye=async(e,t)=>{let r=Uint8Array.from(atob(e),g=>g.charCodeAt(0)),n=r.slice(0,12),s=r.slice(12),l=await crypto.subtle.decrypt({name:"AES-GCM",iv:n},t.key,s);return JSON.parse(new TextDecoder().decode(l))},ke=null,Qt=e=>{ke=e},et=()=>ke!==null,ue=e=>{ke&&ke(e)},Re=(e,t,r)=>{e.set(t instanceof RegExp?t.source:t,r)},fe=(e,t,r,n)=>{if(e.size===0)return!0;for(let[s,l]of e){let g;if(typeof s=="function")g=s(t,n);else try{g=new RegExp(s).test(t)}catch{continue}if(g)return l.includes(r)||l.includes("admin")}return!1},ce=e=>{if(typeof e=="string")return e.replace(/<script\b[^<]*(?:(?!<\/script>)<[^<]*)*<\/script>/gi,"").replace(/javascript:/gi,"[REMOVED]").replace(/on\w+\s*=/gi,"[REMOVED]=").replace(/<iframe\b[^<]*(?:(?!<\/iframe>)<[^<]*)*<\/iframe>/gi,"").replace(/<object\b[^<]*(?:(?!<\/object>)<[^<]*)*<\/object>/gi,"").replace(/<embed\b[^<]*(?:(?!<\/embed>)<[^<]*)*<\/embed>/gi,"").replace(/<svg\b[^<]*(?:(?!<\/svg>)<[^<]*)*<\/svg>/gi,"").replace(/<foreignObject\b[^<]*(?:(?!<\/foreignObject>)<[^<]*)*<\/foreignObject>/gi,"").replace(/<math\b[^<]*(?:(?!<\/math>)<[^<]*)*<\/math>/gi,"").replace(/<\?php\b[^<]*(?:(?!<\?php>)<[^<]*)*<\?php>/gi,"").replace(/&/g,"&").replace(/</g,"<").replace(/>/g,">").replace(/"/g,'"').replace(/'/g,"&#x27;").replace(/`/g,"&#x60;");if(e&&typeof e=="object"&&!Array.isArray(e)){let t={};for(let[r,n]of Object.entries(e))t[r]=ce(n);return t}return Array.isArray(e)?e.map(t=>ce(t)):e},tt=e=>/^[a-zA-Z0-9_.-]+$/.test(e)&&e.length<=256,Ie=(e,t,r,n)=>{let s={id:crypto.randomUUID(),purpose:r,granted:n,timestamp:Date.now()},l=e.get(t)||[];return l.push(s),e.set(t,l),ue({timestamp:Date.now(),action:"set",key:`consent:${r}`,userId:t,success:!0}),s},rt=(e,t,r)=>{let n=e.get(t);if(!n)return!1;for(let s=n.length-1;s>=0;s--){let l=n[s];if(l&&l.purpose===r)return l.granted}return!1},nt=(e,t,r)=>Ie(e,t,r,!1),ot=(e,t)=>e.get(t)||[],st=(e,t)=>({userId:t,exportedAt:Date.now(),consents:e.get(t)||[]}),it=(e,t)=>{let r=e.get(t)?.length||0;return e.delete(t),{success:!0,deletedConsents:r}};var St=null,Ce=null,kr=()=>{if(!St)try{let e=Kt();St=e.produce,Ce=e.freeze}catch(e){throw console.error("[gState] Immer not installed. Run: npm install immer"),e}},He={local:()=>typeof window<"u"?window.localStorage:null,session:()=>typeof window<"u"?window.sessionStorage:null,memory:()=>{let e=new Map;return{getItem:t=>e.get(t)||null,setItem:(t,r)=>e.set(t,r),removeItem:t=>e.delete(t),key:t=>Array.from(e.keys())[t]||null,get length(){return e.size}}}},Je=e=>{if(e===null||typeof e!="object")return e;if(typeof structuredClone=="function")try{return structuredClone(e)}catch{}let t=new WeakMap,r=n=>{if(n===null||typeof n!="object")return n;if(t.has(n))return t.get(n);if(n instanceof Date)return new Date(n.getTime());if(n instanceof RegExp)return new RegExp(n.source,n.flags);let s=Array.isArray(n)?[]:Object.create(Object.getPrototypeOf(n));if(t.set(n,s),Array.isArray(n))for(let l=0;l<n.length;l++)s[l]=r(n[l]);else for(let l of Object.keys(n))s[l]=r(n[l]);return s};return r(e)},Ge=(e,t)=>{if(e===t)return!0;if(e===null||t===null||typeof e!="object"||typeof t!="object")return e===t;if(Array.isArray(e)&&Array.isArray(t)){if(e.length!==t.length)return!1;for(let s=0;s<e.length;s++)if(!Ge(e[s],t[s]))return!1;return!0}let r=Object.keys(e),n=Object.keys(t);if(r.length!==n.length)return!1;for(let s of r)if(!n.includes(s)||!Ge(e[s],t[s]))return!1;return!0},qe=e=>{let t=new Map,r=new Map,n=new Map,s=new Set,l=new Map,g=new Set,x=new Map,v=new Map,a=new Map,u=new Map,M=new Map,D=new Map,p=new Map,S=new Map,C=e?.namespace||"gstate",m=e?.silent??!1,R=e?.debounceTime??150,I=e?.version??0,A=e?.storage||He.local(),i=e?.onError,d=e?.maxObjectSize??5*1024*1024,h=e?.maxTotalSize??50*1024*1024,w=e?.encryptionKey??null,_=e?.validateInput??!0,j=e?.auditEnabled??!0,N=e?.userId,J=e?.immer??!0;J&&kr(),e?.accessRules&&e.accessRules.forEach(o=>Re(p,o.pattern,o.permissions));let W=!1,Z=!1,Ee=!1,G=0,Qe=null,Me,Bt=new Promise(o=>{Me=o}),Xe=o=>{if(o==null)return 0;let c=0,f=[o],y=new WeakSet;for(;f.length>0;){let P=f.pop();if(typeof P=="boolean")c+=4;else if(typeof P=="number")c+=8;else if(typeof P=="string")c+=P.length*2;else if(typeof P=="object"&&P!==null){let b=P;if(y.has(b))continue;if(y.add(b),Array.isArray(b))for(let k=0;k<b.length;k++)f.push(b[k]);else for(let k of Object.keys(b))c+=k.length*2,f.push(b[k])}}return c},_e=()=>`${C}_`,Y=(o,c)=>{u.forEach(f=>{if(f.hooks?.[o])try{f.hooks[o](c)}catch(y){let P=y instanceof Error?y:new Error(String(y));i?i(P,{operation:`plugin:${f.name}:${o}`,key:c.key}):m||console.error(`[gState] Plugin "${f.name}" error:`,y)}})},q=(o,c,f,y)=>{j&&et()&&ue&&ue({timestamp:Date.now(),action:o,key:c,userId:N,success:f,error:y})},le=o=>{if(o&&(a.get(o)?.forEach(c=>wt(c)),x.get(o)?.forEach(c=>{try{c(U.get(o))}catch(f){let y=f instanceof Error?f:new Error(String(f));i?i(y,{operation:"watcher",key:o}):m||console.error(`[gState] Watcher error for "${o}":`,f)}}),l.get(o)?.forEach(c=>{try{c()}catch(f){let y=f instanceof Error?f:new Error(String(f));i?i(y,{operation:"keyListener",key:o}):m||console.error(`[gState] Listener error for "${o}":`,f)}})),W){Z=!0;return}s.forEach(c=>{try{c()}catch(f){let y=f instanceof Error?f:new Error(String(f));i?i(y,{operation:"listener"}):m||console.error("[gState] Global listener error:",f)}})},wt=o=>{let c=v.get(o),f=new Set;if(!c)return;let y=b=>(f.add(b),U.get(b)),P=c.selector(y);c.deps.forEach(b=>{if(!f.has(b)){let k=a.get(b);k&&(k.delete(o),k.size===0&&a.delete(b))}}),f.forEach(b=>{c.deps.has(b)||(a.has(b)||a.set(b,new Set),a.get(b).add(o))}),c.deps=f,Ge(c.lastValue,P)||(c.lastValue=J&&P!==null&&typeof P=="object"?Ce(Je(P),!0):P,r.set(o,(r.get(o)||0)+1),le(o))},bt=async()=>{if(!A)return;let o=Array.from(M.entries());M.clear();for(let[c,f]of o)try{let y=f.value,P=f.options.encoded||f.options.secure;if(f.options.encrypted){if(!w)throw new Error(`Encryption key missing for "${c}"`);y=await Ze(f.value,w)}else P?y=btoa(JSON.stringify(f.value)):typeof f.value=="object"&&f.value!==null&&(y=JSON.stringify(f.value));A.setItem(`${_e()}${c}`,JSON.stringify({v:r.get(c)||1,t:Date.now(),e:f.options.ttl?Date.now()+f.options.ttl:null,d:y,_sys_v:I,_enc:f.options.encrypted?!0:void 0,_b64:P?!0:void 0})),q("set",c,!0)}catch(y){let P=y instanceof Error?y:new Error(String(y));i?i(P,{operation:"persist",key:c}):m||console.error("[gState] Persist failed:",P)}},ee={},U={_setSilently:(o,c)=>{let f=n.get(o)||0,y=J&&c!==null&&typeof c=="object"?Ce(Je(c),!0):c,P=Xe(y);G=G-f+P,n.set(o,P),t.set(o,y),r.set(o,(r.get(o)||0)+1)},_registerMethod:(o,c,f)=>{if(f!==void 0){let b=o,k=c;ee[b]||(ee[b]={}),ee[b][k]=f;return}console.warn("[gState] _registerMethod(name, fn) is deprecated. Use _registerMethod(pluginName, methodName, fn) instead.");let y=o,P=c;ee.core||(ee.core={}),ee.core[y]=P},set:(o,c,f={})=>{let y=t.get(o),P=J&&typeof c=="function"?St(y,c):c;if(_&&!tt(o))return m||console.warn(`[gState] Invalid key: ${o}`),!1;if(!fe(p,o,"write",N))return q("set",o,!1,"RBAC Denied"),m||console.error(`[gState] RBAC Denied for "${o}"`),!1;let b=_?ce(P):P,k=n.get(o)||0;Y("onBeforeSet",{key:o,value:b,store:U,version:r.get(o)||0});let B=J&&b!==null&&typeof b=="object"?Ce(Je(b),!0):b;if(!Ge(y,B)){let O=d>0||h>0?Xe(B):0;if(d>0&&O>d){let V=new Error(`Object size (${O} bytes) exceeds maxObjectSize (${d} bytes)`);i?i(V,{operation:"set",key:o}):m||console.warn(`[gState] ${V.message} for "${o}"`)}if(h>0){let V=G-k+O;if(V>h){let Pe=new Error(`Total store size (${V} bytes) exceeds limit (${h} bytes)`);i?i(Pe,{operation:"set"}):m||console.warn(`[gState] ${Pe.message}`)}}G=G-k+O,n.set(o,O),t.set(o,B),r.set(o,(r.get(o)||0)+1);let Q=!!(f.persist||e?.persistByDefault||e?.persistence||f.encrypted||f.encoded||f.secure||f.ttl);return Q&&(M.set(o,{value:B,options:{...f,persist:Q}}),Qe&&clearTimeout(Qe),Qe=setTimeout(bt,R)),Y("onSet",{key:o,value:B,store:U,version:r.get(o)}),q("set",o,!0),le(o),!0}return!1},get:o=>{if(!fe(p,o,"read",N))return q("get",o,!1,"RBAC Denied"),null;let c=t.get(o);return Y("onGet",{store:U,key:o,value:c}),q("get",o,!0),c},compute:(o,c)=>{try{return v.has(o)||(v.set(o,{selector:c,lastValue:null,deps:new Set}),wt(o)),v.get(o).lastValue}catch(f){let y=f instanceof Error?f:new Error(String(f));return i?i(y,{operation:"compute",key:o}):m||console.error(`[gState] Compute error for "${o}":`,f),null}},watch:(o,c)=>{x.has(o)||x.set(o,new Set);let f=x.get(o);return f.add(c),()=>{f.delete(c),f.size===0&&x.delete(o)}},remove:o=>{if(!fe(p,o,"delete",N))return q("delete",o,!1,"RBAC Denied"),!1;let c=t.get(o),f=t.delete(o);return f&&(G-=n.get(o)||0,n.delete(o),Y("onRemove",{store:U,key:o,value:c})),r.set(o,(r.get(o)||0)+1),A&&A.removeItem(`${_e()}${o}`),q("delete",o,!0),le(o),f},delete:o=>U.remove(o),deleteAll:()=>{if(Array.from(t.keys()).forEach(o=>U.remove(o)),A){let o=_e();for(let c=0;c<(A.length||0);c++){let f=A.key(c);f?.startsWith(o)&&(A.removeItem(f),c--)}}return G=0,n.clear(),!0},list:()=>Object.fromEntries(t.entries()),use:o=>{g.add(o)},transaction:o=>{W=!0,Y("onTransaction",{store:U,key:"START"});try{o()}finally{W=!1,Y("onTransaction",{store:U,key:"END"}),Z&&(Z=!1,le())}},destroy:()=>{typeof window<"u"&&window.removeEventListener("beforeunload",vt),Y("onDestroy",{store:U}),s.clear(),l.clear(),x.clear(),v.clear(),a.clear(),u.clear(),t.clear(),n.clear(),G=0,p.clear(),S.clear()},_addPlugin:o=>{try{u.set(o.name,o),o.hooks?.onInstall?.({store:U})}catch(c){let f=c instanceof Error?c:new Error(String(c));i?i(f,{operation:"plugin:install",key:o.name}):m||console.error(`[gState] Failed to install plugin "${o.name}":`,c)}},_removePlugin:o=>{u.delete(o)},_subscribe:(o,c)=>{if(c){l.has(c)||l.set(c,new Set);let f=l.get(c);return f.add(o),()=>{f.delete(o),f.size===0&&l.delete(c)}}return s.add(o),()=>s.delete(o)},_getVersion:o=>r.get(o)??0,addAccessRule:(o,c)=>Re(p,o,c),hasPermission:(o,c,f)=>{if(p.size===0)return!0;for(let[y,P]of p){let b;if(typeof y=="function")b=y(o,f);else try{let k=D.get(y);k||(k=new RegExp(y),D.set(y,k)),b=k.test(o)}catch{continue}if(b)return P.includes(c)||P.includes("admin")}return!1},recordConsent:(o,c,f)=>Ie(S,o,c,f),hasConsent:(o,c)=>rt(S,o,c),getConsents:o=>ot(S,o),revokeConsent:(o,c)=>nt(S,o,c),exportUserData:o=>st(S,o),deleteUserData:o=>it(S,o),get plugins(){return ee},get isReady(){return Ee},whenReady:()=>Bt};["addAccessRule","recordConsent","hasConsent","getConsents","revokeConsent","exportUserData","deleteUserData"].forEach(o=>{let c=U[o];c&&U._registerMethod("security",o,c)});let vt=()=>{M.size>0&&bt()};return typeof window<"u"&&window.addEventListener("beforeunload",vt),A?(async()=>{try{let c={},f=_e(),y=0;for(let b=0;b<(A.length||0);b++){let k=A.key(b);if(!k||!k.startsWith(f))continue;let B=A.getItem(k);if(B)try{let O=JSON.parse(B),Q=k.substring(f.length);if(y=Math.max(y,O._sys_v!==void 0?O._sys_v:O.v||0),O.e&&Date.now()>O.e){A.removeItem(k),b--;continue}let V=O.d;if(O._enc&&w)V=await Ye(V,w);else if(typeof V=="string"){if(O._b64)try{V=JSON.parse(atob(V))}catch{}else if(V.startsWith("{")||V.startsWith("["))try{V=JSON.parse(V)}catch{}}c[Q]=V,q("hydrate",Q,!0)}catch(O){q("hydrate",k,!1,String(O));let Q=O instanceof Error?O:new Error(String(O));i?i(Q,{operation:"hydration",key:k}):m||console.error(`[gState] Hydration failed for "${k}":`,O)}}let P=y<I&&e?.migrate?e.migrate(c,y):c;Object.entries(P).forEach(([b,k])=>{let B=J&&k!==null&&typeof k=="object"?Ce(Je(k),!0):k,O=Xe(B),Q=n.get(b)||0;G=G-Q+O,n.set(b,O),t.set(b,B),r.set(b,1)}),Ee=!0,Me(),le()}catch(c){Ee=!0,Me();let f=c instanceof Error?c:new Error(String(c));i?i(f,{operation:"hydration"}):m||console.error("[gState] Hydration failed:",f)}})():(Ee=!0,Me()),U};var Vr=(e,t)=>qe({...t,storage:e}),Ur=e=>qe({...e,storage:He.memory()}),$r=e=>{let t=He.session();return t?qe({...e,storage:t}):null};export{at as Security,He as StorageAdapters,Ur as createMemoryStore,$r as createSessionStore,qe as createStore,Vr as createStoreWithStorage};
package/core/types.d.ts CHANGED
@@ -102,6 +102,8 @@ export interface StoreConfig<S extends Record<string, unknown> = Record<string,
102
102
  debounceTime?: number;
103
103
  storage?: CustomStorage | Storage;
104
104
  migrate?: (oldState: Record<string, unknown>, oldVersion: number) => S;
105
+ persistByDefault?: boolean;
106
+ persistence?: boolean;
105
107
  onError?: (error: Error, context: {
106
108
  operation: string;
107
109
  key?: string;
package/index.js CHANGED
@@ -1 +1 @@
1
- import{createStore as i}from"./core/store";import{useStore as c,getStore as r}from"./core/hooks";import"./core/security";import{useStore as R,useIsStoreReady as U,initState as E,destroyState as I,useStore as D,useStore as P}from"./core/hooks";import{createAsyncStore as j}from"./core/async";export*from"./plugins/index";import{generateEncryptionKey as z,exportKey as G,importKey as L,isCryptoAvailable as V,setAuditLogger as W,logAudit as _,validateKey as q,sanitizeValue as B}from"./core/security";const d=(t,e)=>{const o=i(typeof e=="string"?{namespace:e}:e);return t&&Object.entries(t).forEach(([n,a])=>{o._setSilently(n,a)}),Object.assign(n=>c(n,o),o)};const f=(t,e)=>r()?.addAccessRule(t,e),l=(t,e,s)=>r()?.hasPermission(t,e,s)??!0,y=(t,e,s)=>{const o=r();if(!o)throw new Error("[gState] recordConsent failed: No store found. call initState() first.");return o.recordConsent(t,e,s)},m=(t,e)=>r()?.hasConsent(t,e)??!1,x=t=>r()?.getConsents(t)??[],C=(t,e)=>r()?.revokeConsent(t,e),k=t=>{const e=r();if(!e)throw new Error("[gState] exportUserData failed: No store found.");return e.exportUserData(t)},b=t=>{const e=r();if(!e)throw new Error("[gState] deleteUserData failed: No store found.");return e.deleteUserData(t)},h=()=>{},w=()=>{};export{f as addAccessRule,h as clearAccessRules,w as clearAllConsents,j as createAsyncStore,i as createStore,b as deleteUserData,I as destroyState,G as exportKey,k as exportUserData,z as generateEncryptionKey,x as getConsents,d as gstate,m as hasConsent,l as hasPermission,L as importKey,E as initState,V as isCryptoAvailable,_ as logAudit,y as recordConsent,C as revokeConsent,B as sanitizeValue,W as setAuditLogger,D as useGState,U as useIsStoreReady,P as useSimpleState,R as useStore,q as validateKey};
1
+ var yt=(e,t)=>()=>(t||e((t={exports:{}}).exports,t),t.exports);var Kt=yt((Xn,Ft)=>{"use strict";var ct=Object.defineProperty,Yt=Object.getOwnPropertyDescriptor,en=Object.getOwnPropertyNames,tn=Object.prototype.hasOwnProperty,nn=(e,t)=>{for(var n in t)ct(e,n,{get:t[n],enumerable:!0})},rn=(e,t,n,r)=>{if(t&&typeof t=="object"||typeof t=="function")for(let o of en(t))!tn.call(e,o)&&o!==n&&ct(e,o,{get:()=>t[o],enumerable:!(r=Yt(t,o))||r.enumerable});return e},on=e=>rn(ct({},"__esModule",{value:!0}),e),Ot={};nn(Ot,{Immer:()=>Vt,applyPatches:()=>An,castDraft:()=>Mn,castImmutable:()=>In,createDraft:()=>Cn,current:()=>Nt,enableArrayMethods:()=>vn,enableMapSet:()=>bn,enablePatches:()=>wn,finishDraft:()=>Rn,freeze:()=>Ge,immerable:()=>ae,isDraft:()=>B,isDraftable:()=>K,nothing:()=>Be,original:()=>an,produce:()=>xn,produceWithPatches:()=>Pn,setAutoFreeze:()=>_n,setUseStrictIteration:()=>En,setUseStrictShallowCopy:()=>kn});Ft.exports=on(Ot);var Be=Symbol.for("immer-nothing"),ae=Symbol.for("immer-draftable"),k=Symbol.for("immer-state");function z(e,...t){throw new Error(`[Immer] minified error nr: ${e}. Full error at: https://bit.ly/3cXEKWf`)}var F=Object,oe=F.getPrototypeOf,Se="constructor",Pe="prototype",ot="configurable",Ue="enumerable",ze="writable",me="value",B=e=>!!e&&!!e[k];function K(e){return e?Tt(e)||_e(e)||!!e[ae]||!!e[Se]?.[ae]||ke(e)||Ee(e):!1}var sn=F[Pe][Se].toString(),Et=new WeakMap;function Tt(e){if(!e||!le(e))return!1;let t=oe(e);if(t===null||t===F[Pe])return!0;let n=F.hasOwnProperty.call(t,Se)&&t[Se];if(n===Object)return!0;if(!re(n))return!1;let r=Et.get(n);return r===void 0&&(r=Function.toString.call(n),Et.set(n,r)),r===sn}function an(e){return B(e)||z(15,e),e[k].t}function ce(e,t,n=!0){se(e)===0?(n?Reflect.ownKeys(e):F.keys(e)).forEach(r=>{t(r,e[r],e)}):e.forEach((r,o)=>t(o,r,e))}function se(e){let t=e[k];return t?t.r:_e(e)?1:ke(e)?2:Ee(e)?3:0}var he=(e,t,n=se(e))=>n===2?e.has(t):F[Pe].hasOwnProperty.call(e,t),Q=(e,t,n=se(e))=>n===2?e.get(t):e[t],$e=(e,t,n,r=se(e))=>{r===2?e.set(t,n):r===3?e.add(n):e[t]=n};function ln(e,t){return e===t?e!==0||1/e===1/t:e!==e&&t!==t}var _e=Array.isArray,ke=e=>e instanceof Map,Ee=e=>e instanceof Set,le=e=>typeof e=="object",re=e=>typeof e=="function",nt=e=>typeof e=="boolean";function cn(e){let t=+e;return Number.isInteger(t)&&String(t)===e}var Dt=e=>le(e)?e?.[k]:null,D=e=>e.e||e.t,un=e=>{let t=Dt(e);return t?t.e??t.t:e},ut=e=>e.s?e.e:e.t;function st(e,t){if(ke(e))return new Map(e);if(Ee(e))return new Set(e);if(_e(e))return Array[Pe].slice.call(e);let n=Tt(e);if(t===!0||t==="class_only"&&!n){let r=F.getOwnPropertyDescriptors(e);delete r[k];let o=Reflect.ownKeys(r);for(let i=0;i<o.length;i++){let p=o[i],h=r[p];h[ze]===!1&&(h[ze]=!0,h[ot]=!0),(h.get||h.set)&&(r[p]={[ot]:!0,[ze]:!0,[Ue]:h[Ue],[me]:e[p]})}return F.create(oe(e),r)}else{let r=oe(e);if(r!==null&&n)return{...e};let o=F.create(r);return F.assign(o,e)}}function Ge(e,t=!1){return Je(e)||B(e)||!K(e)||(se(e)>1&&F.defineProperties(e,{set:je,add:je,clear:je,delete:je}),F.freeze(e),t&&ce(e,(n,r)=>{Ge(r,!0)},!1)),e}function fn(){z(2)}var je={[me]:fn};function Je(e){return e===null||!le(e)?!0:F.isFrozen(e)}var we="MapSet",Ve="Patches",it="ArrayMethods",Ne={};function ie(e){let t=Ne[e];return t||z(0,e),t}var At=e=>!!Ne[e];function ft(e,t){Ne[e]||(Ne[e]=t)}var be,We=()=>be,dn=(e,t)=>({o:[],i:e,l:t,F:!0,m:0,P:new Set,T:new Set,I:At(we)?ie(we):void 0,E:At(it)?ie(it):void 0});function Ct(e,t){t&&(e.x=ie(Ve),e.y=[],e.d=[],e.C=t)}function at(e){lt(e),e.o.forEach(pn),e.o=null}function lt(e){e===be&&(be=e.i)}var Rt=e=>be=dn(be,e);function pn(e){let t=e[k];t.r===0||t.r===1?t.b():t.g=!0}function Mt(e,t){t.m=t.o.length;let n=t.o[0];if(e!==void 0&&e!==n){n[k].s&&(at(t),z(4)),K(e)&&(e=It(t,e));let{x:r}=t;r&&r.M(n[k].t,e,t)}else e=It(t,n);return gn(t,e,!0),at(t),t.y&&t.C(t.y,t.d),e!==Be?e:void 0}function It(e,t){if(Je(t))return t;let n=t[k];if(!n)return Ke(t,e.P,e);if(!qe(n,e))return t;if(!n.s)return n.t;if(!n.u){let{f:r}=n;if(r)for(;r.length>0;)r.pop()(e);Ut(n,e)}return n.e}function gn(e,t,n=!1){!e.i&&e.l.h&&e.F&&Ge(t,n)}function jt(e){e.u=!0,e.a.m--}var qe=(e,t)=>e.a===t,hn=[];function zt(e,t,n,r){let o=D(e),i=e.r;if(r!==void 0&&Q(o,r,i)===t){$e(o,r,n,i);return}if(!e.D){let h=e.D=new Map;ce(o,(y,a)=>{if(B(a)){let u=h.get(a)||[];u.push(y),h.set(a,u)}})}let p=e.D.get(t)??hn;for(let h of p)$e(o,h,n,i)}function yn(e,t,n){e.f.push(function(r){let o=t;if(!o||!qe(o,r))return;r.I?.fixSetContents(o);let i=ut(o);zt(e,o.c??o,i,n),Ut(o,r)})}function Ut(e,t){if(e.s&&!e.u&&(e.r===3||e.r===1&&e.R||(e.n?.size??0)>0)){let{x:n}=t;if(n){let r=n.getPath(e);r&&n.O(e,r,t)}jt(e)}}function Fe(e,t,n){let{a:r}=e;if(B(n)){let o=n[k];qe(o,r)&&o.f.push(function(){ye(e);let i=ut(o);zt(e,n,i,t)})}else K(n)&&e.f.push(function(){let o=D(e);e.r===3?o.has(n)&&Ke(n,r.P,r):Q(o,t,e.r)===n&&r.o.length>1&&(e.n.get(t)??!1)===!0&&e.e&&Ke(Q(e.e,t,e.r),r.P,r)})}function Ke(e,t,n){return!n.l.h&&n.m<1||B(e)||t.has(e)||!K(e)||Je(e)||(t.add(e),ce(e,(r,o)=>{if(B(o)){let i=o[k];if(qe(i,n)){let p=ut(i);$e(e,r,p,e.r),jt(i)}}else K(o)&&Ke(o,t,n)})),e}function Sn(e,t){let n=_e(e),r={r:n?1:0,a:t?t.a:We(),s:!1,u:!1,n:void 0,i:t,t:e,c:null,e:null,b:null,S:!1,f:void 0},o=r,i=Le;n&&(o=[r],i=ve);let{revoke:p,proxy:h}=Proxy.revocable(o,i);return r.c=h,r.b=p,[h,r]}var Le={get(e,t){if(t===k)return e;let n=e.a.E,r=e.r===1&&typeof t=="string";if(r&&n?.isArrayOperationMethod(t))return n.createMethodInterceptor(e,t);let o=D(e);if(!he(o,t,e.r))return mn(e,o,t);let i=o[t];if(e.u||!K(i)||r&&e.operationMethod&&n?.isMutatingArrayMethod(e.operationMethod)&&cn(t))return i;if(i===rt(e.t,t)){ye(e);let p=e.r===1?+t:t,h=xe(e.a,i,e,p);return e.e[p]=h}return i},has(e,t){return t in D(e)},ownKeys(e){return Reflect.ownKeys(D(e))},set(e,t,n){let r=$t(D(e),t);if(r?.set)return r.set.call(e.c,n),!0;if(!e.s){let o=rt(D(e),t),i=o?.[k];if(i&&i.t===n)return e.e[t]=n,e.n.set(t,!1),!0;if(ln(n,o)&&(n!==void 0||he(e.t,t,e.r)))return!0;ye(e),q(e)}return e.e[t]===n&&(n!==void 0||t in e.e)||Number.isNaN(n)&&Number.isNaN(e.e[t])||(e.e[t]=n,e.n.set(t,!0),Fe(e,t,n)),!0},deleteProperty(e,t){return ye(e),rt(e.t,t)!==void 0||t in e.t?(e.n.set(t,!1),q(e)):e.n.delete(t),e.e&&delete e.e[t],!0},getOwnPropertyDescriptor(e,t){let n=D(e),r=Reflect.getOwnPropertyDescriptor(n,t);return r&&{[ze]:!0,[ot]:e.r!==1||t!=="length",[Ue]:r[Ue],[me]:n[t]}},defineProperty(){z(11)},getPrototypeOf(e){return oe(e.t)},setPrototypeOf(){z(12)}},ve={};for(let e in Le){let t=Le[e];ve[e]=function(){let n=arguments;return n[0]=n[0][0],t.apply(this,n)}}ve.deleteProperty=function(e,t){return ve.set.call(this,e,t,void 0)};ve.set=function(e,t,n){return Le.set.call(this,e[0],t,n,e[0])};function rt(e,t){let n=e[k];return(n?D(n):e)[t]}function mn(e,t,n){let r=$t(t,n);return r?me in r?r[me]:r.get?.call(e.c):void 0}function $t(e,t){if(!(t in e))return;let n=oe(e);for(;n;){let r=Object.getOwnPropertyDescriptor(n,t);if(r)return r;n=oe(n)}}function q(e){e.s||(e.s=!0,e.i&&q(e.i))}function ye(e){e.e||(e.n=new Map,e.e=st(e.t,e.a.l.A))}var Vt=class{constructor(e){this.h=!0,this.A=!1,this._=!1,this.produce=(t,n,r)=>{if(re(t)&&!re(n)){let i=n;n=t;let p=this;return function(h=i,...y){return p.produce(h,a=>n.call(this,a,...y))}}re(n)||z(6),r!==void 0&&!re(r)&&z(7);let o;if(K(t)){let i=Rt(this),p=xe(i,t,void 0),h=!0;try{o=n(p),h=!1}finally{h?at(i):lt(i)}return Ct(i,r),Mt(o,i)}else if(!t||!le(t)){if(o=n(t),o===void 0&&(o=t),o===Be&&(o=void 0),this.h&&Ge(o,!0),r){let i=[],p=[];ie(Ve).M(t,o,{y:i,d:p}),r(i,p)}return o}else z(1,t)},this.produceWithPatches=(t,n)=>{if(re(t))return(i,...p)=>this.produceWithPatches(i,h=>t(h,...p));let r,o;return[this.produce(t,n,(i,p)=>{r=i,o=p}),r,o]},nt(e?.autoFreeze)&&this.setAutoFreeze(e.autoFreeze),nt(e?.useStrictShallowCopy)&&this.setUseStrictShallowCopy(e.useStrictShallowCopy),nt(e?.useStrictIteration)&&this.setUseStrictIteration(e.useStrictIteration)}createDraft(e){K(e)||z(8),B(e)&&(e=Nt(e));let t=Rt(this),n=xe(t,e,void 0);return n[k].S=!0,lt(t),n}finishDraft(e,t){let n=e&&e[k];(!n||!n.S)&&z(9);let{a:r}=n;return Ct(r,t),Mt(void 0,r)}setAutoFreeze(e){this.h=e}setUseStrictShallowCopy(e){this.A=e}setUseStrictIteration(e){this._=e}shouldUseStrictIteration(){return this._}applyPatches(e,t){let n;for(n=t.length-1;n>=0;n--){let o=t[n];if(o.path.length===0&&o.op==="replace"){e=o.value;break}}n>-1&&(t=t.slice(n+1));let r=ie(Ve).N;return B(e)?r(e,t):this.produce(e,o=>r(o,t))}};function xe(e,t,n,r){let[o,i]=ke(t)?ie(we).w(t,n):Ee(t)?ie(we).V(t,n):Sn(t,n);return(n?.a??We()).o.push(o),i.f=n?.f??[],i.p=r,n&&r!==void 0?yn(n,i,r):i.f.push(function(p){p.I?.fixSetContents(i);let{x:h}=p;i.s&&h&&h.O(i,[],p)}),o}function Nt(e){return B(e)||z(10,e),Wt(e)}function Wt(e){if(!K(e)||Je(e))return e;let t=e[k],n,r=!0;if(t){if(!t.s)return t.t;t.u=!0,n=st(e,t.a.l.A),r=t.a.l.shouldUseStrictIteration()}else n=st(e,!0);return ce(n,(o,i)=>{$e(n,o,Wt(i))},r),t&&(t.u=!1),n}function wn(){function e(d,b=[]){if(d.p!==void 0){let _=d.i.e??d.i.t,w=Dt(Q(_,d.p)),M=Q(_,d.p);if(M===void 0||M!==d.c&&M!==d.t&&M!==d.e||w!=null&&w.t!==d.t)return null;let I=d.i.r===3,P;if(I){let l=d.i;P=Array.from(l.o.keys()).indexOf(d.p)}else P=d.p;if(!(I&&_.size>P||he(_,P)))return null;b.push(P)}if(d.i)return e(d.i,b);b.reverse();try{t(d.e,b)}catch{return null}return b}function t(d,b){let _=d;for(let w=0;w<b.length-1;w++){let M=b[w];if(_=Q(_,M),!le(_)||_===null)throw new Error(`Cannot resolve path at '${b.join("/")}'`)}return _}let n="replace",r="add",o="remove";function i(d,b,_){if(d.a.T.has(d))return;d.a.T.add(d);let{y:w,d:M}=_;switch(d.r){case 0:case 2:return h(d,b,w,M);case 1:return p(d,b,w,M);case 3:return y(d,b,w,M)}}function p(d,b,_,w){let{t:M,n:I}=d,P=d.e;P.length<M.length&&([M,P]=[P,M],[_,w]=[w,_]);let l=d.R===!0;for(let g=0;g<M.length;g++){let S=P[g],v=M[g];if((l||I?.get(g.toString()))&&S!==v){let A=S?.[k];if(A&&A.s)continue;let j=b.concat([g]);_.push({op:n,path:j,value:O(S)}),w.push({op:n,path:j,value:O(v)})}}for(let g=M.length;g<P.length;g++){let S=b.concat([g]);_.push({op:r,path:S,value:O(P[g])})}for(let g=P.length-1;M.length<=g;--g){let S=b.concat([g]);w.push({op:o,path:S})}}function h(d,b,_,w){let{t:M,e:I,r:P}=d;ce(d.n,(l,g)=>{let S=Q(M,l,P),v=Q(I,l,P),A=g?he(M,l)?n:r:o;if(S===v&&A===n)return;let j=b.concat(l);_.push(A===o?{op:A,path:j}:{op:A,path:j,value:O(v)}),w.push(A===r?{op:o,path:j}:A===o?{op:r,path:j,value:O(S)}:{op:n,path:j,value:O(S)})})}function y(d,b,_,w){let{t:M,e:I}=d,P=0;M.forEach(l=>{if(!I.has(l)){let g=b.concat([P]);_.push({op:o,path:g,value:l}),w.unshift({op:r,path:g,value:l})}P++}),P=0,I.forEach(l=>{if(!M.has(l)){let g=b.concat([P]);_.push({op:r,path:g,value:l}),w.unshift({op:o,path:g,value:l})}P++})}function a(d,b,_){let{y:w,d:M}=_;w.push({op:n,path:[],value:b===Be?void 0:b}),M.push({op:n,path:[],value:d})}function u(d,b){return b.forEach(_=>{let{path:w,op:M}=_,I=d;for(let S=0;S<w.length-1;S++){let v=se(I),A=w[S];typeof A!="string"&&typeof A!="number"&&(A=""+A),(v===0||v===1)&&(A==="__proto__"||A===Se)&&z(19),re(I)&&A===Pe&&z(19),I=Q(I,A),le(I)||z(18,w.join("/"))}let P=se(I),l=E(_.value),g=w[w.length-1];switch(M){case n:switch(P){case 2:return I.set(g,l);case 3:z(16);default:return I[g]=l}case r:switch(P){case 1:return g==="-"?I.push(l):I.splice(g,0,l);case 2:return I.set(g,l);case 3:return I.add(l);default:return I[g]=l}case o:switch(P){case 1:return I.splice(g,1);case 2:return I.delete(g);case 3:return I.delete(_.value);default:return delete I[g]}default:z(17,M)}}),d}function E(d){if(!K(d))return d;if(_e(d))return d.map(E);if(ke(d))return new Map(Array.from(d.entries()).map(([_,w])=>[_,E(w)]));if(Ee(d))return new Set(Array.from(d).map(E));let b=Object.create(oe(d));for(let _ in d)b[_]=E(d[_]);return he(d,ae)&&(b[ae]=d[ae]),b}function O(d){return B(d)?E(d):d}ft(Ve,{N:u,O:i,M:a,getPath:e})}function bn(){class e extends Map{constructor(a,u){super(),this[k]={r:2,i:u,a:u?u.a:We(),s:!1,u:!1,e:void 0,n:void 0,t:a,c:this,S:!1,g:!1,f:[]}}get size(){return D(this[k]).size}has(a){return D(this[k]).has(a)}set(a,u){let E=this[k];return p(E),(!D(E).has(a)||D(E).get(a)!==u)&&(n(E),q(E),E.n.set(a,!0),E.e.set(a,u),E.n.set(a,!0),Fe(E,a,u)),this}delete(a){if(!this.has(a))return!1;let u=this[k];return p(u),n(u),q(u),u.t.has(a)?u.n.set(a,!1):u.n.delete(a),u.e.delete(a),!0}clear(){let a=this[k];p(a),D(a).size&&(n(a),q(a),a.n=new Map,ce(a.t,u=>{a.n.set(u,!1)}),a.e.clear())}forEach(a,u){let E=this[k];D(E).forEach((O,d,b)=>{a.call(u,this.get(d),d,this)})}get(a){let u=this[k];p(u);let E=D(u).get(a);if(u.u||!K(E)||E!==u.t.get(a))return E;let O=xe(u.a,E,u,a);return n(u),u.e.set(a,O),O}keys(){return D(this[k]).keys()}values(){let a=this.keys();return{[Symbol.iterator]:()=>this.values(),next:()=>{let u=a.next();return u.done?u:{done:!1,value:this.get(u.value)}}}}entries(){let a=this.keys();return{[Symbol.iterator]:()=>this.entries(),next:()=>{let u=a.next();if(u.done)return u;let E=this.get(u.value);return{done:!1,value:[u.value,E]}}}}[Symbol.iterator](){return this.entries()}}function t(y,a){let u=new e(y,a);return[u,u[k]]}function n(y){y.e||(y.n=new Map,y.e=new Map(y.t))}class r extends Set{constructor(a,u){super(),this[k]={r:3,i:u,a:u?u.a:We(),s:!1,u:!1,e:void 0,t:a,c:this,o:new Map,g:!1,S:!1,n:void 0,f:[]}}get size(){return D(this[k]).size}has(a){let u=this[k];return p(u),u.e?!!(u.e.has(a)||u.o.has(a)&&u.e.has(u.o.get(a))):u.t.has(a)}add(a){let u=this[k];return p(u),this.has(a)||(i(u),q(u),u.e.add(a),Fe(u,a,a)),this}delete(a){if(!this.has(a))return!1;let u=this[k];return p(u),i(u),q(u),u.e.delete(a)||(u.o.has(a)?u.e.delete(u.o.get(a)):!1)}clear(){let a=this[k];p(a),D(a).size&&(i(a),q(a),a.e.clear())}values(){let a=this[k];return p(a),i(a),a.e.values()}entries(){let a=this[k];return p(a),i(a),a.e.entries()}keys(){return this.values()}[Symbol.iterator](){return this.values()}forEach(a,u){let E=this.values(),O=E.next();for(;!O.done;)a.call(u,O.value,O.value,this),O=E.next()}}function o(y,a){let u=new r(y,a);return[u,u[k]]}function i(y){y.e||(y.e=new Set,y.t.forEach(a=>{if(K(a)){let u=xe(y.a,a,y,a);y.o.set(a,u),y.e.add(u)}else y.e.add(a)}))}function p(y){y.g&&z(3,JSON.stringify(D(y)))}function h(y){if(y.r===3&&y.e){let a=new Set(y.e);y.e.clear(),a.forEach(u=>{y.e.add(un(u))})}}ft(we,{w:t,V:o,fixSetContents:h})}function vn(){let e=new Set(["shift","unshift"]),t=new Set(["push","pop"]),n=new Set([...t,...e]),r=new Set(["reverse","sort"]),o=new Set([...n,...r,"splice"]),i=new Set(["find","findLast"]),p=new Set(["filter","slice","concat","flat",...i,"findIndex","findLastIndex","some","every","indexOf","lastIndexOf","includes","join","toString","toLocaleString"]);function h(l){return o.has(l)}function y(l){return p.has(l)}function a(l){return h(l)||y(l)}function u(l,g){l.operationMethod=g}function E(l){l.operationMethod=void 0}function O(l,g,S=!0){ye(l);let v=g();return q(l),S&&l.n.set("length",!0),v}function d(l){l.R=!0}function b(l,g){return l<0?Math.max(g+l,0):Math.min(l,g)}function _(l,g,S){for(let v=0;v<S.length;v++){let A=g+v;l.n.set(A,!0),Fe(l,A,S[v])}}function w(l,g,S){return O(l,()=>{let v=l.e.length,A=l.e[g](...S);return e.has(g)&&d(l),g==="push"&&S.length>0?_(l,v,S):g==="unshift"&&S.length>0&&_(l,0,S),n.has(g)?A:l.c})}function M(l,g,S){return O(l,()=>(l.e[g](...S),d(l),l.c),!1)}function I(l,g){return function(...S){let v=g;u(l,v);try{if(h(v)){if(n.has(v))return w(l,v,S);if(r.has(v))return M(l,v,S);if(v==="splice"){let A=O(l,()=>l.e.splice(...S));if(d(l),S.length>2){let j=b(S[0]??0,l.e.length);_(l,j,S.slice(2))}return A}}else return P(l,v,S)}finally{E(l)}}}function P(l,g,S){let v=D(l);if(g==="filter"){let A=S[0],j=[];for(let N=0;N<v.length;N++)A(v[N],N,v)&&j.push(l.c[N]);return j}if(i.has(g)){let A=S[0],j=g==="find",N=j?1:-1,G=j?0:v.length-1;for(let W=G;W>=0&&W<v.length;W+=N)if(A(v[W],W,v))return l.c[W];return}if(g==="slice"){let A=S[0]??0,j=S[1]??v.length,N=b(A,v.length),G=b(j,v.length),W=[];for(let ee=N;ee<G;ee++)W.push(l.c[ee]);return W}return v[g](...S)}ft(it,{createMethodInterceptor:I,isArrayOperationMethod:a,isMutatingArrayMethod:h})}var V=new Vt,xn=V.produce,Pn=V.produceWithPatches.bind(V),_n=V.setAutoFreeze.bind(V),kn=V.setUseStrictShallowCopy.bind(V),En=V.setUseStrictIteration.bind(V),An=V.applyPatches.bind(V),Cn=V.createDraft.bind(V),Rn=V.finishDraft.bind(V),Mn=e=>e,In=e=>e});var Bt=yt((Zn,Lt)=>{"use strict";Lt.exports=Kt()});var St=typeof crypto<"u"&&typeof crypto.subtle<"u"&&typeof crypto.subtle.generateKey=="function",qt=async()=>{if(!St)throw new Error("Web Crypto API not available");let e=await crypto.subtle.generateKey({name:"AES-GCM",length:256},!0,["encrypt","decrypt"]),t=crypto.getRandomValues(new Uint8Array(12));return{key:e,iv:t}},Ht=async e=>{let t=await crypto.subtle.exportKey("raw",e.key);return{key:btoa(String.fromCharCode(...new Uint8Array(t))),iv:btoa(String.fromCharCode(...e.iv))}},Xt=async(e,t)=>{let n=Uint8Array.from(atob(e),i=>i.charCodeAt(0)),r=Uint8Array.from(atob(t),i=>i.charCodeAt(0));return{key:await crypto.subtle.importKey("raw",n,{name:"AES-GCM",length:256},!0,["encrypt","decrypt"]),iv:r}},mt=async(e,t)=>{let n=new TextEncoder,r=n.encode(JSON.stringify(e)),o=await crypto.subtle.encrypt({name:"AES-GCM",iv:t.iv},t.key,r),i=new Uint8Array(t.iv.length+o.byteLength);return i.set(t.iv),i.set(new Uint8Array(o),t.iv.length),btoa(String.fromCharCode(...i))},wt=async(e,t)=>{let n=Uint8Array.from(atob(e),p=>p.charCodeAt(0)),r=n.slice(0,12),o=n.slice(12),i=await crypto.subtle.decrypt({name:"AES-GCM",iv:r},t.key,o);return JSON.parse(new TextDecoder().decode(i))},Te=null,Qt=e=>{Te=e},bt=()=>Te!==null,ge=e=>{Te&&Te(e)},Ye=(e,t,n)=>{e.set(t instanceof RegExp?t.source:t,n)},De=(e,t,n,r)=>{if(e.size===0)return!0;for(let[o,i]of e){let p;if(typeof o=="function")p=o(t,r);else try{p=new RegExp(o).test(t)}catch{continue}if(p)return i.includes(n)||i.includes("admin")}return!1},pe=e=>{if(typeof e=="string")return e.replace(/<script\b[^<]*(?:(?!<\/script>)<[^<]*)*<\/script>/gi,"").replace(/javascript:/gi,"[REMOVED]").replace(/on\w+\s*=/gi,"[REMOVED]=").replace(/<iframe\b[^<]*(?:(?!<\/iframe>)<[^<]*)*<\/iframe>/gi,"").replace(/<object\b[^<]*(?:(?!<\/object>)<[^<]*)*<\/object>/gi,"").replace(/<embed\b[^<]*(?:(?!<\/embed>)<[^<]*)*<\/embed>/gi,"").replace(/<svg\b[^<]*(?:(?!<\/svg>)<[^<]*)*<\/svg>/gi,"").replace(/<foreignObject\b[^<]*(?:(?!<\/foreignObject>)<[^<]*)*<\/foreignObject>/gi,"").replace(/<math\b[^<]*(?:(?!<\/math>)<[^<]*)*<\/math>/gi,"").replace(/<\?php\b[^<]*(?:(?!<\?php>)<[^<]*)*<\?php>/gi,"").replace(/&/g,"&").replace(/</g,"<").replace(/>/g,">").replace(/"/g,'"').replace(/'/g,"&#x27;").replace(/`/g,"&#x60;");if(e&&typeof e=="object"&&!Array.isArray(e)){let t={};for(let[n,r]of Object.entries(e))t[n]=pe(r);return t}return Array.isArray(e)?e.map(t=>pe(t)):e},et=e=>/^[a-zA-Z0-9_.-]+$/.test(e)&&e.length<=256,tt=(e,t,n,r)=>{let o={id:crypto.randomUUID(),purpose:n,granted:r,timestamp:Date.now()},i=e.get(t)||[];return i.push(o),e.set(t,i),ge({timestamp:Date.now(),action:"set",key:`consent:${n}`,userId:t,success:!0}),o},vt=(e,t,n)=>{let r=e.get(t);if(!r)return!1;for(let o=r.length-1;o>=0;o--){let i=r[o];if(i&&i.purpose===n)return i.granted}return!1},xt=(e,t,n)=>tt(e,t,n,!1),Pt=(e,t)=>e.get(t)||[],_t=(e,t)=>({userId:t,exportedAt:Date.now(),consents:e.get(t)||[]}),kt=(e,t)=>{let n=e.get(t)?.length||0;return e.delete(t),{success:!0,deletedConsents:n}};var dt=null,Ae=null,On=()=>{if(!dt)try{let e=Bt();dt=e.produce,Ae=e.freeze}catch(e){throw console.error("[gState] Immer not installed. Run: npm install immer"),e}},Tn={local:()=>typeof window<"u"?window.localStorage:null,session:()=>typeof window<"u"?window.sessionStorage:null,memory:()=>{let e=new Map;return{getItem:t=>e.get(t)||null,setItem:(t,n)=>e.set(t,n),removeItem:t=>e.delete(t),key:t=>Array.from(e.keys())[t]||null,get length(){return e.size}}}},He=e=>{if(e===null||typeof e!="object")return e;if(typeof structuredClone=="function")try{return structuredClone(e)}catch{}let t=new WeakMap,n=r=>{if(r===null||typeof r!="object")return r;if(t.has(r))return t.get(r);if(r instanceof Date)return new Date(r.getTime());if(r instanceof RegExp)return new RegExp(r.source,r.flags);let o=Array.isArray(r)?[]:Object.create(Object.getPrototypeOf(r));if(t.set(r,o),Array.isArray(r))for(let i=0;i<r.length;i++)o[i]=n(r[i]);else for(let i of Object.keys(r))o[i]=n(r[i]);return o};return n(e)},Xe=(e,t)=>{if(e===t)return!0;if(e===null||t===null||typeof e!="object"||typeof t!="object")return e===t;if(Array.isArray(e)&&Array.isArray(t)){if(e.length!==t.length)return!1;for(let o=0;o<e.length;o++)if(!Xe(e[o],t[o]))return!1;return!0}let n=Object.keys(e),r=Object.keys(t);if(n.length!==r.length)return!1;for(let o of n)if(!r.includes(o)||!Xe(e[o],t[o]))return!1;return!0},ue=e=>{let t=new Map,n=new Map,r=new Map,o=new Set,i=new Map,p=new Set,h=new Map,y=new Map,a=new Map,u=new Map,E=new Map,O=new Map,d=new Map,b=new Map,_=e?.namespace||"gstate",w=e?.silent??!1,M=e?.debounceTime??150,I=e?.version??0,P=e?.storage||Tn.local(),l=e?.onError,g=e?.maxObjectSize??5*1024*1024,S=e?.maxTotalSize??50*1024*1024,v=e?.encryptionKey??null,A=e?.validateInput??!0,j=e?.auditEnabled??!0,N=e?.userId,G=e?.immer??!0;G&&On(),e?.accessRules&&e.accessRules.forEach(s=>Ye(d,s.pattern,s.permissions));let W=!1,ee=!1,Re=!1,J=0,Qe=null,Me,Jt=new Promise(s=>{Me=s}),Ze=s=>{if(s==null)return 0;let c=0,f=[s],m=new WeakSet;for(;f.length>0;){let C=f.pop();if(typeof C=="boolean")c+=4;else if(typeof C=="number")c+=8;else if(typeof C=="string")c+=C.length*2;else if(typeof C=="object"&&C!==null){let x=C;if(m.has(x))continue;if(m.add(x),Array.isArray(x))for(let R=0;R<x.length;R++)f.push(x[R]);else for(let R of Object.keys(x))c+=R.length*2,f.push(x[R])}}return c},Ie=()=>`${_}_`,te=(s,c)=>{u.forEach(f=>{if(f.hooks?.[s])try{f.hooks[s](c)}catch(m){let C=m instanceof Error?m:new Error(String(m));l?l(C,{operation:`plugin:${f.name}:${s}`,key:c.key}):w||console.error(`[gState] Plugin "${f.name}" error:`,m)}})},H=(s,c,f,m)=>{j&&bt()&&ge&&ge({timestamp:Date.now(),action:s,key:c,userId:N,success:f,error:m})},de=s=>{if(s&&(a.get(s)?.forEach(c=>pt(c)),h.get(s)?.forEach(c=>{try{c($.get(s))}catch(f){let m=f instanceof Error?f:new Error(String(f));l?l(m,{operation:"watcher",key:s}):w||console.error(`[gState] Watcher error for "${s}":`,f)}}),i.get(s)?.forEach(c=>{try{c()}catch(f){let m=f instanceof Error?f:new Error(String(f));l?l(m,{operation:"keyListener",key:s}):w||console.error(`[gState] Listener error for "${s}":`,f)}})),W){ee=!0;return}o.forEach(c=>{try{c()}catch(f){let m=f instanceof Error?f:new Error(String(f));l?l(m,{operation:"listener"}):w||console.error("[gState] Global listener error:",f)}})},pt=s=>{let c=y.get(s),f=new Set;if(!c)return;let m=x=>(f.add(x),$.get(x)),C=c.selector(m);c.deps.forEach(x=>{if(!f.has(x)){let R=a.get(x);R&&(R.delete(s),R.size===0&&a.delete(x))}}),f.forEach(x=>{c.deps.has(x)||(a.has(x)||a.set(x,new Set),a.get(x).add(s))}),c.deps=f,Xe(c.lastValue,C)||(c.lastValue=G&&C!==null&&typeof C=="object"?Ae(He(C),!0):C,n.set(s,(n.get(s)||0)+1),de(s))},gt=async()=>{if(!P)return;let s=Array.from(E.entries());E.clear();for(let[c,f]of s)try{let m=f.value,C=f.options.encoded||f.options.secure;if(f.options.encrypted){if(!v)throw new Error(`Encryption key missing for "${c}"`);m=await mt(f.value,v)}else C?m=btoa(JSON.stringify(f.value)):typeof f.value=="object"&&f.value!==null&&(m=JSON.stringify(f.value));P.setItem(`${Ie()}${c}`,JSON.stringify({v:n.get(c)||1,t:Date.now(),e:f.options.ttl?Date.now()+f.options.ttl:null,d:m,_sys_v:I,_enc:f.options.encrypted?!0:void 0,_b64:C?!0:void 0})),H("set",c,!0)}catch(m){let C=m instanceof Error?m:new Error(String(m));l?l(C,{operation:"persist",key:c}):w||console.error("[gState] Persist failed:",C)}},ne={},$={_setSilently:(s,c)=>{let f=r.get(s)||0,m=G&&c!==null&&typeof c=="object"?Ae(He(c),!0):c,C=Ze(m);J=J-f+C,r.set(s,C),t.set(s,m),n.set(s,(n.get(s)||0)+1)},_registerMethod:(s,c,f)=>{if(f!==void 0){let x=s,R=c;ne[x]||(ne[x]={}),ne[x][R]=f;return}console.warn("[gState] _registerMethod(name, fn) is deprecated. Use _registerMethod(pluginName, methodName, fn) instead.");let m=s,C=c;ne.core||(ne.core={}),ne.core[m]=C},set:(s,c,f={})=>{let m=t.get(s),C=G&&typeof c=="function"?dt(m,c):c;if(A&&!et(s))return w||console.warn(`[gState] Invalid key: ${s}`),!1;if(!De(d,s,"write",N))return H("set",s,!1,"RBAC Denied"),w||console.error(`[gState] RBAC Denied for "${s}"`),!1;let x=A?pe(C):C,R=r.get(s)||0;te("onBeforeSet",{key:s,value:x,store:$,version:n.get(s)||0});let L=G&&x!==null&&typeof x=="object"?Ae(He(x),!0):x;if(!Xe(m,L)){let T=g>0||S>0?Ze(L):0;if(g>0&&T>g){let U=new Error(`Object size (${T} bytes) exceeds maxObjectSize (${g} bytes)`);l?l(U,{operation:"set",key:s}):w||console.warn(`[gState] ${U.message} for "${s}"`)}if(S>0){let U=J-R+T;if(U>S){let Oe=new Error(`Total store size (${U} bytes) exceeds limit (${S} bytes)`);l?l(Oe,{operation:"set"}):w||console.warn(`[gState] ${Oe.message}`)}}J=J-R+T,r.set(s,T),t.set(s,L),n.set(s,(n.get(s)||0)+1);let X=!!(f.persist||e?.persistByDefault||e?.persistence||f.encrypted||f.encoded||f.secure||f.ttl);return X&&(E.set(s,{value:L,options:{...f,persist:X}}),Qe&&clearTimeout(Qe),Qe=setTimeout(gt,M)),te("onSet",{key:s,value:L,store:$,version:n.get(s)}),H("set",s,!0),de(s),!0}return!1},get:s=>{if(!De(d,s,"read",N))return H("get",s,!1,"RBAC Denied"),null;let c=t.get(s);return te("onGet",{store:$,key:s,value:c}),H("get",s,!0),c},compute:(s,c)=>{try{return y.has(s)||(y.set(s,{selector:c,lastValue:null,deps:new Set}),pt(s)),y.get(s).lastValue}catch(f){let m=f instanceof Error?f:new Error(String(f));return l?l(m,{operation:"compute",key:s}):w||console.error(`[gState] Compute error for "${s}":`,f),null}},watch:(s,c)=>{h.has(s)||h.set(s,new Set);let f=h.get(s);return f.add(c),()=>{f.delete(c),f.size===0&&h.delete(s)}},remove:s=>{if(!De(d,s,"delete",N))return H("delete",s,!1,"RBAC Denied"),!1;let c=t.get(s),f=t.delete(s);return f&&(J-=r.get(s)||0,r.delete(s),te("onRemove",{store:$,key:s,value:c})),n.set(s,(n.get(s)||0)+1),P&&P.removeItem(`${Ie()}${s}`),H("delete",s,!0),de(s),f},delete:s=>$.remove(s),deleteAll:()=>{if(Array.from(t.keys()).forEach(s=>$.remove(s)),P){let s=Ie();for(let c=0;c<(P.length||0);c++){let f=P.key(c);f?.startsWith(s)&&(P.removeItem(f),c--)}}return J=0,r.clear(),!0},list:()=>Object.fromEntries(t.entries()),use:s=>{p.add(s)},transaction:s=>{W=!0,te("onTransaction",{store:$,key:"START"});try{s()}finally{W=!1,te("onTransaction",{store:$,key:"END"}),ee&&(ee=!1,de())}},destroy:()=>{typeof window<"u"&&window.removeEventListener("beforeunload",ht),te("onDestroy",{store:$}),o.clear(),i.clear(),h.clear(),y.clear(),a.clear(),u.clear(),t.clear(),r.clear(),J=0,d.clear(),b.clear()},_addPlugin:s=>{try{u.set(s.name,s),s.hooks?.onInstall?.({store:$})}catch(c){let f=c instanceof Error?c:new Error(String(c));l?l(f,{operation:"plugin:install",key:s.name}):w||console.error(`[gState] Failed to install plugin "${s.name}":`,c)}},_removePlugin:s=>{u.delete(s)},_subscribe:(s,c)=>{if(c){i.has(c)||i.set(c,new Set);let f=i.get(c);return f.add(s),()=>{f.delete(s),f.size===0&&i.delete(c)}}return o.add(s),()=>o.delete(s)},_getVersion:s=>n.get(s)??0,addAccessRule:(s,c)=>Ye(d,s,c),hasPermission:(s,c,f)=>{if(d.size===0)return!0;for(let[m,C]of d){let x;if(typeof m=="function")x=m(s,f);else try{let R=O.get(m);R||(R=new RegExp(m),O.set(m,R)),x=R.test(s)}catch{continue}if(x)return C.includes(c)||C.includes("admin")}return!1},recordConsent:(s,c,f)=>tt(b,s,c,f),hasConsent:(s,c)=>vt(b,s,c),getConsents:s=>Pt(b,s),revokeConsent:(s,c)=>xt(b,s,c),exportUserData:s=>_t(b,s),deleteUserData:s=>kt(b,s),get plugins(){return ne},get isReady(){return Re},whenReady:()=>Jt};["addAccessRule","recordConsent","hasConsent","getConsents","revokeConsent","exportUserData","deleteUserData"].forEach(s=>{let c=$[s];c&&$._registerMethod("security",s,c)});let ht=()=>{E.size>0&&gt()};return typeof window<"u"&&window.addEventListener("beforeunload",ht),P?(async()=>{try{let c={},f=Ie(),m=0;for(let x=0;x<(P.length||0);x++){let R=P.key(x);if(!R||!R.startsWith(f))continue;let L=P.getItem(R);if(L)try{let T=JSON.parse(L),X=R.substring(f.length);if(m=Math.max(m,T._sys_v!==void 0?T._sys_v:T.v||0),T.e&&Date.now()>T.e){P.removeItem(R),x--;continue}let U=T.d;if(T._enc&&v)U=await wt(U,v);else if(typeof U=="string"){if(T._b64)try{U=JSON.parse(atob(U))}catch{}else if(U.startsWith("{")||U.startsWith("["))try{U=JSON.parse(U)}catch{}}c[X]=U,H("hydrate",X,!0)}catch(T){H("hydrate",R,!1,String(T));let X=T instanceof Error?T:new Error(String(T));l?l(X,{operation:"hydration",key:R}):w||console.error(`[gState] Hydration failed for "${R}":`,T)}}let C=m<I&&e?.migrate?e.migrate(c,m):c;Object.entries(C).forEach(([x,R])=>{let L=G&&R!==null&&typeof R=="object"?Ae(He(R),!0):R,T=Ze(L),X=r.get(x)||0;J=J-X+T,r.set(x,T),t.set(x,L),n.set(x,1)}),Re=!0,Me(),de()}catch(c){Re=!0,Me();let f=c instanceof Error?c:new Error(String(c));l?l(f,{operation:"hydration"}):w||console.error("[gState] Hydration failed:",f)}})():(Re=!0,Me()),$};import{useSyncExternalStore as Gt,useDebugValue as Dn,useMemo as fe}from"react";var Y=null,jn=e=>{Y&&!e?.namespace&&(e?.silent||console.warn("[gState] Store already exists. Pass a unique namespace to create additional stores."));let t=ue(e);return Y=t,t},zn=()=>{Y&&(Y.destroy(),Y=null)},Un=e=>{let t=e||Y,n=fe(()=>r=>t?t._subscribe(r):()=>{},[t]);return Gt(n,()=>t?t.isReady:!1,()=>!0)},Z=()=>Y;var Ce=(e,t)=>{let n=fe(()=>t||Y,[t]),r=fe(()=>({set:()=>(console.warn("[gState] Store not initialized. Call initState() or pass a store instance."),!1),get:()=>null,remove:()=>!1,delete:()=>!1,deleteAll:()=>!1,list:()=>({}),compute:()=>null,watch:()=>()=>{},use:()=>{},transaction:()=>{},destroy:()=>{},_subscribe:()=>()=>{},_setSilently:()=>{},_registerMethod:()=>{},_addPlugin:()=>{},_removePlugin:()=>{},_getVersion:()=>0,get isReady(){return!1},whenReady:()=>Promise.resolve(),get plugins(){return new Proxy({},{get:(y,a)=>new Proxy({},{get:(u,E)=>(...O)=>(console.warn(`[gState] Ghost store: Cannot call store.plugins.${String(a)}.${String(E)}() - store not initialized. Call initState() first or pass a store instance to useStore().`),null)})})}}),[]),o=n||r;fe(()=>{!n&&!t&&console.warn("[gState] Using ghost store - no store initialized. Call initState() or pass a store instance.")},[n,t]);let i=fe(()=>y=>o._subscribe(y,e),[o,e]),p=Gt(i,()=>o.get(e)??void 0,()=>{}),h=fe(()=>(y,a)=>o.set(e,y,a),[o,e]);return Dn(p,y=>`${e}: ${JSON.stringify(y)}`),[p,h]};var $n=(e,t)=>{let n=t?.key||"async_data",r=t?.store||ue({namespace:`async_${n}`,silent:!0});return r.get(n)==null&&r.set(n,{data:null,loading:!1,error:null,updatedAt:null}),Object.assign(r,{execute:async()=>{let i=r.get(n);r.set(n,{...i||{data:null,loading:!1,error:null,updatedAt:null},loading:!0,error:null}),"whenReady"in r&&!r.isReady&&await r.whenReady();try{let p=await e(),h=r.get(n);r.set(n,{...h||{data:null,loading:!1,error:null,updatedAt:null},data:p,loading:!1,updatedAt:Date.now()},{persist:t?.persist})}catch(p){let h=r.get(n);r.set(n,{...h||{data:null,loading:!1,error:null,updatedAt:null},error:p instanceof Error?p:new Error(String(p)),loading:!1})}}})};var Vn=()=>({name:"gstate-immer",hooks:{onInstall:({store:e})=>{e._registerMethod("immer","setWithProduce",((t,n)=>e.set(t,n)))}}});var Nn=e=>{let t=[],n=-1,r=!1,o=e?.limit||50;return{name:"gstate-undo-redo",hooks:{onInstall:({store:i})=>{t.push(i.list()),n=0,i._registerMethod("undoRedo","undo",()=>{if(n>0){r=!0,n--;let p=t[n];return p?(Object.entries(p).forEach(([h,y])=>{i._setSilently(h,y)}),r=!1,!0):!1}return!1}),i._registerMethod("undoRedo","redo",()=>{if(n<t.length-1){r=!0,n++;let p=t[n];return p?(Object.entries(p).forEach(([h,y])=>{i._setSilently(h,y)}),r=!1,!0):!1}return!1}),i._registerMethod("undoRedo","canUndo",()=>n>0),i._registerMethod("undoRedo","canRedo",()=>n<t.length-1)},onSet:({store:i})=>{r||(n<t.length-1&&(t=t.slice(0,n+1)),t.push(i.list()),t.length>o?t.shift():n++)}}}};var Wn=e=>({name:"gstate-schema",hooks:{onSet:({key:t,value:n})=>{if(!t)return;let r=e[t];if(r){let o=r(n);if(o!==!0)throw new Error(`[Schema Error] Validation failed for key "${t}": ${o===!1?"Invalid type":o}`)}}}});var Fn=e=>{let r=globalThis.__REDUX_DEVTOOLS_EXTENSION__;if(!r?.connect)return{name:"gstate-devtools-noop",hooks:{}};let o=null;return{name:"gstate-devtools",hooks:{onInstall:({store:i})=>{o=r.connect({name:e?.name||"Magnetar Store"}),o.init(i.list())},onSet:({key:i,store:p})=>{!i||!o||o.send(`SET_${i.toUpperCase()}`,p.list())},onRemove:({key:i,store:p})=>{!i||!o||o.send(`REMOVE_${i.toUpperCase()}`,p.list())}}}};var Kn=()=>{let e=new Map;return{name:"gstate-snapshot",hooks:{onInstall:({store:t})=>{t._registerMethod("snapshot","takeSnapshot",(n=>{e.set(n,t.list())})),t._registerMethod("snapshot","restoreSnapshot",(n=>{let r=e.get(n);return r?(t.transaction(()=>{Object.entries(r).forEach(([o,i])=>{t.set(o,i)})}),!0):!1})),t._registerMethod("snapshot","listSnapshots",(()=>Array.from(e.keys()))),t._registerMethod("snapshot","deleteSnapshot",(n=>e.delete(n))),t._registerMethod("snapshot","clearSnapshots",(()=>e.clear()))}}}};var Ln=e=>({name:"gstate-guard",hooks:{onBeforeSet:({key:t,value:n,store:r})=>{if(!t)return;let o=e[t];if(o){let i=o(n)}}}});var Bn=e=>({name:"gstate-analytics",hooks:{onSet:({key:t,value:n})=>{t&&(!e.keys||e.keys.includes(t))&&e.provider({key:t,value:n,action:"SET"})},onRemove:({key:t})=>{t&&(!e.keys||e.keys.includes(t))&&e.provider({key:t,value:null,action:"REMOVE"})}}});var Gn=e=>{let t=new BroadcastChannel(e?.channelName||"gstate_sync"),n=!1;return{name:"gstate-sync",hooks:{onInstall:({store:r})=>{t.onmessage=o=>{let{key:i,value:p,action:h}=o.data;i&&(n=!0,h==="REMOVE"?r.remove(i):r.set(i,p),n=!1)}},onSet:({key:r,value:o})=>{!r||n||t.postMessage({key:r,value:o,action:"SET"})},onRemove:({key:r})=>{!r||n||t.postMessage({key:r,action:"REMOVE"})},onDestroy:()=>{t.close()}}}};var Jn=()=>({name:"gstate-debug-noop",hooks:{}});var gr=e=>({name:"gstate-logger",hooks:{onSet:({key:t,value:n,version:r})=>{let o=new Date().toLocaleTimeString(),i=`[gState] SET: ${t} (v${r}) @ ${o}`;e?.collapsed?console.groupCollapsed(i):console.group(i),console.info("%c Value:","color: #4CAF50; font-weight: bold;",n),console.groupEnd()},onRemove:({key:t})=>{console.warn(`[gState] REMOVED: ${t}`)},onTransaction:({key:t})=>{t==="START"?console.group("\u2500\u2500 TRANSACTION START \u2500\u2500"):console.groupEnd()}}});var Cr=(e,t)=>{let r=ue(typeof t=="string"?{namespace:t}:t);return e&&Object.entries(e).forEach(([i,p])=>{r._setSilently(i,p)}),Object.assign(i=>Ce(i,r),r)};var Rr=(e,t)=>Z()?.addAccessRule(e,t),Mr=(e,t,n)=>Z()?.hasPermission(e,t,n)??!0,Ir=(e,t,n)=>{let r=Z();if(!r)throw new Error("[gState] recordConsent failed: No store found. call initState() first.");return r.recordConsent(e,t,n)},Or=(e,t)=>Z()?.hasConsent(e,t)??!1,Tr=e=>Z()?.getConsents(e)??[],Dr=(e,t)=>Z()?.revokeConsent(e,t),jr=e=>{let t=Z();if(!t)throw new Error("[gState] exportUserData failed: No store found.");return t.exportUserData(e)},zr=e=>{let t=Z();if(!t)throw new Error("[gState] deleteUserData failed: No store found.");return t.deleteUserData(e)},Ur=()=>{},$r=()=>{};export{Rr as addAccessRule,Bn as analyticsPlugin,Ur as clearAccessRules,$r as clearAllConsents,$n as createAsyncStore,ue as createStore,Jn as debugPlugin,zr as deleteUserData,zn as destroyState,Fn as devToolsPlugin,Ht as exportKey,jr as exportUserData,qt as generateEncryptionKey,Tr as getConsents,Cr as gstate,Ln as guardPlugin,Or as hasConsent,Mr as hasPermission,Vn as immerPlugin,Xt as importKey,jn as initState,St as isCryptoAvailable,ge as logAudit,gr as loggerPlugin,Ir as recordConsent,Dr as revokeConsent,pe as sanitizeValue,Wn as schemaPlugin,Qt as setAuditLogger,Kn as snapshotPlugin,Gn as syncPlugin,Nn as undoRedoPlugin,Ce as useGState,Un as useIsStoreReady,Ce as useSimpleState,Ce as useStore,et as validateKey};
@@ -15,7 +15,7 @@ npm install rgs
15
15
  In your main entry file (e.g., `main.tsx` or `App.tsx`), wake up the engine once.
16
16
 
17
17
  ```typescript
18
- import { initState } from '@biglogic/rgs';
18
+ import { initState, useStore } from '@biglogic/rgs';
19
19
 
20
20
  // Initialize with optional settings
21
21
  initState({
@@ -58,7 +58,7 @@ const decoded = JSON.parse(atob(encoded)) // { secret: 'password123' }
58
58
  #### Example: Custom Error Logging
59
59
 
60
60
  ```typescript
61
- import { initState } from '@biglogic/rgs'
61
+ import { initState, useStore } from '@biglogic/rgs'
62
62
 
63
63
  const store = initState({
64
64
  namespace: 'myapp',
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@biglogic/rgs",
3
- "version": "2.9.1",
3
+ "version": "2.9.3",
4
4
  "description": "Argis (RGS) - React Globo State: A react state everywhere made easy",
5
5
  "deprecated": false,
6
6
  "preferGlobal": true,
@@ -34,6 +34,9 @@
34
34
  ],
35
35
  "main": "./index.js",
36
36
  "types": "./index.d.ts",
37
+ "exports": {
38
+ ".": "./index.js"
39
+ },
37
40
  "scripts": {
38
41
  "build": "tsc --emitDeclarationOnly --outDir dist && node ./esbuild.config.mjs",
39
42
  "npm: pack": "npm run build && cd dist && npm pack",
@@ -56,8 +59,8 @@
56
59
  "@types/node": "25.2.3",
57
60
  "@types/react": "19.2.14",
58
61
  "@types/react-dom": "19.2.3",
59
- "@typescript-eslint/eslint-plugin": "^8.55.0",
60
- "@typescript-eslint/parser": "^8.55.0",
62
+ "@typescript-eslint/eslint-plugin": "^8.56.0",
63
+ "@typescript-eslint/parser": "^8.56.0",
61
64
  "dphelper": "2.6.3",
62
65
  "esbuild": "0.27.3",
63
66
  "esbuild-plugin-copy": "2.1.1",
@@ -71,6 +74,6 @@
71
74
  "ts-jest": "29.4.6",
72
75
  "tslib": "^2.8.1",
73
76
  "typescript": "^5.9.3",
74
- "typescript-eslint": "8.55.0"
77
+ "typescript-eslint": "8.56.0"
75
78
  }
76
79
  }