zustic 1.1.2 → 1.1.3
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/query/index.d.mts +19 -2
- package/dist/query/index.d.ts +19 -2
- package/dist/query/index.js +1 -1
- package/dist/query/index.mjs +1 -1
- package/package.json +1 -1
package/dist/query/index.d.mts
CHANGED
|
@@ -336,10 +336,27 @@ type InferQueryResult<T> = T extends QueryDef<any, infer Result, any> ? Result :
|
|
|
336
336
|
* api.utils.updateQueryData('getUser', {id: 1}, (draft) => {...});
|
|
337
337
|
* ```
|
|
338
338
|
*/
|
|
339
|
-
type HooksFromEndpoints<T extends EndpointsMap<TagTypes>, TagTypes extends readonly string[] = readonly []> =
|
|
339
|
+
type HooksFromEndpoints<T extends EndpointsMap<TagTypes>, TagTypes extends readonly string[] = readonly []> =
|
|
340
|
+
/** Normal query hooks */
|
|
341
|
+
{
|
|
340
342
|
[K in keyof T as T[K] extends {
|
|
341
343
|
type: 'query';
|
|
342
|
-
} ? `use${Capitalize<string & K>}Query` :
|
|
344
|
+
} ? `use${Capitalize<string & K>}Query` : never]: T[K] extends QueryDef<infer Arg, infer Result, any> ? (arg: Arg, option?: QueryHookOption) => MainQueryHookResult<Result> : never;
|
|
345
|
+
}
|
|
346
|
+
/** Lazy query hooks */
|
|
347
|
+
& {
|
|
348
|
+
[K in keyof T as T[K] extends {
|
|
349
|
+
type: 'query';
|
|
350
|
+
} ? `useLazy${Capitalize<string & K>}Query` : never]: T[K] extends QueryDef<infer Arg, infer Result, any> ? () => readonly [
|
|
351
|
+
(arg: Arg) => void,
|
|
352
|
+
MainQueryHookResult<Result>
|
|
353
|
+
] : never;
|
|
354
|
+
}
|
|
355
|
+
/** Mutation hooks */
|
|
356
|
+
& {
|
|
357
|
+
[K in keyof T as T[K] extends {
|
|
358
|
+
type: 'mutation';
|
|
359
|
+
} ? `use${Capitalize<string & K>}Mutation` : never]: T[K] extends MutationDef<infer Arg, infer Result, any> ? () => readonly [
|
|
343
360
|
(arg: Arg) => Promise<Result>,
|
|
344
361
|
MainMutationState<Result>
|
|
345
362
|
] : never;
|
package/dist/query/index.d.ts
CHANGED
|
@@ -336,10 +336,27 @@ type InferQueryResult<T> = T extends QueryDef<any, infer Result, any> ? Result :
|
|
|
336
336
|
* api.utils.updateQueryData('getUser', {id: 1}, (draft) => {...});
|
|
337
337
|
* ```
|
|
338
338
|
*/
|
|
339
|
-
type HooksFromEndpoints<T extends EndpointsMap<TagTypes>, TagTypes extends readonly string[] = readonly []> =
|
|
339
|
+
type HooksFromEndpoints<T extends EndpointsMap<TagTypes>, TagTypes extends readonly string[] = readonly []> =
|
|
340
|
+
/** Normal query hooks */
|
|
341
|
+
{
|
|
340
342
|
[K in keyof T as T[K] extends {
|
|
341
343
|
type: 'query';
|
|
342
|
-
} ? `use${Capitalize<string & K>}Query` :
|
|
344
|
+
} ? `use${Capitalize<string & K>}Query` : never]: T[K] extends QueryDef<infer Arg, infer Result, any> ? (arg: Arg, option?: QueryHookOption) => MainQueryHookResult<Result> : never;
|
|
345
|
+
}
|
|
346
|
+
/** Lazy query hooks */
|
|
347
|
+
& {
|
|
348
|
+
[K in keyof T as T[K] extends {
|
|
349
|
+
type: 'query';
|
|
350
|
+
} ? `useLazy${Capitalize<string & K>}Query` : never]: T[K] extends QueryDef<infer Arg, infer Result, any> ? () => readonly [
|
|
351
|
+
(arg: Arg) => void,
|
|
352
|
+
MainQueryHookResult<Result>
|
|
353
|
+
] : never;
|
|
354
|
+
}
|
|
355
|
+
/** Mutation hooks */
|
|
356
|
+
& {
|
|
357
|
+
[K in keyof T as T[K] extends {
|
|
358
|
+
type: 'mutation';
|
|
359
|
+
} ? `use${Capitalize<string & K>}Mutation` : never]: T[K] extends MutationDef<infer Arg, infer Result, any> ? () => readonly [
|
|
343
360
|
(arg: Arg) => Promise<Result>,
|
|
344
361
|
MainMutationState<Result>
|
|
345
362
|
] : never;
|
package/dist/query/index.js
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
"use strict";var
|
|
1
|
+
"use strict";var Y=Object.create;var C=Object.defineProperty;var Z=Object.getOwnPropertyDescriptor;var j=Object.getOwnPropertyNames;var rr=Object.getPrototypeOf,tr=Object.prototype.hasOwnProperty;var er=(t,s)=>{for(var o in s)C(t,o,{get:s[o],enumerable:!0})},D=(t,s,o,r)=>{if(s&&typeof s=="object"||typeof s=="function")for(let p of j(s))!tr.call(t,p)&&p!==o&&C(t,p,{get:()=>s[p],enumerable:!(r=Z(s,p))||r.enumerable});return t};var nr=(t,s,o)=>(o=t!=null?Y(rr(t)):{},D(s||!t||!t.__esModule?C(o,"default",{value:t,enumerable:!0}):o,t)),sr=t=>D(C({},"__esModule",{value:!0}),t);var ir={};er(ir,{createApi:()=>or});module.exports=sr(ir);var I=nr(require("react"));var J=require("react");function _(t,s=[]){let o,r=[],p=u=>{let g=typeof u=="function"?u(o):u;o={...o,...g},r.forEach(w=>w())},S=()=>o,L=ar(p,S,s);o=t(L,S);let E=u=>(r.push(u),()=>{r=r.filter(g=>g!==u)});return(u=g=>g)=>(0,J.useSyncExternalStore)(E,()=>u(o))}var ar=(t,s,o)=>!o||o.length===0?t:o.reduceRight((r,p)=>p(t,s)(r),t);var $=async(t,s,o,r,p,S,L)=>{var w,M,T,F,A,K,c,b;s({isLoading:!0});let E,u,g=new Promise((y,n)=>{E=y,u=n});if(r!=null&&r.onQueryStarted)try{r.onQueryStarted(t,{queryFulfilled:g})}catch(y){}try{let y=null,n=null,i=o().cashExp,l=Date.now(),a=!1;if(L||JSON.stringify(o().arg||{})!==JSON.stringify(t||{})?a=!1:a=i>=l,a&&(y=o().data),!a&&(r!=null&&r.queryFnc)){s({isFetching:!0});let{data:e,error:h}=await((w=r==null?void 0:r.queryFnc)==null?void 0:w.call(r,t,p));e&&(y=e),h&&(n=h)}else{let e=r.queryFn(t);if(r!=null&&r.transformHeader&&(e.headers=await((M=r==null?void 0:r.transformHeader)==null?void 0:M.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))),!a){s({isFetching:!0});let{data:h,error:x}=await p(e);h&&(y=h),x&&(n=x)}}if(y&&(r!=null&&r.transformResponse&&(y=await((A=r.transformResponse)==null?void 0:A.call(r,y,(F=o())==null?void 0:F.data,t))),r!=null&&r.onSuccess&&await((K=r.onSuccess)==null?void 0:K.call(r,y,t))),n&&(r!=null&&r.transformError&&(n=await((c=r.transformError)==null?void 0:c.call(r,n,o().error,t))),r!=null&&r.onError&&await((b=r.onError)==null?void 0:b.call(r,n,t))),y){let e=null;return r.providesTags&&(typeof r.providesTags=="function"?e=r.providesTags(y):Array.isArray(r.providesTags)&&(e=r.providesTags)),s({data:y,isSuccess:!0,isLoading:!1,isFetching:!1,cashExp:a?i:Date.now()+S,arg:t,tags:e}),E==null||E({data:y}),{data:y}}return s({isLoading:!1,isSuccess:!1,isFetching:!1,isError:!0,error:n,arg:t}),u==null||u(n),{error:n}}catch(y){return s({isLoading:!1,isSuccess:!1,isFetching:!1,isError:!0,error:y,arg:t}),u==null||u(y),{error:y}}};async function H(t,s,o,r,p,S,L,E,u){var F,A,K;let g={arg:t,def:r,get:o,set:s};for(let c of u)await((F=c.beforeQuery)==null?void 0:F.call(c,g));let w=-1,M=async c=>{if(c<=w)throw new Error("next() called multiple times");w=c;let b=E[c];return b?b(g,()=>M(c+1)):$(t,s,o,r,p,S,L)},T=await M(0);for(let c of u)await((A=c.afterQuery)==null?void 0:A.call(c,T,g));if(T!=null&&T.error)for(let c of u)await((K=c.onError)==null?void 0:K.call(c,T.error,g));return T}function B(t){return t.charAt(0).toUpperCase()+t.slice(1)}function R(t,s){return`${t}__${JSON.stringify(s!=null?s:{})}`}function W(t,s){let o=typeof t=="string",r=typeof s=="string";if(o&&r)return t===s;if(!o&&!r){let p=t.type===s.type,S=!t.id||t.id===s.id;return p&&S}return!1}function or(t){let{baseQuery:s,endpoints:o,cacheTimeout:r=30*1e3,middlewares:p=[],plugins:S=[],tagTypes:L=[]}=t,u=o({query:n=>({type:"query",queryFn:n.query,...n}),mutation:n=>({type:"mutation",queryFn:n.query,...n})}),g={},w=(S||[]).filter(n=>n.middleware&&typeof n.middleware=="function").map(n=>n.middleware),M=new Map,T=new Map,F=(n,i)=>{let l=(i.plugins||[]).filter(e=>(e==null?void 0:e.middleware)&&typeof e.middleware=="function").map(e=>e.middleware),a={data:null,isLoading:!1,isError:!1,isSuccess:!1,error:null,reFetch:()=>{},query:()=>{}};if(i.type==="query"){let e=m=>{if(!M.has(m)){let q=_((f,d)=>(T.set(m,{set:f,get:d}),{data:null,isLoading:!1,isError:!1,isSuccess:!1,error:null,arg:null,cashExp:0,query:Q=>H(Q,f,d,i,s,r,!1,[...p,...i.middlewares||[],...l,...w],[...S,...i.plugins||[]]),reFetch:()=>{var Q;return H((Q=d())==null?void 0:Q.arg,f,d,i,s,r,!0,[...p,...i.middlewares||[],...l,...w],[...S,...i.plugins||[]])}}));M.set(m,q)}return M.get(m)};return{useQuery:(m,q)=>{let f=R(n,m),d=e(f),{skip:Q}=q||{},{query:k,error:v,isError:P,isLoading:z,isSuccess:O,reFetch:N,data:U}=d();return(0,I.useEffect)(()=>{Q||k(m)},[JSON.stringify(m||{})]),{error:v,isError:P,isLoading:z,isSuccess:O,data:U,reFetch:N}},useLazyQuery:()=>{let[m,q]=I.default.useState(void 0),[f,d]=I.default.useState(!1),Q=X=>{q(X),d(!0)},k=f&&m!==void 0?R(n,m):"__lazy__",v=e(k),{query:P,error:z,isError:O,isLoading:N,isSuccess:U,data:G,reFetch:V}=v();return(0,I.useEffect)(()=>{f&&P(m)},[f,JSON.stringify(m),P]),[Q,{error:z,isError:O,isLoading:N,isSuccess:U,data:G,reFetch:V}]}}}if(i.type==="mutation"){let e=null;return{useMutation:()=>{e||(e=_((k,v)=>({data:null,isLoading:!1,isError:!1,isSuccess:!1,error:null,arg:null,cashExp:0,query:P=>H(P,k,v,i,s,0,!1,[...p,...i.middlewares||[],...l,...w],[...S,...i.plugins||[]])})));let{query:x,error:m,isError:q,isLoading:f,isSuccess:d,data:Q}=e();return[x,{error:m,isError:q,isLoading:f,isSuccess:d,data:Q}]}}}};for(let n in u){let i=u[n],l=B(n),a=F(n,i);i.type==="query"&&(g[`use${l}Query`]=a==null?void 0:a.useQuery,g[`useLazy${l}Query`]=a==null?void 0:a.useLazyQuery),i.type==="mutation"&&(g[`use${l}Mutation`]=a==null?void 0:a.useMutation)}function A(n,i,l){var m;let a=R(n,i),e=T.get(a);if(!e)return;let h=(m=e.get())==null?void 0:m.data,x=l(h);return e.set({data:x}),{undo(){e.set({data:h})}}}function K(n,i){var e;let l=R(n,i),a=T.get(l);if(a)return(e=a.get())==null?void 0:e.data}function c(n){var i;if(!(!n||n.length===0))for(let[,l]of T.entries()){let a=l.get(),e=(a==null?void 0:a.tags)||[];n.some(x=>e.some(m=>W(x,m)))&&(l.set({cashExp:0}),(i=a==null?void 0:a.reFetch)==null||i.call(a))}}function b(){var n,i;for(let[,l]of T.entries())l.set({cashExp:0}),(i=(n=l.get())==null?void 0:n.reFetch)==null||i.call(n)}function y(n,i){var e,h;let l=R(n,i),a=T.get(l);a&&(a.set({cashExp:0}),(h=(e=a.get())==null?void 0:e.reFetch)==null||h.call(e))}return{...g,utils:{updateQueryData:A,invalidateTags:c,resetApiState:b,refetchQuery:y,getApiDraftData:K}}}0&&(module.exports={createApi});
|
package/dist/query/index.mjs
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
import{a as
|
|
1
|
+
import{a as N}from"../chunk-RXPCG2VZ.mjs";import $,{useEffect as B}from"react";var _=async(a,o,g,r,w,Q,k)=>{var S,F,l,x,M,K,i,q;o({isLoading:!0});let d,p,h=new Promise((u,e)=>{d=u,p=e});if(r!=null&&r.onQueryStarted)try{r.onQueryStarted(a,{queryFulfilled:h})}catch(u){}try{let u=null,e=null,s=g().cashExp,c=Date.now(),n=!1;if(k||JSON.stringify(g().arg||{})!==JSON.stringify(a||{})?n=!1:n=s>=c,n&&(u=g().data),!n&&(r!=null&&r.queryFnc)){o({isFetching:!0});let{data:t,error:m}=await((S=r==null?void 0:r.queryFnc)==null?void 0:S.call(r,a,w));t&&(u=t),m&&(e=m)}else{let t=r.queryFn(a);if(r!=null&&r.transformHeader&&(t.headers=await((F=r==null?void 0:r.transformHeader)==null?void 0:F.call(r,t==null?void 0:t.headers))),r!=null&&r.transformBody&&(t.body=await((l=r==null?void 0:r.transformBody)==null?void 0:l.call(r,t==null?void 0:t.body))),!n){o({isFetching:!0});let{data:m,error:A}=await w(t);m&&(u=m),A&&(e=A)}}if(u&&(r!=null&&r.transformResponse&&(u=await((M=r.transformResponse)==null?void 0:M.call(r,u,(x=g())==null?void 0:x.data,a))),r!=null&&r.onSuccess&&await((K=r.onSuccess)==null?void 0:K.call(r,u,a))),e&&(r!=null&&r.transformError&&(e=await((i=r.transformError)==null?void 0:i.call(r,e,g().error,a))),r!=null&&r.onError&&await((q=r.onError)==null?void 0:q.call(r,e,a))),u){let t=null;return r.providesTags&&(typeof r.providesTags=="function"?t=r.providesTags(u):Array.isArray(r.providesTags)&&(t=r.providesTags)),o({data:u,isSuccess:!0,isLoading:!1,isFetching:!1,cashExp:n?s:Date.now()+Q,arg:a,tags:t}),d==null||d({data:u}),{data:u}}return o({isLoading:!1,isSuccess:!1,isFetching:!1,isError:!0,error:e,arg:a}),p==null||p(e),{error:e}}catch(u){return o({isLoading:!1,isSuccess:!1,isFetching:!1,isError:!0,error:u,arg:a}),p==null||p(u),{error:u}}};async function H(a,o,g,r,w,Q,k,d,p){var x,M,K;let h={arg:a,def:r,get:g,set:o};for(let i of p)await((x=i.beforeQuery)==null?void 0:x.call(i,h));let S=-1,F=async i=>{if(i<=S)throw new Error("next() called multiple times");S=i;let q=d[i];return q?q(h,()=>F(i+1)):_(a,o,g,r,w,Q,k)},l=await F(0);for(let i of p)await((M=i.afterQuery)==null?void 0:M.call(i,l,h));if(l!=null&&l.error)for(let i of p)await((K=i.onError)==null?void 0:K.call(i,l.error,h));return l}function D(a){return a.charAt(0).toUpperCase()+a.slice(1)}function I(a,o){return`${a}__${JSON.stringify(o!=null?o:{})}`}function J(a,o){let g=typeof a=="string",r=typeof o=="string";if(g&&r)return a===o;if(!g&&!r){let w=a.type===o.type,Q=!a.id||a.id===o.id;return w&&Q}return!1}function nr(a){let{baseQuery:o,endpoints:g,cacheTimeout:r=30*1e3,middlewares:w=[],plugins:Q=[],tagTypes:k=[]}=a,p=g({query:e=>({type:"query",queryFn:e.query,...e}),mutation:e=>({type:"mutation",queryFn:e.query,...e})}),h={},S=(Q||[]).filter(e=>e.middleware&&typeof e.middleware=="function").map(e=>e.middleware),F=new Map,l=new Map,x=(e,s)=>{let c=(s.plugins||[]).filter(t=>(t==null?void 0:t.middleware)&&typeof t.middleware=="function").map(t=>t.middleware),n={data:null,isLoading:!1,isError:!1,isSuccess:!1,error:null,reFetch:()=>{},query:()=>{}};if(s.type==="query"){let t=y=>{if(!F.has(y)){let b=N((T,f)=>(l.set(y,{set:T,get:f}),{data:null,isLoading:!1,isError:!1,isSuccess:!1,error:null,arg:null,cashExp:0,query:E=>H(E,T,f,s,o,r,!1,[...w,...s.middlewares||[],...c,...S],[...Q,...s.plugins||[]]),reFetch:()=>{var E;return H((E=f())==null?void 0:E.arg,T,f,s,o,r,!0,[...w,...s.middlewares||[],...c,...S],[...Q,...s.plugins||[]])}}));F.set(y,b)}return F.get(y)};return{useQuery:(y,b)=>{let T=I(e,y),f=t(T),{skip:E}=b||{},{query:R,error:P,isError:L,isLoading:z,isSuccess:O,reFetch:v,data:C}=f();return B(()=>{E||R(y)},[JSON.stringify(y||{})]),{error:P,isError:L,isLoading:z,isSuccess:O,data:C,reFetch:v}},useLazyQuery:()=>{let[y,b]=$.useState(void 0),[T,f]=$.useState(!1),E=V=>{b(V),f(!0)},R=T&&y!==void 0?I(e,y):"__lazy__",P=t(R),{query:L,error:z,isError:O,isLoading:v,isSuccess:C,data:U,reFetch:G}=P();return B(()=>{T&&L(y)},[T,JSON.stringify(y),L]),[E,{error:z,isError:O,isLoading:v,isSuccess:C,data:U,reFetch:G}]}}}if(s.type==="mutation"){let t=null;return{useMutation:()=>{t||(t=N((R,P)=>({data:null,isLoading:!1,isError:!1,isSuccess:!1,error:null,arg:null,cashExp:0,query:L=>H(L,R,P,s,o,0,!1,[...w,...s.middlewares||[],...c,...S],[...Q,...s.plugins||[]])})));let{query:A,error:y,isError:b,isLoading:T,isSuccess:f,data:E}=t();return[A,{error:y,isError:b,isLoading:T,isSuccess:f,data:E}]}}}};for(let e in p){let s=p[e],c=D(e),n=x(e,s);s.type==="query"&&(h[`use${c}Query`]=n==null?void 0:n.useQuery,h[`useLazy${c}Query`]=n==null?void 0:n.useLazyQuery),s.type==="mutation"&&(h[`use${c}Mutation`]=n==null?void 0:n.useMutation)}function M(e,s,c){var y;let n=I(e,s),t=l.get(n);if(!t)return;let m=(y=t.get())==null?void 0:y.data,A=c(m);return t.set({data:A}),{undo(){t.set({data:m})}}}function K(e,s){var t;let c=I(e,s),n=l.get(c);if(n)return(t=n.get())==null?void 0:t.data}function i(e){var s;if(!(!e||e.length===0))for(let[,c]of l.entries()){let n=c.get(),t=(n==null?void 0:n.tags)||[];e.some(A=>t.some(y=>J(A,y)))&&(c.set({cashExp:0}),(s=n==null?void 0:n.reFetch)==null||s.call(n))}}function q(){var e,s;for(let[,c]of l.entries())c.set({cashExp:0}),(s=(e=c.get())==null?void 0:e.reFetch)==null||s.call(e)}function u(e,s){var t,m;let c=I(e,s),n=l.get(c);n&&(n.set({cashExp:0}),(m=(t=n.get())==null?void 0:t.reFetch)==null||m.call(t))}return{...h,utils:{updateQueryData:M,invalidateTags:i,resetApiState:q,refetchQuery:u,getApiDraftData:K}}}export{nr as createApi};
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "zustic",
|
|
3
|
-
"version": "1.1.
|
|
3
|
+
"version": "1.1.3",
|
|
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",
|