@reduxjs/toolkit
Version:
The official, opinionated, batteries-included toolset for efficient Redux development
2 lines • 29.8 kB
JavaScript
var he=(f=>(f.uninitialized="uninitialized",f.pending="pending",f.fulfilled="fulfilled",f.rejected="rejected",f))(he||{});function Ee(e){return{status:e,isUninitialized:e==="uninitialized",isLoading:e==="pending",isSuccess:e==="fulfilled",isError:e==="rejected"}}function Me(e){return new RegExp("(^|:)//").test(e)}var yt=e=>e.replace(/\/$/,""),dt=e=>e.replace(/^\//,"");function ke(e,n){if(!e)return n;if(!n)return e;if(Me(n))return n;let p=e.endsWith("/")||!n.startsWith("?")?"/":"";return e=yt(e),n=dt(n),`${e}${p}${n}`}var Qe=e=>[].concat(...e);function Be(){return typeof navigator>"u"||navigator.onLine===void 0?!0:navigator.onLine}function ve(){return typeof document>"u"?!0:document.visibilityState!=="hidden"}import{createAction as j,createSlice as $,createSelector as Pe,createAsyncThunk as Re,combineReducers as Fe,createNextState as ne,isAnyOf as re,isAllOf as ue,isAction as Ce,isPending as ye,isRejected as G,isFulfilled as I,isRejectedWithValue as Y,isAsyncThunkAction as xe,prepareAutoBatched as X,SHOULD_AUTOBATCH as ie,isPlainObject as _,nanoid as we}from"@reduxjs/toolkit";var Ie=_;function de(e,n){if(e===n||!(Ie(e)&&Ie(n)||Array.isArray(e)&&Array.isArray(n)))return n;let p=Object.keys(n),Q=Object.keys(e),f=p.length===Q.length,R=Array.isArray(n)?[]:{};for(let S of p)R[S]=de(e[S],n[S]),f&&(f=e[S]===R[S]);return f?e:R}var Oe=(...e)=>fetch(...e),pt=e=>e.status>=200&&e.status<=299,ct=e=>/ion\/(vnd\.api\+)?json/.test(e.get("content-type")||"");function qe(e){if(!_(e))return e;let n={...e};for(let[p,Q]of Object.entries(n))Q===void 0&&delete n[p];return n}function lt({baseUrl:e,prepareHeaders:n=y=>y,fetchFn:p=Oe,paramsSerializer:Q,isJsonContentType:f=ct,jsonContentType:R="application/json",jsonReplacer:S,timeout:D,responseHandler:k,validateStatus:m,...g}={}){return typeof fetch>"u"&&p===Oe&&console.warn("Warning: `fetch` is not available. Please supply a custom `fetchFn` property to use `fetchBaseQuery` on SSR environments."),async(i,t)=>{let{signal:d,getState:x,extra:c,endpoint:u,forced:o,type:a}=t,r,{url:s,headers:T=new Headers(g.headers),params:l=void 0,responseHandler:h=k??"json",validateStatus:A=m??pt,timeout:b=D,...E}=typeof i=="string"?{url:i}:i,M={...g,signal:d,...E};T=new Headers(qe(T)),M.headers=await n(T,{getState:x,extra:c,endpoint:u,forced:o,type:a})||T;let v=B=>typeof B=="object"&&(_(B)||Array.isArray(B)||typeof B.toJSON=="function");if(!M.headers.has("content-type")&&v(M.body)&&M.headers.set("content-type",R),v(M.body)&&f(M.headers)&&(M.body=JSON.stringify(M.body,S)),l){let B=~s.indexOf("?")?"&":"?",V=Q?Q(l):new URLSearchParams(qe(l));s+=B+V}s=ke(e,s);let P=new Request(s,M);r={request:new Request(s,M)};let F,W=!1,C=b&&setTimeout(()=>{W=!0,t.abort()},b);try{F=await p(P)}catch(B){return{error:{status:W?"TIMEOUT_ERROR":"FETCH_ERROR",error:String(B)},meta:r}}finally{C&&clearTimeout(C)}let O=F.clone();r.response=O;let q,H="";try{let B;if(await Promise.all([y(F,h).then(V=>q=V,V=>B=V),O.text().then(V=>H=V,()=>{})]),B)throw B}catch(B){return{error:{status:"PARSING_ERROR",originalStatus:F.status,data:H,error:String(B)},meta:r}}return A(F,q)?{data:q,meta:r}:{error:{status:F.status,data:q},meta:r}};async function y(i,t){if(typeof t=="function")return t(i);if(t==="content-type"&&(t=f(i.headers)?"json":"text"),t==="json"){let d=await i.text();return d.length?JSON.parse(d):null}return i.text()}}var N=class{constructor(n,p=void 0){this.value=n;this.meta=p}};async function ft(e=0,n=5){let p=Math.min(e,n),Q=~~((Math.random()+.4)*(300<<p));await new Promise(f=>setTimeout(R=>f(R),Q))}function mt(e){throw Object.assign(new N({error:e}),{throwImmediately:!0})}var Ne={},gt=(e,n)=>async(p,Q,f)=>{let R=[5,(n||Ne).maxRetries,(f||Ne).maxRetries].filter(g=>g!==void 0),[S]=R.slice(-1),k={maxRetries:S,backoff:ft,retryCondition:(g,y,{attempt:i})=>i<=S,...n,...f},m=0;for(;;)try{let g=await e(p,Q,f);if(g.error)throw new N(g);return g}catch(g){if(m++,g.throwImmediately){if(g instanceof N)return g.value;throw g}if(g instanceof N&&!k.retryCondition(g.value.error,p,{attempt:m,baseQueryApi:Q,extraOptions:f}))return g.value;await k.backoff(m,k.maxRetries)}},Tt=Object.assign(gt,{fail:mt});var L=j("__rtkq/focused"),Z=j("__rtkq/unfocused"),z=j("__rtkq/online"),ee=j("__rtkq/offline"),Se=!1;function ht(e,n){function p(){let Q=()=>e(L()),f=()=>e(Z()),R=()=>e(z()),S=()=>e(ee()),D=()=>{window.document.visibilityState==="visible"?Q():f()};return Se||typeof window<"u"&&window.addEventListener&&(window.addEventListener("visibilitychange",D,!1),window.addEventListener("focus",Q,!1),window.addEventListener("online",R,!1),window.addEventListener("offline",S,!1),Se=!0),()=>{window.removeEventListener("focus",Q),window.removeEventListener("visibilitychange",D),window.removeEventListener("online",R),window.removeEventListener("offline",S),Se=!1}}return n?n(e,{onFocus:L,onFocusLost:Z,onOffline:ee,onOnline:z}):p()}function ce(e){return e.type==="query"}function Ke(e){return e.type==="mutation"}function oe(e,n,p,Q,f,R){return Qt(e)?e(n,p,Q,f).map(pe).map(R):Array.isArray(e)?e.map(pe).map(R):[]}function Qt(e){return typeof e=="function"}function pe(e){return typeof e=="string"?{type:e}:e}import"@reduxjs/toolkit";function Ae(e){return e!=null}function K(e){let n=0;for(let p in e)n++;return n}function je(e,n){return e.catch(n)}var te=Symbol("forceQueryFn"),ae=e=>typeof e[te]=="function";function Ue({serializeQueryArgs:e,queryThunk:n,mutationThunk:p,api:Q,context:f}){let R=new Map,S=new Map,{unsubscribeQueryResult:D,removeMutationResult:k,updateSubscriptionOptions:m}=Q.internalActions;return{buildInitiateQuery:x,buildInitiateMutation:c,getRunningQueryThunk:g,getRunningMutationThunk:y,getRunningQueriesThunk:i,getRunningMutationsThunk:t};function g(u,o){return a=>{let r=f.endpointDefinitions[u],s=e({queryArgs:o,endpointDefinition:r,endpointName:u});return R.get(a)?.[s]}}function y(u,o){return a=>S.get(a)?.[o]}function i(){return u=>Object.values(R.get(u)||{}).filter(Ae)}function t(){return u=>Object.values(S.get(u)||{}).filter(Ae)}function d(u){}function x(u,o){let a=(r,{subscribe:s=!0,forceRefetch:T,subscriptionOptions:l,[te]:h}={})=>(A,b)=>{let E=e({queryArgs:r,endpointDefinition:o,endpointName:u}),M=n({type:"query",subscribe:s,forceRefetch:T,subscriptionOptions:l,endpointName:u,originalArgs:r,queryCacheKey:E,[te]:h}),v=Q.endpoints[u].select(r),P=A(M),w=v(b());let{requestId:F,abort:W}=P,C=w.requestId!==F,O=R.get(A)?.[E],q=()=>v(b()),H=Object.assign(h?P.then(q):C&&!O?Promise.resolve(w):Promise.all([O,P]).then(q),{arg:r,requestId:F,subscriptionOptions:l,queryCacheKey:E,abort:W,async unwrap(){let B=await H;if(B.isError)throw B.error;return B.data},refetch:()=>A(a(r,{subscribe:!1,forceRefetch:!0})),unsubscribe(){s&&A(D({queryCacheKey:E,requestId:F}))},updateSubscriptionOptions(B){H.subscriptionOptions=B,A(m({endpointName:u,requestId:F,queryCacheKey:E,options:B}))}});if(!O&&!C&&!h){let B=R.get(A)||{};B[E]=H,R.set(A,B),H.then(()=>{delete B[E],K(B)||R.delete(A)})}return H};return a}function c(u){return(o,{track:a=!0,fixedCacheKey:r}={})=>(s,T)=>{let l=p({type:"mutation",endpointName:u,originalArgs:o,track:a,fixedCacheKey:r}),h=s(l);let{requestId:A,abort:b,unwrap:E}=h,M=je(h.unwrap().then(F=>({data:F})),F=>({error:F})),v=()=>{s(k({requestId:A,fixedCacheKey:r}))},P=Object.assign(M,{arg:h.arg,requestId:A,abort:b,unwrap:E,reset:v}),w=S.get(s)||{};return S.set(s,w),w[A]=P,P.then(()=>{delete w[A],K(w)||S.delete(s)}),r&&(w[r]=P,P.then(()=>{w[r]===P&&(delete w[r],K(w)||S.delete(s))})),P}}}import{isDraftable as Rt,produceWithPatches as xt}from"immer";function He(e){return e}function _e({reducerPath:e,baseQuery:n,context:{endpointDefinitions:p},serializeQueryArgs:Q,api:f,assertTagType:R}){let S=(o,a,r,s)=>(T,l)=>{let h=p[o],A=Q({queryArgs:a,endpointDefinition:h,endpointName:o});if(T(f.internalActions.queryResultPatched({queryCacheKey:A,patches:r})),!s)return;let b=f.endpoints[o].select(a)(l()),E=oe(h.providesTags,b.data,void 0,a,{},R);T(f.internalActions.updateProvidedBy({queryCacheKey:A,providedTags:E}))},D=(o,a,r,s=!0)=>(T,l)=>{let A=f.endpoints[o].select(a)(l()),b={patches:[],inversePatches:[],undo:()=>T(f.util.patchQueryData(o,a,b.inversePatches,s))};if(A.status==="uninitialized")return b;let E;if("data"in A)if(Rt(A.data)){let[M,v,P]=xt(A.data,r);b.patches.push(...v),b.inversePatches.push(...P),E=M}else E=r(A.data),b.patches.push({op:"replace",path:[],value:E}),b.inversePatches.push({op:"replace",path:[],value:A.data});return T(f.util.patchQueryData(o,a,b.patches,s)),b},k=(o,a,r)=>s=>s(f.endpoints[o].initiate(a,{subscribe:!1,forceRefetch:!0,[te]:()=>({data:r})})),m=async(o,{signal:a,abort:r,rejectWithValue:s,fulfillWithValue:T,dispatch:l,getState:h,extra:A})=>{let b=p[o.endpointName];try{let E=He,M,v={signal:a,abort:r,dispatch:l,getState:h,extra:A,endpoint:o.endpointName,type:o.type,forced:o.type==="query"?g(o,h()):void 0},P=o.type==="query"?o[te]:void 0;if(P?M=P():b.query?(M=await n(b.query(o.originalArgs),v,b.extraOptions),b.transformResponse&&(E=b.transformResponse)):M=await b.queryFn(o.originalArgs,v,b.extraOptions,w=>n(w,v,b.extraOptions)),typeof process<"u",M.error)throw new N(M.error,M.meta);return T(await E(M.data,M.meta,o.originalArgs),{fulfilledTimeStamp:Date.now(),baseQueryMeta:M.meta,[ie]:!0})}catch(E){let M=E;if(M instanceof N){let v=He;b.query&&b.transformErrorResponse&&(v=b.transformErrorResponse);try{return s(await v(M.value,M.meta,o.originalArgs),{baseQueryMeta:M.meta,[ie]:!0})}catch(P){M=P}}throw typeof process<"u",console.error(M),M}};function g(o,a){let r=a[e]?.queries?.[o.queryCacheKey],s=a[e]?.config.refetchOnMountOrArgChange,T=r?.fulfilledTimeStamp,l=o.forceRefetch??(o.subscribe&&s);return l?l===!0||(Number(new Date)-Number(T))/1e3>=l:!1}let y=Re(`${e}/executeQuery`,m,{getPendingMeta(){return{startedTimeStamp:Date.now(),[ie]:!0}},condition(o,{getState:a}){let r=a(),s=r[e]?.queries?.[o.queryCacheKey],T=s?.fulfilledTimeStamp,l=o.originalArgs,h=s?.originalArgs,A=p[o.endpointName];return ae(o)?!0:s?.status==="pending"?!1:g(o,r)||ce(A)&&A?.forceRefetch?.({currentArg:l,previousArg:h,endpointState:s,state:r})?!0:!T},dispatchConditionRejection:!0}),i=Re(`${e}/executeMutation`,m,{getPendingMeta(){return{startedTimeStamp:Date.now(),[ie]:!0}}}),t=o=>"force"in o,d=o=>"ifOlderThan"in o,x=(o,a,r)=>(s,T)=>{let l=t(r)&&r.force,h=d(r)&&r.ifOlderThan,A=(E=!0)=>f.endpoints[o].initiate(a,{forceRefetch:E}),b=f.endpoints[o].select(a)(T());if(l)s(A());else if(h){let E=b?.fulfilledTimeStamp;if(!E){s(A());return}(Number(new Date)-Number(new Date(E)))/1e3>=h&&s(A())}else s(A(!1))};function c(o){return a=>a?.meta?.arg?.endpointName===o}function u(o,a){return{matchPending:ue(ye(o),c(a)),matchFulfilled:ue(I(o),c(a)),matchRejected:ue(G(o),c(a))}}return{queryThunk:y,mutationThunk:i,prefetch:x,updateQueryData:D,upsertQueryData:k,patchQueryData:S,buildMatchThunkActions:u}}function le(e,n,p,Q){return oe(p[e.meta.arg.endpointName][n],I(e)?e.payload:void 0,Y(e)?e.payload:void 0,e.meta.arg.originalArgs,"baseQueryMeta"in e.meta?e.meta.baseQueryMeta:void 0,Q)}import{isDraft as St}from"immer";import{applyPatches as Le,original as At}from"immer";function fe(e,n,p){let Q=e[n];Q&&p(Q)}function J(e){return("arg"in e?e.arg.fixedCacheKey:e.fixedCacheKey)??e.requestId}function ze(e,n,p){let Q=e[J(n)];Q&&p(Q)}var se={};function We({reducerPath:e,queryThunk:n,mutationThunk:p,context:{endpointDefinitions:Q,apiUid:f,extractRehydrationInfo:R,hasRehydrationInfo:S},assertTagType:D,config:k}){let m=j(`${e}/resetApiState`),g=$({name:`${e}/queries`,initialState:se,reducers:{removeQueryResult:{reducer(a,{payload:{queryCacheKey:r}}){delete a[r]},prepare:X()},queryResultPatched:{reducer(a,{payload:{queryCacheKey:r,patches:s}}){fe(a,r,T=>{T.data=Le(T.data,s.concat())})},prepare:X()}},extraReducers(a){a.addCase(n.pending,(r,{meta:s,meta:{arg:T}})=>{let l=ae(T);r[T.queryCacheKey]??={status:"uninitialized",endpointName:T.endpointName},fe(r,T.queryCacheKey,h=>{h.status="pending",h.requestId=l&&h.requestId?h.requestId:s.requestId,T.originalArgs!==void 0&&(h.originalArgs=T.originalArgs),h.startedTimeStamp=s.startedTimeStamp})}).addCase(n.fulfilled,(r,{meta:s,payload:T})=>{fe(r,s.arg.queryCacheKey,l=>{if(l.requestId!==s.requestId&&!ae(s.arg))return;let{merge:h}=Q[s.arg.endpointName];if(l.status="fulfilled",h)if(l.data!==void 0){let{fulfilledTimeStamp:A,arg:b,baseQueryMeta:E,requestId:M}=s,v=ne(l.data,P=>h(P,T,{arg:b.originalArgs,baseQueryMeta:E,fulfilledTimeStamp:A,requestId:M}));l.data=v}else l.data=T;else l.data=Q[s.arg.endpointName].structuralSharing??!0?de(St(l.data)?At(l.data):l.data,T):T;delete l.error,l.fulfilledTimeStamp=s.fulfilledTimeStamp})}).addCase(n.rejected,(r,{meta:{condition:s,arg:T,requestId:l},error:h,payload:A})=>{fe(r,T.queryCacheKey,b=>{if(!s){if(b.requestId!==l)return;b.status="rejected",b.error=A??h}})}).addMatcher(S,(r,s)=>{let{queries:T}=R(s);for(let[l,h]of Object.entries(T))(h?.status==="fulfilled"||h?.status==="rejected")&&(r[l]=h)})}}),y=$({name:`${e}/mutations`,initialState:se,reducers:{removeMutationResult:{reducer(a,{payload:r}){let s=J(r);s in a&&delete a[s]},prepare:X()}},extraReducers(a){a.addCase(p.pending,(r,{meta:s,meta:{requestId:T,arg:l,startedTimeStamp:h}})=>{l.track&&(r[J(s)]={requestId:T,status:"pending",endpointName:l.endpointName,startedTimeStamp:h})}).addCase(p.fulfilled,(r,{payload:s,meta:T})=>{T.arg.track&&ze(r,T,l=>{l.requestId===T.requestId&&(l.status="fulfilled",l.data=s,l.fulfilledTimeStamp=T.fulfilledTimeStamp)})}).addCase(p.rejected,(r,{payload:s,error:T,meta:l})=>{l.arg.track&&ze(r,l,h=>{h.requestId===l.requestId&&(h.status="rejected",h.error=s??T)})}).addMatcher(S,(r,s)=>{let{mutations:T}=R(s);for(let[l,h]of Object.entries(T))(h?.status==="fulfilled"||h?.status==="rejected")&&l!==h?.requestId&&(r[l]=h)})}}),i=$({name:`${e}/invalidation`,initialState:se,reducers:{updateProvidedBy:{reducer(a,r){let{queryCacheKey:s,providedTags:T}=r.payload;for(let l of Object.values(a))for(let h of Object.values(l)){let A=h.indexOf(s);A!==-1&&h.splice(A,1)}for(let{type:l,id:h}of T){let A=(a[l]??={})[h||"__internal_without_id"]??=[];A.includes(s)||A.push(s)}},prepare:X()}},extraReducers(a){a.addCase(g.actions.removeQueryResult,(r,{payload:{queryCacheKey:s}})=>{for(let T of Object.values(r))for(let l of Object.values(T)){let h=l.indexOf(s);h!==-1&&l.splice(h,1)}}).addMatcher(S,(r,s)=>{let{provided:T}=R(s);for(let[l,h]of Object.entries(T))for(let[A,b]of Object.entries(h)){let E=(r[l]??={})[A||"__internal_without_id"]??=[];for(let M of b)E.includes(M)||E.push(M)}}).addMatcher(re(I(n),Y(n)),(r,s)=>{let T=le(s,"providesTags",Q,D),{queryCacheKey:l}=s.meta.arg;i.caseReducers.updateProvidedBy(r,i.actions.updateProvidedBy({queryCacheKey:l,providedTags:T}))})}}),t=$({name:`${e}/subscriptions`,initialState:se,reducers:{updateSubscriptionOptions(a,r){},unsubscribeQueryResult(a,r){},internal_getRTKQSubscriptions(){}}}),d=$({name:`${e}/internalSubscriptions`,initialState:se,reducers:{subscriptionsUpdated:{reducer(a,r){return Le(a,r.payload)},prepare:X()}}}),x=$({name:`${e}/config`,initialState:{online:Be(),focused:ve(),middlewareRegistered:!1,...k},reducers:{middlewareRegistered(a,{payload:r}){a.middlewareRegistered=a.middlewareRegistered==="conflict"||f!==r?"conflict":!0}},extraReducers:a=>{a.addCase(z,r=>{r.online=!0}).addCase(ee,r=>{r.online=!1}).addCase(L,r=>{r.focused=!0}).addCase(Z,r=>{r.focused=!1}).addMatcher(S,r=>({...r}))}}),c=Fe({queries:g.reducer,mutations:y.reducer,provided:i.reducer,subscriptions:d.reducer,config:x.reducer}),u=(a,r)=>c(m.match(r)?void 0:a,r),o={...x.actions,...g.actions,...t.actions,...d.actions,...y.actions,...i.actions,resetApiState:m};return{reducer:u,actions:o}}var me=Symbol.for("RTKQ/skipToken"),Je={status:"uninitialized"},Ve=ne(Je,()=>{}),$e=ne(Je,()=>{});function Ge({serializeQueryArgs:e,reducerPath:n,createSelector:p}){let Q=y=>Ve,f=y=>$e;return{buildQuerySelector:D,buildMutationSelector:k,selectInvalidatedBy:m,selectCachedArgsForQuery:g};function R(y){return{...y,...Ee(y.status)}}function S(y){return y[n]}function D(y,i){return t=>{let d=e({queryArgs:t,endpointDefinition:i,endpointName:y});return p(t===me?Q:u=>S(u)?.queries?.[d]??Ve,R)}}function k(){return y=>{let i;return typeof y=="object"?i=J(y)??me:i=y,p(i===me?f:x=>S(x)?.mutations?.[i]??$e,R)}}function m(y,i){let t=y[n],d=new Set;for(let x of i.map(pe)){let c=t.provided[x.type];if(!c)continue;let u=(x.id!==void 0?c[x.id]:Qe(Object.values(c)))??[];for(let o of u)d.add(o)}return Qe(Array.from(d.values()).map(x=>{let c=t.queries[x];return c?[{queryCacheKey:x,endpointName:c.endpointName,originalArgs:c.originalArgs}]:[]}))}function g(y,i){return Object.values(y[n].queries).filter(t=>t?.endpointName===i&&t.status!=="uninitialized").map(t=>t.originalArgs)}}var Ye=WeakMap?new WeakMap:void 0,ge=({endpointName:e,queryArgs:n})=>{let p="",Q=Ye?.get(n);if(typeof Q=="string")p=Q;else{let f=JSON.stringify(n,(R,S)=>_(S)?Object.keys(S).sort().reduce((D,k)=>(D[k]=S[k],D),{}):S);_(n)&&Ye?.set(n,f),p=f}return`${e}(${p})`};import{weakMapMemoize as Xe}from"reselect";function De(...e){return function(p){let Q=Xe(m=>p.extractRehydrationInfo?.(m,{reducerPath:p.reducerPath??"api"})),f={reducerPath:"api",keepUnusedDataFor:60,refetchOnMountOrArgChange:!1,refetchOnFocus:!1,refetchOnReconnect:!1,invalidationBehavior:"delayed",...p,extractRehydrationInfo:Q,serializeQueryArgs(m){let g=ge;if("serializeQueryArgs"in m.endpointDefinition){let y=m.endpointDefinition.serializeQueryArgs;g=i=>{let t=y(i);return typeof t=="string"?t:ge({...i,queryArgs:t})}}else p.serializeQueryArgs&&(g=p.serializeQueryArgs);return g(m)},tagTypes:[...p.tagTypes||[]]},R={endpointDefinitions:{},batch(m){m()},apiUid:we(),extractRehydrationInfo:Q,hasRehydrationInfo:Xe(m=>Q(m)!=null)},S={injectEndpoints:k,enhanceEndpoints({addTagTypes:m,endpoints:g}){if(m)for(let y of m)f.tagTypes.includes(y)||f.tagTypes.push(y);if(g)for(let[y,i]of Object.entries(g))typeof i=="function"?i(R.endpointDefinitions[y]):Object.assign(R.endpointDefinitions[y]||{},i);return S}},D=e.map(m=>m.init(S,f,R));function k(m){let g=m.endpoints({query:y=>({...y,type:"query"}),mutation:y=>({...y,type:"mutation"})});for(let[y,i]of Object.entries(g)){if(!m.overrideExisting&&y in R.endpointDefinitions){typeof process<"u";continue}R.endpointDefinitions[y]=i;for(let t of D)t.injectEndpoint(y,i)}return S}return S.injectEndpoints({endpoints:p.endpoints})}}import{formatProdErrorMessage as Dt}from"@reduxjs/toolkit";function bt(){return function(){throw new Error(Dt(33))}}function Et(e){for(let n in e)return!1;return!0}var Mt=2147483647/1e3-1,Ze=({reducerPath:e,api:n,context:p,internalState:Q})=>{let{removeQueryResult:f,unsubscribeQueryResult:R}=n.internalActions;function S(g){let y=Q.currentSubscriptions[g];return!!y&&!Et(y)}let D={},k=(g,y,i)=>{if(R.match(g)){let t=y.getState()[e],{queryCacheKey:d}=g.payload;m(d,t.queries[d]?.endpointName,y,t.config)}if(n.util.resetApiState.match(g))for(let[t,d]of Object.entries(D))d&&clearTimeout(d),delete D[t];if(p.hasRehydrationInfo(g)){let t=y.getState()[e],{queries:d}=p.extractRehydrationInfo(g);for(let[x,c]of Object.entries(d))m(x,c?.endpointName,y,t.config)}};function m(g,y,i,t){let x=p.endpointDefinitions[y]?.keepUnusedDataFor??t.keepUnusedDataFor;if(x===1/0)return;let c=Math.max(0,Math.min(x,Mt));if(!S(g)){let u=D[g];u&&clearTimeout(u),D[g]=setTimeout(()=>{S(g)||i.dispatch(f({queryCacheKey:g})),delete D[g]},c*1e3)}}return k};var et=({reducerPath:e,context:n,context:{endpointDefinitions:p},mutationThunk:Q,queryThunk:f,api:R,assertTagType:S,refetchQuery:D,internalState:k})=>{let{removeQueryResult:m}=R.internalActions,g=re(I(Q),Y(Q)),y=re(I(Q,f),G(Q,f)),i=[],t=(c,u)=>{g(c)?x(le(c,"invalidatesTags",p,S),u):y(c)?x([],u):R.util.invalidateTags.match(c)&&x(oe(c.payload,void 0,void 0,void 0,void 0,S),u)};function d(c){for(let u in c.queries)if(c.queries[u]?.status==="pending")return!0;for(let u in c.mutations)if(c.mutations[u]?.status==="pending")return!0;return!1}function x(c,u){let o=u.getState(),a=o[e];if(i.push(...c),a.config.invalidationBehavior==="delayed"&&d(a))return;let r=i;if(i=[],r.length===0)return;let s=R.util.selectInvalidatedBy(o,r);n.batch(()=>{let T=Array.from(s.values());for(let{queryCacheKey:l}of T){let h=a.queries[l],A=k.currentSubscriptions[l]??{};h&&(K(A)===0?u.dispatch(m({queryCacheKey:l})):h.status!=="uninitialized"&&u.dispatch(D(h,l)))}})}return t};var tt=({reducerPath:e,queryThunk:n,api:p,refetchQuery:Q,internalState:f})=>{let R={},S=(i,t)=>{(p.internalActions.updateSubscriptionOptions.match(i)||p.internalActions.unsubscribeQueryResult.match(i))&&k(i.payload,t),(n.pending.match(i)||n.rejected.match(i)&&i.meta.condition)&&k(i.meta.arg,t),(n.fulfilled.match(i)||n.rejected.match(i)&&!i.meta.condition)&&D(i.meta.arg,t),p.util.resetApiState.match(i)&&g()};function D({queryCacheKey:i},t){let d=t.getState()[e],x=d.queries[i],c=f.currentSubscriptions[i];if(!x||x.status==="uninitialized")return;let{lowestPollingInterval:u,skipPollingIfUnfocused:o}=y(c);if(!Number.isFinite(u))return;let a=R[i];a?.timeout&&(clearTimeout(a.timeout),a.timeout=void 0);let r=Date.now()+u;R[i]={nextPollTimestamp:r,pollingInterval:u,timeout:setTimeout(()=>{(d.config.focused||!o)&&t.dispatch(Q(x,i)),D({queryCacheKey:i},t)},u)}}function k({queryCacheKey:i},t){let x=t.getState()[e].queries[i],c=f.currentSubscriptions[i];if(!x||x.status==="uninitialized")return;let{lowestPollingInterval:u}=y(c);if(!Number.isFinite(u)){m(i);return}let o=R[i],a=Date.now()+u;(!o||a<o.nextPollTimestamp)&&D({queryCacheKey:i},t)}function m(i){let t=R[i];t?.timeout&&clearTimeout(t.timeout),delete R[i]}function g(){for(let i of Object.keys(R))m(i)}function y(i={}){let t=!1,d=Number.POSITIVE_INFINITY;for(let x in i)i[x].pollingInterval&&(d=Math.min(i[x].pollingInterval,d),t=i[x].skipPollingIfUnfocused||t);return{lowestPollingInterval:d,skipPollingIfUnfocused:t}}return S};var nt=({reducerPath:e,context:n,api:p,refetchQuery:Q,internalState:f})=>{let{removeQueryResult:R}=p.internalActions,S=(k,m)=>{L.match(k)&&D(m,"refetchOnFocus"),z.match(k)&&D(m,"refetchOnReconnect")};function D(k,m){let g=k.getState()[e],y=g.queries,i=f.currentSubscriptions;n.batch(()=>{for(let t of Object.keys(i)){let d=y[t],x=i[t];if(!x||!d)continue;(Object.values(x).some(u=>u[m]===!0)||Object.values(x).every(u=>u[m]===void 0)&&g.config[m])&&(K(x)===0?k.dispatch(R({queryCacheKey:t})):d.status!=="uninitialized"&&k.dispatch(Q(d,t)))}})}return S};var rt=new Error("Promise never resolved before cacheEntryRemoved."),it=({api:e,reducerPath:n,context:p,queryThunk:Q,mutationThunk:f,internalState:R})=>{let S=xe(Q),D=xe(f),k=I(Q,f),m={},g=(t,d,x)=>{let c=y(t);if(Q.pending.match(t)){let u=x[n].queries[c],o=d.getState()[n].queries[c];!u&&o&&i(t.meta.arg.endpointName,t.meta.arg.originalArgs,c,d,t.meta.requestId)}else if(f.pending.match(t))d.getState()[n].mutations[c]&&i(t.meta.arg.endpointName,t.meta.arg.originalArgs,c,d,t.meta.requestId);else if(k(t)){let u=m[c];u?.valueResolved&&(u.valueResolved({data:t.payload,meta:t.meta.baseQueryMeta}),delete u.valueResolved)}else if(e.internalActions.removeQueryResult.match(t)||e.internalActions.removeMutationResult.match(t)){let u=m[c];u&&(delete m[c],u.cacheEntryRemoved())}else if(e.util.resetApiState.match(t))for(let[u,o]of Object.entries(m))delete m[u],o.cacheEntryRemoved()};function y(t){return S(t)?t.meta.arg.queryCacheKey:D(t)?t.meta.arg.fixedCacheKey??t.meta.requestId:e.internalActions.removeQueryResult.match(t)?t.payload.queryCacheKey:e.internalActions.removeMutationResult.match(t)?J(t.payload):""}function i(t,d,x,c,u){let o=p.endpointDefinitions[t],a=o?.onCacheEntryAdded;if(!a)return;let r={},s=new Promise(E=>{r.cacheEntryRemoved=E}),T=Promise.race([new Promise(E=>{r.valueResolved=E}),s.then(()=>{throw rt})]);T.catch(()=>{}),m[x]=r;let l=e.endpoints[t].select(o.type==="query"?d:x),h=c.dispatch((E,M,v)=>v),A={...c,getCacheEntry:()=>l(c.getState()),requestId:u,extra:h,updateCachedData:o.type==="query"?E=>c.dispatch(e.util.updateQueryData(t,d,E)):void 0,cacheDataLoaded:T,cacheEntryRemoved:s},b=a(d,A);Promise.resolve(b).catch(E=>{if(E!==rt)throw E})}return g};var ot=({api:e,context:n,queryThunk:p,mutationThunk:Q})=>{let f=ye(p,Q),R=G(p,Q),S=I(p,Q),D={};return(m,g)=>{if(f(m)){let{requestId:y,arg:{endpointName:i,originalArgs:t}}=m.meta,d=n.endpointDefinitions[i],x=d?.onQueryStarted;if(x){let c={},u=new Promise((s,T)=>{c.resolve=s,c.reject=T});u.catch(()=>{}),D[y]=c;let o=e.endpoints[i].select(d.type==="query"?t:y),a=g.dispatch((s,T,l)=>l),r={...g,getCacheEntry:()=>o(g.getState()),requestId:y,extra:a,updateCachedData:d.type==="query"?s=>g.dispatch(e.util.updateQueryData(i,t,s)):void 0,queryFulfilled:u};x(t,r)}}else if(S(m)){let{requestId:y,baseQueryMeta:i}=m.meta;D[y]?.resolve({data:m.payload,meta:i}),delete D[y]}else if(R(m)){let{requestId:y,rejectedWithValue:i,baseQueryMeta:t}=m.meta;D[y]?.reject({error:m.payload??m.error,isUnhandledError:!i,meta:t}),delete D[y]}}};var at=({api:e,context:{apiUid:n},reducerPath:p})=>(Q,f)=>{e.util.resetApiState.match(Q)&&f.dispatch(e.internalActions.middlewareRegistered(n)),typeof process<"u"};import{produceWithPatches as kt}from"immer";var st=({api:e,queryThunk:n,internalState:p})=>{let Q=`${e.reducerPath}/subscriptions`,f=null,R=null,{updateSubscriptionOptions:S,unsubscribeQueryResult:D}=e.internalActions,k=(t,d)=>{if(S.match(d)){let{queryCacheKey:c,requestId:u,options:o}=d.payload;return t?.[c]?.[u]&&(t[c][u]=o),!0}if(D.match(d)){let{queryCacheKey:c,requestId:u}=d.payload;return t[c]&&delete t[c][u],!0}if(e.internalActions.removeQueryResult.match(d))return delete t[d.payload.queryCacheKey],!0;if(n.pending.match(d)){let{meta:{arg:c,requestId:u}}=d,o=t[c.queryCacheKey]??={};return o[`${u}_running`]={},c.subscribe&&(o[u]=c.subscriptionOptions??o[u]??{}),!0}let x=!1;if(n.fulfilled.match(d)||n.rejected.match(d)){let c=t[d.meta.arg.queryCacheKey]||{},u=`${d.meta.requestId}_running`;x||=!!c[u],delete c[u]}if(n.rejected.match(d)){let{meta:{condition:c,arg:u,requestId:o}}=d;if(c&&u.subscribe){let a=t[u.queryCacheKey]??={};a[o]=u.subscriptionOptions??a[o]??{},x=!0}}return x},m=()=>p.currentSubscriptions,i={getSubscriptions:m,getSubscriptionCount:t=>{let x=m()[t]??{};return K(x)},isRequestSubscribed:(t,d)=>!!m()?.[t]?.[d]};return(t,d)=>{if(f||(f=JSON.parse(JSON.stringify(p.currentSubscriptions))),e.util.resetApiState.match(t))return f=p.currentSubscriptions={},R=null,[!0,!1];if(e.internalActions.internal_getRTKQSubscriptions.match(t))return[!1,i];let x=k(p.currentSubscriptions,t),c=!0;if(x){R||(R=setTimeout(()=>{let a=JSON.parse(JSON.stringify(p.currentSubscriptions)),[,r]=kt(f,()=>a);d.next(e.internalActions.subscriptionsUpdated(r)),f=a,R=null},500));let u=typeof t.type=="string"&&!!t.type.startsWith(Q),o=n.rejected.match(t)&&t.meta.condition&&!!t.meta.arg.subscribe;c=!u&&!o}return[c,!1]}};function ut(e){let{reducerPath:n,queryThunk:p,api:Q,context:f}=e,{apiUid:R}=f,S={invalidateTags:j(`${n}/invalidateTags`)},D=y=>y.type.startsWith(`${n}/`),k=[at,Ze,et,tt,it,ot];return{middleware:y=>{let i=!1,d={...e,internalState:{currentSubscriptions:{}},refetchQuery:g,isThisApiSliceAction:D},x=k.map(o=>o(d)),c=st(d),u=nt(d);return o=>a=>{if(!Ce(a))return o(a);i||(i=!0,y.dispatch(Q.internalActions.middlewareRegistered(R)));let r={...y,next:o},s=y.getState(),[T,l]=c(a,r,s),h;if(T?h=o(a):h=l,y.getState()[n]&&(u(a,r,s),D(a)||f.hasRehydrationInfo(a)))for(let A of x)A(a,r,s);return h}},actions:S};function g(y,i,t={}){return p({type:"query",endpointName:y.endpointName,originalArgs:y.originalArgs,subscribe:!1,forceRefetch:!0,queryCacheKey:i,...t})}}function U(e,...n){return Object.assign(e,...n)}import{enablePatches as Bt}from"immer";var Te=Symbol(),be=({createSelector:e=Pe}={})=>({name:Te,init(n,{baseQuery:p,tagTypes:Q,reducerPath:f,serializeQueryArgs:R,keepUnusedDataFor:S,refetchOnMountOrArgChange:D,refetchOnFocus:k,refetchOnReconnect:m,invalidationBehavior:g},y){Bt();let i=C=>(typeof process<"u",C);Object.assign(n,{reducerPath:f,endpoints:{},internalActions:{onOnline:z,onOffline:ee,onFocus:L,onFocusLost:Z},util:{}});let{queryThunk:t,mutationThunk:d,patchQueryData:x,updateQueryData:c,upsertQueryData:u,prefetch:o,buildMatchThunkActions:a}=_e({baseQuery:p,reducerPath:f,context:y,api:n,serializeQueryArgs:R,assertTagType:i}),{reducer:r,actions:s}=We({context:y,queryThunk:t,mutationThunk:d,reducerPath:f,assertTagType:i,config:{refetchOnFocus:k,refetchOnReconnect:m,refetchOnMountOrArgChange:D,keepUnusedDataFor:S,reducerPath:f,invalidationBehavior:g}});U(n.util,{patchQueryData:x,updateQueryData:c,upsertQueryData:u,prefetch:o,resetApiState:s.resetApiState}),U(n.internalActions,s);let{middleware:T,actions:l}=ut({reducerPath:f,context:y,queryThunk:t,mutationThunk:d,api:n,assertTagType:i});U(n.util,l),U(n,{reducer:r,middleware:T});let{buildQuerySelector:h,buildMutationSelector:A,selectInvalidatedBy:b,selectCachedArgsForQuery:E}=Ge({serializeQueryArgs:R,reducerPath:f,createSelector:e});U(n.util,{selectInvalidatedBy:b,selectCachedArgsForQuery:E});let{buildInitiateQuery:M,buildInitiateMutation:v,getRunningMutationThunk:P,getRunningMutationsThunk:w,getRunningQueriesThunk:F,getRunningQueryThunk:W}=Ue({queryThunk:t,mutationThunk:d,api:n,serializeQueryArgs:R,context:y});return U(n.util,{getRunningMutationThunk:P,getRunningMutationsThunk:w,getRunningQueryThunk:W,getRunningQueriesThunk:F}),{name:Te,injectEndpoint(C,O){let q=n;q.endpoints[C]??={},ce(O)?U(q.endpoints[C],{name:C,select:h(C,O),initiate:M(C,O)},a(t,C)):Ke(O)&&U(q.endpoints[C],{name:C,select:A(),initiate:v(C)},a(d,C))}}}});var vt=De(be());export{he as QueryStatus,De as buildCreateApi,de as copyWithStructuralSharing,be as coreModule,Te as coreModuleName,vt as createApi,ge as defaultSerializeQueryArgs,bt as fakeBaseQuery,lt as fetchBaseQuery,Tt as retry,ht as setupListeners,me as skipToken};
//# sourceMappingURL=rtk-query.browser.mjs.map