fetchium 0.2.4 → 0.3.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.
Files changed (53) hide show
  1. package/CHANGELOG.md +25 -0
  2. package/dist/cjs/development/QueryClient-BefSCMoE.js +2 -0
  3. package/dist/cjs/development/QueryClient-BefSCMoE.js.map +1 -0
  4. package/dist/cjs/development/index.js +1 -1
  5. package/dist/cjs/{production/mutation-LrsiDsl7.js → development/mutation-OJNwoJcf.js} +2 -2
  6. package/dist/cjs/{production/mutation-LrsiDsl7.js.map → development/mutation-OJNwoJcf.js.map} +1 -1
  7. package/dist/cjs/development/react/index.js +1 -1
  8. package/dist/cjs/development/react/index.js.map +1 -1
  9. package/dist/cjs/development/rest/index.js +1 -1
  10. package/dist/cjs/development/topic/index.js +1 -1
  11. package/dist/cjs/production/QueryClient-rbPYznie.js +2 -0
  12. package/dist/cjs/production/QueryClient-rbPYznie.js.map +1 -0
  13. package/dist/cjs/production/index.js +1 -1
  14. package/dist/cjs/{development/mutation-CUV5TC93.js → production/mutation-CjSajlTU.js} +2 -2
  15. package/dist/cjs/{development/mutation-CUV5TC93.js.map → production/mutation-CjSajlTU.js.map} +1 -1
  16. package/dist/cjs/production/react/index.js +1 -1
  17. package/dist/cjs/production/react/index.js.map +1 -1
  18. package/dist/cjs/production/rest/index.js +1 -1
  19. package/dist/cjs/production/topic/index.js +1 -1
  20. package/dist/esm/EntityInstance.d.ts.map +1 -1
  21. package/dist/esm/QueryResult.d.ts +3 -3
  22. package/dist/esm/QueryResult.d.ts.map +1 -1
  23. package/dist/esm/development/{QueryClient-WObL5AFz.js → QueryClient-DfxP7pt2.js} +584 -570
  24. package/dist/esm/development/QueryClient-DfxP7pt2.js.map +1 -0
  25. package/dist/esm/development/index.js +2 -2
  26. package/dist/esm/development/{mutation-C3e7FM9D.js → mutation-DZAq7Pbu.js} +2 -2
  27. package/dist/esm/development/{mutation-C3e7FM9D.js.map → mutation-DZAq7Pbu.js.map} +1 -1
  28. package/dist/esm/development/react/index.js +5 -36
  29. package/dist/esm/development/react/index.js.map +1 -1
  30. package/dist/esm/development/rest/index.js +2 -2
  31. package/dist/esm/development/topic/index.js +1 -1
  32. package/dist/esm/production/{QueryClient-DqHBCvA1.js → QueryClient-DrWSXg0y.js} +482 -468
  33. package/dist/esm/production/QueryClient-DrWSXg0y.js.map +1 -0
  34. package/dist/esm/production/index.js +2 -2
  35. package/dist/esm/production/{mutation-BOc53DJi.js → mutation-B8dmX5lz.js} +2 -2
  36. package/dist/esm/production/{mutation-BOc53DJi.js.map → mutation-B8dmX5lz.js.map} +1 -1
  37. package/dist/esm/production/react/index.js +5 -36
  38. package/dist/esm/production/react/index.js.map +1 -1
  39. package/dist/esm/production/rest/index.js +2 -2
  40. package/dist/esm/production/topic/index.js +1 -1
  41. package/dist/esm/react/use-query.d.ts +8 -0
  42. package/dist/esm/react/use-query.d.ts.map +1 -1
  43. package/dist/esm/types.d.ts +3 -3
  44. package/dist/esm/types.d.ts.map +1 -1
  45. package/package.json +6 -6
  46. package/plugin/docs/api/fetchium-react.md +5 -4
  47. package/plugin/docs/api/fetchium.md +2 -2
  48. package/dist/cjs/development/QueryClient-DjKxdY2y.js +0 -2
  49. package/dist/cjs/development/QueryClient-DjKxdY2y.js.map +0 -1
  50. package/dist/cjs/production/QueryClient-YzaJT_2g.js +0 -2
  51. package/dist/cjs/production/QueryClient-YzaJT_2g.js.map +0 -1
  52. package/dist/esm/development/QueryClient-WObL5AFz.js.map +0 -1
  53. package/dist/esm/production/QueryClient-DqHBCvA1.js.map +0 -1
@@ -1,2 +0,0 @@
1
- "use strict";const C=require("signalium"),A=require("signalium/utils"),qt=require("./shared-Ct5zKrt4.js"),St=require("./stores/sync.js");var P=(e=>(e.Always="always",e.Online="online",e.OfflineFirst="offlineFirst",e))(P||{}),d=(e=>(e[e.UNDEFINED=1]="UNDEFINED",e[e.NULL=2]="NULL",e[e.NUMBER=4]="NUMBER",e[e.STRING=8]="STRING",e[e.BOOLEAN=16]="BOOLEAN",e[e.OBJECT=32]="OBJECT",e[e.ARRAY=64]="ARRAY",e[e.ID=128]="ID",e[e.RECORD=256]="RECORD",e[e.UNION=512]="UNION",e[e.ENTITY=1024]="ENTITY",e[e.HAS_FORMAT=4096]="HAS_FORMAT",e[e.IS_EAGER_FORMAT=8192]="IS_EAGER_FORMAT",e[e.PARSE_RESULT=16384]="PARSE_RESULT",e[e.LIVE=32768]="LIVE",e))(d||{});const U=Symbol("array"),V=Symbol("record"),ut=Symbol("QUERY_ID");var H=(e=>(e[e.Array=0]="Array",e[e.Value=1]="Value",e))(H||{});class L{type;entityDefs;constraintFieldRefs;sort;valueType;onCreate;onUpdate;onDelete;constructor(t,i,n,r,s,o,a,c){this.type=t,this.entityDefs=i,this.constraintFieldRefs=n,this.sort=r,this.valueType=s,this.onCreate=o,this.onUpdate=a,this.onDelete=c}static array(t,i,n){return new L(0,t,i,n,void 0,void 0,void 0,void 0)}static value(t,i,n,r,s,o){return new L(1,t,i,void 0,n,r,s,o)}}const O=new WeakMap;function F(e){return O.get(e)}var J=(e=>(e[e.Query=0]="Query",e[e.Entity=1]="Entity",e))(J||{});class me{constructor(t,i,n){this._onEvict=i,this._intervalId=setInterval(this._tick,t*6e4*n)}_currentFlush=new Map;_nextFlush=new Map;_intervalId;schedule(t,i){this._nextFlush.set(t,i)}cancel(t){this._currentFlush.delete(t),this._nextFlush.delete(t)}_tick=()=>{const{_currentFlush:t,_nextFlush:i,_onEvict:n}=this;for(const[r,s]of t)n(r,s);this._currentFlush=i,this._nextFlush=new Map};destroy(){clearInterval(this._intervalId)}}class jt{_buckets=new Map;_nextTickEntries=new Map;_nextTickScheduled=!1;_onEvict;_multiplier;constructor(t,i=1){this._onEvict=t,this._multiplier=i}schedule(t,i,n){if(i===1/0)return;if(i===0){const{_nextTickEntries:o}=this;o.set(t,n),this._nextTickScheduled||(this._nextTickScheduled=!0,setTimeout(this._flushNextTick,0));return}const{_buckets:r}=this;let s=r.get(i);s||(s=new me(i,this._onEvict,this._multiplier),r.set(i,s)),s.schedule(t,n)}cancel(t,i){if(i!==1/0){if(i===0){this._nextTickEntries.delete(t);return}this._buckets.get(i)?.cancel(t)}}_flushNextTick=()=>{const{_nextTickEntries:t,_onEvict:i}=this;this._nextTickScheduled=!1;for(const[n,r]of t)i(n,r);t.clear()};destroy(){const{_buckets:t,_nextTickEntries:i}=this;for(const n of t.values())n.destroy();t.clear(),i.clear()}}class Ut{schedule(t,i,n){}cancel(t,i){}destroy(){}}const W=Symbol("fieldRef"),M=Symbol("fieldRefPath"),dt=Symbol("DEFINITION_TARGET"),z=Symbol("CANCEL_PROXY"),we=/\[([^\]]+)\]/g;function Vt(e){const t={[W]:!0,[M]:e};return new Proxy(t,Ee)}const Ee={get(e,t){if(t===W)return!0;if(t===M)return e[M];if(t===Symbol.toPrimitive||t==="toString"||t==="valueOf"){const n=e[M];return()=>`[${n.join(".")}]`}if(typeof t=="symbol")return;const i=e[M];return Vt([...i,t])},has(e,t){return t===W||t===M}};function Kt(e){return typeof e=="object"&&e!==null&&e[W]===!0}function $t(e){return e[M]}function lt(e){return new Proxy(e,{set(t,i,n){return t[i]=n,!0},get(t,i){return i===dt?t:i===z?()=>{}:typeof i=="symbol"?t[i]:Vt([i])}})}function Qt(e){const t=e[dt];e[z]();const i={};for(const s of Object.getOwnPropertyNames(t))i[s]=t[s];const n={};let r=Object.getPrototypeOf(t);for(;r&&r!==Object.prototype;){for(const s of Object.getOwnPropertyNames(r)){if(s==="constructor")continue;const o=Object.getOwnPropertyDescriptor(r,s);typeof o.value=="function"&&!(s in n)&&(n[s]=o.value)}r=Object.getPrototypeOf(r)}return{fields:i,methods:n}}function ht(e,t){let i=t;for(const n of e){if(i==null)return;i=i[n]}return i}function be(e,t){return e.replace(we,(i,n)=>{const r=n.split("."),s=ht(r,t);return s!=null?encodeURIComponent(String(s)):""})}function K(e,t){if(Kt(e))return ht($t(e),t);if(typeof e=="string")return be(e,t);if(Array.isArray(e))return e.map(i=>K(i,t));if(typeof e=="object"&&e!==null&&Object.getPrototypeOf(e)===Object.prototype){const i={};for(const n of Object.keys(e))i[n]=K(e[n],t);return i}return e}function nt(e,t,i){const n=e.fields,r=e.methods,s={params:t},o={};for(const[a,c]of Object.entries(n))o[a]=K(c,s);o.params=t,o.context=i;for(const[a,c]of Object.entries(r))o[a]=c.bind(o);return o}class yt{static cache;constructor(){return lt(this)}}const Bt=Object.entries,rt=Object.keys;function At(e){return typeof e=="number"?e|d.UNDEFINED:e instanceof _?(e.mask&d.UNDEFINED)!==0?e:_.cloneWith(e,d.UNDEFINED):e}function Ce(e){return e instanceof _&&(e.mask&d.OBJECT)!==0&&(e.mask&(d.ENTITY|d.ARRAY|d.UNION|d.RECORD|d.LIVE))===0}function Yt(e,t,i){const n=new Set;for(const s of e)if(s!==void 0)for(const o of Object.keys(s))n.add(o);const r={};for(const s of n){let o=0,a;const c=[];let f=!0;for(const l of e){const u=l?.[s];u!==void 0?(o++,a===void 0&&(a=u),Ce(u)?c.push(u.shape):(f=!1,c.push(void 0))):(f=!1,c.push(void 0))}if(f&&o>0){const l=Yt(c,t),u=new _(d.OBJECT,l);r[s]=o<t?At(u):u}else r[s]=o<t?At(a):a}return r}class _{mask;shape;typenameField=void 0;typenameValue=void 0;idField=void 0;values=void 0;_methods=void 0;_entityConfig=void 0;_entityClass=void 0;_entityCache=void 0;_liveConfig=void 0;constructor(t,i,n,r,s,o){this.mask=t,this.shape=i,this.values=n,this.typenameField=r,this.typenameValue=s,this.idField=o}static merge(t){if(t.length===1)return t[0];const i=t.length,n=t.map(c=>c.shape);t[0].typenameValue;const r=Yt(n,i);let s,o,a;for(const c of t){if(s===void 0&&c.idField!==void 0)s=c.idField;else if(s!==void 0&&c.idField!==void 0&&c.idField!==s)throw new Error(`[fetchium] Entity typename '${c.typenameValue}' has conflicting id fields: '${String(s)}' vs '${String(c.idField)}'`);o===void 0&&(o=c.typenameField),a===void 0&&(a=c.typenameValue)}return new _(d.ENTITY|d.OBJECT,r,void 0,o,a,s)}static cloneWith(t,i){const n=new _(i|t.mask,t.shape,t.values,t.typenameField,t.typenameValue,t.idField);return n._methods=t._methods,n._entityConfig=t._entityConfig,n._entityClass=t._entityClass,n._entityCache=t._entityCache,n._liveConfig=t._liveConfig,n}}class X extends Set{lowercaseMap;constructor(t){super(t),this.lowercaseMap=new Map;for(const i of t)if(typeof i=="string"){const n=i.toLowerCase(),r=this.lowercaseMap.get(n);if(r!==void 0)throw new Error(`Case-insensitive enum cannot have multiple values with the same lowercase form: '${r}' and '${i}' both become '${n}'`);this.lowercaseMap.set(n,i)}}has(t){return this.get(t)!==void 0}get(t){if(typeof t=="string")return this.lowercaseMap.get(t.toLowerCase());if(super.has(t))return t}}const xe=1128875347;A.registerCustomHash(X,e=>{let t=xe;for(const i of e)t+=A.hashValue(i);return t>>>0});function pt(e,t){return new _(e,t)}function Oe(e){return pt(d.ARRAY,e)}function Re(e){return pt(d.RECORD|d.OBJECT,e)}function Se(e){return pt(d.PARSE_RESULT,e)}function Gt(e,t){let i=e,n,r,s;for(const[o,a]of Bt(t))switch(typeof a){case"number":if((a&d.ID)!==0){if(n!==void 0)throw new Error(`Duplicate id field: ${o}`);n=o}break;case"string":if(r!==void 0&&r!==o)throw new Error(`Duplicate typename field: ${o}`);r=o,s=a;break;case"object":if(a instanceof X||a instanceof Set)break;a.mask&d.LIVE&&(i|=d.LIVE);break}return new _(i,t,void 0,r,s,n)}function Ae(e){return Gt(d.OBJECT,e)}function Dt(e,t,i){const n=e.mask;if((n&d.UNION)!==0){const r=e;if(r.typenameField!==void 0){if(i!==void 0&&i!==r.typenameField)throw new Error(`Union typename field conflict: Cannot merge unions with different typename fields ('${i}' vs '${r.typenameField}')`);i=r.typenameField}const s=r.shape;if(s!==void 0)for(const o of[...rt(s),U,V]){const a=s[o];if(t[o]!==void 0&&t[o]!==a)throw new Error(`Union merge conflict: Duplicate typename value '${String(o)}' found when merging nested unions (${String(t[o])} vs ${String(a)})`);t[o]=a}}else if((n&d.ARRAY)!==0){if(t[U]!==void 0)throw new Error("Array shape already defined");t[U]=e.shape}else if((n&d.RECORD)!==0){if(t[V]!==void 0)throw new Error("Record shape already defined");t[V]=e.shape}else{const r=e.typenameField,s=e.typenameValue;if(s===void 0)throw new Error("Object definitions must have a typename to be in a union with other objects, records, or arrays");if(i!==void 0&&r!==i)throw new Error("Object definitions must have the same typename field to be in the same union");i=r,t[s]=e}return i}function gt(...e){const t=e;let i=0,n=0,r,s,o,a,c=0;for(const l of t){if(typeof l=="number"){i|=l;continue}if(l instanceof Set){if(s===void 0)s=new Set(l);else for(const u of l)s.add(u);continue}if(n++,c|=l.mask,n===1){r=l;continue}n===2&&(o=Object.create(null),a=Dt(r,o,a)),a=Dt(l,o,a)}if(n===0)return s===void 0?i:i===0?s:new _(i|d.UNION,void 0,s);if(n===1)return _.cloneWith(r,i);const f=i|c|d.UNION;return new _(f,o,s,a)}function vt(e,t,i){const n=e;if(typeof n=="number")return n|t;if(n instanceof Set)return gt(e,t);let r=i.get(n);return r===void 0&&(r=_.cloneWith(n,t),i.set(n,r)),r}const De=new WeakMap,Ne=new WeakMap,Ie=new WeakMap;function Me(e){return vt(e,d.UNDEFINED|d.NULL,Ie)}function ke(e){return vt(e,d.UNDEFINED,De)}function Fe(e){return vt(e,d.NULL,Ne)}function Te(e){return e}function Pe(e){return new Set([e])}const Wt=((...e)=>new Set(e));Wt.caseInsensitive=(...e)=>new X(e);const zt=16;let Le=0;const st=[],Ht=[],Jt=new Map,Z=new WeakSet;class ${_raw;_formatted;_parsed;_formatId;constructor(t,i,n){this._raw=t,this._formatId=i,n?(this._formatted=st[i](t),this._parsed=!0):this._parsed=!1,Z.add(this)}getValue(){return this._parsed||(this._formatted=st[this._formatId](this._raw),this._parsed=!0),this._formatted}toJSON(){return this._parsed?Ht[this._formatId](this._formatted):this._raw}}function qe(e){const t=Jt.get(e);if(t===void 0)throw new Error(`Format ${e} not registered`);return t}function _t(e,t,i,n,r){const s=Le++;st[s]=i,Ht[s]=n;const o=r?.eager??!0,c=s<<zt|t|d.HAS_FORMAT|(o?d.IS_EAGER_FORMAT:0);Jt.set(e,c)}_t("date",d.STRING,e=>{const t=e.match(/^(\d{4})-(\d{2})-(\d{2})$/);if(!t)throw new Error(`Invalid date string: ${e}. Expected YYYY-MM-DD format.`);const[,i,n,r]=t,s=new Date(Date.UTC(parseInt(i,10),parseInt(n,10)-1,parseInt(r,10)));if(isNaN(s.getTime()))throw new Error(`Invalid date string: ${e}`);return s},e=>{const t=e.getUTCFullYear(),i=String(e.getUTCMonth()+1).padStart(2,"0"),n=String(e.getUTCDate()).padStart(2,"0");return`${t}-${i}-${n}`});_t("date-time",d.STRING,e=>{const t=new Date(e);if(isNaN(t.getTime()))throw new Error(`Invalid date-time string: ${e}`);return t},e=>e.toISOString());const Nt=new WeakMap;function q(e){let t=Nt.get(e);if(t===void 0){const i=new e,n=i[dt]??i;i[z]&&i[z]();const r={};for(const[f,l]of Bt(n))r[f]=l;const s=Object.getPrototypeOf(e.prototype);if(s!=null){const f=s.constructor;if(f!==yt&&typeof f=="function"){const u=q(f).shape;for(const y of rt(u))if(y in r&&r[y]!==u[y])throw new Error(`Cannot extend: field '${y}' already exists in type definition`)}}const o={},a=e.prototype;for(const f of Object.getOwnPropertyNames(a))f!=="constructor"&&typeof a[f]=="function"&&(o[f]=a[f]);t=Gt(d.ENTITY|d.OBJECT,r),t._entityClass=e,rt(o).length>0&&(t._methods=o),typeof o.__subscribe=="function"&&(t._entityConfig={hasSubscribe:!0});const c=e;c.cache&&(t._entityCache=c.cache),Nt.set(e,t)}return t}function je(e){return q(e)}function Xt(e,t){if(t==null)return;const i=new Map;if(Array.isArray(t))for(const n of t){const[r,s]=n,a=q(r).typenameValue;if(a===void 0)continue;const c=[];for(const[f,l]of Object.entries(s))c.push([f,l]);c.length>0&&i.set(a,c)}else{const r=Object.entries(t);if(r.length===0)return;const s=r.map(([o,a])=>[o,a]);for(const o of e){const a=o.typenameValue;a!==void 0&&i.set(a,s)}}return i.size>0?i:void 0}function Zt(e){return Array.isArray(e)?e.map(t=>q(t)):[q(e)]}function Ue(e,t){const i=Zt(e),n=i.length===1?i[0]:gt(...i.map(o=>o)),r=d.ARRAY|d.LIVE,s=new _(r,n);return s._liveConfig=L.array(i,Xt(i,t?.constraints),t?.sort),s}function Ve(e,t,i){const n=Zt(t),r=e,s=d.LIVE,o=new _(s,void 0);return o._liveConfig=L.value(n,Xt(n,i?.constraints),r,i.onCreate,i.onUpdate,i.onDelete),o}const te={format:qe,typename:Te,const:Pe,enum:Wt,id:d.ID|d.STRING|d.NUMBER,string:d.STRING,number:d.NUMBER,boolean:d.BOOLEAN,null:d.NULL,undefined:d.UNDEFINED,array:Oe,object:Ae,record:Re,union:gt,nullish:Me,optional:ke,nullable:Fe,result:Se,entity:je,liveArray:Ue,liveValue:Ve};function j(e,t,i){return new TypeError(`Validation error at ${e}`)}const ee=Array.isArray;function It(e){if(e===null)return d.NULL;switch(typeof e){case"number":return d.NUMBER;case"string":return d.STRING;case"boolean":return d.BOOLEAN;case"undefined":return d.UNDEFINED;case"object":return ee(e)?d.ARRAY:d.OBJECT;default:throw new Error(`Invalid type: ${typeof e}`)}}function Ke(e){return T(e)}function T(e){if(e===null||typeof e!="object")return e;if(ee(e))return e.map(i=>T(i));if(e instanceof Date)return new Date(e.getTime());if(e instanceof Map){const i=new Map;for(const[n,r]of e)i.set(T(n),T(r));return i}if(e instanceof Set){const i=new Set;for(const n of e)i.add(T(n));return i}const t={};for(const i of Object.keys(e))t[i]=T(e[i]);return t}const mt=Object.entries,$e=()=>{};class ot{queryClient=void 0;preloadedEntities=void 0;warn=$e;isPartialEvent=!1;seen=void 0;seenByKey=void 0;reset(t,i,n,r=!1){this.queryClient=t,this.preloadedEntities=i,this.warn=n,this.isPartialEvent=r,t!==void 0&&(this.seen===void 0?(this.seen=new Map,this.seenByKey=new Map):(this.seen.clear(),this.seenByKey.clear()))}}function ie(e,t,i){return k(e,t,i,"")}function Qe(e,t,i){return wt(e,t,i)}function Mt(e,t,i,n){const r=e>>zt;if((e&d.IS_EAGER_FORMAT)!==0)try{return new $(t,r,!0)}catch(o){if((e&d.UNDEFINED)!==0){i.warn("Invalid formatted value for optional type, defaulting to undefined",{value:t,path:n,error:o instanceof Error?o.message:String(o)});return}throw o}return new $(t,r,!1)}function k(e,t,i,n){const r=t;if(r instanceof X){const c=r.get(e);if(c===void 0)throw j(n);return c}if(r instanceof Set){if(!r.has(e))throw j(n);return e}if(typeof r=="string"){if(e==null)return r;if(e!==r)throw j(n);return e}if(typeof r=="number"){const c=It(e);if((r&c)===0){if((r&d.UNDEFINED)!==0){i.warn("Invalid value for optional type, defaulting to undefined",{value:e,path:n});return}throw j(n)}return(r&d.HAS_FORMAT)!==0&&e!==null&&e!==void 0?Mt(r,e,i,n):e}const s=r.mask,o=r._liveConfig;if(o!==void 0&&o.type===H.Value)return o.valueType!==void 0?k(e,o.valueType,i,n):e;if((s&d.PARSE_RESULT)!==0)try{return{success:!0,value:k(e,r.shape,i,n)}}catch(c){return{success:!1,error:c instanceof Error?c:new Error(String(c))}}const a=It(e);if((s&a)===0&&!r.values?.has(e)){if((s&d.UNDEFINED)!==0){i.warn("Invalid value for optional type, defaulting to undefined",{value:e,path:n});return}throw j(n)}return a<d.OBJECT?(s&d.HAS_FORMAT)!==0&&e!==null&&e!==void 0?Mt(s,e,i,n):e:(s&d.UNION)!==0?Be(a,e,r,i,n):a===d.ARRAY?ne(e,r.shape,i,n):(s&d.RECORD)!==0?re(e,r.shape,i,n):(s&d.ENTITY)!==0&&i.queryClient!==void 0?wt(e,r,i):se(e,r,i,n)}function Be(e,t,i,n,r){if(e===d.ARRAY){const s=i.shape[U];return s===void 0||typeof s=="number"?t:ne(t,s,n,r)}else{const s=i.typenameField,o=s?t[s]:void 0;if(o===void 0||typeof o!="string"){const c=i.shape[V];if(c===void 0)throw new Error(`Typename field '${s}' is required for union discrimination but was not found in the data`);return re(t,c,n,r)}const a=i.shape[o];if(a===void 0||typeof a=="number")throw new Error(`Unknown typename '${o}' in union`);return a.mask&d.ENTITY&&n.queryClient!==void 0?wt(t,a,n):se(t,a,n,r)}}function ne(e,t,i,n){const r=[];for(let s=0;s<e.length;s++)try{r.push(k(e[s],t,i,`${n}[${s}]`))}catch(o){i.warn("Failed to parse array item, filtering out",{index:s,value:e[s],error:o instanceof Error?o.message:String(o)})}return r}function re(e,t,i,n){for(const[r,s]of mt(e))e[r]=k(s,t,i,`${n}["${r}"]`);return e}function se(e,t,i,n){if(O.has(e))return e;const r=t.shape;for(const[s,o]of mt(r))e[s]=k(e[s],o,i,`${n}.${s}`);return e}function wt(e,t,i){const n=i.queryClient,r=i.preloadedEntities;let s,o;if(r!==void 0)s=e.__entityRef,o=s;else{const p=e[t.idField];if(p==null||typeof p!="string"&&typeof p!="number")throw new Error(`Entity id must be a string or number: ${t.typenameValue} (got ${typeof p})`);o=p,s=A.hashValue([t.typenameValue,o])}const a=i.seenByKey.get(s);if(a!==void 0)return a.data;if(r!==void 0){const g=n.entityMap.getEntity(s)?.data??r.get(s);if(g===void 0)throw new Error(`Cached entity ${s} not found in preloaded map`);e=g}const c={};typeof t.idField=="symbol"&&(c[t.idField]=o);const f=n.entityMap.getEntity(s),l=i.isPartialEvent&&f!==void 0,u={key:s,shape:t,data:c,rawKeys:l?new Set(Object.keys(e)):void 0};i.seen.set(c,u),i.seenByKey.set(s,u);const y=`[[${t.typenameValue}:${o}]]`,v=t.shape;for(const[p,g]of mt(v))l&&!(p in e)||(c[p]=k(e[p],g,i,`${y}.${p}`));return c}function Ye(e,t){return Ge(e,t.shape,t.typenameField)}function Ge(e,t,i){if(t===void 0)return!0;for(const n of Object.keys(t)){if(n===i)continue;const r=t[n];if(r instanceof _){if((r.mask&d.UNDEFINED)!==0)continue;if(!(n in e)||e[n]===void 0)return!1}else if(typeof r=="number"){if((r&d.UNDEFINED)!==0)continue;if(!(n in e)||e[n]===void 0)return!1}else if(!(n in e)||e[n]===void 0)return!1}return!0}const We=Object.prototype,G=new WeakMap;function N(e){if(typeof e!="object"||e===null)return e;if(Z.has(e))return N(e.getValue());if(O.has(e))return e;if(Array.isArray(e)){let t=G.get(e);return t===void 0&&(t=new Proxy(e,ze),G.set(e,t)),t}if(Object.getPrototypeOf(e)===We){let t=G.get(e);return t===void 0&&(t=new Proxy(e,He),G.set(e,t)),t}return e}const ze={get(e,t,i){if(typeof t=="string"){const n=Number(t);if(Number.isInteger(n)&&n>=0&&n<e.length)return N(e[n])}return Reflect.get(e,t,i)},set(){return!1},deleteProperty(){return!1}},He={get(e,t,i){return typeof t=="string"?N(e[t]):Reflect.get(e,t,i)},set(){return!1},deleteProperty(){return!1},has(e,t){return t in e},ownKeys(e){return Reflect.ownKeys(e)},getOwnPropertyDescriptor(e,t){return Object.getOwnPropertyDescriptor(e,t)}};class Je{_notifier;_queryClient;_proxies=new Map;key;typename;id;idField;data;refCount=0;entityRefs;liveCollections=[];satisfiedDefs=new WeakSet;parseId=-1;_entityCache;_extraMethods;_extraGetters;constructor(t,i,n,r,s,o){this._notifier=C.notifier(),this._queryClient=o,this.key=t,this.typename=i,this.id=n,this.idField=r,this.data=s,this.entityRefs=void 0}retain(){this.refCount++;const t=this._entityCache?.gcTime;t!==void 0&&this._queryClient.gcManager.cancel(this.key,t)}release(){if(--this.refCount>0||this.refCount<0)return;const t=this._entityCache?.gcTime;t!==void 0?this._queryClient.gcManager.schedule(this.key,t,J.Entity):this.evict()}evict(){const t=this.liveCollections.slice();this.liveCollections.length=0;for(const n of t)n.destroy();this._queryClient.entityMap.remove(this.key);const i=this.entityRefs;if(this.entityRefs=void 0,i)for(const n of i.keys())n.release()}setChildRefs(t,i){const n=this.entityRefs;if(t!==void 0&&t.size>0)for(const r of t.keys())(n===void 0||!n.has(r))&&r.retain();if(n!==void 0&&n.size>0)for(const r of n.keys())(t===void 0||!t.has(r))&&r.release();this.entityRefs=t,i&&this.save()}addChildRef(t){this.entityRefs===void 0&&(this.entityRefs=new Map);const i=this.entityRefs.get(t)??0;this.entityRefs.set(t,i+1),i===0&&t.retain(),this.save()}removeChildRef(t){if(this.entityRefs===void 0)return;const i=this.entityRefs.get(t);i!==void 0&&(i<=1?(this.entityRefs.delete(t),t.release()):this.entityRefs.set(t,i-1),this.save())}getProxy(t){const i=t;let n=this._proxies.get(i);return n===void 0&&(n=Ze(this,this.key,t,this._notifier,this._queryClient),this._proxies.set(i,n)),n}get proxy(){return this._proxies.values().next().value}satisfiesDef(t){return this.satisfiedDefs.has(t)?!0:Ye(this.data,t)?(this.satisfiedDefs.add(t),!0):!1}save(){this._queryClient.entityMap.save(this)}notify(){this._notifier.notify()}consume(){this._notifier.consume()}}function Xe(e,t,i){const n=[];for(const r of e){if(typeof r!="object"||r===null)continue;const s=O.get(r);if(s===void 0)continue;const o=i.entityMap.getEntity(s);o!==void 0&&o.satisfiesDef(t)&&n.push(r)}return n}function Ze(e,t,i,n,r){const s=i.shape??{},o=i,a=o._methods,c=o._entityClass,f=o._entityConfig,l=c?c.prototype:yt.prototype;i.typenameField;const u=new Map,y=new Map,v=()=>({__entityRef:t});let p;f?.hasSubscribe&&a&&"__subscribe"in a&&(p=C.relay(E=>{const h=b=>{b.__eventSource=t,r.applyMutationEvent(b)},m=a.__subscribe.call(g,h);return E.value=g,m}));let g;const w=Object.keys(s);if(w.includes("__typename")||w.push("__typename"),a)for(const E of Object.keys(a))w.includes(E)||w.push(E);let I,R=w;function Y(){const E=e._extraMethods;if(E!==I){if(I=E,R=w.slice(),E!==void 0)for(const m of Object.keys(E))R.includes(m)||R.push(m);const h=e._extraGetters;if(h!==void 0)for(const m of Object.keys(h))R.includes(m)||R.push(m)}return R}const S={getPrototypeOf(){return l},get(E,h){if(typeof h=="symbol")return;if(h==="toJSON")return v;if(h==="__context")return r.getContext();if(h==="__typename")return e.typename;if(p?.value,n.consume(),typeof h=="string"){const b=e._extraGetters;if(b!==void 0&&h in b)return b[h]();const D=e._extraMethods;if(D!==void 0&&h in D){let x=u.get(h);return x||(x=D[h].bind(g),u.set(h,x)),x}if(a&&h in a){let x=u.get(h);return x||(x=C.reactiveMethod(g,a[h].bind(g)),u.set(h,x)),x}}const m=e.data[h];if(typeof m=="object"&&m!==null&&Z.has(m))return N(m.getValue());if(Array.isArray(m)&&typeof h=="string"){const b=s[h];if(b instanceof _&&(b.mask&d.ARRAY)!==0){const D=b.shape;if(D instanceof _&&(D.mask&d.ENTITY)!==0){const x=D.typenameValue;if(x!==void 0){const Ot=r.getEntityDefsForTypename(x);if(Ot!==void 0&&Ot.length>1){const tt=y.get(h);if(tt!==void 0&&tt.source===m)return N(tt.filtered);const Rt=Xe(m,D,r);return y.set(h,{source:m,filtered:Rt}),N(Rt)}}}}return N(m)}return N(m)},set(){return!1},has(E,h){if(h==="__typename")return!0;if(typeof h=="string"){const m=e._extraGetters;if(m&&h in m)return!0;const b=e._extraMethods;if(b&&h in b||a&&h in a)return!0}return h in s},ownKeys(){return Y()},getOwnPropertyDescriptor(E,h){if(h==="__typename")return{enumerable:!0,configurable:!0,value:e.typename,writable:!1};if(h in s)return{enumerable:!0,configurable:!0,value:S.get(E,h,g),writable:!1};if(typeof h=="string"){const m=e._extraGetters;if(m&&h in m)return{enumerable:!0,configurable:!0,value:S.get(E,h,g),writable:!1};const b=e._extraMethods;if(b&&h in b)return{enumerable:!0,configurable:!0,value:S.get(E,h,g),writable:!1};if(a&&h in a)return{enumerable:!1,configurable:!0,value:S.get(E,h,g),writable:!1}}}};return g=new Proxy({},S),O.set(g,t),C.setScopeOwner(g,r),g}class ti{instances=new Map;persistEntity;constructor(t){this.persistEntity=t}hasEntity(t){return this.instances.has(t)}getEntity(t){return this.instances.get(t)}getOrCreateEntity(t,i,n,r){let s=this.instances.get(t);if(s===void 0){const o=n.idField;if(o===void 0)throw new Error(`Entity id field is required ${n.typenameValue}`);const a=i[o];if(typeof a!="string"&&typeof a!="number")throw new Error(`Entity id must be string or number: ${n.typenameValue}`);const c=n;s=new Je(t,n.typenameValue,a,o,i,r),s._entityCache=c._entityCache,this.instances.set(t,s)}return s.parseId=r.currentParseId,s}remove(t){this.instances.delete(t)}save(t){let i;if(t.entityRefs){i=new Set;for(const n of t.entityRefs.keys())i.add(n.key)}this.persistEntity(t.key,t.data,i)}}class Et{onlineSignal;manualOverride=void 0;eventListenersAttached=!1;constructor(t){const i=t??this.detectOnlineStatus();this.onlineSignal=C.signal(i),this.canAttachListeners()&&this.attachEventListeners()}get isOnline(){return this.manualOverride!==void 0?this.manualOverride:this.onlineSignal.value}setNetworkStatus(t){this.manualOverride=t,this.onlineSignal.value=t}clearManualOverride(){this.manualOverride=void 0,this.onlineSignal.value=this.detectOnlineStatus()}getOnlineSignal(){return this.onlineSignal}detectOnlineStatus(){return typeof navigator<"u"&&"onLine"in navigator?navigator.onLine:!0}canAttachListeners(){return typeof window<"u"&&typeof window.addEventListener=="function"}destroy(){this.eventListenersAttached&&this.handleOnline&&this.handleOffline&&(window.removeEventListener("online",this.handleOnline),window.removeEventListener("offline",this.handleOffline),this.eventListenersAttached=!1)}handleOnline=void 0;handleOffline=void 0;attachEventListeners(){this.eventListenersAttached||(this.handleOnline=()=>{this.manualOverride===void 0&&(this.onlineSignal.value=!0)},this.handleOffline=()=>{this.manualOverride===void 0&&(this.onlineSignal.value=!1)},window.addEventListener("online",this.handleOnline),window.addEventListener("offline",this.handleOffline),this.eventListenersAttached=!0)}}class bt{static onlineSignal=C.signal(!0);get isOnline(){return!0}setNetworkStatus(t){}clearManualOverride(){}getOnlineSignal(){return bt.onlineSignal}destroy(){}}const oe=new Et,ei=C.context(oe);function Ct(e,t=typeof window>"u"){let i;e===!1?i=0:e===void 0||e===!0?i=t?0:3:typeof e=="number"?i=e:i=e.retries;const n=typeof e=="object"&&e.retryDelay?e.retryDelay:r=>1e3*Math.pow(2,r);return{retries:i,retryDelay:n}}class ii{static cache;static adapter;params;config;constructor(){return lt(this)}}const kt=new WeakMap;class B{constructor(t,i){this.captured=i,this.statics=t}statics;createExecutionContext(t,i){return nt(this.captured,t,i)}resolveOptions(t){const{methods:i}=this.captured,n=i.getConfig?i.getConfig.call(t):t.config,r=Ct(n?.retry);return{config:n,retryConfig:r}}static for(t){let i=kt.get(t);if(i!==void 0)return i;const n=new t,r=Qt(n),s=String(r.methods.getIdentityKey.call(r.fields)),o=r.fields.result,a=o instanceof _?o:te.object(o),c=(a.mask&d.ENTITY)!==0,f=t.cache,l=r.fields.fetchNext,u=t.adapter;if(!u)throw new Error(`Query class "${t.name}" must define a static \`adapter\` property. Extend RESTQuery (from fetchium/rest) or set \`static adapter = MyAdapter\` on your query class.`);const y=typeof u.prototype.sendNext=="function",v=c?a:new _(d.ENTITY|d.OBJECT,a.shape,void 0,void 0,s,ut);return i=new B({id:s,shape:v,cache:f,rawFetchNext:l,hasSendNext:y,isEntityResult:c,adapterClass:u},r),kt.set(t,i),i}}const ni=(e,t)=>{const i=B.for(e);return xt(i,t)};function ri(e,...t){const i=B.for(e),n=C.getContext(_e);if(n===void 0)throw new Error("QueryClient not found");const r=t[0];return n.getQuery(i,r)}function at(e){if(e.reason!==void 0)return e.reason;if(typeof DOMException<"u")return new DOMException("The operation was aborted","AbortError");const t=new Error("The operation was aborted");return t.name="AbortError",t}function ae(e,t){return new Promise((i,n)=>{if(t?.aborted){n(at(t));return}const r=setTimeout(i,e);t?.addEventListener("abort",()=>{clearTimeout(r),n(at(t))},{once:!0})})}async function ct(e,t,i){const n=Math.max(0,t.retries);let r;for(let s=0;s<=n;s++){if(i?.aborted)throw at(i);try{return await e()}catch(o){if(r=o,s>=n)throw o;await ae(t.retryDelay(s),i)}}throw r}class si{def;queryKey;storageKey=-1;relay;queryClient;initialized=!1;updatedAt=void 0;params=void 0;unsubscribe=void 0;_relayState=void 0;_isActive=!1;wasPaused=!1;currentParams=void 0;debounceTimer=void 0;config=void 0;retryConfig=Ct(void 0);_abortController=void 0;_executionCtx=void 0;_executionCtxKey=-1;rootEntity;_extraMethods={};_queryId=0;get key(){return this.queryKey}get relayState(){return this._relayState}constructor(t,i,n,r){this.def=t,this.queryClient=i,this.queryKey=n,this.params=r,this._extraMethods={__refetch:this.refetch},t.statics.hasSendNext&&(this._extraMethods.__fetchNext=this.fetchNext);const s=Lt(r);this._queryId=s!==void 0?A.hashValue(s):0,this.relay=C.relay(o=>{this._relayState=o;const a=()=>{this._isActive=!1,clearTimeout(this.debounceTimer),this.debounceTimer=void 0,this._abortController?.abort(),this._abortController=void 0,this._fetchNextAbort?.abort(),this._fetchNextAbort=void 0,this._fetchNextPromise=void 0,this.unsubscribe?.(),this.unsubscribe=void 0;const f=this.config?.gcTime??qt.DEFAULT_GC_TIME;this.queryClient.gcManager.schedule(this.queryKey,f,J.Query)},c=(f=!1)=>{const{wasPaused:l,isPaused:u,initialized:y}=this;if(this.wasPaused=u,u&&!l&&y){a();return}this._isActive=!0;const v=Lt(this.params),p=xt(this.def,v),g=p!==this.storageKey;g&&(this.currentParams=v,this.storageKey=p),this.getOrCreateExecutionContext(),this.initialized?l||f?(this.queryClient.activateQuery(this),f&&this.updatedAt!==void 0&&this.setupSubscription(),this.relayState.isPending&&this._abortController===void 0?this.runQueryImmediately():(this.config?.refreshStaleOnReconnect??!0)&&this.isStale&&this.runDebounced()):g&&(this.setupSubscription(),this.runDebounced()):(this.queryClient.activateQuery(this),this.initialize())};return c(!0),{update:c,deactivate:a}},{desc:`Query(${t.statics.id})`})}applyData(t,i,n=!1,r){const s=this.def;return this.rootEntity=this.queryClient.parseAndApplyRootEntity(t,this._queryId,s.statics.shape,i,n,r),this.rootEntity._extraMethods===void 0&&(this.rootEntity._extraMethods=this._extraMethods,this.rootEntity._extraGetters={__hasNext:()=>this.hasNext,__isFetchingNext:()=>this._fetchNextPromise!==void 0}),this.rootEntity.getProxy(s.statics.shape)}saveQueryMetadata(){if(this.rootEntity===void 0||this.updatedAt===void 0)return;const t=new Map(this.rootEntity.entityRefs??[]);t.set(this.rootEntity,1),this.queryClient.saveQueryData(this.def,this.storageKey,{__entityRef:this.rootEntity.key},this.updatedAt,t)}async initialize(){const t=this.queryClient,i=this.relayState;this.initialized=!0;let n;try{n=await t.loadCachedQuery(this.def,this.storageKey),n!==void 0&&(this.updatedAt=n.updatedAt,i.value=this.applyData(n.value,!1,!1,n.preloadedEntities))}catch(r){t.store.deleteQuery(this.storageKey),t.getContext().log?.warn?.("Failed to initialize query, the query cache may be corrupted or invalid",r)}if(!this.isPaused)try{if(n!==void 0&&this.setupSubscription(),n===void 0||this.isStale){if(await ae(0),this.isPaused)return;this.runQueryImmediately()}}catch(r){i.setError(r)}}setupSubscription(){this.unsubscribe?.(),this.unsubscribe=void 0;const t=this.config?.subscribe;if(!t)return;const i=this._executionCtx;this.unsubscribe=t.call(i,n=>{n.__eventSource=this.queryKey,this.queryClient.applyMutationEvent(n)})}getOrCreateExecutionContext(){return(this._executionCtx===void 0||this._executionCtxKey!==this.storageKey)&&(this._executionCtxKey=this.storageKey,this._executionCtx=this.def.createExecutionContext(this.currentParams??{},this.queryClient.getContext()),this._executionCtx.refetch=()=>this.refetch(),this._executionCtx.rawFetchNext=this.def.statics.rawFetchNext),this.resolveAndApplyOptions(),this._executionCtx}resolveAndApplyOptions(){const t=this.def.resolveOptions(this._executionCtx);this.config=t.config,this.retryConfig=t.retryConfig}async runQuery(){const t=this.def;if(this.isPaused)throw new Error("Query is paused due to network status");const i=this.getOrCreateExecutionContext(),n=this.queryClient.getAdapter(t.statics.adapterClass),r=this._abortController?.signal??new AbortController().signal;return ct(async()=>{const s=await n.send(i,r);this.updatedAt=Date.now();const o=this.applyData(s,!0);return this.saveQueryMetadata(),this.unsubscribe===void 0&&this.setupSubscription(),o},this.retryConfig,r)}runQueryImmediately(){this._abortController?.abort(),this._abortController=new AbortController,this._fetchNextAbort?.abort(),this._fetchNextAbort=void 0,this._fetchNextPromise=void 0,this.relayState.setPromise(this.runQuery())}runDebounced(){if(this.relayState.isPending)return;const t=this.config?.debounce??0;clearTimeout(this.debounceTimer),this.debounceTimer=setTimeout(()=>{this.debounceTimer=void 0,this.runQueryImmediately()},t)}refetch=()=>this.relayState.isPending?this.relay:(this.runQueryImmediately(),this.relay);markStale(){this.updatedAt=0,this._isActive&&!this.isPaused&&this.runDebounced()}get resolvedParams(){return this.currentParams}_fetchNextPromise=void 0;_fetchNextAbort=void 0;fetchNext=()=>{if(this.updatedAt===void 0)throw new Error("Cannot call __fetchNext before initial data has loaded");return this._fetchNextPromise!==void 0?this._fetchNextPromise:(queueMicrotask(()=>this.rootEntity?.notify()),this._fetchNextPromise=this.runFetchNext().then(t=>(this._fetchNextPromise=void 0,this.rootEntity?.notify(),t),t=>{throw this._fetchNextPromise=void 0,this.rootEntity?.notify(),t}),this._fetchNextPromise)};get hasNext(){if(this.rootEntity===void 0||!this._executionCtx)return!1;const t=this.queryClient.getAdapter(this.def.statics.adapterClass);return t.hasNext?(this._executionCtx.resultData=this.rootEntity.data,t.hasNext(this._executionCtx)):!1}async runFetchNext(){const t=this.def;this._fetchNextAbort=new AbortController;const i=this._fetchNextAbort.signal,n=this.getOrCreateExecutionContext();n.resultData=this.rootEntity.data;const r=this.queryClient.getAdapter(t.statics.adapterClass);return ct(async()=>{const s=await r.sendNext(n,i);this.updatedAt=Date.now();const o=this.applyData(s,!0,!0);return this.saveQueryMetadata(),o},this.retryConfig,i)}get isStale(){if(this.updatedAt===void 0)return!0;const t=this.config?.staleTime??0;return Date.now()-this.updatedAt>=t}get isPaused(){const t=this.config?.networkMode??P.Online;if(t===P.Always)return!1;const i=this.queryClient.networkManager.getOnlineSignal().value;switch(t){case P.Online:return!i;case P.OfflineFirst:return!i&&this.updatedAt===void 0;default:return!1}}}class oi{def;queryClient;_inFlight=!1;task;constructor(t,i){this.def=t,this.queryClient=i,this.task=this.createTask()}createTask(){return C.task(async t=>{if(this._inFlight)throw new Error("A mutation is already in progress. Await the previous call before starting a new one.");this._inFlight=!0;try{const i=await this.executeWithRetry(t),n=this.validateResponse(i);return this.processEffects(t,n),n}finally{this._inFlight=!1}},{desc:`Mutation(${this.def.id})`})}validateResponse(t){const i=this.def.responseShape;if(!(i instanceof _))return t;const n=this.queryClient.getContext().log?.warn??(()=>{}),r=new ot;return r.reset(void 0,void 0,n),ie(t,i,r)}processEffects(t,i){let n;if(this.def.hasGetEffects){const s=nt(this.def.captured,t??{},this.queryClient.getContext());s.result=i,n=s.getEffects()}else if(this.def.effects!==void 0){const s={params:t,result:i};n=K(this.def.effects,s)}if(n===void 0)return;const r=this.queryClient;et(n.creates,"create",r),et(n.updates,"update",r),et(n.deletes,"delete",r),n.invalidates&&r.invalidateQueries(n.invalidates)}executeWithRetry(t){const i=Ct(this.def.config?.retry,!0),n=this.queryClient.getAdapter(this.def.adapterClass);if(!n.sendMutation)throw new Error(`Adapter "${this.def.adapterClass.name}" does not implement sendMutation(). Add a sendMutation() method to handle mutations.`);return ct(async()=>{const r=new AbortController,s=nt(this.def.captured,t??{},this.queryClient.getContext());return await n.sendMutation(s,r.signal)},i)}}function ai(e){return typeof e=="string"?e:q(e).typenameValue}function et(e,t,i){if(e)for(const[n,r]of e){const s=ai(n);s!==void 0&&i.applyMutationEvent({type:t,typename:s,data:r})}}const ce="__eventSource";function fe(e){return{field:e,segments:e.indexOf(".")!==-1?e.split("."):void 0}}function ci(e){return e.map(fe)}function fi(e,t){if(t.segments===void 0)return e[t.field];let i=e;for(const n of t.segments){if(i==null)return;i=i[n]}return i}function ue(e,t){const i=[];for(let n=0;n<t.length;n++){const r=t[n],s=fi(e,r);if(s===void 0)return;i.push(r.field,s)}return A.hashValue(i)}function ui(e,t){if(e===void 0)return;const i=new Map;for(const[n,r]of e){const s=r.slice().sort((c,f)=>c[0]<f[0]?-1:c[0]>f[0]?1:0),o=[];let a=!0;for(const[c,f]of s){let l;if(Kt(f)){const u=$t(f);l=ht(u,t)}else l=f;if(l===void 0){a=!1;break}o.push(c,l)}a&&i.set(n,A.hashValue(o))}return i.size>0?i:void 0}function Ft(e,t){const i=e.get(t);if(i!==void 0)return i.map(([n])=>n).sort()}class di{fields;fieldPaths;_bindings=new Map;constructor(t){this.fields=t,this.fieldPaths=t.map(fe)}register(t,i){let n=this._bindings.get(t);n===void 0&&(n=new Set,this._bindings.set(t,n)),n.add(i)}unregister(t,i){const n=this._bindings.get(t);n!==void 0&&(n.delete(i),n.size===0&&this._bindings.delete(t))}getMatching(t){return this._bindings.get(t)}get isEmpty(){return this._bindings.size===0}}function Tt(e){return A.hashValue(e)}class li{_groups=new Map;getOrCreateGroup(t){const i=Tt(t);let n=this._groups.get(i);return n===void 0&&(n=new di(t),this._groups.set(i,n)),n}register(t,i,n){this.getOrCreateGroup(i).register(t,n)}unregister(t,i,n){const r=Tt(i),s=this._groups.get(r);s!==void 0&&(s.unregister(t,n),s.isEmpty&&this._groups.delete(r))}registerBinding(t,i){const n=t._constraintHashes.get(i);if(n===void 0)return;const r=Ft(t._constraintFieldRefs,i);r!==void 0&&this.register(n,r,t)}unregisterBinding(t,i){const n=t._constraintHashes.get(i);if(n===void 0)return;const r=Ft(t._constraintFieldRefs,i);r!==void 0&&this.unregister(n,r,t)}routeEvent(t,i,n,r,s,o){for(const a of this._groups.values()){const c=ue(i,a.fieldPaths);if(c===void 0)continue;const f=a.getMatching(c);if(f!==void 0)for(const l of f)l.onEvent(t,n,r,s,o)}}}function Pt(e){const t=new Set;for(const i of e)if(typeof i=="object"&&i!==null){const n=F(i);n!==void 0&&t.add(n)}return t}class de{_queryClient;_parent;_constraintHashes;_entityDefsByTypename;_constraintFieldRefs;instance;constructor(t,i,n,r,s,o){this._queryClient=n,this._parent=r,this._constraintHashes=s,this._constraintFieldRefs=i,this.instance=o,this._entityDefsByTypename=new Map;for(const a of t)a.typenameValue!==void 0&&this._entityDefsByTypename.set(a.typenameValue,a);Z.add(this)}getValue(){return this.instance.getValue()}toJSON(){return this.instance.getRawValue()}reset(t){this.instance.reset(t)}append(t){this.instance.append(t)}onEvent(t,i,n,r,s){const o=this._entityDefsByTypename.get(t);if(o===void 0)return;const a=this._queryClient.entityMap.getEntity(i);if(n==="delete"){const f=a!==void 0?a.getProxy(o):s;f!==void 0&&(this.instance.onEvent(i,f,s??a?.data??{},"delete"),r?.());return}if(a===void 0||!a.satisfiesDef(o))return;r?.();const c=a.getProxy(o);this.instance.onEvent(i,c,a.data,n)}destroy(){this._queryClient.unregisterLiveCollection(this);const t=this._parent.liveCollections,i=t.indexOf(this);i!==-1&&t.splice(i,1)}}class hi{_notifier;_items;_keys;_outputSignal;_queryClient;_parent;constructor(t,i,n,r,s,o){this._notifier=C.notifier(),this._items=n,this._keys=Pt(n),this._queryClient=t,this._parent=i;const a=r!==void 0&&s!==void 0,c=o!==void 0;(a||c)&&(this._outputSignal=C.reactiveSignal(()=>{this._notifier.consume();let f=this._items;if(a){const l=[];for(const u of f){if(typeof u!="object"||u===null){l.push(u);continue}const y=F(u);if(y===void 0){l.push(u);continue}const v=t.entityMap.getEntity(y);if(v===void 0){l.push(u);continue}v.consume(),ue(v.data,r)===s&&l.push(u)}f=l}return c&&(f=(f===this._items?f.slice():f).sort(o)),f}))}onEvent(t,i,n,r){switch(r){case"create":this.add(t,i);break;case"update":!this.has(t)&&i!==void 0&&this.add(t,i);break;case"delete":this.remove(t);break}}getValue(){return this._outputSignal!==void 0?this._outputSignal.value:(this._notifier.consume(),this._items)}getRawValue(){return this._items}add(t,i){if(this._keys.has(t))return!1;this._keys.add(t),this._items.push(i);const n=this._queryClient.entityMap.getEntity(t);return n!==void 0&&(this._parent.addChildRef(n),n.save()),this._notifier.notify(),!0}remove(t){if(!this._keys.has(t))return!1;this._keys.delete(t);const i=this._findIndex(t);i!==-1&&this._items.splice(i,1);const n=this._queryClient.entityMap.getEntity(t);return n!==void 0&&this._parent.removeChildRef(n),this._notifier.notify(),!0}has(t){return this._keys.has(t)}reset(t){const i=this._items,n=Array.isArray(t)?t:[];this._items=n,this._keys=Pt(n);for(const r of n)if(typeof r=="object"&&r!==null){const s=F(r);if(s!==void 0){const o=this._queryClient.entityMap.getEntity(s);o!==void 0&&this._parent.addChildRef(o)}}for(const r of i)if(typeof r=="object"&&r!==null){const s=F(r);if(s!==void 0){const o=this._queryClient.entityMap.getEntity(s);o!==void 0&&this._parent.removeChildRef(o)}}this._notifier.notify()}append(t){if(Array.isArray(t))for(const i of t){if(typeof i!="object"||i===null)continue;const n=F(i);n!==void 0&&this.add(n,i)}}_findIndex(t){for(let i=0;i<this._items.length;i++){const n=this._items[i];if(typeof n=="object"&&n!==null&&F(n)===t)return i}return-1}}class yi{_notifier;_value;_createdKeys;_deletedKeys;_queryClient;_parent;_onCreate;_onUpdate;_onDelete;constructor(t,i,n,r,s,o){this._notifier=C.notifier(),this._value=n,this._createdKeys=new Set,this._deletedKeys=new Set,this._queryClient=t,this._parent=i,this._onCreate=r,this._onUpdate=s,this._onDelete=o}onEvent(t,i,n,r){switch(r){case"create":if(this._createdKeys.has(t))return;this._createdKeys.add(t),this._value=this._onCreate(this._value,i);break;case"update":this._value=this._onUpdate(this._value,i??n);break;case"delete":if(this._deletedKeys.has(t))return;this._deletedKeys.add(t),this._value=this._onDelete(this._value,i??n);break}this._notifier.notify()}getValue(){return this._notifier.consume(),this._value}getRawValue(){return this._value}reset(t){this._value=t,this._createdKeys.clear(),this._deletedKeys.clear(),this._notifier.notify()}append(t){}}function le(e,t,i,n,r){let s=e.constraintFieldRefs;if(s===void 0){s=new Map;for(const f of e.entityDefs){const l=f.typenameValue;l!==void 0&&s.set(l,[[ce,i.key]])}}const o=ui(s,n)??new Map;let a;if(e.type===H.Array){let f,l;if(e.constraintFieldRefs!==void 0&&o.size>0&&o.size===1)for(const[u]of e.constraintFieldRefs){const y=o.get(u);if(y!==void 0){l=y;const v=e.constraintFieldRefs.get(u);v!==void 0&&(f=ci(v.map(([p])=>p)));break}}a=new hi(r,i,Array.isArray(t)?t:[],f,l,e.sort)}else a=new yi(r,i,t,e.onCreate,e.onUpdate,e.onDelete);const c=new de(e.entityDefs,s,r,i,o,a);return i.liveCollections.push(c),r.registerLiveCollection(c),c}const he=Object.entries,ye=Object.prototype;function it(e,t,i,n=!1){const r=e.queryClient;r.currentParseId++;const s=e.seen,o=new Map;return{data:Q(t,s,r,i,o,n),entityRefs:o}}function Q(e,t,i,n,r,s){if(typeof e!="object"||e===null)return e;const o=t.get(e);if(o!==void 0)return pi(o,t,i,n,r,s);if(Array.isArray(e)){for(let a=0;a<e.length;a++){const c=e[a];typeof c=="object"&&c!==null&&!(c instanceof $)&&!O.has(c)&&(e[a]=Q(c,t,i,n,r,s))}return e}if(Object.getPrototypeOf(e)===ye&&!O.has(e)){const a=e;for(const c of Object.keys(a)){const f=a[c];typeof f=="object"&&f!==null&&!(f instanceof $)&&!O.has(f)&&(a[c]=Q(f,t,i,n,r,s))}}return e}function pe(e){return typeof e=="object"&&e!==null&&!(e instanceof $)&&!O.has(e)}function pi(e,t,i,n,r,s){const{key:o,data:a,shape:c,rawKeys:f}=e,l=c.shape,u=i.prepareEntity(o,a,c),y=u.data,v=y!==a,p=v&&f!==void 0&&u.entityRefs!==void 0?new Map(u.entityRefs):new Map;if(v?(ge(l,a,y,f,u,y,t,i,n,p,s),u.notify()):ve(l,a,u,a,t,i,n,p,s),s&&u.liveCollections.length>0)for(const w of u.liveCollections){const I=w.instance.getRawValue();if(Array.isArray(I))for(const R of I){if(typeof R!="object"||R===null)continue;const Y=O.get(R);if(Y===void 0)continue;const S=i.entityMap.getEntity(Y);S!==void 0&&p.set(S,(p.get(S)??0)+1)}}u.setChildRefs(p.size>0?p:void 0,n);const g=u.getProxy(c);return r.set(u,(r.get(u)??0)+1),g}function ge(e,t,i,n,r,s,o,a,c,f,l){for(const[u,y]of he(e))if(!(n!==void 0&&!n.has(u)))if(pe(t[u])&&(t[u]=Q(t[u],o,a,c,f,l)),y instanceof _&&y._liveConfig!==void 0){const v=i[u];v instanceof de?l?v.append(t[u]):v.reset(t[u]):i[u]=le(y._liveConfig,t[u],r,s,a)}else{const v=t[u],p=i[u];if(ft(v)&&ft(p)){const g=y instanceof _&&y.shape!==void 0?y.shape:void 0;if(g!==void 0)ge(g,v,p,void 0,r,s,o,a,c,f,l);else for(const w of Object.keys(v))p[w]=v[w];i[u]=p}else i[u]=v}}function ve(e,t,i,n,r,s,o,a,c){for(const[f,l]of he(e))if(f in t)if(pe(t[f])&&(t[f]=Q(t[f],r,s,o,a,c)),l instanceof _&&l._liveConfig!==void 0)t[f]=le(l._liveConfig,t[f],i,n,s);else{const u=t[f];if(ft(u)){const y=l instanceof _&&l.shape!==void 0?l.shape:void 0;y!==void 0&&ve(y,u,i,n,r,s,o,a,c)}}}function ft(e){return typeof e=="object"&&e!==null&&!Array.isArray(e)&&Object.getPrototypeOf(e)===ye&&!O.has(e)}function gi(e){if(e!==void 0)return typeof e=="string"?e:typeof e=="function"?e():e.value}function vi(e){return C.isSignal(e)}function Lt(e){if(e===void 0)return;const t={};for(const[i,n]of Object.entries(e))vi(n)?t[i]=n.value:t[i]=n;return t}const xt=(e,t)=>A.hashValue([e.statics.id,t]);class _i{entityMap;queryInstances=new Map;mutationInstances=new Map;gcManager;networkManager;isServer;store;currentParseId=0;context;typenameRegistry=new Map;constraintRegistry=new Map;mergedDefCache=new Map;adapters=new Map;networkUnsubscribe;constructor(t={}){const{store:i=new St.SyncQueryStore(new St.MemoryPersistentStore),log:n,evictionMultiplier:r,adapters:s,networkManager:o,gcManager:a,...c}=t;this.isServer=typeof window>"u",this.store=i,this.context={...c,log:n??console,evictionMultiplier:r},this.gcManager=t.gcManager??(this.isServer?new Ut:new jt(this.handleEviction,r)),this.networkManager=t.networkManager??new Et,this.entityMap=new ti((u,y,v)=>this.store.saveEntity(u,y,v));for(const u of t.adapters??[])this.adapters.set(u.constructor,u),u.register(this);const f=this.networkManager.getOnlineSignal(),l=C.watcher(()=>f.value);this.networkUnsubscribe=l.addListener(()=>{const u=f.value;for(const y of this.adapters.values())y.onNetworkStatusChange?.(u)},{skipInitial:!0}),this.store.purgeStaleQueries?.()}getAdapter(t){const i=this.adapters.get(t);if(i)return i;let n;for(const s of this.adapters.values())s instanceof t&&(n??=s);if(n!==void 0)return this.adapters.set(t,n),n;let r;try{r=new t}catch{throw new Error(`No adapter registered for ${t.name} and auto-instantiation failed. Pass an instance via QueryClient config: new QueryClient({ store, adapters: [new ${t.name}(...)] })`)}return this.adapters.set(t,r),r.register(this),r}getContext(){return this.context}registerEntityDef(t){const i=t.typenameValue;if(i===void 0||t._entityClass===void 0)return;const n=this.typenameRegistry.get(i);if(n!==void 0){if(n.indexOf(t)!==-1)return;n.push(t),this.mergedDefCache.delete(i),this.getMergedDef(i)}else this.typenameRegistry.set(i,[t])}getEntityDefsForTypename(t){return this.typenameRegistry.get(t)}getMergedDef(t){let i=this.mergedDefCache.get(t);if(i!==void 0)return i;const n=this.typenameRegistry.get(t);if(n!==void 0)return i=_.merge(n),this.mergedDefCache.set(t,i),i}saveQueryData(t,i,n,r,s){const o=s!==void 0&&s.size>0?new Set([...s.keys()].map(a=>a.key)):void 0;this.store.saveQuery(t,i,n,r,o)}activateQuery(t){const{def:i,queryKey:n,storageKey:r,config:s}=t;this.store.activateQuery(i,r);const o=s?.gcTime??qt.DEFAULT_GC_TIME;this.gcManager.cancel(n,o)}loadCachedQuery(t,i){return this.store.loadQuery(t,i)}getQuery(t,i){const n=xt(t,i);let r=this.queryInstances.get(n);return r===void 0&&(r=new si(t,this,n,i),this.queryInstances.set(n,r)),r.relay}getMutation(t){const i=t.id;let n=this.mutationInstances.get(i);return n===void 0&&(n=new oi(t,this),this.mutationInstances.set(i,n)),n.task}parseData(t,i,n){const r=this.context.log?.warn??(()=>{}),s=new ot;return s.reset(this,n,r),{data:ie(t,i,s),ctx:s}}applyRefs(t,i=!0,n=!1){return it(t.ctx,t.data,i,n)}parseAndApplyRootEntity(t,i,n,r,s=!1,o){typeof n.idField=="symbol"&&typeof t=="object"&&t!==null&&!("__entityRef"in t)&&(t[ut]=i);const a=this.parseData(t,n,o),c=it(a.ctx,a.data,r,s),f=O.get(c.data);return this.entityMap.getEntity(f)}prepareEntity(t,i,n){return this.registerEntityDef(n),this.entityMap.getOrCreateEntity(t,i,n,this)}applyMutationEvent(t){const{type:i,typename:n}=t,r=this.getMergedDef(n);if(r===void 0)return;const s=r.idField;if(s===void 0||typeof s=="symbol")return;const o=t.data,a=t.id!==void 0?t.id:i==="delete"&&(typeof o=="string"||typeof o=="number")?o:o[s];if(a===void 0)return;const c=A.hashValue([n,a]),f=t.__eventSource,l=typeof o=="object"&&o!==null?o:{},u=this.entityMap.getEntity(c);if(i==="delete"){const g=u!==void 0?u.data:l;this.routeEvent(n,g,c,i,f,void 0,g);return}try{const g=this.context.log?.warn??(()=>{}),w=new ot;w.reset(this,void 0,g,!0);const I=Qe(l,r,w);it(w,I,!0)}catch(g){if(this.context.log?.warn?.("Failed to apply mutation event",g),u===void 0){const w=this.entityMap.getEntity(c);w!==void 0&&w.evict()}return}const y=this.entityMap.getEntity(c);if(y===void 0)return;this.entityMap.save(y);const v=u===void 0;let p=!1;this.routeEvent(n,y.data,c,i,f,()=>{p=!0}),v&&!p&&y.evict()}invalidateQueries(t){for(const i of t){const n=Array.isArray(i),r=n?i[0]:i,s=n?i[1]:void 0,a=B.for(r).statics.id;for(const[,c]of this.queryInstances)c.def.statics.id===a&&(s===void 0||mi(c.resolvedParams,s))&&c.markStale()}}handleEviction=(t,i)=>{if(i===J.Query){const r=this.queryInstances.get(t);if(r===void 0)return;r.rootEntity?.evict(),this.queryInstances.delete(t);return}const n=this.entityMap.getEntity(t);n!==void 0&&n.evict()};getOrCreateMatcher(t){let i=this.constraintRegistry.get(t);return i===void 0&&(i=new li,this.constraintRegistry.set(t,i)),i}registerLiveCollection(t){for(const[i,n]of t._entityDefsByTypename)this.registerEntityDef(n),this.getOrCreateMatcher(i).registerBinding(t,i)}unregisterLiveCollection(t){for(const i of t._entityDefsByTypename.keys()){const n=this.constraintRegistry.get(i);n!==void 0&&n.unregisterBinding(t,i)}}routeEvent(t,i,n,r,s,o,a){const c=this.constraintRegistry.get(t);if(c===void 0)return;const f=s!==void 0?{...i,[ce]:s}:i;c.routeEvent(t,f,n,r,o,a)}destroy(){this.networkUnsubscribe?.(),this.gcManager.destroy(),this.networkManager.destroy();for(const t of this.adapters.values())t.destroy?.();this.adapters.clear(),this.queryInstances.clear(),this.mutationInstances.clear(),this.constraintRegistry.clear(),this.typenameRegistry.clear(),this.mergedDefCache.clear()}}const _e=C.context(void 0);function mi(e,t){if(e===void 0)return!1;for(const i in t)if(e[i]!==t[i])return!1;return!0}exports.ARRAY_KEY=U;exports.Entity=yt;exports.GcManager=jt;exports.LiveFieldConfig=L;exports.LiveFieldType=H;exports.Mask=d;exports.NetworkManager=Et;exports.NetworkManagerContext=ei;exports.NetworkMode=P;exports.NoOpGcManager=Ut;exports.NoOpNetworkManager=bt;exports.QUERY_ID=ut;exports.Query=ii;exports.QueryClient=_i;exports.QueryClientContext=_e;exports.RECORD_KEY=V;exports.ValidatorDef=_;exports.createDefinitionProxy=lt;exports.defaultNetworkManager=oe;exports.draft=Ke;exports.extractDefinition=Qt;exports.fetchQuery=ri;exports.queryKeyForClass=ni;exports.registerFormat=_t;exports.reifyValue=K;exports.resolveBaseUrl=gi;exports.t=te;
2
- //# sourceMappingURL=QueryClient-YzaJT_2g.js.map