zustic 1.0.4 → 1.0.6

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/README.md CHANGED
@@ -123,7 +123,7 @@ function Counter() {
123
123
  <p>Count: {count}</p>
124
124
  <button onClick={inc}>➕ Increment</button>
125
125
  <button onClick={dec}>➖ Decrement</button>
126
- <button onClick={reset}>🔄 Reset</button>
126
+ <button onClick={reset}>Reset</button>
127
127
  </div>
128
128
  );
129
129
  }
@@ -172,9 +172,9 @@ Extend Zustic stores with powerful middleware for logging, persistence, validati
172
172
 
173
173
  ```typescript
174
174
  const logger = <T extends object>(): Middleware<T> => (set, get) => (next) => async (partial) => {
175
- console.log('🔵 Previous State:', get());
175
+ console.log('Previous State:', get());
176
176
  await next(partial);
177
- console.log('🟢 New State:', get());
177
+ console.log('New State:', get());
178
178
  };
179
179
 
180
180
  export const useStore = create<StoreType>(
@@ -534,7 +534,7 @@ const api = createApi({
534
534
 
535
535
  ---
536
536
 
537
- ## 📱 Multi-Platform Examples
537
+ ## Multi-Platform Examples
538
538
 
539
539
  ### React Web
540
540
 
@@ -50,10 +50,22 @@ type MainMutationState<Result> = {
50
50
  error: any;
51
51
  };
52
52
  type EndpointsMap = Record<string, EndpointDef>;
53
+ type InferQueryArg<T> = T extends QueryDef<infer Arg, any> ? Arg : never;
54
+ type QueryKeys<T> = {
55
+ [K in keyof T]: T[K] extends QueryDef<any, any> ? K : never;
56
+ }[keyof T];
57
+ type InferQueryResult<T> = T extends QueryDef<any, infer Result> ? Result : never;
53
58
  type HooksFromEndpoints<T extends EndpointsMap> = {
54
59
  [K in keyof T as T[K] extends {
55
60
  type: 'query';
56
- } ? `use${Capitalize<string & K>}Query` : `use${Capitalize<string & K>}Mutation`]: T[K] extends QueryDef<infer Arg, infer Result> ? (arg: Arg, option?: QueryHookOption) => MainQueryHookResult<Result> : T[K] extends MutationDef<infer Arg, infer Result> ? () => readonly [(arg: Arg) => Promise<Result>, MainMutationState<Result>] : never;
61
+ } ? `use${Capitalize<string & K>}Query` : `use${Capitalize<string & K>}Mutation`]: T[K] extends QueryDef<infer Arg, infer Result> ? (arg: Arg, option?: QueryHookOption) => MainQueryHookResult<Result> : T[K] extends MutationDef<infer Arg, infer Result> ? () => readonly [
62
+ (arg: Arg) => Promise<Result>,
63
+ MainMutationState<Result>
64
+ ] : never;
65
+ } & {
66
+ utils: {
67
+ updateQueryData: <K extends QueryKeys<T>>(key: K, arg: InferQueryArg<T[K]>, updater: (data: InferQueryResult<T[K]>) => InferQueryResult<T[K]>) => void;
68
+ };
57
69
  };
58
70
  type BuilderType = {
59
71
  query<Result, Arg = void>(config: {
@@ -50,10 +50,22 @@ type MainMutationState<Result> = {
50
50
  error: any;
51
51
  };
52
52
  type EndpointsMap = Record<string, EndpointDef>;
53
+ type InferQueryArg<T> = T extends QueryDef<infer Arg, any> ? Arg : never;
54
+ type QueryKeys<T> = {
55
+ [K in keyof T]: T[K] extends QueryDef<any, any> ? K : never;
56
+ }[keyof T];
57
+ type InferQueryResult<T> = T extends QueryDef<any, infer Result> ? Result : never;
53
58
  type HooksFromEndpoints<T extends EndpointsMap> = {
54
59
  [K in keyof T as T[K] extends {
55
60
  type: 'query';
56
- } ? `use${Capitalize<string & K>}Query` : `use${Capitalize<string & K>}Mutation`]: T[K] extends QueryDef<infer Arg, infer Result> ? (arg: Arg, option?: QueryHookOption) => MainQueryHookResult<Result> : T[K] extends MutationDef<infer Arg, infer Result> ? () => readonly [(arg: Arg) => Promise<Result>, MainMutationState<Result>] : never;
61
+ } ? `use${Capitalize<string & K>}Query` : `use${Capitalize<string & K>}Mutation`]: T[K] extends QueryDef<infer Arg, infer Result> ? (arg: Arg, option?: QueryHookOption) => MainQueryHookResult<Result> : T[K] extends MutationDef<infer Arg, infer Result> ? () => readonly [
62
+ (arg: Arg) => Promise<Result>,
63
+ MainMutationState<Result>
64
+ ] : never;
65
+ } & {
66
+ utils: {
67
+ updateQueryData: <K extends QueryKeys<T>>(key: K, arg: InferQueryArg<T[K]>, updater: (data: InferQueryResult<T[K]>) => InferQueryResult<T[K]>) => void;
68
+ };
57
69
  };
58
70
  type BuilderType = {
59
71
  query<Result, Arg = void>(config: {
@@ -1 +1 @@
1
- "use strict";var q=Object.defineProperty;var k=Object.getOwnPropertyDescriptor;var H=Object.getOwnPropertyNames;var C=Object.prototype.hasOwnProperty;var R=(e,n)=>{for(var i in n)q(e,i,{get:n[i],enumerable:!0})},O=(e,n,i,r)=>{if(n&&typeof n=="object"||typeof n=="function")for(let c of H(n))!C.call(e,c)&&c!==i&&q(e,c,{get:()=>n[c],enumerable:!(r=k(n,c))||r.enumerable});return e};var B=e=>O(q({},"__esModule",{value:!0}),e);var j={};R(j,{createApi:()=>D});module.exports=B(j);var x=require("react");var g=require("react");function A(e,n=[]){let i,r=[],c=l=>{let s=typeof l=="function"?l(i):l;i={...i,...s},r.forEach(u=>u())},m=()=>i,F=v(c,m,n);i=e(F,m);let w=l=>(r.push(l),()=>{r=r.filter(s=>s!==l)});return()=>(0,g.useSyncExternalStore)(w,m)}var v=(e,n,i)=>!i||i.length===0?e:i.reduceRight((r,c)=>c(e,n)(r),e);function J(e){return e.charAt(0).toUpperCase()+e.slice(1)}var N=async(e,n,i,r,c,m,F)=>{var w,l,s,u,h,p,T;n({isLoading:!0});try{let t=null,o=null,a=i().cashExp,M=Date.now(),S=!1;if(F||JSON.stringify(i().arg||{})!==JSON.stringify(e||{})?S=!1:S=a>=M,S&&(t=i().data),!S&&(r!=null&&r.queryFnc)){n({isFetching:!0});let{data:y,error:E}=await((w=r==null?void 0:r.queryFnc)==null?void 0:w.call(r,e,c));y&&(t=y),E&&(o=E)}else{let y=r.queryFn(e);if(r!=null&&r.transformHeader&&(y.headers=await((l=r==null?void 0:r.transformHeader)==null?void 0:l.call(r,y==null?void 0:y.headers))),r!=null&&r.transformBody&&(y.body=await((s=r==null?void 0:r.transformBody)==null?void 0:s.call(r,y==null?void 0:y.body))),!S){n({isFetching:!0});let{data:E,error:b}=await c(y);E&&(t=E),b&&(o=b)}}return t&&(r!=null&&r.transformResponse&&(t=await((u=r.transformResponse)==null?void 0:u.call(r,t,i().data))),r!=null&&r.onSuccess&&await((h=r.onSuccess)==null?void 0:h.call(r,t))),o&&(r!=null&&r.transformError&&(o=await((p=r.transformError)==null?void 0:p.call(r,o,i().error))),r!=null&&r.onError&&await((T=r.onError)==null?void 0:T.call(r,o))),t?(n({data:t,isSuccess:!0,isLoading:!1,isFetching:!1,cashExp:S?a:Date.now()+m,arg:e}),{data:t}):(n({isLoading:!1,isSuccess:!1,isFetching:!1,isError:!0,error:o,arg:e}),{error:o})}catch(t){return n({isLoading:!1,isSuccess:!1,isFetching:!1,isError:!0,error:t,arg:e}),{error:t}}};async function P(e,n,i,r,c,m,F,w,l){var T,t,o;let s={arg:e,def:r,get:i,set:n};for(let a of l)await((T=a.beforeQuery)==null?void 0:T.call(a,s));let u=-1,h=async a=>{if(a<=u)throw new Error("next() called multiple times");u=a;let M=w[a];return M?M(s,()=>h(a+1)):N(e,n,i,r,c,m,F)},p=await h(0);for(let a of l)await((t=a.afterQuery)==null?void 0:t.call(a,p,s));if(p!=null&&p.error)for(let a of l)await((o=a.onError)==null?void 0:o.call(a,p.error,s));return p}function D(e){let{baseQuery:n,endpoints:i,cacheTimeout:r=30*1e3,middlewares:c=[],plugins:m=[]}=e,w=i({query:s=>({type:"query",queryFn:s.query,...s}),mutation:s=>({type:"mutation",queryFn:s.query,...s})}),l={};for(let s in w){let u=w[s],h=`use${J(s)}`+(u.type==="query"?"Query":"Mutation"),p=(u.plugins||[]).filter(t=>(t==null?void 0:t.middleware)&&typeof t.middleware=="function").map(t=>t.middleware),T=A((t,o)=>({data:null,isLoading:!1,isError:!1,isFetching:!1,isSuccess:!1,error:null,arg:null,cashExp:0,query:a=>P(a,t,o,u,n,r,!1,[...c,...u.middlewares||[],...p],[...m,...u.plugins||[]]),reFetch:()=>{var a;return P((a=o())==null?void 0:a.arg,t,o,u,n,r,!0,[...c,...u.middlewares||[],...p],[...m,...u.plugins||[]])}}));u.type==="query"&&(l[h]=(t,o)=>{let{skip:a}=o||{},{query:M,error:S,isError:y,isLoading:E,isSuccess:b,reFetch:Q,data:L}=T();return(0,x.useEffect)(()=>{a||M(t)},[JSON.stringify(t||{})]),{error:S,isError:y,isLoading:E,isSuccess:b,data:L,reFetch:Q}}),u.type==="mutation"&&(l[h]=()=>{let{query:t,...o}=T();return[t,o]})}return l}0&&(module.exports={createApi});
1
+ "use strict";var x=Object.defineProperty;var J=Object.getOwnPropertyDescriptor;var N=Object.getOwnPropertyNames;var v=Object.prototype.hasOwnProperty;var D=(n,t)=>{for(var s in t)x(n,s,{get:t[s],enumerable:!0})},$=(n,t,s,r)=>{if(t&&typeof t=="object"||typeof t=="function")for(let u of N(t))!v.call(n,u)&&u!==s&&x(n,u,{get:()=>t[u],enumerable:!(r=J(t,u))||r.enumerable});return n};var _=n=>$(x({},"__esModule",{value:!0}),n);var G={};D(G,{createApi:()=>W});module.exports=_(G);var L=require("react");var d=require("react");function P(n,t=[]){let s,r=[],u=l=>{let y=typeof l=="function"?l(s):l;s={...s,...y},r.forEach(h=>h())},w=()=>s,F=j(u,w,t);s=n(F,w);let E=l=>(r.push(l),()=>{r=r.filter(y=>y!==l)});return()=>(0,d.useSyncExternalStore)(E,w)}var j=(n,t,s)=>!s||s.length===0?n:s.reduceRight((r,u)=>u(n,t)(r),n);function z(n){return n.charAt(0).toUpperCase()+n.slice(1)}function K(n,t){return`${n}__${JSON.stringify(t!=null?t:{})}`}var U=async(n,t,s,r,u,w,F)=>{var E,l,y,h,Q,S,i;t({isLoading:!0});try{let e=null,p=null,a=s().cashExp,o=Date.now(),m=!1;if(F||JSON.stringify(s().arg||{})!==JSON.stringify(n||{})?m=!1:m=a>=o,m&&(e=s().data),!m&&(r!=null&&r.queryFnc)){t({isFetching:!0});let{data:c,error:T}=await((E=r==null?void 0:r.queryFnc)==null?void 0:E.call(r,n,u));c&&(e=c),T&&(p=T)}else{let c=r.queryFn(n);if(r!=null&&r.transformHeader&&(c.headers=await((l=r==null?void 0:r.transformHeader)==null?void 0:l.call(r,c==null?void 0:c.headers))),r!=null&&r.transformBody&&(c.body=await((y=r==null?void 0:r.transformBody)==null?void 0:y.call(r,c==null?void 0:c.body))),!m){t({isFetching:!0});let{data:T,error:g}=await u(c);T&&(e=T),g&&(p=g)}}return e&&(r!=null&&r.transformResponse&&(e=await((h=r.transformResponse)==null?void 0:h.call(r,e,s().data))),r!=null&&r.onSuccess&&await((Q=r.onSuccess)==null?void 0:Q.call(r,e))),p&&(r!=null&&r.transformError&&(p=await((S=r.transformError)==null?void 0:S.call(r,p,s().error))),r!=null&&r.onError&&await((i=r.onError)==null?void 0:i.call(r,p))),e?(t({data:e,isSuccess:!0,isLoading:!1,isFetching:!1,cashExp:m?a:Date.now()+w,arg:n}),{data:e}):(t({isLoading:!1,isSuccess:!1,isFetching:!1,isError:!0,error:p,arg:n}),{error:p})}catch(e){return t({isLoading:!1,isSuccess:!1,isFetching:!1,isError:!0,error:e,arg:n}),{error:e}}};async function b(n,t,s,r,u,w,F,E,l){var i,e,p;let y={arg:n,def:r,get:s,set:t};for(let a of l)await((i=a.beforeQuery)==null?void 0:i.call(a,y));let h=-1,Q=async a=>{if(a<=h)throw new Error("next() called multiple times");h=a;let o=E[a];return o?o(y,()=>Q(a+1)):U(n,t,s,r,u,w,F)},S=await Q(0);for(let a of l)await((e=a.afterQuery)==null?void 0:e.call(a,S,y));if(S!=null&&S.error)for(let a of l)await((p=a.onError)==null?void 0:p.call(a,S.error,y));return S}function W(n){let{baseQuery:t,endpoints:s,cacheTimeout:r=30*1e3,middlewares:u=[],plugins:w=[]}=n,E=s({query:i=>({type:"query",queryFn:i.query,...i}),mutation:i=>({type:"mutation",queryFn:i.query,...i})}),l={},y=(w||[]).filter(i=>i.middleware&&typeof i.middleware=="function").map(i=>i.middleware),h=new Map,Q=new Map;for(let i in E){let e=E[i],p=`use${z(i)}`+(e.type==="query"?"Query":"Mutation"),a=(e.plugins||[]).filter(o=>(o==null?void 0:o.middleware)&&typeof o.middleware=="function").map(o=>o.middleware);e.type==="query"&&(l[p]=(o,m)=>{let c=K(i,o);if(!h.has(c)){let B=P((f,q)=>(Q.set(c,{set:f,get:q}),{data:null,isLoading:!1,isError:!1,isFetching:!1,isSuccess:!1,error:null,arg:null,cashExp:0,query:A=>b(A,f,q,e,t,r,!1,[...u,...e.middlewares||[],...a,...y],[...w,...e.plugins||[]]),reFetch:()=>{var A;return b((A=q())==null?void 0:A.arg,f,q,e,t,r,!0,[...u,...e.middlewares||[],...a,...y],[...w,...e.plugins||[]])}}));h.set(c,B)}let{skip:T}=m||{},g=h.get(c),{query:M,error:R,isError:k,isLoading:C,isSuccess:H,reFetch:O,data:I}=g();return(0,L.useEffect)(()=>{T||M(o)},[JSON.stringify(o||{})]),{error:R,isError:k,isLoading:C,isSuccess:H,data:I,reFetch:O}}),e.type==="mutation"&&(l[p]=()=>{let o=P((T,g)=>({data:null,isLoading:!1,isError:!1,isFetching:!1,isSuccess:!1,error:null,arg:null,cashExp:0,query:M=>b(M,T,g,e,t,r,!1,[...u,...e.middlewares||[],...a,...y],[...w,...e.plugins||[]]),reFetch:()=>{var M;return b((M=g())==null?void 0:M.arg,T,g,e,t,r,!0,[...u,...e.middlewares||[],...a,...y],[...w,...e.plugins||[]])}})),{query:m,...c}=o();return[m,c]})}function S(i,e,p){var m;let a=K(i,e),o=Q.get(a);o&&o.set({data:p((m=o.get())==null?void 0:m.data)})}return{...l,utils:{updateQueryData:S}}}0&&(module.exports={createApi});
@@ -1 +1 @@
1
- import{a as Q}from"../chunk-SISWF3T4.mjs";import{useEffect as k}from"react";function x(s){return s.charAt(0).toUpperCase()+s.slice(1)}var H=async(s,u,y,r,h,q,A)=>{var E,l,t,o,m,c,w;u({isLoading:!0});try{let n=null,a=null,i=y().cashExp,S=Date.now(),p=!1;if(A||JSON.stringify(y().arg||{})!==JSON.stringify(s||{})?p=!1:p=i>=S,p&&(n=y().data),!p&&(r!=null&&r.queryFnc)){u({isFetching:!0});let{data:e,error:F}=await((E=r==null?void 0:r.queryFnc)==null?void 0:E.call(r,s,h));e&&(n=e),F&&(a=F)}else{let e=r.queryFn(s);if(r!=null&&r.transformHeader&&(e.headers=await((l=r==null?void 0:r.transformHeader)==null?void 0:l.call(r,e==null?void 0:e.headers))),r!=null&&r.transformBody&&(e.body=await((t=r==null?void 0:r.transformBody)==null?void 0:t.call(r,e==null?void 0:e.body))),!p){u({isFetching:!0});let{data:F,error:b}=await h(e);F&&(n=F),b&&(a=b)}}return n&&(r!=null&&r.transformResponse&&(n=await((o=r.transformResponse)==null?void 0:o.call(r,n,y().data))),r!=null&&r.onSuccess&&await((m=r.onSuccess)==null?void 0:m.call(r,n))),a&&(r!=null&&r.transformError&&(a=await((c=r.transformError)==null?void 0:c.call(r,a,y().error))),r!=null&&r.onError&&await((w=r.onError)==null?void 0:w.call(r,a))),n?(u({data:n,isSuccess:!0,isLoading:!1,isFetching:!1,cashExp:p?i:Date.now()+q,arg:s}),{data:n}):(u({isLoading:!1,isSuccess:!1,isFetching:!1,isError:!0,error:a,arg:s}),{error:a})}catch(n){return u({isLoading:!1,isSuccess:!1,isFetching:!1,isError:!0,error:n,arg:s}),{error:n}}};async function M(s,u,y,r,h,q,A,E,l){var w,n,a;let t={arg:s,def:r,get:y,set:u};for(let i of l)await((w=i.beforeQuery)==null?void 0:w.call(i,t));let o=-1,m=async i=>{if(i<=o)throw new Error("next() called multiple times");o=i;let S=E[i];return S?S(t,()=>m(i+1)):H(s,u,y,r,h,q,A)},c=await m(0);for(let i of l)await((n=i.afterQuery)==null?void 0:n.call(i,c,t));if(c!=null&&c.error)for(let i of l)await((a=i.onError)==null?void 0:a.call(i,c.error,t));return c}function O(s){let{baseQuery:u,endpoints:y,cacheTimeout:r=30*1e3,middlewares:h=[],plugins:q=[]}=s,E=y({query:t=>({type:"query",queryFn:t.query,...t}),mutation:t=>({type:"mutation",queryFn:t.query,...t})}),l={};for(let t in E){let o=E[t],m=`use${x(t)}`+(o.type==="query"?"Query":"Mutation"),c=(o.plugins||[]).filter(n=>(n==null?void 0:n.middleware)&&typeof n.middleware=="function").map(n=>n.middleware),w=Q((n,a)=>({data:null,isLoading:!1,isError:!1,isFetching:!1,isSuccess:!1,error:null,arg:null,cashExp:0,query:i=>M(i,n,a,o,u,r,!1,[...h,...o.middlewares||[],...c],[...q,...o.plugins||[]]),reFetch:()=>{var i;return M((i=a())==null?void 0:i.arg,n,a,o,u,r,!0,[...h,...o.middlewares||[],...c],[...q,...o.plugins||[]])}}));o.type==="query"&&(l[m]=(n,a)=>{let{skip:i}=a||{},{query:S,error:p,isError:e,isLoading:F,isSuccess:b,reFetch:T,data:g}=w();return k(()=>{i||S(n)},[JSON.stringify(n||{})]),{error:p,isError:e,isLoading:F,isSuccess:b,data:g,reFetch:T}}),o.type==="mutation"&&(l[m]=()=>{let{query:n,...a}=w();return[n,a]})}return l}export{O as createApi};
1
+ import{a as K}from"../chunk-SISWF3T4.mjs";import{useEffect as I}from"react";function B(o){return o.charAt(0).toUpperCase()+o.slice(1)}function k(o,i){return`${o}__${JSON.stringify(i!=null?i:{})}`}var J=async(o,i,p,r,h,E,A)=>{var g,m,l,Q,F,y,t;i({isLoading:!0});try{let n=null,u=null,e=p().cashExp,s=Date.now(),c=!1;if(A||JSON.stringify(p().arg||{})!==JSON.stringify(o||{})?c=!1:c=e>=s,c&&(n=p().data),!c&&(r!=null&&r.queryFnc)){i({isFetching:!0});let{data:a,error:w}=await((g=r==null?void 0:r.queryFnc)==null?void 0:g.call(r,o,h));a&&(n=a),w&&(u=w)}else{let a=r.queryFn(o);if(r!=null&&r.transformHeader&&(a.headers=await((m=r==null?void 0:r.transformHeader)==null?void 0:m.call(r,a==null?void 0:a.headers))),r!=null&&r.transformBody&&(a.body=await((l=r==null?void 0:r.transformBody)==null?void 0:l.call(r,a==null?void 0:a.body))),!c){i({isFetching:!0});let{data:w,error:S}=await h(a);w&&(n=w),S&&(u=S)}}return n&&(r!=null&&r.transformResponse&&(n=await((Q=r.transformResponse)==null?void 0:Q.call(r,n,p().data))),r!=null&&r.onSuccess&&await((F=r.onSuccess)==null?void 0:F.call(r,n))),u&&(r!=null&&r.transformError&&(u=await((y=r.transformError)==null?void 0:y.call(r,u,p().error))),r!=null&&r.onError&&await((t=r.onError)==null?void 0:t.call(r,u))),n?(i({data:n,isSuccess:!0,isLoading:!1,isFetching:!1,cashExp:c?e:Date.now()+E,arg:o}),{data:n}):(i({isLoading:!1,isSuccess:!1,isFetching:!1,isError:!0,error:u,arg:o}),{error:u})}catch(n){return i({isLoading:!1,isSuccess:!1,isFetching:!1,isError:!0,error:n,arg:o}),{error:n}}};async function b(o,i,p,r,h,E,A,g,m){var t,n,u;let l={arg:o,def:r,get:p,set:i};for(let e of m)await((t=e.beforeQuery)==null?void 0:t.call(e,l));let Q=-1,F=async e=>{if(e<=Q)throw new Error("next() called multiple times");Q=e;let s=g[e];return s?s(l,()=>F(e+1)):J(o,i,p,r,h,E,A)},y=await F(0);for(let e of m)await((n=e.afterQuery)==null?void 0:n.call(e,y,l));if(y!=null&&y.error)for(let e of m)await((u=e.onError)==null?void 0:u.call(e,y.error,l));return y}function $(o){let{baseQuery:i,endpoints:p,cacheTimeout:r=30*1e3,middlewares:h=[],plugins:E=[]}=o,g=p({query:t=>({type:"query",queryFn:t.query,...t}),mutation:t=>({type:"mutation",queryFn:t.query,...t})}),m={},l=(E||[]).filter(t=>t.middleware&&typeof t.middleware=="function").map(t=>t.middleware),Q=new Map,F=new Map;for(let t in g){let n=g[t],u=`use${B(t)}`+(n.type==="query"?"Query":"Mutation"),e=(n.plugins||[]).filter(s=>(s==null?void 0:s.middleware)&&typeof s.middleware=="function").map(s=>s.middleware);n.type==="query"&&(m[u]=(s,c)=>{let a=k(t,s);if(!Q.has(a)){let C=K((x,T)=>(F.set(a,{set:x,get:T}),{data:null,isLoading:!1,isError:!1,isFetching:!1,isSuccess:!1,error:null,arg:null,cashExp:0,query:M=>b(M,x,T,n,i,r,!1,[...h,...n.middlewares||[],...e,...l],[...E,...n.plugins||[]]),reFetch:()=>{var M;return b((M=T())==null?void 0:M.arg,x,T,n,i,r,!0,[...h,...n.middlewares||[],...e,...l],[...E,...n.plugins||[]])}}));Q.set(a,C)}let{skip:w}=c||{},S=Q.get(a),{query:q,error:R,isError:H,isLoading:L,isSuccess:f,reFetch:O,data:P}=S();return I(()=>{w||q(s)},[JSON.stringify(s||{})]),{error:R,isError:H,isLoading:L,isSuccess:f,data:P,reFetch:O}}),n.type==="mutation"&&(m[u]=()=>{let s=K((w,S)=>({data:null,isLoading:!1,isError:!1,isFetching:!1,isSuccess:!1,error:null,arg:null,cashExp:0,query:q=>b(q,w,S,n,i,r,!1,[...h,...n.middlewares||[],...e,...l],[...E,...n.plugins||[]]),reFetch:()=>{var q;return b((q=S())==null?void 0:q.arg,w,S,n,i,r,!0,[...h,...n.middlewares||[],...e,...l],[...E,...n.plugins||[]])}})),{query:c,...a}=s();return[c,a]})}function y(t,n,u){var c;let e=k(t,n),s=F.get(e);s&&s.set({data:u((c=s.get())==null?void 0:c.data)})}return{...m,utils:{updateQueryData:y}}}export{$ as createApi};
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "zustic",
3
- "version": "1.0.4",
3
+ "version": "1.0.6",
4
4
  "description": "A fast, minimal state management solution for React ecosystems. Works seamlessly with React, Next.js, and React Native, offering predictable state updates with a tiny footprint.",
5
5
  "scripts": {
6
6
  "build": "tsup",