@storesjs/stores 0.12.0 β†’ 0.12.1

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.
@@ -1,2 +1,2 @@
1
- import{a as e,c as t,d as n,f as r,i,l as a,n as o,o as s,r as c,s as l,t as u,u as d}from"../utils-Ba1RIeAA.mjs";import{r as f,t as p}from"../queryParam-Ckp7Zi5t.mjs";import{n as m,r as h,t as g}from"../serialization-BgaGfw_1.mjs";function _(e){return{clearAll(){try{let t=v();if(!t)return;let n=[];for(let r=0;r<t.length;r++){let i=t.key(r);i?.startsWith(e)&&n.push(i)}for(let e of n)t.removeItem(e)}catch(e){console.error(`Error clearing localStorage:`,e)}},contains(t){return v()?.getItem(`${e}${t}`)!==null},delete(t){try{v()?.removeItem(`${e}${t}`)}catch(e){console.error(`Error deleting from localStorage:`,e)}},getAllKeys(){try{let e=v();return e?Array.from(e.keys()):[]}catch(e){return console.error(`Error getting keys from localStorage:`,e),[]}},get(t){try{let n=v();return n?n.getItem(`${e}${t}`)??void 0:void 0}catch(e){console.error(`Error reading from localStorage:`,e);return}},set(t,n){try{v()?.setItem(`${e}${t}`,n)}catch(e){console.error(`Error writing to localStorage:`,e)}}}}function v(){return typeof window<`u`?window.localStorage:null}let y={debug:(e,t)=>{n&&console.debug(e,t)},error:(e,t)=>{n&&!r&&console.error(e,t)},info:(e,t)=>{n&&console.info(e,t)},warn:(e,t)=>{n&&console.warn(e,t)}};function b(e){y=e}var x=class extends Error{constructor(e,t){super(e),this.name=`StoresError`,t!==void 0&&Object.defineProperty(this,"cause",{configurable:!0,value:t,writable:!0})}};function S(e){return e instanceof Error?e:Error(String(e))}const C=`stores/core/sync-channel`,w=`${`${C}:storage`}:`;var T=class{constructor(e){this.broadcast=e.broadcast,this.origin=e.origin,this.storeKey=e.storeKey,this.teardown=e.teardown}destroy(){this.teardown()}publish(e){let t=a();for(let n of Object.entries(e.values))t[n[0]]=n[1];let n={origin:this.origin,replace:e.replace,sessionId:e.sessionId,storeKey:this.storeKey,timestamp:e.timestamp,values:t};this.broadcast(n)}},E=class{constructor(){this.listeners=new Map,this.origin=k(),this.onChannelMessage=e=>{e.data&&this.dispatch(e.data)},this.onStorageEvent=e=>{if(!(!e.key||!e.newValue)&&e.key.startsWith(w))try{let t=JSON.parse(e.newValue);this.dispatch(t)}catch(e){y.error(new x(`[sync] Failed to parse storage event payload`,e))}},this.channel=typeof BroadcastChannel>`u`?null:new BroadcastChannel(C),this.storage=A(),this.channel&&this.channel.addEventListener(`message`,this.onChannelMessage),d&&window.addEventListener(`storage`,this.onStorageEvent)}get sessionId(){return this.origin}register(e){let t=t=>{if(t.origin===this.origin||t.storeKey!==e.key)return;let n=a();for(let r of e.fields)u(t.values,r)&&(n[r]=t.values[r]);Object.keys(n).length&&e.apply({replace:t.replace,sessionId:t.sessionId,timestamp:t.timestamp,values:n})},n=this.listeners.get(e.key);return n||(n=new Set,this.listeners.set(e.key,n)),n.add(t),new T({broadcast:e=>this.broadcast(e),origin:this.origin,storeKey:e.key,teardown:()=>this.removeListener(e.key,t)})}broadcast(e){try{this.channel&&this.channel.postMessage(e),this.writeToStorage(e)}catch(e){y.error(new x(`[sync] Failed to broadcast update`,e))}}dispatch(e){if(!e.storeKey)return;let t=this.listeners.get(e.storeKey);if(!(!t||!t.size))for(let n of t)n(e)}removeListener(e,t){let n=this.listeners.get(e);n&&(n.delete(t),n.size||this.listeners.delete(e))}writeToStorage(e){if(this.storage||(this.storage=A()),!this.storage)return;let t=`${w}${e.storeKey}`;try{this.storage.setItem(t,JSON.stringify(e))}catch(e){y.error(new x(`[sync] Failed to write broadcast payload to storage`,e))}}};let D;function O(){return D||(D=new E),D}function k(){return typeof crypto<`u`&&`randomUUID`in crypto?crypto.randomUUID():`${Math.random().toString(36).slice(2)}:${Date.now().toString(36)}`}function A(){try{return typeof window<`u`?window.localStorage:null}catch{return null}}var j=class{destroy(){}publish(){}},M=class{constructor(){this.sessionId=`noop`}register(e){return new j}};let N;function ee(){return N||(N=new M),N}const P=`stores:`;let F,I,L=!1;function R(e){n&&te(),e.logger&&b(e.logger),F??(F=H(e)),I??(I=U(e))}function z(){if(F)return F}function B(){return I??(I=U(void 0))}function V(){L=!0}function H(e){if(e?.queryStoreDefaults)return{queryStoreDefaults:e.queryStoreDefaults}}function U(e){return{storage:e?.storage??_(e?.storageKeyPrefix??`stores:`),syncEngine:e?.syncEngine??(d?O():ee())}}function te(){if(L)throw Error(`[stores]: configureStores() called after first store creation. Call it earlier before creating any stores.`)}const W={Error:`error`,Idle:`idle`,Loading:`loading`,Success:`success`},G={ms:e=>{"worklet";return e},seconds:e=>{"worklet";return e*1e3},minutes:e=>{"worklet";return e*6e4},hours:e=>{"worklet";return e*36e5},days:e=>{"worklet";return e*864e5},weeks:e=>{"worklet";return e*6048e5},infinity:1/0,zero:0};let ne;function re(){return ne??(ne=ie())}function ie(){let e=z()?.queryStoreDefaults;return{abortInterruptedFetches:e?.abortInterruptedFetches??!0,cacheTime:e?.cacheTime??G.days(7),debugMode:e?.debugMode??!1,disableAutoRefetching:e?.disableAutoRefetching??!1,keepPreviousData:e?.keepPreviousData??!1,minStaleTime:e?.minStaleTime??!1,onError:e?.onError,paramChangeThrottle:e?.paramChangeThrottle??!1,retry:e?.retry??5,retryDelay:e?.retryDelay,staleTime:e?.staleTime??G.minutes(2),suppressStaleTimeWarning:e?.suppressStaleTimeWarning??!1}}function ae(e,t){let n=t?.baseDelay??G.seconds(5),r=t?.maxDelay??G.minutes(5);return Math.min(n*2**e,r)}function K(e,t){return t[1]===!0?e(t[0],!0):e(t[0])}function oe(e,t,n){if(n===!0)return q(t)?t(e):t;let r=q(t)?t(e):t;return Object.is(r,e)?e:!i(e)||!i(r)?r:{...e,...r}}function q(e){return typeof e==`function`}const se=Object.freeze({QueryStore:Symbol(`queryStore`),VirtualStore:Symbol(`virtualStore`)});function ce(e,t){return Object.assign(e,{[t]:!0})}function le(e,t){me(e)?e.getState().reset(t?.clearQueryCache):fe(e)&&e.destroy()}function ue(e,t){for(let n of Array.isArray(e)?e:Object.values(e))!n||t?.skipDestroy?.(n)||le(n,t)}function J(e){let t=de(e);return ge(e)?e.persist.getOptions().name??t:t}function de(e){return typeof e==`function`?e.name:``}function fe(e){return`destroy`in e}function pe(e){return`getSnapshot`in e}function me(e){return se.QueryStore in e}function he(e){return`flushUpdates`in e}function ge(e){return!(`persist`in e)||!e.persist?!1:typeof e.persist.getOptions().name==`string`}function _e(e){return se.VirtualStore in e}function ve(e,t){let n=ye(e);return t?Object.assign(n,t):n}function ye(e){let t=e.getState(),r=a(),i=r;if(n&&!(typeof t==`object`&&t))throw Error(`[createStoreActions]: State is not an object`);if(_e(e))for(let n in t)be(t,n)&&(i[n]=Y(e,n));else for(let e in t)be(t,e)&&(i[e]=t[e]);return r}function Y(e,t){return function(...n){let r=e.getState()[t];if(typeof r==`function`)return r(...n);throw Error(`[createVirtualStoreAction]: Method ${String(t)} is not a function`)}}function be(e,t){return typeof e[t]==`function`}function xe(e,t){"worklet";if(typeof e!=`object`||!e||e===void 0||typeof t!=`object`||!t||t===void 0)return e===t;if(Object.is(e,t))return!0;let n=Object.keys(e);if(n.length!==Object.keys(t).length)return!1;for(let r of n)if(!(r in t)||!xe(e[r],t[r]))return!1;return!0}function Se(e,t){"worklet";if(typeof e!=`object`||!e||e===void 0||typeof t!=`object`||!t||t===void 0)return e===t;if(Object.is(e,t))return!0;let n=Object.keys(e);if(n.length!==Object.keys(t).length)return!1;for(let r of n)if(!Object.is(e[r],t[r]))return!1;return!0}function Ce(e,t){let n=Object.prototype.hasOwnProperty;function r(e,t){for(let n of e.keys())if(Ce(n,t))return n}let i,a,o;if(e===t)return!0;if(e&&t&&(i=e.constructor)===t.constructor){if(i===Date)return e.getTime()===t.getTime();if(i===RegExp)return e.toString()===t.toString();if(i===Array){if((a=e.length)===t.length)for(;a--&&Ce(e[a],t[a]););return a===-1}if(i===Set){if(e.size!==t.size)return!1;for(let n of e)if(o=n,o&&typeof o==`object`&&(o=r(t,o),!o)||!t.has(o))return!1;return!0}if(i===Map){if(e.size!==t.size)return!1;for(let n of e)if(o=n[0],o&&typeof o==`object`&&(o=r(t,o),!o)||!Ce(n[1],t.get(o)))return!1;return!0}if(i===ArrayBuffer)e=new Uint8Array(e),t=new Uint8Array(t);else if(i===DataView){if((a=e.byteLength)===t.byteLength)for(;a--&&e.getInt8(a)===t.getInt8(a););return a===-1}if(ArrayBuffer.isView(e)&&ArrayBuffer.isView(t)){let n=e,r=t;if((a=n.byteLength)===r.byteLength)for(;a--&&n[a]===r[a];);return a===-1}if(!i||typeof e==`object`){a=0;for(let r in e)if(n.call(e,r)&&++a&&!n.call(t,r)||!(r in t)||!Ce(e[r],t[r]))return!1;return Object.keys(t).length===a}}return e!==e&&t!==t}function we(e,t,n){if(t===0)return n;if(t===1){if(e===n)return null;let t=new Set;return t.add(e),t.add(n),t}return e.add(n),e.size===t?null:e}function Te(e,t,n){if(t===0)return null;if(t===1)return e===n?void 0:null;if(!e.delete(n))return null;if(t!==2)return e;for(let t of e)return t}function Ee(e,t,n,r,i){if(t!==0){if(t===1){n(e,r,i);return}for(let t of e)n(t,r,i)}}function De(e,t){t>1&&e.clear()}function Oe(e){return e()}let X=!1,ke=!1,Ae=!1,Z,je,Me=0;const Ne=new Map;let Pe=0,Fe=null,Q=1/0;function Ie(){return X}function Le(){return Fe}function Re(){X||(X=!0,!Ae&&(Ae=!0,queueMicrotask(()=>{Ae=!1,ze()})))}function ze(){if(X){if(ke){Ue();return}ke=!0;try{Oe(Ue)}finally{qe()}}}function Be(){if(X){if(ke){Fe===null&&We();return}ke=!0;try{We()}catch(e){throw qe(),e}finally{ke=!1,Fe=null}}}function Ve(e){if(X){if(je){je.push(e);return}if(!Z){Z=e;return}je=[Z,e],Z=void 0}}function He(e,t){if(!X)return;let n=t<0?0:t|0,r=Ne.get(n);r||(r=[],Ne.set(n,r)),r.push(e),Pe+=1,n<Q&&(Q=n)}function Ue(){for(;Pe>0||Je();)We(),Ke()}function We(){for(;Pe>0;){let e=Q,t=Ne.get(e);if(!t){Q=1/0;for(let e of Ne.keys())e<Q&&(Q=e);continue}Ne.delete(e),Pe-=t.length,Ge(),Fe=e;for(let e=0;e<t.length;e++)t[e]();Fe=null}}function Ge(){Q=1/0;for(let e of Ne.keys())e<Q&&(Q=e)}function Ke(){for(;;){let e=Z;if(e){Z=void 0,e();continue}let t=je;if(!t)return;for(;Me<t.length;)t[Me++]();je=void 0,Me=0;return}}function qe(){X=!1,ke=!1,Fe=null,Z=void 0,je=void 0,Me=0,Ne.clear(),Pe=0,Q=1/0}function Je(){return!!Z||!!je}const Ye=Symbol(`stores.subscribeCascadeState`);function Xe(e){return Ye in e}function Ze(e,t){Xe(e)&&(e[Ye]=t(e[Ye]))}const Qe=Symbol(),$e=Symbol();function et(e){let n,r,i,a=0;function o(e,o,s){let c=oe(n,e,o);if(Object.is(c,n))return s===Qe?$e:void 0;let l=n;if(n=c,Ee(i,a,t,n,l),r){ze();for(let e of r)e(n,l)}}function s(){return n}function c(){return d}function l(e,t,n){return t?g(e,t,n):f(e)}let u={[Ye]:m,getInitialState:c,getState:s,setState:o,subscribe:l},d=n=tt(e)?e(o,s,u):e;return u;function f(e){return(r??(r=new Set)).add(e),()=>{r?.delete(e),r?.size===0&&(r=void 0)}}function p(e){let t=we(i,a,e);return t!==null&&(i=t,a+=1),()=>h(e)}function m(e){function t(t,n){Re(),e(t,n)}return p(t)}function h(e){let t=Te(i,a,e);t!==null&&(i=t,--a)}function g(e,t,r){let i=r?.equalityFn??Object.is,a=r?.isCascadeParticipant??!1,o=e(n);function s(n){let r=e(n);if(i(o,r))return;let s=o;o=r,a&&Re(),t(r,s)}return r?.fireImmediately&&t(o,o),a?p(s):f(s)}}function tt(e){return typeof e==`function`}const nt=Object.freeze({migrated:!1,state:void 0});function rt(e,t,n){return(r,i,a)=>{let o=at(t),s,c=!1,l=0,u,d,f;function p(e){return o.storage.setItem(o.name,e,o.version)}function m(e,t){return(t===!0?r(e,t,Qe):r(e,!1,Qe))===$e?n?s??(s=Promise.resolve()):void 0:p(i())}a.setState=m;let g=e(m,i,a);a.getInitialState=()=>g;function _(){let e=S(),t=o.onRehydrateStorage?.(i()??g);try{let n=o.storage.getItem(o.name);return h(n)?n.then(n=>v(e,n,t)).catch(n=>w(e,t,n)):v(e,n,t)}catch(n){w(e,t,n)}}return Object.assign(a,{persist:x()}),o.skipHydration||_(),u??g;function v(e,t,n){let r=it(o,t);return h(r)?r.then(t=>y(e,t,n)).catch(t=>w(e,n,t)):y(e,r,n)}function y(e,t,n){let r=b(e,t);if(h(r))return r.then(()=>C(e,n));C(e,n)}function b(e,t){if(e!==l)return;let n=o.merge(t.state,i()??g);if(u=n,r(n,!0),t.migrated)return p(i())}function x(){return{clearStorage:()=>{o.storage.removeItem(o.name)},getOptions:()=>o,hasHydrated:()=>c,onFinishHydration:e=>(f??(f=new Set),f.add(e),()=>{f?.delete(e),f?.size===0&&(f=void 0)}),onHydrate:e=>(d??(d=new Set),d.add(e),()=>{d?.delete(e),d?.size===0&&(d=void 0)}),rehydrate:_,setOptions:e=>{o=at({...o,...e,storage:e.storage??o.storage})}}}function S(){let e=++l;return c=!1,d?.forEach(e=>e(i()??g)),e}function C(e,t){if(e!==l)return;t?.(u,void 0);let n=i();u=n,c=!0,f?.forEach(e=>e(n))}function w(e,t,n){e===l&&t?.(void 0,n)}}}function it(e,t){if(!t)return nt;if(typeof t.version!=`number`||t.version===e.version)return{migrated:!1,state:t.state};if(!e.migrate)return console.error(`State loaded from storage couldn't be migrated since no migrate function was provided`),nt;let n=e.migrate(t.state,t.version);return h(n)?n.then(e=>({migrated:!0,state:e})):{migrated:!0,state:n}}function at(e){return{...e,merge:e.merge??ot,skipHydration:e.skipHydration??!1}}function ot(e,t){return e===void 0?t:{...t,...e}}function st(){let e=!1,t,n,r=new Promise((e,r)=>{t=e,n=r});function i(){e||!t||(e=!0,t(),t=void 0,n=void 0)}function a(r){e||!n||(e=!0,n(r),n=void 0,t=void 0)}function o(){return e}return{complete:i,isHydrated:o,fail:a,promise:r}}function ct(e){let t,n=!1,r,i;return{hydrationPromise:()=>n?t?.promise??r??(r=Promise.resolve()):(t||(t=st()),t.promise),stateCreator:(r,a,o)=>{let s;function c(...e){return n?K(r,e):(t||(t=st()),s||(s=[]),s.push(e),t.promise)}return i=()=>{if(s?.length){for(let e of s)K(o.setState,e);s=void 0}},e(c,a,o)},wrapOnRehydrateStorage:(e,r)=>a=>{let o=e?.(a);return(e,a)=>{n=!0,r?.onHydrationComplete?.(),i&&i(),r?.onHydrationFlushEnd?.(),a?t?.fail(S(a)):t?.complete(),o?.(e,a)}}}}function lt(e){let t,n=null;function r(...r){return t=r,n||(n=new Promise(r=>{queueMicrotask(async()=>{try{await e(...t)}finally{n=null,r()}})})),n}return r}const ut=Math.max,dt=Math.min;function ft(e,t=0,n={}){let r,i,a,o,s,c,l=0,u=!1,d=!1,f=!0;if(typeof e!=`function`)throw TypeError(`Expected a function`);t=mt(t)||0,ht(n)&&(u=!!n.leading,d=`maxWait`in n,a=d?ut(mt(n.maxWait)||0,t):void 0,f=`trailing`in n?!!n.trailing:f);function p(t){let n=r,a=i;return r=i=void 0,l=t,o=n?e.apply(a,n):e.apply(a),o}function m(e){return l=e,s=setTimeout(_,t),u?p(e):o}function h(e){let n=e-(c??0),r=e-l,i=t-n;return d&&a!==void 0?dt(i,a-r):i}function g(e){let n=e-(c??0),r=e-l;return c===void 0||n>=t||n<0||d&&a!==void 0&&r>=a}function _(){let e=pt();if(g(e))return v(e);s=setTimeout(_,h(e))}function v(e){return s=void 0,f&&r?p(e):(r=i=void 0,o)}function y(){s!==void 0&&clearTimeout(s),l=0,r=c=i=s=void 0}function b(){return s===void 0?o:v(pt())}function x(...e){let n=pt(),a=g(n);if(r=e,i=this,c=n,a){if(s===void 0)return m(c);if(d)return clearTimeout(s),s=setTimeout(_,t),p(c)}return s===void 0&&(s=setTimeout(_,t)),o}return x.cancel=y,x.flush=b,x}function pt(){return typeof performance<`u`&&typeof performance.now==`function`?performance.now():Date.now()}function mt(e){if(typeof e==`number`)return e;if(typeof e==`symbol`||e===void 0)return NaN;if(typeof e==`object`&&e){let t=typeof e.valueOf==`function`?e.valueOf():e;e=typeof t==`object`?t+``:t}return typeof e==`string`?(e=e.replace(/^[\s\uFEFF\xA0]+|[\s\uFEFF\xA0]+$/g,``),/^0b[01]+$/i.test(e)?parseInt(e.slice(2),2):/^0o[0-7]+$/i.test(e)?parseInt(e.slice(2),8):/^[-+]0x[0-9a-f]+$/i.test(e)?NaN:+e):e===0?e:+e}function ht(e){let t=typeof e;return e!==null&&(t===`object`||t===`function`)}function gt(e){if(!c(e))return e;let t=a(),n=Object.keys(e);for(let r=0;r<n.length;r++){let i=n[r],a=e[i];typeof a!=`function`&&(t[i]=a)}return t}function _t(e,t){try{return JSON.stringify(e,t?g:void 0)}catch(e){throw y.error(new x(`[createBaseStore]: Failed to serialize store data`,e)),e}}function vt(e,t){try{return JSON.parse(e,t?m:void 0)}catch(e){throw y.error(new x(`[createBaseStore]: Failed to deserialize persisted store data`,e)),e}}const yt=r?0:d?G.ms(200):G.seconds(5);function bt(e,t,n){let r=t??e.storage??B().storage,i=(e.sync?void 0:e.persistThrottleMs??yt)||void 0,a=e.version??0;return r.async?{async:!0,persistStorage:St(r,e,i,n),version:a}:{async:!1,persistStorage:xt(r,e,i,n),version:a}}function xt(e,t,n,r){let i=!t.deserializer&&!t.serializer&&!e.deserializer&&!e.serializer,a=typeof t.sync==`object`&&(t.sync.injectStorageMetadata??t.sync.engine?.injectStorageMetadata)===!0,o=t.partialize??gt,s=t.deserializer??e.deserializer??Ct(i),c=t.serializer??e.serializer??wt(i);function l(t,n,i){try{if(kt(r))return;let s={state:o(n),version:i},l=Et(r,a,s),u=c(s);try{e.set(t,u),Dt(r,l)}catch(e){y.error(new x(`[createBaseStore]: Failed to persist store data`,e))}}catch(e){y.error(new x(`[createBaseStore]: Failed to persist store data`,e))}}let u=n===void 0?l:ft(l,n,{leading:!1,maxWait:n,trailing:!0});return{getItem:t=>{let n=e.get(t);return n===void 0?null:s(n)},setItem:(e,t,n)=>{r?.getIsApplyingRemote()||u(e,t,n)},removeItem:t=>{try{e.delete(t)}catch(e){y.error(new x(`[createBaseStore]: Failed to delete persisted store data`,e))}}}}function St(e,t,n,r){let i=!t.deserializer&&!t.serializer&&!e.deserializer&&!e.serializer,a=typeof t.sync==`object`&&(t.sync.injectStorageMetadata??t.sync.engine?.injectStorageMetadata)===!0,o=t.partialize??gt,s=t.deserializer??e.deserializer??Ct(i),c=t.serializer??e.serializer??wt(i);async function l(t,n,i){try{if(kt(r))return;let s={state:o(n),version:i},l=Et(r,a,s),u=c(s);try{await e.set(t,u),Dt(r,l)}catch(e){y.error(new x(`[createBaseStore]: Failed to persist store data`,e))}}catch(e){y.error(new x(`[createBaseStore]: Failed to serialize persisted store data`,e))}}let u=n===void 0?lt(l):ft(l,n,{leading:!1,maxWait:n,trailing:!0});return{getItem:async t=>{let n=await e.get(t);return n===void 0?null:s(n)},setItem:async(e,t,n)=>{if(!r?.getIsApplyingRemote())return await u(e,t,n)},removeItem:async t=>{try{await e.delete(t)}catch(e){y.error(new x(`[createBaseStore]: Failed to delete persisted store data`,e))}}}}function Ct(e){return t=>{if(typeof t!=`string`)throw new x(`[createBaseStore]: Received non-string serialized state without a custom deserializer. Provide a deserializer on the store or storage adapter.`);return vt(t,e)}}function wt(e){return t=>_t(t,e)}const Tt=Object.freeze({shouldClear:!1});function Et(e,t,n){if(!t||!e)return Tt;let r=e.getFieldTimestampSnapshot();return Ot(e,n),n.syncMetadata?r&&Object.keys(r).length>0?(n.syncMetadata.fields=r,{fieldSnapshot:r,shouldClear:!0}):(delete n.syncMetadata.fields,{fieldSnapshot:r,shouldClear:!1}):{fieldSnapshot:r,shouldClear:!1}}function Dt(e,t){!e||!t.shouldClear||!t.fieldSnapshot||!Object.keys(t.fieldSnapshot).length||e.clearFieldTimestamps(t.fieldSnapshot)}function Ot(e,t){let n=e.getSessionId(),r=e.getTimestamp();n!==void 0&&r!==void 0&&(t.syncMetadata={origin:n,timestamp:r})}function kt(e){return e?!!e.getIsApplyingRemote():!1}function At(e,t,n){let r=t.engine??B().syncEngine;return(i,o,s)=>{let c=new Map,l=[],d=[],f=null,p=!1,m=!1,g=0,_=null,v=[],b=Promise.resolve(),S=!n?.isAsync;function C(){let e=Date.now(),t=e>g?e:g+1;return g=t,t}function w(e,t){if(!(!n||!r.sessionId)&&(n.setSessionId(r.sessionId),n.setTimestamp(e),t.length>0)){let r=a();for(let n of t)r[String(n)]=e;n.mergeFieldTimestamps(r)}}function T(e,t,n,i=!1){let a=r.sessionId;for(let t of e)c.set(t,[n,a]);!f||!m?d.push({keys:e,replace:i,timestamp:n,values:t}):f.publish?.({replace:i,sessionId:a,timestamp:n,values:t})}function E(){if(!(!f||!d.length)){for(let e of d){let t=r.sessionId;for(let n of e.keys)c.set(n,[e.timestamp,t]);w(e.timestamp,e.keys),f.publish?.({replace:e.replace,sessionId:t,timestamp:e.timestamp,values:e.values})}d.length=0}}function D(e,t){if(p||!_)return t?i(e,t):i(e);let n=C(),r,o,s=t?i(c,!0):i(c);if(!r||!o)return s;function c(i){let s=oe(i,e,t);for(let e of v)Object.is(s[e],i[e])||((r??(r=[])).push(e),(o??(o=a()))[e]=s[e]);return r&&w(n,r),s}return h(s)?s.finally(T.bind(void 0,r,o,n,t)):(T(r,o,n,t),s)}let O=s.setState;s.setState=D;let k=e(D,o,s);if(v=t.fields??Nt(k),!v.length)return k;_=new Set(v);async function A(e){g=Math.max(g,e.timestamp);let r=a(),i=o(),s=e.timestamp,l;if(e.replace)for(let t of v)u(e.values,t)||Mt(c.get(t),s,e.sessionId)&&(l??(l=[])).push(t);for(let n of v){if(!It(e.values,n)||!_?.has(n)||!Mt(c.get(n),s,e.sessionId))continue;let a=t.merge?.[n];if(a){let t=e.values[n],o=i[n];if(t!==void 0){let l=a(t,o,i,e.values),u=o===void 0?t:o;if(!Ft(l,u)){y.error(new x(`[sync] Merge function for field "${String(n)}" returned ${Pt(l)} but expected ${Pt(u)}`));return}r[n]=l,c.set(n,[s,e.sessionId])}}else r[n]=e.values[n],c.set(n,[s,e.sessionId])}if(!(!(Object.keys(r).length>0)&&!l?.length)){p=!0,n?.setIsApplyingRemote(!0);try{if(e.replace){let e={...i},t=!1;if(l?.length){t=!0;for(let t of l)delete e[t],c.delete(t)}for(let n in r){if(!u(r,n))continue;let i=r[n];if(i===void 0)continue;Object.is(e[n],i)||(t=!0);let a=e;a[n]=i}if(!t)return;await(n?.setWithoutPersist??O)(e,!0)}else await(n?.setWithoutPersist??O)(r)}finally{p=!1,n?.setIsApplyingRemote(!1)}}}function j(e){n?.isAsync?b=b.then(()=>A(e)):A(e)}function M(){if(!l.length)return;let e=l.slice();l.length=0;for(let t of e)j(t)}if(f=r.register({apply:e=>{if(!S){l.push(e);return}j(e)},fields:v,getState:o,key:t.key}),f?.onFirstSubscribe||f?.onLastUnsubscribe){let e=f,t=0,n=s.subscribe;function r(n){return t++===0&&e.onFirstSubscribe?.(),r=>{n(r),--t,t||queueMicrotask(()=>{t||e.onLastUnsubscribe?.()})}}s.subscribe=(...e)=>r(e.length===1?n(e[0]):n(e[0],e[1],e[2])),Ze(s,e=>t=>r(e(t)))}function N(){m=!0,E()}function ee(){S=!0,M()}return n?.isAsync?(n.onHydrationComplete=N,n.onHydrationFlushEnd=ee):f.onHydrated?(f.onHydrated(N),ee()):(N(),ee()),k}}function jt(e){let t,n,r,i=!1;function a(e){if(!(!e||!r)){for(let t of Object.entries(e)){let e=t[0],n=t[1];r[e]===n&&delete r[e]}Object.keys(r).length||(r=void 0)}}function o(){if(r)return{...r}}function s(e){if(!r){r={...e};return}for(let t of Object.entries(e)){let e=t[0],n=t[1],i=r[e];(i===void 0||n>i)&&(r[e]=n)}}return{isAsync:e,clearFieldTimestamps:a,getFieldTimestampSnapshot:o,getIsApplyingRemote:()=>i,getSessionId:()=>t,getTimestamp:()=>n,mergeFieldTimestamps:s,onHydrationComplete:void 0,onHydrationFlushEnd:void 0,setIsApplyingRemote:e=>i=e,setSessionId:e=>t=e,setTimestamp:e=>n=e,setWithoutPersist:void 0}}function Mt(e,t,n){if(!e)return!0;let r=e[0],i=e[1];return t<r?!1:t>r?!0:n>i}function Nt(e){let t=[];for(let n of Object.keys(e))Lt(e,n)&&t.push(n);return t}function Pt(e){if(e===null)return`null`;let t=typeof e;return t===`object`?Object.prototype.toString.call(e):t}function Ft(e,t){if(!n)return!0;if(e===null||t===null)return e===t;let r=typeof e;return r===typeof t?r===`object`?Object.prototype.toString.call(e)===Object.prototype.toString.call(t):!0:!1}function It(e,t){return u(e,t)}function Lt(e,t){return typeof e[t]!=`function`}function Rt(e,t){if(V(),!t)return et(e);let n=t.storageKey,r=typeof n==`string`,i=r?t.storage??B().storage:void 0,a=zt(t.sync,n),o=!i||!a?void 0:jt(i.async??!1),s=a?At(e,a,o):e;if(!r)return et(s);let c=bt(t,i,o),l=c.async?ct(s):void 0,u=l?l.wrapOnRehydrateStorage(t.onRehydrateStorage,o):t.onRehydrateStorage,d=et(rt(l?(e,t,n)=>(o&&(o.setWithoutPersist=n.setState),l.stateCreator(e,t,n)):s,{merge:t.merge,migrate:t.migrate,name:n,onRehydrateStorage:u,storage:c.persistStorage,version:c.version},c.async));return l?Object.assign(d,{persist:Object.assign(d.persist,{hydrationPromise:l.hydrationPromise})}):d}function zt(e,t){if(!e)return null;let n=typeof e==`object`,r=n?e.key??t:e===!0?t:e;if(!r)throw new x(`[createBaseStore]: sync requires a key to be specified either directly or via storageKey`);return n?{...e,key:r}:{key:r}}function Bt(e,t,n=`s`){return t===1?e:`${e}${n}`}const Vt=Object.freeze({equalityFn:Object.is,isCascadeParticipant:!0});var Ht=class{constructor(e){this.invalidate=e,this.stateDependencyRevisionStamp=0,this.stateDependencyRevision=0}beginRebuild(e){this.clearSelectors(e),this.stateDependencyRevision+=1}addSelector(e){let t=this.selectorUnsubscribes;if(!t){this.selectorUnsubscribes=e;return}if(typeof t==`function`){this.selectorUnsubscribes=[t,e];return}t.push(e)}retainState(e){let t=this.stateDependencies;if(t){let n=t.get(e);if(n){n.revision=this.stateDependencyRevision;return}t.set(e,this.createStateDependency(e));return}let n=this.stateDependencyStore;if(!n){this.stateDependencyStore=e,this.stateDependencyRevisionStamp=this.stateDependencyRevision,this.stateDependencyUnsubscribe=this.subscribeState(e);return}if(n===e){this.stateDependencyRevisionStamp=this.stateDependencyRevision;return}let r=this.stateDependencyUnsubscribe;this.stateDependencyStore=void 0,this.stateDependencyUnsubscribe=void 0,this.stateDependencies=new Map,r&&this.stateDependencies.set(n,{revision:this.stateDependencyRevisionStamp,unsubscribe:r}),this.stateDependencies.set(e,this.createStateDependency(e))}finishRebuild(e){this.stateDependencyStore&&this.stateDependencyRevisionStamp!==this.stateDependencyRevision&&(this.stateDependencyUnsubscribe?.(e),this.stateDependencyStore=void 0,this.stateDependencyUnsubscribe=void 0);let t=this.stateDependencies;if(t){for(let n of t){let r=n[1];r.revision!==this.stateDependencyRevision&&(r.unsubscribe(e),t.delete(n[0]))}if(!t.size){this.stateDependencies=void 0;return}if(t.size===1){for(let e of t){this.stateDependencyStore=e[0],this.stateDependencyRevisionStamp=e[1].revision,this.stateDependencyUnsubscribe=e[1].unsubscribe;break}this.stateDependencies=void 0}}}clear(e){this.clearSelectors(e),this.stateDependencyUnsubscribe?.(e),this.stateDependencyStore=void 0,this.stateDependencyUnsubscribe=void 0;let t=this.stateDependencies;if(t){for(let n of t)n[1].unsubscribe(e);this.stateDependencies=void 0}}get size(){let e=this.selectorUnsubscribes;return(typeof e==`function`?1:e?.length??0)+ +!!this.stateDependencyStore+(this.stateDependencies?.size??0)}clearSelectors(e){let t=this.selectorUnsubscribes;if(this.selectorUnsubscribes=void 0,t){if(typeof t==`function`){t(e);return}for(let n=0;n<t.length;n++)t[n](e)}}createStateDependency(e){return{revision:this.stateDependencyRevision,unsubscribe:this.subscribeState(e)}}subscribeState(e){return Xe(e)?e[Ye](this.invalidate):e.subscribe(s,this.invalidate,Vt)}},Ut=class{constructor(){this.watcherCount=0,this.ordinaryWatcherCount=0,this.cascadeParticipantCount=0,this.cascadeStateListenerCount=0}addWatcher(e){let t=we(this.watchers,this.watcherCount,e);return t===null?!1:(this.watchers=t,this.watcherCount+=1,qt(e)?this.cascadeParticipantCount+=1:this.ordinaryWatcherCount+=1,!0)}deleteWatcher(e){let t=Te(this.watchers,this.watcherCount,e);return t===null?!1:(this.watchers=t,--this.watcherCount,qt(e)?--this.cascadeParticipantCount:--this.ordinaryWatcherCount,!0)}addCascadeStateListener(e){let t=we(this.cascadeStateListeners,this.cascadeStateListenerCount,e);return t===null?!1:(this.cascadeStateListeners=t,this.cascadeParticipantCount+=1,this.cascadeStateListenerCount+=1,!0)}deleteCascadeStateListener(e){let t=Te(this.cascadeStateListeners,this.cascadeStateListenerCount,e);return t===null?!1:(this.cascadeStateListeners=t,--this.cascadeParticipantCount,--this.cascadeStateListenerCount,!0)}notifyCascade(e,n){Ee(this.cascadeStateListeners,this.cascadeStateListenerCount,t,e,n),this.cascadeParticipantCount!==this.cascadeStateListenerCount&&Ee(this.watchers,this.watcherCount,Wt,e,n)}notifyOrdinary(e,t){Ee(this.watchers,this.watcherCount,Gt,e,t)}clear(){this.watchers=De(this.watchers,this.watcherCount),this.cascadeStateListeners=De(this.cascadeStateListeners,this.cascadeStateListenerCount),this.watcherCount=0,this.ordinaryWatcherCount=0,this.cascadeParticipantCount=0,this.cascadeStateListenerCount=0}};function Wt(e,t,n){typeof e==`function`||!e.isCascadeParticipant||Kt(e,t)}function Gt(e,t,n){if(typeof e==`function`){e(t,n);return}e.isCascadeParticipant||Kt(e,t)}function Kt(e,t){let n=e.selector(t);if(e.equalityFn(e.currentSlice,n))return;let r=e.currentSlice;e.currentSlice=n,e.listener(n,r)}function qt(e){return typeof e!=`function`&&e.isCascadeParticipant}const Jt=Symbol(`stores.deriveProxy.unwrap`);function Yt(e,t,n,r){let i=n.get(e);if(an(i))return i;let a=Xt(t,e,r);return n.set(e,a),a}function Xt(e,t,n,r=[]){return!e||typeof e!=`object`?(n(t,r,!0),e):Zt(e,r,t,n,new WeakSet,new WeakMap)}function Zt(e,t,n,r,i,a){let s=Array.isArray(e);return new Proxy(e,{get(c,l,d){if(l===Jt)return r(n,t,!0),c;if(i.has(c))return Reflect.get(c,l,d);if(l===`__proto__`||typeof l==`symbol`)return l===Symbol.iterator&&(r(n,t,!0),i.add(c)),Reflect.get(c,l,d);if(s&&o(l))return r(n,t,!0),i.add(c),Reflect.get(c,l,d);let f=Reflect.get(c,l,c),p=String(l),m=t.concat(p);if(typeof f==`function`)return u(c,l)?function(...e){return r(n,m,!0,{args:e.length?e:void 0}),Reflect.apply(f,c,e)}:(r(n,t,!0),f.bind(e));let h=!!f&&typeof f==`object`;return r(n,m,!h),h?(a.has(f)||a.set(f,Zt(f,m,n,r,i,a)),a.get(f)):f},getOwnPropertyDescriptor(e,a){return r(n,t,!0),i.add(e),Reflect.getOwnPropertyDescriptor(e,a)},has(e,i){return r(n,t,!0),Reflect.has(e,i)},ownKeys(e){return r(n,t,!0),i.add(e),Reflect.ownKeys(e)}})}function Qt(e,t){return!e||typeof e!=`object`?e:nn(e)||(Array.isArray(e)?$t(e,t):c(e)&&en(e,t),e)}function $t(e,t){let n=rn(e,t);if(n)for(let t=0;t<e.length;t++)tn(e,String(t),n)}function en(e,t){let n=rn(e,t);if(n)for(let t of Reflect.ownKeys(e))tn(e,t,n)}function tn(e,t,n){let r=Reflect.getOwnPropertyDescriptor(e,t);if(!r||!(`value`in r))return;let i=Qt(r.value,n);i!==r.value&&(r.value=i,Reflect.defineProperty(e,t,r))}function nn(e){let t=Reflect.get(e,Jt);return t&&typeof t==`object`?t:void 0}function rn(e,t){let n=t??new WeakSet;return n.has(e)?null:(n.add(e),n)}function an(e){return e!==void 0}const on=Object.freeze([]);function sn(){let e,t,n;return{buildProxySubscriptions(r,i,a){let o=[],s=t,c=e;if(s&&c)un(s,c,[],0,o,a);else if(n)for(let e of n)un(e[1],e[0],[],0,o,a);mn(o,r,i)},reset(){e=void 0,t=void 0,n=void 0},trackPath(r,i,a,o){let s=t;if(s){let i=e;if(i!==r)if(!i)e=r;else{let a=n??(n=new Map);a.set(i,s),s=cn(),a.set(r,s),e=void 0,t=void 0}}else{let i=n;i?(s=i.get(r),s||(s=cn(),i.set(r,s))):(s=cn(),e=r,t=s)}ln(s,i,a,o)}}}function cn(){return a()}function ln(e,t,n,r){let i=e;for(let e=0;e<t.length;e++){let n=t[e],r=i.children,a;if(r)a=r[n],a||(a=r[n]=cn());else if(a=i.child,!a)a=cn(),i.child=a,i.childKey=n;else if(i.childKey!==n){let e=i.childKey;if(e===void 0)i.childKey=n;else{let t=cn();t[e]=a,a=t[n]=cn(),i.child=void 0,i.childKey=void 0,i.children=t}}i=a}n&&(i.isLeaf=!0),r&&dn(i,r)}function un(e,t,n,r,i,a=2){let o=e.child;if(o){let s=e.childKey;if(e.isLeaf){if(pn(e,t,n,i),!o.invocation||s===void 0)return}else if(s===void 0){pn(e,t,n,i);return}n.push(s),un(o,t,n,r+1,i,a),n.pop();return}let s=e.children;if(!s){pn(e,t,n,i);return}if(e.isLeaf||r>=a){pn(e,t,n,i);for(let e in s){let o=s[e];o.invocation&&(n.push(e),un(o,t,n,r+1,i,a),n.pop())}return}for(let e in s)n.push(e),un(s[e],t,n,r+1,i,a),n.pop()}function dn(e,t){let n=e.invocation;if(!n){e.invocation=t;return}if(fn(n,t))return;let r=e.extraInvocations;if(!r){e.extraInvocations=[t];return}for(let e=0;e<r.length;e++)if(fn(r[e],t))return;r.push(t)}function fn(e,t){let n=e.args,r=t.args,i=n?.length??0;if(i!==(r?.length??0))return!1;if(!n||!r)return!0;for(let e=0;e<i;e++)if(!Object.is(n[e],r[e]))return!1;return!0}function pn(e,t,n,r){let i=n.slice(),a=e.invocation;if(!a){r.push({store:t,path:i});return}r.push({store:t,path:i,invocation:a});let o=e.extraInvocations;if(o)for(let e=0;e<o.length;e++)r.push({store:t,path:i,invocation:o[e]})}function mn(e,t,n){for(let n of e){let e=n.invocation?gn(n.path,n.invocation):hn(n.path);t(n.store,e,n.path)}n&&vn(e)}function hn(e){return e.length?t=>_n(t,e):s}function gn(e,t){let n=e.slice(0,-1),r=e[e.length-1];return e=>{let i=_n(e,n),a=i&&typeof i==`object`?Reflect.get(i,r):void 0;return typeof a==`function`?Reflect.apply(a,i,t.args??on):void 0}}function _n(e,t){let n=e;for(let e=0;e<t.length;e++){if(!n||typeof n!=`object`)return n;n=Reflect.get(n,t[e])}return n}function vn(e){let t=e.length;console.log(`[πŸ“‘ ${t} ${Bt(`Proxy Subscription`,t)} πŸ“‘]:`,JSON.stringify(e.map(e=>{let t=yn(e.store),n=e.path.join(`.`);if(!e.invocation)return n?`$(${t}).${n}`:`$(${t})`;let r=e.invocation.args?.length??0;return`$(${t}).${n}${r?`(${r}_${Bt(`arg`,r)})`:`()`}`}),null,2))}function yn(e){return`name`in e&&typeof e.name==`string`?e.name:`store`}const bn=Symbol(),xn=Symbol(),Sn=Symbol(`stores.derivedStore.readDependencyState`);function Cn(e,t=Object.is){let r,i=!1,a,o=!1,c=!1;typeof t==`function`?a=t:(r=t.debounce,i=n?t.debugMode??!1:!1,a=t.equalityFn??Object.is,o=t.keepAlive??!1,c=t.lockDependencies??!1);let l=new Ut,u=new Ht(A),d=+!!o,f,p,m=bn,h=!1,g=!1,_=!0,v=!0,y=null,b=xn;function x(e,t,n){if(!v)return(t??s)(En(e));if(!d)return(t??s)(e.getState());if(!t){let t=En(e);return!t||typeof t!=`object`?(u.retainState(e),t):(f||(f=new WeakMap),p||(p=sn()),Yt(e,t,f,p.trackPath))}let r=n?{equalityFn:n,isCascadeParticipant:!0}:Vt;return u.addSelector(e.subscribe(t,A,r)),t(En(e))}function S(){if(!_&&$(m))return m;_=!1,v&&u.beginRebuild(!0);let t=!0,n=m,r=$(n);g=!0;try{let o=e(x),s=p?Qt(o):o;r&&a(n,s)?(i&&console.log(`[πŸ₯· Derive Complete πŸ₯·]: No change detected`),t=!1,m=n):m=s}finally{g=!1,v&&u.finishRebuild(!0)}let o=i&&(!r||i===`verbose`&&v);if(o){r?i===`verbose`&&console.log(`[πŸŒ€ Rebuilding Subscriptions πŸŒ€]: Created…`):console.log(`[πŸŒ€ Initial Derive Complete πŸŒ€]: Created…`);let e=u.size;console.log(`[🎯 ${e} ${Bt(`Selector Subscription`,e)} 🎯]`)}return p&&v&&(p.buildProxySubscriptions((e,t)=>{u.addSelector(e.subscribe(t,A,Vt))},o),f=void 0,c?p=void 0:p.reset()),t&&r&&C(m,n),c&&(v=!1),m}function C(e,t){let n=l.cascadeParticipantCount,r=n>0&&l.ordinaryWatcherCount>0,a=l.ordinaryWatcherCount>0&&(r||Le()!==null||Ie());if(r&&Re(),i){let e=l.ordinaryWatcherCount+n;console.log(`[πŸ“» Derive Complete πŸ“»]: Notifying ${e} ${Bt(`watcher`,e)}`)}if(n&&l.notifyCascade(e,t),l.ordinaryWatcherCount){if(a){b===xn?(b=t,Ve(w)):$(b)||(b=t);return}l.notifyOrdinary(e,t)}}function w(){d&&_&&!l.cascadeParticipantCount&&S();let e=b;b=xn,l.ordinaryWatcherCount&&$(m)&&e!==xn&&$(e)&&l.notifyOrdinary(m,e)}let T=r?ft(D,typeof r==`number`?r:r.delay,typeof r==`number`?{leading:!1,maxWait:r,trailing:!0}:r):void 0,E=T??(()=>{h||(h=!0,queueMicrotask(D))});function D(){if(h=!1,!d){o||I();return}_&&S()}function O(e){if(e!==void 0&&(e||T&&_)){queueMicrotask(O);return}!d&&!o&&I()}function k(){let e=y;e===Le()&&(D(),y===e&&(y=null))}function A(){if(!g){if(!T){if(l.cascadeParticipantCount){_=!0,Re();let e=Le(),t=e===null?0:e+1;if(y!==null&&t<=y)return;y=t,He(k,t);return}if(_)return;if(_=!0,Ie()){b===xn&&(b=bn,Ve(w));return}}_||(_=!0,y=null,E())}}function j(e){d+=1;try{return e()}finally{--d}}function M(){return _||!$(m)?d?S():j(S):(h&&d&&D(),m)}function N(){return Ie()&&Le()===null&&Be(),_||!$(m)?d?S():e(x):m}function ee(...e){if(e.length===1){let t=e[0];return l.addWatcher(t)&&(d+=1),$(m)||N(),()=>{l.deleteWatcher(t)&&(--d,d||O(!1))}}let[t,n,r]=e,i=r?.equalityFn??Object.is,a=r?.isCascadeParticipant??!1,o=t(d?N():j(N)),s={currentSlice:o,equalityFn:i,isCascadeParticipant:a,listener:n,selector:t};return l.addWatcher(s),d+=1,r?.fireImmediately&&n(o,o),()=>{l.deleteWatcher(s)&&(--d,d||O(a))}}function P(e){return d?N():j(N),l.addCascadeStateListener(e)&&(d+=1),()=>{l.deleteCascadeStateListener(e)&&(--d,d||O(!0))}}function F(){d&&(T?T.flush():_&&S())}function I(){T?.cancel(),u.clear(),l.clear(),d=0,p=void 0,f=void 0,v=!0,h=!1,g=!1,_=!0,m=bn,b=xn,y=null}function L(){return _||h||!$(m)?d?S():j(S):m}return{[Sn]:L,[Ye]:P,destroy:I,flushUpdates:F,getSnapshot:M,getState:N,subscribe:ee,getInitialState:wn,setState:Tn}}function wn(){throw Error(`[createDerivedStore]: getInitialState() is not available on derived stores.`)}function Tn(){throw Error(`[createDerivedStore]: setState() is not available on derived stores.`)}function En(e){let t=e[Sn];return t?t():e.getState()}function $(e){return e!==bn}var Dn=class{constructor(e){this.count=0,this.lastSubscriptionTime=null,this.fetchThrottleMs=null,this.onSubscribe=null,this.onLastUnsubscribe=null,e&&(this.fetchThrottleMs=G.seconds(5))}init({onSubscribe:e,onLastUnsubscribe:t}){this.onSubscribe=e,this.onLastUnsubscribe=t}hasSubscribers(){return this.count>0}subscribe(){let e=this.count===0,t=this.fetchThrottleMs!==null,n=t&&this.lastSubscriptionTime!==null&&!e&&Date.now()-this.lastSubscriptionTime<=this.fetchThrottleMs;return this.count+=1,this.onSubscribe?.(e,n),t&&(this.lastSubscriptionTime=Date.now()),e=>{let t=this.count===1;this.count=Math.max(this.count-1,0),t&&(this.onLastUnsubscribe?.(e),this.lastSubscriptionTime=null)}}};function On(e,t=queueMicrotask){let n=!1,r;function i(){n=!1,e(...r)}function a(...e){r=e,!n&&(n=!0,t(i))}return a}const kn=Object.freeze({equalityFn:Object.is,isCascadeParticipant:!0});function An(e,t,n){let r=a(),i=null,o=!1;if(e)for(let n in e){if(!u(e,n))continue;let s=jn(r,e[n],n,t);s&&((i??(i=a()))[n]=s,s.key!==void 0&&(o=!0))}return{buildKey(e=r){return f(o?In(i,e):e)},complete(e){return e?zn(e,n)?e:{...r,...e}:Pn(r)},get(){return Pn(r)},subscribe(e){return Fn(i,r,e)}}}function jn(e,t,n,r){return p(t)?Nn(e,t.value,n,r,t.key):Nn(e,t,n,r)}function Mn(e,t){let n=[],r,i;function a(e,t,a){return t?(n.push(n=>e.subscribe(t,n,Ln(a))),t(Rn(e))):(r??(r=sn()),i??(i=new WeakMap),Yt(e,Rn(e),i,r.trackPath))}function o(e,t=s){return t(Rn(e))}let c=e(a,t),l=r?Qt(c):c;return r&&(r.buildProxySubscriptions((e,t)=>{n.push(n=>e.subscribe(t,n,kn))},!1),r=void 0),i=void 0,{initialValue:l,subscribe(r){let i=()=>r(e(o,t)),a=n.map(e=>e(i));return e=>{for(let t of a)t(e)}}}}function Nn(e,t,n,r,i){if(Bn(t)){let a=Mn(t,r);return e[n]=a.initialValue,i===void 0?{tracked:a}:{key:i,tracked:a}}return e[n]=t,i===void 0?null:{key:i}}function Pn(e){let t=a();for(let n in e)u(e,n)&&(t[n]=e[n]);return t}function Fn(e,t,n){if(!e)return l;let r;for(let i in e){let a=e[i]?.tracked;a&&(r??(r=[])).push(a.subscribe(e=>{let r=t[i];Ce(r,e)||(t[i]=e,n(i,r,e))}))}return r?e=>{for(let t of r)t(e)}:l}function In(e,t){let n=a();for(let r in t){if(!u(t,r))continue;let i=e?.[r];if(i?.key===!1)continue;let a=t[r];n[r]=i?.key?i.key(a):a}return n}function Ln(e){return e?{equalityFn:e,isCascadeParticipant:!0}:kn}function Rn(e){return pe(e)?e.getSnapshot():e.getState()}function zn(e,t){for(let n of t)if(!(n in e))return!1;return!0}function Bn(e){return typeof e==`function`}const Vn={error:!0,lastFetchedAt:!0,queryCache:!0,queryKey:!0,status:!0,enabled:!1,fetch:!1,getCacheEntry:!1,getData:!1,getStatus:!1,isDataExpired:!1,isStale:!1,reset:!1},Hn=Object.freeze({force:!0}),Un=Object.freeze({once:!0}),Wn=new Set;let Gn=!1;function Kn(e){Wn.add(e),!Gn&&(Gn=!0,queueMicrotask(()=>{Gn=!1,Oe(qn)}))}function qn(){for(let e of Wn)Wn.delete(e),e()}function Jn(t,i,a){V();let o=typeof i==`function`?i:Qn,s=typeof i==`object`?i:a,c=Yn(s)?s:void 0,l=re(),u=l.minStaleTime,{fetcher:d,onError:f=l.onError,onFetched:p,setData:m,transform:h,abortInterruptedFetches:g=l.abortInterruptedFetches,cacheTime:_=l.cacheTime,debugMode:v=l.debugMode,disableAutoRefetching:b=l.disableAutoRefetching,disableCache:C=!1,enabled:w=!0,keepPreviousData:T=l.keepPreviousData,paramChangeThrottle:E=l.paramChangeThrottle,params:D,retry:O=l.retry,retryDelay:k=l.retryDelay,staleTime:A=l.staleTime,suppressStaleTimeWarning:j=l.suppressStaleTimeWarning}=t,M=typeof A==`function`?l.staleTime:A;n&&u!==!1&&!b&&!j&&M<u&&console.warn(`[createQueryStore${c?.storageKey?`: ${c.storageKey}`:``}] ❌ Stale times under ${u/1e3} seconds are not recommended. Provided staleTime: ${M/1e3} seconds`);let N=Error(`[createQueryStore: AbortError] Fetch interrupted`),ee=typeof _==`function`,P=n&&v,F=t.params?Object.keys(t.params):[],I=!1,L,R=[],z=null,B=null,H=null,U=null,te=null,G=null,ne=null,ie={enabled:typeof w==`function`?!1:w,error:null,lastFetchedAt:null,queryCache:{},queryKey:``,status:W.Idle},K=new Dn(b);function oe(){H&&(U=null,H.abort(),H=null)}function q(){te&&(clearTimeout(te),te=null)}async function le(e){let t=new AbortController;H=t;try{return await new Promise((n,r)=>{t.signal.addEventListener(`abort`,()=>r(N),Un),Promise.resolve(d(e,t)).then(n,r)})}finally{H===t&&(H=null)}}function ue(e,t,n){let r=n.setState;function i(e,t){e!==t&&ne!==t&&(ne=t,t&&K.hasSubscribers()?queueMicrotask(()=>u.fetch(void 0,void 0,!0)):(te||g)&&(g&&oe(),q()))}function a(e){let t=typeof e==`function`;if(t||e.enabled!==void 0){let n,a=r(r=>{let a=t?e(r):e,o=a.enabled===void 0?r.enabled:a.enabled;return o!==r.enabled&&(n=()=>i(r.enabled,o)),a});return n?.(),a}else return r(e)}n.setState=a,K.init({onSubscribe:(n,r)=>{let i=t();if(i.enabled)if(n){let t=L.get(),n=L.buildKey(t);i.queryKey!==n&&e({queryKey:n}),i.isStale()?u.fetch(t,void 0,!0):s(t)}else b&&!r&&u.fetch(void 0,void 0,!0)},onLastUnsubscribe:e=>{q(),g&&!e&&oe()}});function s(e){if(b||M<=0||M===1/0||!K.hasSubscribers())return;q();let n=t();if(!n.enabled)return;let r=L.buildKey(e),i=(C?G===r&&n.lastFetchedAt:n.queryCache[r]?.lastFetchedAt)||null,a=i?M-(Date.now()-i):M;te=setTimeout(()=>{t().enabled&&u.fetch(e,Hn,!0)},a)}function l(e){let n=t(),r=n.status;switch(e){case`isIdle`:return r===W.Idle;case`isLoading`:return r===W.Loading;case`isError`:case`isInitialLoad`:case`isSuccess`:case void 0:{let t=n.queryKey,i=C?void 0:n.queryCache[t],a=C?r===W.Error:typeof i?.errorInfo?.lastFailedAt==`number`;if(e===`isError`)return a;let o=((C?G===t&&n.lastFetchedAt:i?.lastFetchedAt)||null)!==null,s=!o&&!a&&n.enabled;if(e===`isInitialLoad`)return s;let c=o&&!a;return e===`isSuccess`?c:{isError:a,isIdle:r===W.Idle,isLoading:r===W.Loading,isInitialLoad:s,isSuccess:c}}}}let u={...o(a,t,n),...ie,async fetch(n,r,i=!1,o=0){let l=!!r?.skipStoreUpdates,v=t();if(!l&&(!v.enabled&&!r?.force||i&&!K.hasSubscribers()))return null;let b=v.error,w=v.queryKey,E=v.status===W.Loading,D=L.complete(n),A=L.buildKey(D);if(E&&U?.promise&&U.key===A)return P&&console.log(`[πŸ”„ Using Active Fetch πŸ”„] for params:`,JSON.stringify(D)),U.promise;let j=r?.staleTime??M,I=typeof r?.updateQueryKey==`boolean`?r.updateQueryKey:i?T:!1,R=(i||w===A||I)&&!l,z=U!==null;if(g&&R&&oe(),!r?.force){let t=v.lastFetchedAt,n=C?void 0:v.queryCache[A],r=n?.lastFetchedAt,i=n?.errorInfo,a=(C?G===A&&t:r)||null;if(!(!a||Date.now()-a>=j)&&(!i||!i.retryAllowed||l))return R&&!te&&M!==0&&M!==1/0&&s(D),I&&e(e=>e.queryKey===A?e:{queryKey:A}),P&&console.log(`[πŸ’Ύ Returning Cached Data πŸ’Ύ] for params:`,JSON.stringify(D)),n?.data??null}let B=R?{key:A}:null,V=r?.cacheTime??(ee?_(D):_);B&&(q(),I&&!z&&v.lastFetchedAt===null&&w!==A?e({error:null,queryKey:A,status:W.Loading}):(b||!E)&&e({error:null,status:W.Loading}),U=B);async function H(){let v=c?.storageKey||A;try{P&&(!i&&n&&F.some(e=>!(e in n))?console.log(`[πŸ”„ Fetching with Partial Params πŸ”„]
2
- `,`- Provided params:`,`${JSON.stringify(n)}\n`,`- Filled in params:`,`${JSON.stringify(Object.fromEntries(Object.keys(D).filter(e=>!(e in n)).map(e=>[e,D[e]])))}`):console.log(`[πŸ”„ Fetching πŸ”„] for params:`,JSON.stringify(D)));let t=await(g&&R?le(D):d(D,null)),o=Date.now();P&&console.log(`[βœ… Fetch Successful βœ…] for params:`,JSON.stringify(D));let c;try{c=er(t,D,h)}catch(e){throw $n(v,`transform`,e)}if(l)return P&&console.log(`[πŸ₯· Successful Parallel Fetch πŸ₯·] for params:`,JSON.stringify(D)),r.skipStoreUpdates===`withCache`&&e(e=>{if(!m)return C?e:{queryCache:{...e.queryCache,[A]:{cacheTime:V,data:c,errorInfo:null,lastFetchedAt:o}}};let t=e,n=C?void 0:t.queryCache[A];try{m({data:c,params:D,queryKey:A,set:e=>{t=typeof e==`function`?{...t,...e(t)}:{...t,...e}}})}catch(e){throw $n(v,`setData`,e)}return!C&&Object.is(n,t.queryCache[A])&&(t={...t,queryCache:{...t.queryCache,[A]:{cacheTime:V,data:null,errorInfo:null,lastFetchedAt:o}}}),t}),c;if((m?a:e)(e=>{let t={...e,error:null,lastFetchedAt:o,queryKey:I?A:e.queryKey,status:W.Success};if(!m&&!C)P&&console.log(`[πŸ’Ύ Setting Cache πŸ’Ύ] for params:`,JSON.stringify(D),`| Has previous data?:`,!!t.queryCache[A]?.data),t.queryCache={...t.queryCache,[A]:{cacheTime:V,data:c,errorInfo:null,lastFetchedAt:o}};else if(m){P&&console.log(`[πŸ’Ύ Setting Data πŸ’Ύ] for params:`,JSON.stringify(D));let e=C?void 0:t.queryCache[A];try{m({data:c,params:D,queryKey:A,set:e=>{t=typeof e==`function`?{...t,...e(t)}:{...t,...e}}})}catch(e){throw $n(v,`setData`,e)}!C&&Object.is(e,t.queryCache[A])&&(t.queryCache={...t.queryCache,[A]:{cacheTime:V,data:null,errorInfo:null,lastFetchedAt:o}})}return C||_===1/0?t:Zn(T,A,t)}),R&&(G=A,s(D)),p)try{p({data:c,fetch:u.fetch,params:D,set:a})}catch(e){y.error($n(v,`onFetched callback`,e))}return c??null}catch(n){if(n===N)return P&&console.log(`[❌ Fetch Aborted ❌] for params:`,JSON.stringify(D)),null;let a=!i&&r?.throwOnError===!0,s=S(n);if(s instanceof x&&y.error(s),!R){if(a)throw s;return null}let c=C?void 0:t().queryCache[A],l,d;if(typeof O==`function`){l={error:s,params:D,queryKey:A,retryCount:o};try{d=O(l)}catch(e){y.error($n(v,`retry callback`,e)),d=!1}}else d=O!==!1&&o<O;let p;if(d&&t().enabled&&K.hasSubscribers())if(k===void 0)p=ae(o);else if(typeof k==`number`)p=k;else{l??(l={error:s,params:D,queryKey:A,retryCount:o});try{p=k(l)}catch(e){y.error($n(v,`retryDelay callback`,e)),d=!1}}let m=p!==void 0;if(p!==void 0&&(q(),te=setTimeout(()=>{t().enabled&&u.fetch(D,Hn,!0,o+1)},p)),e(C?e=>({error:s,queryKey:I?A:e.queryKey,status:W.Error}):e=>({error:s,queryCache:{...e.queryCache,[A]:{cacheTime:c?.cacheTime??V,data:c?.data??null,lastFetchedAt:c?.lastFetchedAt??null,errorInfo:{error:s,lastFailedAt:Date.now(),retryAllowed:d,retryCount:o}}},queryKey:I?A:e.queryKey,status:W.Error})),f)try{f({error:s,params:D,queryKey:A,retryCount:o,willRetry:m})}catch(e){y.error($n(v,`onError callback`,e))}if(a)throw s;return null}finally{U===B&&(U=null)}}return B?(B.promise=H(),B.promise):H()},getCacheEntry(e){if(C)return null;let n=t(),r=e?typeof e==`string`?e:L.buildKey(L.complete(e)):n.queryKey;return n.queryCache[r]??null},getData(e){if(C)return null;let n=t().getCacheEntry(e);return!n||n.data===null?null:T?n.data:n.lastFetchedAt&&Date.now()-n.lastFetchedAt>=n.cacheTime?null:n.data},getStatus:l,isDataExpired(e){let n=t(),r=n.queryKey,i=C?void 0:n.queryCache[r],a=n.lastFetchedAt,o=(C?G===r&&a:i?.lastFetchedAt)||null;if(!o)return!0;let s=e??i?.cacheTime;return s===void 0||Date.now()-o>=s},isStale(e){let n=t(),r=n.queryKey,i=(C?G===r&&n.lastFetchedAt:n.queryCache[r]?.lastFetchedAt)||null;if(!i)return!0;let a=e??M;return Date.now()-i>=a},reset(t=!1){for(let e of R)e();R=[],L=An(void 0,J,F),z=null,B=null,oe(),q(),ve?.cancel(),U=null,G=null,t&&e(ie)}},v=n.subscribe;return n.subscribe=(...e)=>{let t=I?void 0:K.subscribe(),n=e.length===1?v(e[0]):v(e[0],e[1],e[2]);return e=>{t?.(e),n(e)}},Ze(n,e=>t=>{let n=I?void 0:K.subscribe(),r=e(t);return e=>{n?.(e),r(e)}}),u}let J=c?.storageKey?Rt(ue,e(c,{partialize:Xn(T,c.partialize)})):s&&!(`storageKey`in s)?Rt(ue,s):Rt(ue),de=J.getState(),fe=de.error,pe=de.enabled,me=de.queryKey,he=de.fetch;me&&!fe&&(G=me),I=!0,L=An(D,J,F),typeof w==`function`&&(z=Mn(w,J)),typeof t.staleTime==`function`&&(B=Mn(t.staleTime,J),M=B.initialValue);let ge=On(e=>{he(e,void 0,!0)},Kn);function _e(){if(T)ge(void 0);else{let e=L.get();J.setState({queryKey:L.buildKey(e)}),ge(e)}}let ve=r||!E?void 0:ft(_e,typeof E==`number`?E:E.delay,typeof E==`number`?{leading:!1,maxWait:E,trailing:!0}:E);function ye(){if(q(),ve){let e=J.getState();T&&U?.key===e.queryKey&&e.lastFetchedAt===null?_e():ve();return}_e()}if(R.push(L.subscribe((e,t,n)=>{P&&console.log(`[πŸŒ€ Param Change πŸŒ€] -`,e,`- [Old]:`,`${t?.toString()},`,`[New]:`,n?.toString()),ye()})),B){let e=B.initialValue;P&&console.log(`[πŸŒ€ StaleTime Subscription πŸŒ€] Initial value:`,e),R.push(B.subscribe(t=>{t!==e&&(P&&console.log(`[πŸŒ€ StaleTime Change πŸŒ€] - [Old]:`,`${e},`,`[New]:`,t),e=t,M=t,q(),he(void 0,void 0,!0))}))}let Y;if(z){let e=z.initialValue;pe!==e&&((Y??(Y={})).enabled=e),P&&console.log(`[πŸŒ€ Enabled Subscription πŸŒ€] Initial value:`,e),R.push(z.subscribe(t=>{t!==e&&(P&&console.log(`[πŸŒ€ Enabled Change πŸŒ€] - [Old]:`,`${e},`,`[New]:`,t),e=t,J.setState({enabled:t}))}))}else pe!==ie.enabled&&((Y??(Y={})).enabled=ie.enabled);let be=L.buildKey();return be!==me&&((Y??(Y={})).queryKey=be),Y&&J.setState(Y),I=!1,ce(J,se.QueryStore)}function Yn(e){return typeof e?.storageKey==`string`}function Xn(e,t){return n=>{let r={...n},i=a();for(let e in r)u(r,e)&&e in Vn&&(Vn[e]&&(i[e]=r[e]),delete r[e]);return{...t?t(r):gt(r),...Zn(e,null,i)}}}function Zn(e,t,n){if(!n.queryCache)return n;let r=Date.now(),i=t??(e&&n.queryKey||null),o=a(),s=!1;for(let e in n.queryCache){if(!u(n.queryCache,e))continue;let t=n.queryCache[e];t&&(r-(t.lastFetchedAt??t.errorInfo.lastFailedAt)<t.cacheTime||e===i)?o[e]=t:s=!0}return s?{...n,queryCache:o}:n}function Qn(){return Object.create(null)}function $n(e,t,n){return new x(`[createQueryStore: ${e}]: ${t} failed`,n)}function er(e,t,n){return n?n(e,t):e}const tr=Object.freeze({equalityFn:Object.is,isCascadeParticipant:!0});function nr(e,t,n){let r=typeof t==`function`,i=r?t:void 0,a=r?n:t,o=new Set,s,c;function l(e,t){let n=e.getState(),r=t.getState();if(c)for(let e of c)u(e,t,n,r);if(s)for(let e of s)d(e,t,n,r);o.size&&ze();for(let e of o)f(e,t,n,r)}function u(e,t,n,r){e.unsubscribe(),e.unsubscribe=rr(t,e.listener),!Object.is(r,n)&&(Re(),e.listener(r,n))}function d(e,t,n,r){f(e,t,n,r)&&Re()}function f(e,t,n,r){e.unsubscribe();let i=e.args;if(i.length===1){let a=i[0];e.unsubscribe=t.subscribe(a);let o=!Object.is(r,n);return o&&a(r,n),o}let a=i[0],o=i[1],s=i[2];s?.fireImmediately&&(s={...s,fireImmediately:!1});let c=a(n),l=a(r);return e.unsubscribe=t.subscribe(a,o,s),(s?.equalityFn??Object.is)(c,l)?!1:(o(l,c),!0)}function p(e,t){l(t,e),le(t)}let m=Cn(e,{debugMode:a?.debugMode??!1,lockDependencies:a?.lockDependencies??!0}),h;function g(){return h??(h=m.subscribe(p)),m.getState()}function _(...e){let t=g(),n={args:e,unsubscribe:e.length===1?t.subscribe(e[0]):t.subscribe(e[0],e[1],e[2])},r=e[2]?.isCascadeParticipant??!1;return r?(s??(s=new Set)).add(n):o.add(n),()=>{n.unsubscribe(),r?s?.delete(n)&&s.size===0&&(s=void 0):o.delete(n)}}function v(e){let t={listener:e,unsubscribe:rr(g(),e)};return(c??(c=new Set)).add(t),e=>{t.unsubscribe(e),c?.delete(t)&&c.size===0&&(c=void 0)}}return Object.assign({[Ye]:v,[se.VirtualStore]:!0,destroy:()=>{h?.(),h=void 0,m.destroy()},getInitialState:()=>g().getInitialState(),getState:()=>g().getState(),persist:ir(g),setState:ar(g),subscribe:_},i?.(g))}function rr(e,t){return Xe(e)?e[Ye](t):e.subscribe(s,t,tr)}function ir(e){return{clearStorage:()=>e().persist?.clearStorage(),getOptions:()=>e().persist?.getOptions()??{},hasHydrated:()=>e().persist?.hasHydrated()??!0,hydrationPromise:()=>e().persist?.hydrationPromise?.()??Promise.resolve(),onFinishHydration:t=>e().persist?.onFinishHydration(t)??l,onHydrate:t=>e().persist?.onHydrate(t)??l,rehydrate:()=>e().persist?.rehydrate(),setOptions:t=>e().persist?.setOptions(t)}}function ar(e){return function(...t){return t[1]===!0?e().setState(t[0],!0):e().setState(t[0])}}export{P as DEFAULT_STORAGE_KEY_PREFIX,W as QueryStatuses,se as StoreTags,x as StoresError,oe as applyStateUpdate,ce as assignStoreTag,Rt as baseStore,R as configureStores,ve as createStoreActions,xe as deepEqual,ae as defaultRetryDelay,Cn as derivedStore,le as destroyStore,ue as destroyStores,S as ensureError,z as getOptions,B as getStorageConfig,J as getStoreName,fe as hasDestroy,pe as hasGetSnapshot,s as identity,he as isDerivedStore,ge as isPersistedStore,me as isQueryStore,_e as isVirtualStore,y as logger,V as markStoreCreated,a as nullObject,Jn as queryStore,g as replacer,m as reviver,b as setLogger,Se as shallowEqual,G as time,nr as virtualStore};
1
+ import{a as e,c as t,d as n,f as r,i,l as a,n as o,o as s,r as c,s as l,t as u,u as d}from"../utils-Ba1RIeAA.mjs";import{r as f,t as p}from"../queryParam-Ckp7Zi5t.mjs";import{n as m,r as h,t as g}from"../serialization-BgaGfw_1.mjs";function _(e){return{clearAll(){try{let t=v();if(!t)return;let n=[];for(let r=0;r<t.length;r++){let i=t.key(r);i?.startsWith(e)&&n.push(i)}for(let e of n)t.removeItem(e)}catch(e){console.error(`Error clearing localStorage:`,e)}},contains(t){return v()?.getItem(`${e}${t}`)!==null},delete(t){try{v()?.removeItem(`${e}${t}`)}catch(e){console.error(`Error deleting from localStorage:`,e)}},getAllKeys(){try{let e=v();return e?Array.from(e.keys()):[]}catch(e){return console.error(`Error getting keys from localStorage:`,e),[]}},get(t){try{let n=v();return n?n.getItem(`${e}${t}`)??void 0:void 0}catch(e){console.error(`Error reading from localStorage:`,e);return}},set(t,n){try{v()?.setItem(`${e}${t}`,n)}catch(e){console.error(`Error writing to localStorage:`,e)}}}}function v(){return typeof window<`u`?window.localStorage:null}let y={debug:(e,t)=>{n&&console.debug(e,t)},error:(e,t)=>{n&&!r&&console.error(e,t)},info:(e,t)=>{n&&console.info(e,t)},warn:(e,t)=>{n&&console.warn(e,t)}};function b(e){y=e}var x=class extends Error{constructor(e,t){super(e),this.name=`StoresError`,t!==void 0&&Object.defineProperty(this,"cause",{configurable:!0,value:t,writable:!0})}};function S(e){return e instanceof Error?e:Error(String(e))}const C=`stores/core/sync-channel`,w=`${`${C}:storage`}:`;var T=class{constructor(e){this.broadcast=e.broadcast,this.origin=e.origin,this.storeKey=e.storeKey,this.teardown=e.teardown}destroy(){this.teardown()}publish(e){let t=a();for(let n of Object.entries(e.values))t[n[0]]=n[1];let n={origin:this.origin,replace:e.replace,sessionId:e.sessionId,storeKey:this.storeKey,timestamp:e.timestamp,values:t};this.broadcast(n)}},E=class{constructor(){this.listeners=new Map,this.origin=k(),this.onChannelMessage=e=>{e.data&&this.dispatch(e.data)},this.onStorageEvent=e=>{if(!(!e.key||!e.newValue)&&e.key.startsWith(w))try{let t=JSON.parse(e.newValue);this.dispatch(t)}catch(e){y.error(new x(`[sync] Failed to parse storage event payload`,e))}},this.channel=typeof BroadcastChannel>`u`?null:new BroadcastChannel(C),this.storage=A(),this.channel&&this.channel.addEventListener(`message`,this.onChannelMessage),d&&window.addEventListener(`storage`,this.onStorageEvent)}get sessionId(){return this.origin}register(e){let t=t=>{if(t.origin===this.origin||t.storeKey!==e.key)return;let n=a();for(let r of e.fields)u(t.values,r)&&(n[r]=t.values[r]);Object.keys(n).length&&e.apply({replace:t.replace,sessionId:t.sessionId,timestamp:t.timestamp,values:n})},n=this.listeners.get(e.key);return n||(n=new Set,this.listeners.set(e.key,n)),n.add(t),new T({broadcast:e=>this.broadcast(e),origin:this.origin,storeKey:e.key,teardown:()=>this.removeListener(e.key,t)})}broadcast(e){try{this.channel&&this.channel.postMessage(e),this.writeToStorage(e)}catch(e){y.error(new x(`[sync] Failed to broadcast update`,e))}}dispatch(e){if(!e.storeKey)return;let t=this.listeners.get(e.storeKey);if(!(!t||!t.size))for(let n of t)n(e)}removeListener(e,t){let n=this.listeners.get(e);n&&(n.delete(t),n.size||this.listeners.delete(e))}writeToStorage(e){if(this.storage||(this.storage=A()),!this.storage)return;let t=`${w}${e.storeKey}`;try{this.storage.setItem(t,JSON.stringify(e))}catch(e){y.error(new x(`[sync] Failed to write broadcast payload to storage`,e))}}};let D;function O(){return D||(D=new E),D}function k(){return typeof crypto<`u`&&`randomUUID`in crypto?crypto.randomUUID():`${Math.random().toString(36).slice(2)}:${Date.now().toString(36)}`}function A(){try{return typeof window<`u`?window.localStorage:null}catch{return null}}var j=class{destroy(){}publish(){}},M=class{constructor(){this.sessionId=`noop`}register(e){return new j}};let N;function ee(){return N||(N=new M),N}const P=`stores:`;let F,I,L=!1;function R(e){n&&te(),e.logger&&b(e.logger),F??(F=H(e)),I??(I=U(e))}function z(){if(F)return F}function B(){return I??(I=U(void 0))}function V(){L=!0}function H(e){if(e?.queryStoreDefaults)return{queryStoreDefaults:e.queryStoreDefaults}}function U(e){return{storage:e?.storage??_(e?.storageKeyPrefix??`stores:`),syncEngine:e?.syncEngine??(d?O():ee())}}function te(){if(L)throw Error(`[stores]: configureStores() called after first store creation. Call it earlier before creating any stores.`)}const W={Error:`error`,Idle:`idle`,Loading:`loading`,Success:`success`},G={ms:e=>{"worklet";return e},seconds:e=>{"worklet";return e*1e3},minutes:e=>{"worklet";return e*6e4},hours:e=>{"worklet";return e*36e5},days:e=>{"worklet";return e*864e5},weeks:e=>{"worklet";return e*6048e5},infinity:1/0,zero:0};let ne;function re(){return ne??(ne=ie())}function ie(){let e=z()?.queryStoreDefaults;return{abortInterruptedFetches:e?.abortInterruptedFetches??!0,cacheTime:e?.cacheTime??G.days(7),debugMode:e?.debugMode??!1,disableAutoRefetching:e?.disableAutoRefetching??!1,keepPreviousData:e?.keepPreviousData??!1,minStaleTime:e?.minStaleTime??!1,onError:e?.onError,paramChangeThrottle:e?.paramChangeThrottle??!1,retry:e?.retry??5,retryDelay:e?.retryDelay,staleTime:e?.staleTime??G.minutes(2),suppressStaleTimeWarning:e?.suppressStaleTimeWarning??!1}}function ae(e,t){let n=t?.baseDelay??G.seconds(5),r=t?.maxDelay??G.minutes(5);return Math.min(n*2**e,r)}function K(e,t){return t[1]===!0?e(t[0],!0):e(t[0])}function oe(e,t,n){if(n===!0)return q(t)?t(e):t;let r=q(t)?t(e):t;return Object.is(r,e)?e:!i(e)||!i(r)?r:{...e,...r}}function q(e){return typeof e==`function`}const se=Object.freeze({QueryStore:Symbol(`queryStore`),VirtualStore:Symbol(`virtualStore`)});function ce(e,t){return Object.assign(e,{[t]:!0})}function le(e,t){me(e)?e.getState().reset(t?.clearQueryCache):fe(e)&&e.destroy()}function ue(e,t){for(let n of Array.isArray(e)?e:Object.values(e))!n||t?.skipDestroy?.(n)||le(n,t)}function J(e){let t=de(e);return ge(e)?e.persist.getOptions().name??t:t}function de(e){return typeof e==`function`?e.name:``}function fe(e){return`destroy`in e}function pe(e){return`getSnapshot`in e}function me(e){return se.QueryStore in e}function he(e){return`flushUpdates`in e}function ge(e){return!(`persist`in e)||!e.persist?!1:typeof e.persist.getOptions().name==`string`}function _e(e){return se.VirtualStore in e}function ve(e,t){let n=ye(e);return t?Object.assign(n,t):n}function ye(e){let t=e.getState(),r=a(),i=r;if(n&&!(typeof t==`object`&&t))throw Error(`[createStoreActions]: State is not an object`);if(_e(e))for(let n in t)be(t,n)&&(i[n]=Y(e,n));else for(let e in t)be(t,e)&&(i[e]=t[e]);return r}function Y(e,t){return function(...n){let r=e.getState()[t];if(typeof r==`function`)return r(...n);throw Error(`[createVirtualStoreAction]: Method ${String(t)} is not a function`)}}function be(e,t){return typeof e[t]==`function`}function xe(e,t){"worklet";if(typeof e!=`object`||!e||e===void 0||typeof t!=`object`||!t||t===void 0)return e===t;if(Object.is(e,t))return!0;let n=Object.keys(e);if(n.length!==Object.keys(t).length)return!1;for(let r of n)if(!(r in t)||!xe(e[r],t[r]))return!1;return!0}function Se(e,t){"worklet";if(typeof e!=`object`||!e||e===void 0||typeof t!=`object`||!t||t===void 0)return e===t;if(Object.is(e,t))return!0;let n=Object.keys(e);if(n.length!==Object.keys(t).length)return!1;for(let r of n)if(!Object.is(e[r],t[r]))return!1;return!0}function Ce(e,t){let n=Object.prototype.hasOwnProperty;function r(e,t){for(let n of e.keys())if(Ce(n,t))return n}let i,a,o;if(e===t)return!0;if(e&&t&&(i=e.constructor)===t.constructor){if(i===Date)return e.getTime()===t.getTime();if(i===RegExp)return e.toString()===t.toString();if(i===Array){if((a=e.length)===t.length)for(;a--&&Ce(e[a],t[a]););return a===-1}if(i===Set){if(e.size!==t.size)return!1;for(let n of e)if(o=n,o&&typeof o==`object`&&(o=r(t,o),!o)||!t.has(o))return!1;return!0}if(i===Map){if(e.size!==t.size)return!1;for(let n of e)if(o=n[0],o&&typeof o==`object`&&(o=r(t,o),!o)||!Ce(n[1],t.get(o)))return!1;return!0}if(i===ArrayBuffer)e=new Uint8Array(e),t=new Uint8Array(t);else if(i===DataView){if((a=e.byteLength)===t.byteLength)for(;a--&&e.getInt8(a)===t.getInt8(a););return a===-1}if(ArrayBuffer.isView(e)&&ArrayBuffer.isView(t)){let n=e,r=t;if((a=n.byteLength)===r.byteLength)for(;a--&&n[a]===r[a];);return a===-1}if(!i||typeof e==`object`){a=0;for(let r in e)if(n.call(e,r)&&++a&&!n.call(t,r)||!(r in t)||!Ce(e[r],t[r]))return!1;return Object.keys(t).length===a}}return e!==e&&t!==t}function we(e,t,n){if(t===0)return n;if(t===1){if(e===n)return null;let t=new Set;return t.add(e),t.add(n),t}return e.add(n),e.size===t?null:e}function Te(e,t,n){if(t===0)return null;if(t===1)return e===n?void 0:null;if(!e.delete(n))return null;if(t!==2)return e;for(let t of e)return t}function Ee(e,t,n,r,i){if(t!==0){if(t===1){n(e,r,i);return}for(let t of e)n(t,r,i)}}function De(e,t){t>1&&e.clear()}function Oe(e){return e()}let X=!1,ke=!1,Ae=!1,Z,je,Me=0;const Ne=new Map;let Pe=0,Fe=null,Q=1/0;function Ie(){return X}function Le(){return Fe}function Re(){X||(X=!0,!Ae&&(Ae=!0,queueMicrotask(()=>{Ae=!1,ze()})))}function ze(){if(X){if(ke){Ue();return}ke=!0;try{Oe(Ue)}finally{qe()}}}function Be(){if(X){if(ke){Fe===null&&We();return}ke=!0;try{We()}catch(e){throw qe(),e}finally{ke=!1,Fe=null}}}function Ve(e){if(X){if(je){je.push(e);return}if(!Z){Z=e;return}je=[Z,e],Z=void 0}}function He(e,t){if(!X)return;let n=t<0?0:t|0,r=Ne.get(n);r||(r=[],Ne.set(n,r)),r.push(e),Pe+=1,n<Q&&(Q=n)}function Ue(){for(;Pe>0||Je();)We(),Ke()}function We(){for(;Pe>0;){let e=Q,t=Ne.get(e);if(!t){Q=1/0;for(let e of Ne.keys())e<Q&&(Q=e);continue}Ne.delete(e),Pe-=t.length,Ge(),Fe=e;for(let e=0;e<t.length;e++)t[e]();Fe=null}}function Ge(){Q=1/0;for(let e of Ne.keys())e<Q&&(Q=e)}function Ke(){for(;;){let e=Z;if(e){Z=void 0,e();continue}let t=je;if(!t)return;for(;Me<t.length;)t[Me++]();je=void 0,Me=0;return}}function qe(){X=!1,ke=!1,Fe=null,Z=void 0,je=void 0,Me=0,Ne.clear(),Pe=0,Q=1/0}function Je(){return!!Z||!!je}const Ye=Symbol(`stores.subscribeCascadeState`);function Xe(e){return Ye in e}function Ze(e,t){Xe(e)&&(e[Ye]=t(e[Ye]))}const Qe=Symbol(),$e=Symbol();function et(e){let n,r,i,a=0;function o(e,o,s){let c=oe(n,e,o);if(Object.is(c,n))return s===Qe?$e:void 0;let l=n;if(n=c,Ee(i,a,t,n,l),r){ze();for(let e of r)e(n,l)}}function s(){return n}function c(){return d}function l(e,t,n){return t?g(e,t,n):f(e)}let u={[Ye]:m,getInitialState:c,getState:s,setState:o,subscribe:l},d=n=tt(e)?e(o,s,u):e;return u;function f(e){return(r??(r=new Set)).add(e),()=>{r?.delete(e),r?.size===0&&(r=void 0)}}function p(e){let t=we(i,a,e);return t!==null&&(i=t,a+=1),()=>h(e)}function m(e){function t(t,n){Re(),e(t,n)}return p(t)}function h(e){let t=Te(i,a,e);t!==null&&(i=t,--a)}function g(e,t,r){let i=r?.equalityFn??Object.is,a=r?.isCascadeParticipant??!1,o=e(n);function s(n){let r=e(n);if(i(o,r))return;let s=o;o=r,a&&Re(),t(r,s)}return r?.fireImmediately&&t(o,o),a?p(s):f(s)}}function tt(e){return typeof e==`function`}const nt=Object.freeze({migrated:!1,state:void 0});function rt(e,t,n){return(r,i,a)=>{let o=at(t),s,c=!1,l=0,u,d,f;function p(e){return o.storage.setItem(o.name,e,o.version)}function m(e,t){return(t===!0?r(e,t,Qe):r(e,!1,Qe))===$e?n?s??(s=Promise.resolve()):void 0:p(i())}a.setState=m;let g=e(m,i,a);a.getInitialState=()=>g;function _(){let e=S(),t=o.onRehydrateStorage?.(i()??g);try{let n=o.storage.getItem(o.name);return h(n)?n.then(n=>v(e,n,t)).catch(n=>w(e,t,n)):v(e,n,t)}catch(n){w(e,t,n)}}return Object.assign(a,{persist:x()}),o.skipHydration||_(),u??g;function v(e,t,n){let r=it(o,t);return h(r)?r.then(t=>y(e,t,n)).catch(t=>w(e,n,t)):y(e,r,n)}function y(e,t,n){let r=b(e,t);if(h(r))return r.then(()=>C(e,n));C(e,n)}function b(e,t){if(e!==l)return;let n=o.merge(t.state,i()??g);if(u=n,r(n,!0),t.migrated)return p(i())}function x(){return{clearStorage:()=>{o.storage.removeItem(o.name)},getOptions:()=>o,hasHydrated:()=>c,onFinishHydration:e=>(f??(f=new Set),f.add(e),()=>{f?.delete(e),f?.size===0&&(f=void 0)}),onHydrate:e=>(d??(d=new Set),d.add(e),()=>{d?.delete(e),d?.size===0&&(d=void 0)}),rehydrate:_,setOptions:e=>{o=at({...o,...e,storage:e.storage??o.storage})}}}function S(){let e=++l;return c=!1,d?.forEach(e=>e(i()??g)),e}function C(e,t){if(e!==l)return;t?.(u,void 0);let n=i();u=n,c=!0,f?.forEach(e=>e(n))}function w(e,t,n){e===l&&t?.(void 0,n)}}}function it(e,t){if(!t)return nt;if(typeof t.version!=`number`||t.version===e.version)return{migrated:!1,state:t.state};if(!e.migrate)return console.error(`State loaded from storage couldn't be migrated since no migrate function was provided`),nt;let n=e.migrate(t.state,t.version);return h(n)?n.then(e=>({migrated:!0,state:e})):{migrated:!0,state:n}}function at(e){return{...e,merge:e.merge??ot,skipHydration:e.skipHydration??!1}}function ot(e,t){return e===void 0?t:{...t,...e}}function st(){let e=!1,t,n,r=new Promise((e,r)=>{t=e,n=r});function i(){e||!t||(e=!0,t(),t=void 0,n=void 0)}function a(r){e||!n||(e=!0,n(r),n=void 0,t=void 0)}function o(){return e}return{complete:i,isHydrated:o,fail:a,promise:r}}function ct(e){let t,n=!1,r,i;return{hydrationPromise:()=>n?t?.promise??r??(r=Promise.resolve()):(t||(t=st()),t.promise),stateCreator:(t,r,a)=>{let o;function s(...e){return n?K(t,e):new Promise((t,n)=>{(o??(o=[])).push(()=>{try{t(K(a.setState,e))}catch(e){n(e)}})})}return i=()=>{if(!o?.length)return;let e=o;o=void 0;for(let t of e)t()},e(s,r,a)},wrapOnRehydrateStorage:(e,r)=>a=>{let o=e?.(a);return(e,a)=>{let s=n;n=!0,r?.onHydrationComplete?.(),i&&i(),r?.onHydrationFlushEnd?.(),a?(!t&&!s&&(t=st(),t.promise.catch(l)),t?.fail(S(a))):t?.complete(),o?.(e,a)}}}}const lt=Promise.resolve();function ut(e){let t,n,r,i=null,a=lt;function o(){return i=null,e(t,n,r)}function s(e,s,c){return t=e,n=s,r=c,i||(i=a.then(o),a=i.catch(l)),i}return s}const dt=Math.max,ft=Math.min;function pt(e,t=0,n={}){let r,i,a,o,s,c,l=0,u=!1,d=!1,f=!0;if(typeof e!=`function`)throw TypeError(`Expected a function`);t=ht(t)||0,gt(n)&&(u=!!n.leading,d=`maxWait`in n,a=d?dt(ht(n.maxWait)||0,t):void 0,f=`trailing`in n?!!n.trailing:f);function p(t){let n=r,a=i;return r=i=void 0,l=t,o=n?e.apply(a,n):e.apply(a),o}function m(e){return l=e,s=setTimeout(_,t),u?p(e):o}function h(e){let n=e-(c??0),r=e-l,i=t-n;return d&&a!==void 0?ft(i,a-r):i}function g(e){let n=e-(c??0),r=e-l;return c===void 0||n>=t||n<0||d&&a!==void 0&&r>=a}function _(){let e=mt();if(g(e))return v(e);s=setTimeout(_,h(e))}function v(e){return s=void 0,f&&r?p(e):(r=i=void 0,o)}function y(){s!==void 0&&clearTimeout(s),l=0,r=c=i=s=void 0}function b(){return s===void 0?o:v(mt())}function x(...e){let n=mt(),a=g(n);if(r=e,i=this,c=n,a){if(s===void 0)return m(c);if(d)return clearTimeout(s),s=setTimeout(_,t),p(c)}return s===void 0&&(s=setTimeout(_,t)),o}return x.cancel=y,x.flush=b,x}function mt(){return typeof performance<`u`&&typeof performance.now==`function`?performance.now():Date.now()}function ht(e){if(typeof e==`number`)return e;if(typeof e==`symbol`||e===void 0)return NaN;if(typeof e==`object`&&e){let t=typeof e.valueOf==`function`?e.valueOf():e;e=typeof t==`object`?t+``:t}return typeof e==`string`?(e=e.replace(/^[\s\uFEFF\xA0]+|[\s\uFEFF\xA0]+$/g,``),/^0b[01]+$/i.test(e)?parseInt(e.slice(2),2):/^0o[0-7]+$/i.test(e)?parseInt(e.slice(2),8):/^[-+]0x[0-9a-f]+$/i.test(e)?NaN:+e):e===0?e:+e}function gt(e){let t=typeof e;return e!==null&&(t===`object`||t===`function`)}function _t(e){if(!c(e))return e;let t=a(),n=Object.keys(e);for(let r=0;r<n.length;r++){let i=n[r],a=e[i];typeof a!=`function`&&(t[i]=a)}return t}function vt(e,t){try{return JSON.stringify(e,t?g:void 0)}catch(e){throw y.error(new x(`[createBaseStore]: Failed to serialize store data`,e)),e}}function yt(e,t){try{return JSON.parse(e,t?m:void 0)}catch(e){throw y.error(new x(`[createBaseStore]: Failed to deserialize persisted store data`,e)),e}}const bt=r?0:d?G.ms(200):G.seconds(5);function xt(e,t,n){let r=t??e.storage??B().storage,i=e.version??0;return r.async?{async:!0,persistStorage:Ct(r,e,n),version:i}:{async:!1,persistStorage:St(r,e,(e.sync?void 0:e.persistThrottleMs??bt)||void 0,n),version:i}}function St(e,t,n,r){let i=!t.deserializer&&!t.serializer&&!e.deserializer&&!e.serializer,a=typeof t.sync==`object`&&(t.sync.injectStorageMetadata??t.sync.engine?.injectStorageMetadata)===!0,o=t.partialize??_t,s=t.deserializer??e.deserializer??wt(i),c=t.serializer??e.serializer??Tt(i);function l(t,n,i){try{if(At(r))return;let s={state:o(n),version:i},l=Dt(r,a,s),u=c(s);try{e.set(t,u),Ot(r,l)}catch(e){y.error(new x(`[createBaseStore]: Failed to persist store data`,e))}}catch(e){y.error(new x(`[createBaseStore]: Failed to persist store data`,e))}}let u=n===void 0?l:pt(l,n,{leading:!1,maxWait:n,trailing:!0});return{getItem:t=>{let n=e.get(t);return n===void 0?null:s(n)},setItem:(e,t,n)=>{r?.getIsApplyingRemote()||u(e,t,n)},removeItem:t=>{try{e.delete(t)}catch(e){y.error(new x(`[createBaseStore]: Failed to delete persisted store data`,e))}}}}function Ct(e,t,n){let r=!t.deserializer&&!t.serializer&&!e.deserializer&&!e.serializer,i=typeof t.sync==`object`&&(t.sync.injectStorageMetadata??t.sync.engine?.injectStorageMetadata)===!0,a=t.partialize??_t,o=t.deserializer??e.deserializer??wt(r),s=t.serializer??e.serializer??Tt(r);async function c(t,r,o){try{if(At(n))return;let c={state:a(r),version:o},l=Dt(n,i,c),u=s(c);try{await e.set(t,u),Ot(n,l)}catch(e){y.error(new x(`[createBaseStore]: Failed to persist store data`,e))}}catch(e){y.error(new x(`[createBaseStore]: Failed to serialize persisted store data`,e))}}let l=ut(c);return{getItem:async t=>{let n=await e.get(t);return n===void 0?null:o(n)},setItem:(e,t,r)=>n?.getIsApplyingRemote()?Promise.resolve():l(e,t,r),removeItem:async t=>{try{await e.delete(t)}catch(e){y.error(new x(`[createBaseStore]: Failed to delete persisted store data`,e))}}}}function wt(e){return t=>{if(typeof t!=`string`)throw new x(`[createBaseStore]: Received non-string serialized state without a custom deserializer. Provide a deserializer on the store or storage adapter.`);return yt(t,e)}}function Tt(e){return t=>vt(t,e)}const Et=Object.freeze({shouldClear:!1});function Dt(e,t,n){if(!t||!e)return Et;let r=e.getFieldTimestampSnapshot();return kt(e,n),n.syncMetadata?r&&Object.keys(r).length>0?(n.syncMetadata.fields=r,{fieldSnapshot:r,shouldClear:!0}):(delete n.syncMetadata.fields,{fieldSnapshot:r,shouldClear:!1}):{fieldSnapshot:r,shouldClear:!1}}function Ot(e,t){!e||!t.shouldClear||!t.fieldSnapshot||!Object.keys(t.fieldSnapshot).length||e.clearFieldTimestamps(t.fieldSnapshot)}function kt(e,t){let n=e.getSessionId(),r=e.getTimestamp();n!==void 0&&r!==void 0&&(t.syncMetadata={origin:n,timestamp:r})}function At(e){return e?!!e.getIsApplyingRemote():!1}function jt(e,t,n){let r=t.engine??B().syncEngine;return(i,o,s)=>{let c=new Map,l=[],d=[],f=null,p=!1,m=!1,g=0,_=null,v=[],b=Promise.resolve(),S=!n?.isAsync;function C(){let e=Date.now(),t=e>g?e:g+1;return g=t,t}function w(e,t){if(!(!n||!r.sessionId)&&(n.setSessionId(r.sessionId),n.setTimestamp(e),t.length>0)){let r=a();for(let n of t)r[String(n)]=e;n.mergeFieldTimestamps(r)}}function T(e,t,n,i=!1){let a=r.sessionId;for(let t of e)c.set(t,[n,a]);!f||!m?d.push({keys:e,replace:i,timestamp:n,values:t}):f.publish?.({replace:i,sessionId:a,timestamp:n,values:t})}function E(){if(!(!f||!d.length)){for(let e of d){let t=r.sessionId;for(let n of e.keys)c.set(n,[e.timestamp,t]);w(e.timestamp,e.keys),f.publish?.({replace:e.replace,sessionId:t,timestamp:e.timestamp,values:e.values})}d.length=0}}function D(e,t){if(p||!_)return t?i(e,t):i(e);let n=C(),r,o,s=t?i(c,!0):i(c);if(!r||!o)return s;function c(i){let s=oe(i,e,t);for(let e of v)Object.is(s[e],i[e])||((r??(r=[])).push(e),(o??(o=a()))[e]=s[e]);return r&&w(n,r),s}return h(s)?s.finally(T.bind(void 0,r,o,n,t)):(T(r,o,n,t),s)}let O=s.setState;s.setState=D;let k=e(D,o,s);if(v=t.fields??Pt(k),!v.length)return k;_=new Set(v);async function A(e){g=Math.max(g,e.timestamp);let r=a(),i=o(),s=e.timestamp,l;if(e.replace)for(let t of v)u(e.values,t)||Nt(c.get(t),s,e.sessionId)&&(l??(l=[])).push(t);for(let n of v){if(!Lt(e.values,n)||!_?.has(n)||!Nt(c.get(n),s,e.sessionId))continue;let a=t.merge?.[n];if(a){let t=e.values[n],o=i[n];if(t!==void 0){let l=a(t,o,i,e.values),u=o===void 0?t:o;if(!It(l,u)){y.error(new x(`[sync] Merge function for field "${String(n)}" returned ${Ft(l)} but expected ${Ft(u)}`));return}r[n]=l,c.set(n,[s,e.sessionId])}}else r[n]=e.values[n],c.set(n,[s,e.sessionId])}if(!(!(Object.keys(r).length>0)&&!l?.length)){p=!0,n?.setIsApplyingRemote(!0);try{if(e.replace){let e={...i},t=!1;if(l?.length){t=!0;for(let t of l)delete e[t],c.delete(t)}for(let n in r){if(!u(r,n))continue;let i=r[n];if(i===void 0)continue;Object.is(e[n],i)||(t=!0);let a=e;a[n]=i}if(!t)return;await(n?.setWithoutPersist??O)(e,!0)}else await(n?.setWithoutPersist??O)(r)}finally{p=!1,n?.setIsApplyingRemote(!1)}}}function j(e){n?.isAsync?b=b.then(()=>A(e)):A(e)}function M(){if(!l.length)return;let e=l.slice();l.length=0;for(let t of e)j(t)}if(f=r.register({apply:e=>{if(!S){l.push(e);return}j(e)},fields:v,getState:o,key:t.key}),f?.onFirstSubscribe||f?.onLastUnsubscribe){let e=f,t=0,n=s.subscribe;function r(n){return t++===0&&e.onFirstSubscribe?.(),r=>{n(r),--t,t||queueMicrotask(()=>{t||e.onLastUnsubscribe?.()})}}s.subscribe=(...e)=>r(e.length===1?n(e[0]):n(e[0],e[1],e[2])),Ze(s,e=>t=>r(e(t)))}function N(){m=!0,E()}function ee(){S=!0,M()}return n?.isAsync?(n.onHydrationComplete=N,n.onHydrationFlushEnd=ee):f.onHydrated?(f.onHydrated(N),ee()):(N(),ee()),k}}function Mt(e){let t,n,r,i=!1;function a(e){if(!(!e||!r)){for(let t of Object.entries(e)){let e=t[0],n=t[1];r[e]===n&&delete r[e]}Object.keys(r).length||(r=void 0)}}function o(){if(r)return{...r}}function s(e){if(!r){r={...e};return}for(let t of Object.entries(e)){let e=t[0],n=t[1],i=r[e];(i===void 0||n>i)&&(r[e]=n)}}return{isAsync:e,clearFieldTimestamps:a,getFieldTimestampSnapshot:o,getIsApplyingRemote:()=>i,getSessionId:()=>t,getTimestamp:()=>n,mergeFieldTimestamps:s,onHydrationComplete:void 0,onHydrationFlushEnd:void 0,setIsApplyingRemote:e=>i=e,setSessionId:e=>t=e,setTimestamp:e=>n=e,setWithoutPersist:void 0}}function Nt(e,t,n){if(!e)return!0;let r=e[0],i=e[1];return t<r?!1:t>r?!0:n>i}function Pt(e){let t=[];for(let n of Object.keys(e))Rt(e,n)&&t.push(n);return t}function Ft(e){if(e===null)return`null`;let t=typeof e;return t===`object`?Object.prototype.toString.call(e):t}function It(e,t){if(!n)return!0;if(e===null||t===null)return e===t;let r=typeof e;return r===typeof t?r===`object`?Object.prototype.toString.call(e)===Object.prototype.toString.call(t):!0:!1}function Lt(e,t){return u(e,t)}function Rt(e,t){return typeof e[t]!=`function`}function zt(e,t){if(V(),!t)return et(e);let n=t.storageKey,r=typeof n==`string`,i=r?t.storage??B().storage:void 0,a=Bt(t.sync,n),o=!i||!a?void 0:Mt(i.async??!1),s=a?jt(e,a,o):e;if(!r)return et(s);let c=xt(t,i,o),l=c.async?ct(s):void 0,u=l?l.wrapOnRehydrateStorage(t.onRehydrateStorage,o):t.onRehydrateStorage,d=et(rt(l?(e,t,n)=>(o&&(o.setWithoutPersist=n.setState),l.stateCreator(e,t,n)):s,{merge:t.merge,migrate:t.migrate,name:n,onRehydrateStorage:u,storage:c.persistStorage,version:c.version},c.async));return l?Object.assign(d,{persist:Object.assign(d.persist,{hydrationPromise:l.hydrationPromise})}):d}function Bt(e,t){if(!e)return null;let n=typeof e==`object`,r=n?e.key??t:e===!0?t:e;if(!r)throw new x(`[createBaseStore]: sync requires a key to be specified either directly or via storageKey`);return n?{...e,key:r}:{key:r}}function Vt(e,t,n=`s`){return t===1?e:`${e}${n}`}const Ht=Object.freeze({equalityFn:Object.is,isCascadeParticipant:!0});var Ut=class{constructor(e){this.invalidate=e,this.stateDependencyRevisionStamp=0,this.stateDependencyRevision=0}beginRebuild(e){this.clearSelectors(e),this.stateDependencyRevision+=1}addSelector(e){let t=this.selectorUnsubscribes;if(!t){this.selectorUnsubscribes=e;return}if(typeof t==`function`){this.selectorUnsubscribes=[t,e];return}t.push(e)}retainState(e){let t=this.stateDependencies;if(t){let n=t.get(e);if(n){n.revision=this.stateDependencyRevision;return}t.set(e,this.createStateDependency(e));return}let n=this.stateDependencyStore;if(!n){this.stateDependencyStore=e,this.stateDependencyRevisionStamp=this.stateDependencyRevision,this.stateDependencyUnsubscribe=this.subscribeState(e);return}if(n===e){this.stateDependencyRevisionStamp=this.stateDependencyRevision;return}let r=this.stateDependencyUnsubscribe;this.stateDependencyStore=void 0,this.stateDependencyUnsubscribe=void 0,this.stateDependencies=new Map,r&&this.stateDependencies.set(n,{revision:this.stateDependencyRevisionStamp,unsubscribe:r}),this.stateDependencies.set(e,this.createStateDependency(e))}finishRebuild(e){this.stateDependencyStore&&this.stateDependencyRevisionStamp!==this.stateDependencyRevision&&(this.stateDependencyUnsubscribe?.(e),this.stateDependencyStore=void 0,this.stateDependencyUnsubscribe=void 0);let t=this.stateDependencies;if(t){for(let n of t){let r=n[1];r.revision!==this.stateDependencyRevision&&(r.unsubscribe(e),t.delete(n[0]))}if(!t.size){this.stateDependencies=void 0;return}if(t.size===1){for(let e of t){this.stateDependencyStore=e[0],this.stateDependencyRevisionStamp=e[1].revision,this.stateDependencyUnsubscribe=e[1].unsubscribe;break}this.stateDependencies=void 0}}}clear(e){this.clearSelectors(e),this.stateDependencyUnsubscribe?.(e),this.stateDependencyStore=void 0,this.stateDependencyUnsubscribe=void 0;let t=this.stateDependencies;if(t){for(let n of t)n[1].unsubscribe(e);this.stateDependencies=void 0}}get size(){let e=this.selectorUnsubscribes;return(typeof e==`function`?1:e?.length??0)+ +!!this.stateDependencyStore+(this.stateDependencies?.size??0)}clearSelectors(e){let t=this.selectorUnsubscribes;if(this.selectorUnsubscribes=void 0,t){if(typeof t==`function`){t(e);return}for(let n=0;n<t.length;n++)t[n](e)}}createStateDependency(e){return{revision:this.stateDependencyRevision,unsubscribe:this.subscribeState(e)}}subscribeState(e){return Xe(e)?e[Ye](this.invalidate):e.subscribe(s,this.invalidate,Ht)}},Wt=class{constructor(){this.watcherCount=0,this.ordinaryWatcherCount=0,this.cascadeParticipantCount=0,this.cascadeStateListenerCount=0}addWatcher(e){let t=we(this.watchers,this.watcherCount,e);return t===null?!1:(this.watchers=t,this.watcherCount+=1,Jt(e)?this.cascadeParticipantCount+=1:this.ordinaryWatcherCount+=1,!0)}deleteWatcher(e){let t=Te(this.watchers,this.watcherCount,e);return t===null?!1:(this.watchers=t,--this.watcherCount,Jt(e)?--this.cascadeParticipantCount:--this.ordinaryWatcherCount,!0)}addCascadeStateListener(e){let t=we(this.cascadeStateListeners,this.cascadeStateListenerCount,e);return t===null?!1:(this.cascadeStateListeners=t,this.cascadeParticipantCount+=1,this.cascadeStateListenerCount+=1,!0)}deleteCascadeStateListener(e){let t=Te(this.cascadeStateListeners,this.cascadeStateListenerCount,e);return t===null?!1:(this.cascadeStateListeners=t,--this.cascadeParticipantCount,--this.cascadeStateListenerCount,!0)}notifyCascade(e,n){Ee(this.cascadeStateListeners,this.cascadeStateListenerCount,t,e,n),this.cascadeParticipantCount!==this.cascadeStateListenerCount&&Ee(this.watchers,this.watcherCount,Gt,e,n)}notifyOrdinary(e,t){Ee(this.watchers,this.watcherCount,Kt,e,t)}clear(){this.watchers=De(this.watchers,this.watcherCount),this.cascadeStateListeners=De(this.cascadeStateListeners,this.cascadeStateListenerCount),this.watcherCount=0,this.ordinaryWatcherCount=0,this.cascadeParticipantCount=0,this.cascadeStateListenerCount=0}};function Gt(e,t,n){typeof e==`function`||!e.isCascadeParticipant||qt(e,t)}function Kt(e,t,n){if(typeof e==`function`){e(t,n);return}e.isCascadeParticipant||qt(e,t)}function qt(e,t){let n=e.selector(t);if(e.equalityFn(e.currentSlice,n))return;let r=e.currentSlice;e.currentSlice=n,e.listener(n,r)}function Jt(e){return typeof e!=`function`&&e.isCascadeParticipant}const Yt=Symbol(`stores.deriveProxy.unwrap`);function Xt(e,t,n,r){let i=n.get(e);if(on(i))return i;let a=Zt(t,e,r);return n.set(e,a),a}function Zt(e,t,n,r=[]){return!e||typeof e!=`object`?(n(t,r,!0),e):Qt(e,r,t,n,new WeakSet,new WeakMap)}function Qt(e,t,n,r,i,a){let s=Array.isArray(e);return new Proxy(e,{get(c,l,d){if(l===Yt)return r(n,t,!0),c;if(i.has(c))return Reflect.get(c,l,d);if(l===`__proto__`||typeof l==`symbol`)return l===Symbol.iterator&&(r(n,t,!0),i.add(c)),Reflect.get(c,l,d);if(s&&o(l))return r(n,t,!0),i.add(c),Reflect.get(c,l,d);let f=Reflect.get(c,l,c),p=String(l),m=t.concat(p);if(typeof f==`function`)return u(c,l)?function(...e){return r(n,m,!0,{args:e.length?e:void 0}),Reflect.apply(f,c,e)}:(r(n,t,!0),f.bind(e));let h=!!f&&typeof f==`object`;return r(n,m,!h),h?(a.has(f)||a.set(f,Qt(f,m,n,r,i,a)),a.get(f)):f},getOwnPropertyDescriptor(e,a){return r(n,t,!0),i.add(e),Reflect.getOwnPropertyDescriptor(e,a)},has(e,i){return r(n,t,!0),Reflect.has(e,i)},ownKeys(e){return r(n,t,!0),i.add(e),Reflect.ownKeys(e)}})}function $t(e,t){return!e||typeof e!=`object`?e:rn(e)||(Array.isArray(e)?en(e,t):c(e)&&tn(e,t),e)}function en(e,t){let n=an(e,t);if(n)for(let t=0;t<e.length;t++)nn(e,String(t),n)}function tn(e,t){let n=an(e,t);if(n)for(let t of Reflect.ownKeys(e))nn(e,t,n)}function nn(e,t,n){let r=Reflect.getOwnPropertyDescriptor(e,t);if(!r||!(`value`in r))return;let i=$t(r.value,n);i!==r.value&&(r.value=i,Reflect.defineProperty(e,t,r))}function rn(e){let t=Reflect.get(e,Yt);return t&&typeof t==`object`?t:void 0}function an(e,t){let n=t??new WeakSet;return n.has(e)?null:(n.add(e),n)}function on(e){return e!==void 0}const sn=Object.freeze([]);function cn(){let e,t,n;return{buildProxySubscriptions(r,i,a){let o=[],s=t,c=e;if(s&&c)dn(s,c,[],0,o,a);else if(n)for(let e of n)dn(e[1],e[0],[],0,o,a);hn(o,r,i)},reset(){e=void 0,t=void 0,n=void 0},trackPath(r,i,a,o){let s=t;if(s){let i=e;if(i!==r)if(!i)e=r;else{let a=n??(n=new Map);a.set(i,s),s=ln(),a.set(r,s),e=void 0,t=void 0}}else{let i=n;i?(s=i.get(r),s||(s=ln(),i.set(r,s))):(s=ln(),e=r,t=s)}un(s,i,a,o)}}}function ln(){return a()}function un(e,t,n,r){let i=e;for(let e=0;e<t.length;e++){let n=t[e],r=i.children,a;if(r)a=r[n],a||(a=r[n]=ln());else if(a=i.child,!a)a=ln(),i.child=a,i.childKey=n;else if(i.childKey!==n){let e=i.childKey;if(e===void 0)i.childKey=n;else{let t=ln();t[e]=a,a=t[n]=ln(),i.child=void 0,i.childKey=void 0,i.children=t}}i=a}n&&(i.isLeaf=!0),r&&fn(i,r)}function dn(e,t,n,r,i,a=2){let o=e.child;if(o){let s=e.childKey;if(e.isLeaf){if(mn(e,t,n,i),!o.invocation||s===void 0)return}else if(s===void 0){mn(e,t,n,i);return}n.push(s),dn(o,t,n,r+1,i,a),n.pop();return}let s=e.children;if(!s){mn(e,t,n,i);return}if(e.isLeaf||r>=a){mn(e,t,n,i);for(let e in s){let o=s[e];o.invocation&&(n.push(e),dn(o,t,n,r+1,i,a),n.pop())}return}for(let e in s)n.push(e),dn(s[e],t,n,r+1,i,a),n.pop()}function fn(e,t){let n=e.invocation;if(!n){e.invocation=t;return}if(pn(n,t))return;let r=e.extraInvocations;if(!r){e.extraInvocations=[t];return}for(let e=0;e<r.length;e++)if(pn(r[e],t))return;r.push(t)}function pn(e,t){let n=e.args,r=t.args,i=n?.length??0;if(i!==(r?.length??0))return!1;if(!n||!r)return!0;for(let e=0;e<i;e++)if(!Object.is(n[e],r[e]))return!1;return!0}function mn(e,t,n,r){let i=n.slice(),a=e.invocation;if(!a){r.push({store:t,path:i});return}r.push({store:t,path:i,invocation:a});let o=e.extraInvocations;if(o)for(let e=0;e<o.length;e++)r.push({store:t,path:i,invocation:o[e]})}function hn(e,t,n){for(let n of e){let e=n.invocation?_n(n.path,n.invocation):gn(n.path);t(n.store,e,n.path)}n&&yn(e)}function gn(e){return e.length?t=>vn(t,e):s}function _n(e,t){let n=e.slice(0,-1),r=e[e.length-1];return e=>{let i=vn(e,n),a=i&&typeof i==`object`?Reflect.get(i,r):void 0;return typeof a==`function`?Reflect.apply(a,i,t.args??sn):void 0}}function vn(e,t){let n=e;for(let e=0;e<t.length;e++){if(!n||typeof n!=`object`)return n;n=Reflect.get(n,t[e])}return n}function yn(e){let t=e.length;console.log(`[πŸ“‘ ${t} ${Vt(`Proxy Subscription`,t)} πŸ“‘]:`,JSON.stringify(e.map(e=>{let t=bn(e.store),n=e.path.join(`.`);if(!e.invocation)return n?`$(${t}).${n}`:`$(${t})`;let r=e.invocation.args?.length??0;return`$(${t}).${n}${r?`(${r}_${Vt(`arg`,r)})`:`()`}`}),null,2))}function bn(e){return`name`in e&&typeof e.name==`string`?e.name:`store`}const xn=Symbol(),Sn=Symbol(),Cn=Symbol(`stores.derivedStore.readDependencyState`);function wn(e,t=Object.is){let r,i=!1,a,o=!1,c=!1;typeof t==`function`?a=t:(r=t.debounce,i=n?t.debugMode??!1:!1,a=t.equalityFn??Object.is,o=t.keepAlive??!1,c=t.lockDependencies??!1);let l=new Wt,u=new Ut(A),d=+!!o,f,p,m=xn,h=!1,g=!1,_=!0,v=!0,y=null,b=Sn;function x(e,t,n){if(!v)return(t??s)(Dn(e));if(!d)return(t??s)(e.getState());if(!t){let t=Dn(e);return!t||typeof t!=`object`?(u.retainState(e),t):(f||(f=new WeakMap),p||(p=cn()),Xt(e,t,f,p.trackPath))}let r=n?{equalityFn:n,isCascadeParticipant:!0}:Ht;return u.addSelector(e.subscribe(t,A,r)),t(Dn(e))}function S(){if(!_&&$(m))return m;_=!1,v&&u.beginRebuild(!0);let t=!0,n=m,r=$(n);g=!0;try{let o=e(x),s=p?$t(o):o;r&&a(n,s)?(i&&console.log(`[πŸ₯· Derive Complete πŸ₯·]: No change detected`),t=!1,m=n):m=s}finally{g=!1,v&&u.finishRebuild(!0)}let o=i&&(!r||i===`verbose`&&v);if(o){r?i===`verbose`&&console.log(`[πŸŒ€ Rebuilding Subscriptions πŸŒ€]: Created…`):console.log(`[πŸŒ€ Initial Derive Complete πŸŒ€]: Created…`);let e=u.size;console.log(`[🎯 ${e} ${Vt(`Selector Subscription`,e)} 🎯]`)}return p&&v&&(p.buildProxySubscriptions((e,t)=>{u.addSelector(e.subscribe(t,A,Ht))},o),f=void 0,c?p=void 0:p.reset()),t&&r&&C(m,n),c&&(v=!1),m}function C(e,t){let n=l.cascadeParticipantCount,r=n>0&&l.ordinaryWatcherCount>0,a=l.ordinaryWatcherCount>0&&(r||Le()!==null||Ie());if(r&&Re(),i){let e=l.ordinaryWatcherCount+n;console.log(`[πŸ“» Derive Complete πŸ“»]: Notifying ${e} ${Vt(`watcher`,e)}`)}if(n&&l.notifyCascade(e,t),l.ordinaryWatcherCount){if(a){b===Sn?(b=t,Ve(w)):$(b)||(b=t);return}l.notifyOrdinary(e,t)}}function w(){d&&_&&!l.cascadeParticipantCount&&S();let e=b;b=Sn,l.ordinaryWatcherCount&&$(m)&&e!==Sn&&$(e)&&l.notifyOrdinary(m,e)}let T=r?pt(D,typeof r==`number`?r:r.delay,typeof r==`number`?{leading:!1,maxWait:r,trailing:!0}:r):void 0,E=T??(()=>{h||(h=!0,queueMicrotask(D))});function D(){if(h=!1,!d){o||I();return}_&&S()}function O(e){if(e!==void 0&&(e||T&&_)){queueMicrotask(O);return}!d&&!o&&I()}function k(){let e=y;e===Le()&&(D(),y===e&&(y=null))}function A(){if(!g){if(!T){if(l.cascadeParticipantCount){_=!0,Re();let e=Le(),t=e===null?0:e+1;if(y!==null&&t<=y)return;y=t,He(k,t);return}if(_)return;if(_=!0,Ie()){b===Sn&&(b=xn,Ve(w));return}}_||(_=!0,y=null,E())}}function j(e){d+=1;try{return e()}finally{--d,d||queueMicrotask(O)}}function M(){return _||!$(m)?d?S():j(S):(h&&d&&D(),m)}function N(){return Ie()&&Le()===null&&Be(),_||!$(m)?d?S():e(x):m}function ee(...e){if(e.length===1){let t=e[0];return l.addWatcher(t)&&(d+=1),$(m)||N(),()=>{l.deleteWatcher(t)&&(--d,d||O(!1))}}let[t,n,r]=e,i=r?.equalityFn??Object.is,a=r?.isCascadeParticipant??!1,o=t(d?N():j(N)),s={currentSlice:o,equalityFn:i,isCascadeParticipant:a,listener:n,selector:t};return l.addWatcher(s),d+=1,r?.fireImmediately&&n(o,o),()=>{l.deleteWatcher(s)&&(--d,d||O(a))}}function P(e){return d?N():j(N),l.addCascadeStateListener(e)&&(d+=1),()=>{l.deleteCascadeStateListener(e)&&(--d,d||O(!0))}}function F(){d&&(T?T.flush():_&&S())}function I(){T?.cancel(),u.clear(),l.clear(),d=0,p=void 0,f=void 0,v=!0,h=!1,g=!1,_=!0,m=xn,b=Sn,y=null}function L(){return _||h||!$(m)?d?S():j(S):m}return{[Cn]:L,[Ye]:P,destroy:I,flushUpdates:F,getSnapshot:M,getState:N,subscribe:ee,getInitialState:Tn,setState:En}}function Tn(){throw Error(`[createDerivedStore]: getInitialState() is not available on derived stores.`)}function En(){throw Error(`[createDerivedStore]: setState() is not available on derived stores.`)}function Dn(e){let t=e[Cn];return t?t():e.getState()}function $(e){return e!==xn}var On=class{constructor(e){this.count=0,this.lastSubscriptionTime=null,this.fetchThrottleMs=null,this.onSubscribe=null,this.onLastUnsubscribe=null,e&&(this.fetchThrottleMs=G.seconds(5))}init({onSubscribe:e,onLastUnsubscribe:t}){this.onSubscribe=e,this.onLastUnsubscribe=t}hasSubscribers(){return this.count>0}subscribe(){let e=this.count===0,t=this.fetchThrottleMs!==null,n=t&&this.lastSubscriptionTime!==null&&!e&&Date.now()-this.lastSubscriptionTime<=this.fetchThrottleMs;return this.count+=1,this.onSubscribe?.(e,n),t&&(this.lastSubscriptionTime=Date.now()),e=>{let t=this.count===1;this.count=Math.max(this.count-1,0),t&&(this.onLastUnsubscribe?.(e),this.lastSubscriptionTime=null)}}};function kn(e,t=queueMicrotask){let n=!1,r;function i(){n=!1,e(...r)}function a(...e){r=e,!n&&(n=!0,t(i))}return a}const An=Object.freeze({equalityFn:Object.is,isCascadeParticipant:!0});function jn(e,t,n){let r=a(),i=null,o=!1;if(e)for(let n in e){if(!u(e,n))continue;let s=Mn(r,e[n],n,t);s&&((i??(i=a()))[n]=s,s.key!==void 0&&(o=!0))}return{buildKey(e=r){return f(o?Ln(i,e):e)},complete(e){return e?Bn(e,n)?e:{...r,...e}:Fn(r)},get(){return Fn(r)},subscribe(e){return In(i,r,e)}}}function Mn(e,t,n,r){return p(t)?Pn(e,t.value,n,r,t.key):Pn(e,t,n,r)}function Nn(e,t){let n=[],r,i;function a(e,t,a){return t?(n.push(n=>e.subscribe(t,n,Rn(a))),t(zn(e))):(r??(r=cn()),i??(i=new WeakMap),Xt(e,zn(e),i,r.trackPath))}function o(e,t=s){return t(zn(e))}let c=e(a,t),l=r?$t(c):c;return r&&(r.buildProxySubscriptions((e,t)=>{n.push(n=>e.subscribe(t,n,An))},!1),r=void 0),i=void 0,{initialValue:l,subscribe(r){let i=()=>r(e(o,t)),a=n.map(e=>e(i));return e=>{for(let t of a)t(e)}}}}function Pn(e,t,n,r,i){if(Vn(t)){let a=Nn(t,r);return e[n]=a.initialValue,i===void 0?{tracked:a}:{key:i,tracked:a}}return e[n]=t,i===void 0?null:{key:i}}function Fn(e){let t=a();for(let n in e)u(e,n)&&(t[n]=e[n]);return t}function In(e,t,n){if(!e)return l;let r;for(let i in e){let a=e[i]?.tracked;a&&(r??(r=[])).push(a.subscribe(e=>{let r=t[i];Ce(r,e)||(t[i]=e,n(i,r,e))}))}return r?e=>{for(let t of r)t(e)}:l}function Ln(e,t){let n=a();for(let r in t){if(!u(t,r))continue;let i=e?.[r];if(i?.key===!1)continue;let a=t[r];n[r]=i?.key?i.key(a):a}return n}function Rn(e){return e?{equalityFn:e,isCascadeParticipant:!0}:An}function zn(e){return pe(e)?e.getSnapshot():e.getState()}function Bn(e,t){for(let n of t)if(!(n in e))return!1;return!0}function Vn(e){return typeof e==`function`}const Hn={error:!0,lastFetchedAt:!0,queryCache:!0,queryKey:!0,status:!0,enabled:!1,fetch:!1,getCacheEntry:!1,getData:!1,getStatus:!1,isDataExpired:!1,isStale:!1,reset:!1},Un=Object.freeze({force:!0}),Wn=Object.freeze({once:!0}),Gn=new Set;let Kn=!1;function qn(e){Gn.add(e),!Kn&&(Kn=!0,queueMicrotask(()=>{Kn=!1,Oe(Jn)}))}function Jn(){for(let e of Gn)Gn.delete(e),e()}function Yn(t,i,a){V();let o=typeof i==`function`?i:$n,s=typeof i==`object`?i:a,c=Xn(s)?s:void 0,l=re(),u=l.minStaleTime,{fetcher:d,onError:f=l.onError,onFetched:p,setData:m,transform:h,abortInterruptedFetches:g=l.abortInterruptedFetches,cacheTime:_=l.cacheTime,debugMode:v=l.debugMode,disableAutoRefetching:b=l.disableAutoRefetching,disableCache:C=!1,enabled:w=!0,keepPreviousData:T=l.keepPreviousData,paramChangeThrottle:E=l.paramChangeThrottle,params:D,retry:O=l.retry,retryDelay:k=l.retryDelay,staleTime:A=l.staleTime,suppressStaleTimeWarning:j=l.suppressStaleTimeWarning}=t,M=typeof A==`function`?l.staleTime:A;n&&u!==!1&&!b&&!j&&M<u&&console.warn(`[createQueryStore${c?.storageKey?`: ${c.storageKey}`:``}] ❌ Stale times under ${u/1e3} seconds are not recommended. Provided staleTime: ${M/1e3} seconds`);let N=Error(`[createQueryStore: AbortError] Fetch interrupted`),ee=typeof _==`function`,P=n&&v,F=t.params?Object.keys(t.params):[],I=!1,L,R=[],z=null,B=null,H=null,U=null,te=null,G=null,ne=null,ie={enabled:typeof w==`function`?!1:w,error:null,lastFetchedAt:null,queryCache:{},queryKey:``,status:W.Idle},K=new On(b);function oe(){H&&(U=null,H.abort(),H=null)}function q(){te&&(clearTimeout(te),te=null)}async function le(e){let t=new AbortController;H=t;try{return await new Promise((n,r)=>{t.signal.addEventListener(`abort`,()=>r(N),Wn),Promise.resolve(d(e,t)).then(n,r)})}finally{H===t&&(H=null)}}function ue(e,t,n){let r=n.setState;function i(e,t){e!==t&&ne!==t&&(ne=t,t&&K.hasSubscribers()?queueMicrotask(()=>u.fetch(void 0,void 0,!0)):(te||g)&&(g&&oe(),q()))}function a(e){let t=typeof e==`function`;if(t||e.enabled!==void 0){let n,a=r(r=>{let a=t?e(r):e,o=a.enabled===void 0?r.enabled:a.enabled;return o!==r.enabled&&(n=()=>i(r.enabled,o)),a});return n?.(),a}else return r(e)}n.setState=a,K.init({onSubscribe:(n,r)=>{let i=t();if(i.enabled)if(n){let t=L.get(),n=L.buildKey(t);i.queryKey!==n&&e({queryKey:n}),i.isStale()?u.fetch(t,void 0,!0):s(t)}else b&&!r&&u.fetch(void 0,void 0,!0)},onLastUnsubscribe:e=>{q(),g&&!e&&oe()}});function s(e){if(b||M<=0||M===1/0||!K.hasSubscribers())return;q();let n=t();if(!n.enabled)return;let r=L.buildKey(e),i=(C?G===r&&n.lastFetchedAt:n.queryCache[r]?.lastFetchedAt)||null,a=i?M-(Date.now()-i):M;te=setTimeout(()=>{t().enabled&&u.fetch(e,Un,!0)},a)}function l(e){let n=t(),r=n.status;switch(e){case`isIdle`:return r===W.Idle;case`isLoading`:return r===W.Loading;case`isError`:case`isInitialLoad`:case`isSuccess`:case void 0:{let t=n.queryKey,i=C?void 0:n.queryCache[t],a=C?r===W.Error:typeof i?.errorInfo?.lastFailedAt==`number`;if(e===`isError`)return a;let o=((C?G===t&&n.lastFetchedAt:i?.lastFetchedAt)||null)!==null,s=!o&&!a&&n.enabled;if(e===`isInitialLoad`)return s;let c=o&&!a;return e===`isSuccess`?c:{isError:a,isIdle:r===W.Idle,isLoading:r===W.Loading,isInitialLoad:s,isSuccess:c}}}}let u={...o(a,t,n),...ie,async fetch(n,r,i=!1,o=0){let l=!!r?.skipStoreUpdates,v=t();if(!l&&(!v.enabled&&!r?.force||i&&!K.hasSubscribers()))return null;let b=v.error,w=v.queryKey,E=v.status===W.Loading,D=L.complete(n),A=L.buildKey(D);if(E&&U?.promise&&U.key===A)return P&&console.log(`[πŸ”„ Using Active Fetch πŸ”„] for params:`,JSON.stringify(D)),U.promise;let j=r?.staleTime??M,I=typeof r?.updateQueryKey==`boolean`?r.updateQueryKey:i?T:!1,R=(i||w===A||I)&&!l,z=U!==null;if(g&&R&&oe(),!r?.force){let t=v.lastFetchedAt,n=C?void 0:v.queryCache[A],r=n?.lastFetchedAt,i=n?.errorInfo,a=(C?G===A&&t:r)||null;if(!(!a||Date.now()-a>=j)&&(!i||!i.retryAllowed||l))return R&&!te&&M!==0&&M!==1/0&&s(D),I&&e(e=>e.queryKey===A?e:{queryKey:A}),P&&console.log(`[πŸ’Ύ Returning Cached Data πŸ’Ύ] for params:`,JSON.stringify(D)),n?.data??null}let B=R?{key:A}:null,V=r?.cacheTime??(ee?_(D):_);B&&(q(),I&&!z&&v.lastFetchedAt===null&&w!==A?e({error:null,queryKey:A,status:W.Loading}):(b||!E)&&e({error:null,status:W.Loading}),U=B);async function H(){let v=c?.storageKey||A;try{P&&(!i&&n&&F.some(e=>!(e in n))?console.log(`[πŸ”„ Fetching with Partial Params πŸ”„]
2
+ `,`- Provided params:`,`${JSON.stringify(n)}\n`,`- Filled in params:`,`${JSON.stringify(Object.fromEntries(Object.keys(D).filter(e=>!(e in n)).map(e=>[e,D[e]])))}`):console.log(`[πŸ”„ Fetching πŸ”„] for params:`,JSON.stringify(D)));let t=await(g&&R?le(D):d(D,null)),o=Date.now();P&&console.log(`[βœ… Fetch Successful βœ…] for params:`,JSON.stringify(D));let c;try{c=tr(t,D,h)}catch(e){throw er(v,`transform`,e)}if(l)return P&&console.log(`[πŸ₯· Successful Parallel Fetch πŸ₯·] for params:`,JSON.stringify(D)),r.skipStoreUpdates===`withCache`&&e(e=>{if(!m)return C?e:{queryCache:{...e.queryCache,[A]:{cacheTime:V,data:c,errorInfo:null,lastFetchedAt:o}}};let t=e,n=C?void 0:t.queryCache[A];try{m({data:c,params:D,queryKey:A,set:e=>{t=typeof e==`function`?{...t,...e(t)}:{...t,...e}}})}catch(e){throw er(v,`setData`,e)}return!C&&Object.is(n,t.queryCache[A])&&(t={...t,queryCache:{...t.queryCache,[A]:{cacheTime:V,data:null,errorInfo:null,lastFetchedAt:o}}}),t}),c;if((m?a:e)(e=>{let t=B&&U===B?{...e,error:null,lastFetchedAt:o,queryKey:I?A:e.queryKey,status:W.Success}:{...e};if(!m&&!C)P&&console.log(`[πŸ’Ύ Setting Cache πŸ’Ύ] for params:`,JSON.stringify(D),`| Has previous data?:`,!!t.queryCache[A]?.data),t.queryCache={...t.queryCache,[A]:{cacheTime:V,data:c,errorInfo:null,lastFetchedAt:o}};else if(m){P&&console.log(`[πŸ’Ύ Setting Data πŸ’Ύ] for params:`,JSON.stringify(D));let e=C?void 0:t.queryCache[A];try{m({data:c,params:D,queryKey:A,set:e=>{t=typeof e==`function`?{...t,...e(t)}:{...t,...e}}})}catch(e){throw er(v,`setData`,e)}!C&&Object.is(e,t.queryCache[A])&&(t.queryCache={...t.queryCache,[A]:{cacheTime:V,data:null,errorInfo:null,lastFetchedAt:o}})}return C||_===1/0?t:Qn(T,A,t)}),B&&U===B&&(G=A,s(D)),p)try{p({data:c,fetch:u.fetch,params:D,set:a})}catch(e){y.error(er(v,`onFetched callback`,e))}return c??null}catch(n){if(n===N)return P&&console.log(`[❌ Fetch Aborted ❌] for params:`,JSON.stringify(D)),null;let a=!i&&r?.throwOnError===!0,s=S(n);if(s instanceof x&&y.error(s),!R){if(a)throw s;return null}let c=C?void 0:t().queryCache[A],l,d;if(typeof O==`function`){l={error:s,params:D,queryKey:A,retryCount:o};try{d=O(l)}catch(e){y.error(er(v,`retry callback`,e)),d=!1}}else d=O!==!1&&o<O;let p;if(d&&U===B&&t().enabled&&K.hasSubscribers())if(k===void 0)p=ae(o);else if(typeof k==`number`)p=k;else{l??(l={error:s,params:D,queryKey:A,retryCount:o});try{p=k(l)}catch(e){y.error(er(v,`retryDelay callback`,e)),d=!1}}if(p!==void 0&&(q(),te=setTimeout(()=>{t().enabled&&u.fetch(D,Un,!0,o+1)},p)),e(e=>{let t={...e};return U===B&&(t.error=s,I&&(t.queryKey=A),t.status=W.Error),C||(t.queryCache={...e.queryCache,[A]:{cacheTime:c?.cacheTime??V,data:c?.data??null,lastFetchedAt:c?.lastFetchedAt??null,errorInfo:{error:s,lastFailedAt:Date.now(),retryAllowed:d,retryCount:o}}}),t}),f)try{f({error:s,params:D,queryKey:A,retryCount:o,willRetry:p!==void 0})}catch(e){y.error(er(v,`onError callback`,e))}if(a)throw s;return null}finally{U===B&&(U=null)}}return B?(B.promise=H(),B.promise):H()},getCacheEntry(e){if(C)return null;let n=t(),r=e?typeof e==`string`?e:L.buildKey(L.complete(e)):n.queryKey;return n.queryCache[r]??null},getData(e){if(C)return null;let n=t().getCacheEntry(e);return!n||n.data===null?null:T?n.data:n.lastFetchedAt&&Date.now()-n.lastFetchedAt>=n.cacheTime?null:n.data},getStatus:l,isDataExpired(e){let n=t(),r=n.queryKey,i=C?void 0:n.queryCache[r],a=n.lastFetchedAt,o=(C?G===r&&a:i?.lastFetchedAt)||null;if(!o)return!0;let s=e??i?.cacheTime;return s===void 0||Date.now()-o>=s},isStale(e){let n=t(),r=n.queryKey,i=(C?G===r&&n.lastFetchedAt:n.queryCache[r]?.lastFetchedAt)||null;if(!i)return!0;let a=e??M;return Date.now()-i>=a},reset(t=!1){for(let e of R)e();R=[],L=jn(void 0,J,F),z=null,B=null,oe(),q(),ve?.cancel(),U=null,G=null,t&&e(ie)}},v=n.subscribe;return n.subscribe=(...e)=>{let t=I?void 0:K.subscribe(),n=e.length===1?v(e[0]):v(e[0],e[1],e[2]);return e=>{t?.(e),n(e)}},Ze(n,e=>t=>{let n=I?void 0:K.subscribe(),r=e(t);return e=>{n?.(e),r(e)}}),u}let J=c?.storageKey?zt(ue,e(c,{partialize:Zn(T,c.partialize)})):s&&!(`storageKey`in s)?zt(ue,s):zt(ue),de=J.getState(),fe=de.error,pe=de.enabled,me=de.queryKey,he=de.fetch;me&&!fe&&(G=me),I=!0,L=jn(D,J,F),typeof w==`function`&&(z=Nn(w,J)),typeof t.staleTime==`function`&&(B=Nn(t.staleTime,J),M=B.initialValue);let ge=kn(e=>{he(e,void 0,!0)},qn);function _e(){if(T)ge(void 0);else{let e=L.get();J.setState({queryKey:L.buildKey(e)}),ge(e)}}let ve=r||!E?void 0:pt(_e,typeof E==`number`?E:E.delay,typeof E==`number`?{leading:!1,maxWait:E,trailing:!0}:E);function ye(){if(q(),ve){let e=J.getState();T&&U?.key===e.queryKey&&e.lastFetchedAt===null?_e():ve();return}_e()}if(R.push(L.subscribe((e,t,n)=>{P&&console.log(`[πŸŒ€ Param Change πŸŒ€] -`,e,`- [Old]:`,`${t?.toString()},`,`[New]:`,n?.toString()),ye()})),B){let e=B.initialValue;P&&console.log(`[πŸŒ€ StaleTime Subscription πŸŒ€] Initial value:`,e),R.push(B.subscribe(t=>{t!==e&&(P&&console.log(`[πŸŒ€ StaleTime Change πŸŒ€] - [Old]:`,`${e},`,`[New]:`,t),e=t,M=t,q(),he(void 0,void 0,!0))}))}let Y;if(z){let e=z.initialValue;pe!==e&&((Y??(Y={})).enabled=e),P&&console.log(`[πŸŒ€ Enabled Subscription πŸŒ€] Initial value:`,e),R.push(z.subscribe(t=>{t!==e&&(P&&console.log(`[πŸŒ€ Enabled Change πŸŒ€] - [Old]:`,`${e},`,`[New]:`,t),e=t,J.setState({enabled:t}))}))}else pe!==ie.enabled&&((Y??(Y={})).enabled=ie.enabled);let be=L.buildKey();return be!==me&&((Y??(Y={})).queryKey=be),Y&&J.setState(Y),I=!1,ce(J,se.QueryStore)}function Xn(e){return typeof e?.storageKey==`string`}function Zn(e,t){return n=>{let r={...n},i=a();for(let e in r)u(r,e)&&e in Hn&&(Hn[e]&&(i[e]=r[e]),delete r[e]);return{...t?t(r):_t(r),...Qn(e,null,i)}}}function Qn(e,t,n){if(!n.queryCache)return n;let r=Date.now(),i=a(),o=!1;for(let a in n.queryCache){if(!u(n.queryCache,a))continue;let s=n.queryCache[a];s&&(r-(s.lastFetchedAt??s.errorInfo.lastFailedAt)<s.cacheTime||a===t||e&&a===n.queryKey)?i[a]=s:o=!0}return o?{...n,queryCache:i}:n}function $n(){return Object.create(null)}function er(e,t,n){return new x(`[createQueryStore: ${e}]: ${t} failed`,n)}function tr(e,t,n){return n?n(e,t):e}const nr=Object.freeze({equalityFn:Object.is,isCascadeParticipant:!0});function rr(e,t,n){let r=typeof t==`function`,i=r?t:void 0,a=r?n:t,o=new Set,s,c;function l(e,t){let n=e.getState(),r=t.getState();if(c)for(let e of c)u(e,t,n,r);if(s)for(let e of s)d(e,t,n,r);o.size&&ze();for(let e of o)f(e,t,n,r)}function u(e,t,n,r){e.unsubscribe(),e.unsubscribe=ir(t,e.listener),!Object.is(r,n)&&(Re(),e.listener(r,n))}function d(e,t,n,r){f(e,t,n,r)&&Re()}function f(e,t,n,r){e.unsubscribe();let i=e.args;if(i.length===1){let a=i[0];e.unsubscribe=t.subscribe(a);let o=!Object.is(r,n);return o&&a(r,n),o}let a=i[0],o=i[1],s=i[2];s?.fireImmediately&&(s={...s,fireImmediately:!1});let c=a(n),l=a(r);return e.unsubscribe=t.subscribe(a,o,s),(s?.equalityFn??Object.is)(c,l)?!1:(o(l,c),!0)}function p(e,t){l(t,e),le(t)}let m=wn(e,{debugMode:a?.debugMode??!1,lockDependencies:a?.lockDependencies??!0}),h;function g(){return h??(h=m.subscribe(p)),m.getState()}function _(...e){let t=g(),n={args:e,unsubscribe:e.length===1?t.subscribe(e[0]):t.subscribe(e[0],e[1],e[2])},r=e[2]?.isCascadeParticipant??!1;return r?(s??(s=new Set)).add(n):o.add(n),()=>{n.unsubscribe(),r?s?.delete(n)&&s.size===0&&(s=void 0):o.delete(n)}}function v(e){let t={listener:e,unsubscribe:ir(g(),e)};return(c??(c=new Set)).add(t),e=>{t.unsubscribe(e),c?.delete(t)&&c.size===0&&(c=void 0)}}return Object.assign({[Ye]:v,[se.VirtualStore]:!0,destroy:()=>{h?.(),h=void 0,m.destroy()},getInitialState:()=>g().getInitialState(),getState:()=>g().getState(),persist:ar(g),setState:or(g),subscribe:_},i?.(g))}function ir(e,t){return Xe(e)?e[Ye](t):e.subscribe(s,t,nr)}function ar(e){return{clearStorage:()=>e().persist?.clearStorage(),getOptions:()=>e().persist?.getOptions()??{},hasHydrated:()=>e().persist?.hasHydrated()??!0,hydrationPromise:()=>e().persist?.hydrationPromise?.()??Promise.resolve(),onFinishHydration:t=>e().persist?.onFinishHydration(t)??l,onHydrate:t=>e().persist?.onHydrate(t)??l,rehydrate:()=>e().persist?.rehydrate(),setOptions:t=>e().persist?.setOptions(t)}}function or(e){return function(...t){return t[1]===!0?e().setState(t[0],!0):e().setState(t[0])}}export{P as DEFAULT_STORAGE_KEY_PREFIX,W as QueryStatuses,se as StoreTags,x as StoresError,oe as applyStateUpdate,ce as assignStoreTag,zt as baseStore,R as configureStores,ve as createStoreActions,xe as deepEqual,ae as defaultRetryDelay,wn as derivedStore,le as destroyStore,ue as destroyStores,S as ensureError,z as getOptions,B as getStorageConfig,J as getStoreName,fe as hasDestroy,pe as hasGetSnapshot,s as identity,he as isDerivedStore,ge as isPersistedStore,me as isQueryStore,_e as isVirtualStore,y as logger,V as markStoreCreated,a as nullObject,Yn as queryStore,g as replacer,m as reviver,b as setLogger,Se as shallowEqual,G as time,rr as virtualStore};
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@storesjs/stores",
3
- "version": "0.12.0",
3
+ "version": "0.12.1",
4
4
  "license": "MIT",
5
5
  "sideEffects": false,
6
6
  "repository": {
@@ -92,10 +92,11 @@
92
92
  "postbuild:web": "rm -f src/storesStorage.ts src/env.ts",
93
93
  "prebuild:native": "cp src/storesStorage.native.ts src/storesStorage.ts && cp src/env.native.ts src/env.ts",
94
94
  "prebuild:web": "cp src/storesStorage.web.ts src/storesStorage.ts && cp src/env.web.ts src/env.ts",
95
+ "prepack": "tsx --tsconfig scripts/tsconfig.json scripts/build.ts",
95
96
  "test": "vitest run",
96
97
  "test:chrome": "vitest run src/plugins/chrome",
97
98
  "test:plugins": "vitest run src/plugins",
98
99
  "test:treeshake": "tsx --tsconfig scripts/tsconfig.json scripts/treeshake.ts",
99
100
  "typecheck": "tsc --noEmit -p tsconfig.json"
100
101
  }
101
- }
102
+ }