@terrxo/query-key-factory
Version:
A library for creating standardized query keys, useful for cache management in @tanstack/query
2 lines • 3.77 kB
JavaScript
;var M=Object.defineProperty;var _=Object.getOwnPropertyDescriptor;var k=Object.getOwnPropertyNames;var b=Object.prototype.hasOwnProperty;var g=(a,s)=>{for(var c in s)M(a,c,{get:s[c],enumerable:!0})},D=(a,s,c,o)=>{if(s&&typeof s=="object"||typeof s=="function")for(let u of k(s))!b.call(a,u)&&u!==c&&M(a,u,{get:()=>s[u],enumerable:!(o=_(s,u))||o.enumerable});return a};var P=a=>D(M({},"__esModule",{value:!0}),a);var j={};g(j,{createMutationKeys:()=>R,createQueryKeyStore:()=>q,createQueryKeys:()=>x,mergeQueryKeys:()=>O});module.exports=P(j);var h=a=>{let s=Object.keys(a).sort((o,u)=>o.localeCompare(u));if(s.some(o=>o.startsWith("_")))throw new Error('Keys that start with "_" are reserved for Query Key Factory');return s};function e(a){return Object.assign(Object.create(null),a)}function x(a,s){let c={_def:[a]};if(s==null)return e(c);let o=(l,p)=>h(l).reduce((F,d)=>{let t=l[d],n=[...p,d],S=y=>Array.isArray(y),m;if(typeof t=="function"){let y=(...i)=>{let r=t(...i);if(S(r))return e({queryKey:[...n,...r]});let K=[...n,...r.queryKey];if("queryFn"in r){let f={queryKey:K,queryFn:r.queryFn};if("contextQueries"in r){let Q=o(r.contextQueries,K);return e({_ctx:e(Object.fromEntries(Q)),...f})}return e({...f})}if("contextQueries"in r){let f=o(r.contextQueries,K);return e({_ctx:e(Object.fromEntries(f)),queryKey:K})}return e({queryKey:K})};y._def=n,m=y}else if(t==null)m=e({queryKey:n});else if(S(t))m=e({_def:n,queryKey:[...n,...t]});else if("queryFn"in t){let y={...t.queryKey?{_def:n}:void 0},i=[...n,...t.queryKey??[]],r={queryKey:i,queryFn:t.queryFn};if("contextQueries"in t){let K=o(t.contextQueries,i);m=e({_ctx:e(Object.fromEntries(K)),...y,...r})}else m=e({...y,...r})}else if("contextQueries"in t){let y={...t.queryKey?{_def:n}:void 0},i=[...n,...t.queryKey??[]],r=o(t.contextQueries,i);m=e({_ctx:e(Object.fromEntries(r)),queryKey:i,...y})}else{let y={...t.queryKey?{_def:n}:void 0},i=[...n,...t.queryKey??[]];m=e({queryKey:i,...y})}return F.set(d,m),F},new Map),u=o(s,c._def);return e({...Object.fromEntries(u),...c})}function q(a){let c=Object.keys(a).reduce((o,u)=>{let l=a[u],p=l?x(u,l):x(u);return o.set(u,p),o},new Map);return e(Object.fromEntries(c))}function R(a,s){let c={_def:[a]};if(s==null)return e(c);let o=(l,p)=>h(l).reduce((F,d)=>{let t=l[d],n=[...p,d],S=y=>Array.isArray(y),m;if(typeof t=="function"){let y=(...i)=>{let r=t(...i);if(S(r))return e({mutationKey:[...n,...r]});let K=[...n,...r.mutationKey];if("mutationFn"in r){let f={mutationKey:K,mutationFn:r.mutationFn};if("contextMutations"in r){let Q=o(r.contextMutations,K);return e({_ctx:e(Object.fromEntries(Q)),...f})}return e({...f})}if("contextMutations"in r){let f=o(r.contextMutations,K);return e({_ctx:e(Object.fromEntries(f)),mutationKey:K})}return e({mutationKey:K})};y._def=n,m=y}else if(t==null)m=e({mutationKey:n});else if(S(t))m=e({_def:n,mutationKey:[...n,...t]});else if("mutationFn"in t){let y={...t.mutationKey?{_def:n}:void 0},i=[...n,...t.mutationKey??[]],r={mutationKey:i,mutationFn:t.mutationFn};if("contextMutations"in t){let K=o(t.contextMutations,i);m=e({_ctx:e(Object.fromEntries(K)),...y,...r})}else m=e({...y,...r})}else if("contextMutations"in t){let y={...t.mutationKey?{_def:n}:void 0},i=[...n,...t.mutationKey??[]],r=o(t.contextMutations,i);m=e({_ctx:e(Object.fromEntries(r)),mutationKey:i,...y})}else{let y={...t.mutationKey?{_def:n}:void 0},i=[...n,...t.mutationKey??[]];m=e({mutationKey:i,...y})}return F.set(d,m),F},new Map),u=o(s,c._def);return e({...Object.fromEntries(u),...c})}function O(...a){let s=a.reduce((c,o)=>{let[u]=o._def;return c.set(u,{...c.get(u),...o}),c},new Map);return e(Object.fromEntries(s))}0&&(module.exports={createMutationKeys,createQueryKeyStore,createQueryKeys,mergeQueryKeys});
//# sourceMappingURL=index.js.map