UNPKG

@reduxjs/toolkit

Version:

The official, opinionated, batteries-included toolset for efficient Redux development

2 lines 10.2 kB
"use strict";var me=Object.create;var G=Object.defineProperty;var Se=Object.getOwnPropertyDescriptor;var Be=Object.getOwnPropertyNames;var Pe=Object.getPrototypeOf,Ae=Object.prototype.hasOwnProperty;var he=(e,s)=>{for(var f in s)G(e,f,{get:s[f],enumerable:!0})},$=(e,s,f,D)=>{if(s&&typeof s=="object"||typeof s=="function")for(let U of Be(s))!Ae.call(e,U)&&U!==f&&G(e,U,{get:()=>s[U],enumerable:!(D=Se(s,U))||D.enumerable});return e},O=(e,s,f)=>($(e,s,"default"),f&&$(f,s,"default")),Ie=(e,s,f)=>(f=e!=null?me(Pe(e)):{},$(s||!e||!e.__esModule?G(f,"default",{value:e,enumerable:!0}):f,e)),Ue=e=>$(G({},"__esModule",{value:!0}),e);var E={};he(E,{ApiProvider:()=>Re,UNINITIALIZED_VALUE:()=>K,createApi:()=>Ne,reactHooksModule:()=>ye,reactHooksModuleName:()=>ue});module.exports=Ue(E);var d=require("@reduxjs/toolkit/query");var yt=require("@reduxjs/toolkit"),M=require("react-redux"),le=require("reselect");function W(e){return e.replace(e[0],e[0].toUpperCase())}var be="query",Ee="mutation",ke="infinitequery";function fe(e){return e.type===be}function Qe(e){return e.type===Ee}function Z(e){return e.type===ke}function q(e,...s){return Object.assign(e,...s)}var J=require("@reduxjs/toolkit");var t=require("react");var m=require("react-redux");var K=Symbol();function Y(e){let s=(0,t.useRef)(e),f=(0,t.useMemo)(()=>(0,d.copyWithStructuralSharing)(s.current,e),[e]);return(0,t.useEffect)(()=>{s.current!==f&&(s.current=f)},[f]),f}function C(e){let s=(0,t.useRef)(e);return(0,t.useEffect)(()=>{(0,m.shallowEqual)(s.current,e)||(s.current=e)},[e]),(0,m.shallowEqual)(s.current,e)?s.current:e}var Oe=()=>typeof window<"u"&&typeof window.document<"u"&&typeof window.document.createElement<"u",Me=Oe(),Fe=()=>typeof navigator<"u"&&navigator.product==="ReactNative",we=Fe(),ve=()=>Me||we?t.useLayoutEffect:t.useEffect,Ce=ve(),ce=e=>e.isUninitialized?{...e,isUninitialized:!1,isFetching:!0,isLoading:e.data===void 0,status:d.QueryStatus.pending}:e;function se(e,...s){let f={};return s.forEach(D=>{f[D]=e[D]}),f}var ae=["data","status","isLoading","isSuccess","isError","error"];function de({api:e,moduleOptions:{batch:s,hooks:{useDispatch:f,useSelector:D,useStore:U},unstable__sideEffectsInRender:b,createSelector:N},serializeQueryArgs:k,context:L}){let F=b?n=>n():t.useEffect,H=n=>n.current?.unsubscribe?.(),V=L.endpointDefinitions;return{buildQueryHooks:re,buildInfiniteQueryHooks:ge,buildMutationHook:Te,usePrefetch:_};function te(n,a,c){if(a?.endpointName&&n.isUninitialized){let{endpointName:y}=a,p=V[y];c!==d.skipToken&&k({queryArgs:a.originalArgs,endpointDefinition:p,endpointName:y})===k({queryArgs:c,endpointDefinition:p,endpointName:y})&&(a=void 0)}let o=n.isSuccess?n.data:a?.data;o===void 0&&(o=n.data);let u=o!==void 0,r=n.isLoading,i=(!a||a.isLoading||a.isUninitialized)&&!u&&r,Q=n.isSuccess||u&&(r&&!a?.isError||n.isUninitialized);return{...n,data:o,currentData:n.data,isFetching:r,isLoading:i,isSuccess:Q}}function B(n,a,c){if(a?.endpointName&&n.isUninitialized){let{endpointName:y}=a,p=V[y];c!==d.skipToken&&k({queryArgs:a.originalArgs,endpointDefinition:p,endpointName:y})===k({queryArgs:c,endpointDefinition:p,endpointName:y})&&(a=void 0)}let o=n.isSuccess?n.data:a?.data;o===void 0&&(o=n.data);let u=o!==void 0,r=n.isLoading,i=(!a||a.isLoading||a.isUninitialized)&&!u&&r,Q=n.isSuccess||r&&u;return{...n,data:o,currentData:n.data,isFetching:r,isLoading:i,isSuccess:Q}}function _(n,a){let c=f(),o=C(a);return(0,t.useCallback)((u,r)=>c(e.util.prefetch(n,u,{...o,...r})),[n,c,o])}function I(n,a,{refetchOnReconnect:c,refetchOnFocus:o,refetchOnMountOrArgChange:u,skip:r=!1,pollingInterval:i=0,skipPollingIfUnfocused:Q=!1,...y}={}){let{initiate:p}=e.endpoints[n],g=f(),P=(0,t.useRef)(void 0);if(!P.current){let v=g(e.internalActions.internal_getRTKQSubscriptions());P.current=v}let l=Y(r?d.skipToken:a),R=C({refetchOnReconnect:c,refetchOnFocus:o,pollingInterval:i,skipPollingIfUnfocused:Q}),x=y.initialPageParam,T=C(x),A=y.refetchCachedPages,h=C(A),S=(0,t.useRef)(void 0),{queryCacheKey:j,requestId:oe}=S.current||{},pe=!1;j&&oe&&(pe=P.current.isRequestSubscribed(j,oe));let ie=!pe&&S.current!==void 0;return F(()=>{ie&&(S.current=void 0)},[ie]),F(()=>{let v=S.current;if(typeof process<"u",l===d.skipToken){v?.unsubscribe(),S.current=void 0;return}let De=S.current?.subscriptionOptions;if(!v||v.arg!==l){v?.unsubscribe();let xe=g(p(l,{subscriptionOptions:R,forceRefetch:u,...Z(V[n])?{initialPageParam:T,refetchCachedPages:h}:{}}));S.current=xe}else R!==De&&v.updateSubscriptionOptions(R)},[g,p,u,l,R,ie,T,h,n]),[S,g,p,R]}function w(n,a){return(o,{skip:u=!1,selectFromResult:r}={})=>{let{select:i}=e.endpoints[n],Q=Y(u?d.skipToken:o),y=(0,t.useRef)(void 0),p=(0,t.useMemo)(()=>N([i(Q),(x,T)=>T,x=>Q],a,{memoizeOptions:{resultEqualityCheck:m.shallowEqual}}),[i,Q]),g=(0,t.useMemo)(()=>r?N([p],r,{devModeChecks:{identityFunctionCheck:"never"}}):p,[p,r]),P=D(x=>g(x,y.current),m.shallowEqual),l=U(),R=p(l.getState(),y.current);return Ce(()=>{y.current=R},[R]),P}}function z(n){(0,t.useEffect)(()=>()=>{H(n),n.current=void 0},[n])}function ne(n){if(!n.current)throw new Error((0,J.formatProdErrorMessage)(38));return n.current.refetch()}function re(n){let a=(u,r={})=>{let[i]=I(n,u,r);return z(i),(0,t.useMemo)(()=>({refetch:()=>ne(i)}),[i])},c=({refetchOnReconnect:u,refetchOnFocus:r,pollingInterval:i=0,skipPollingIfUnfocused:Q=!1}={})=>{let{initiate:y}=e.endpoints[n],p=f(),[g,P]=(0,t.useState)(K),l=(0,t.useRef)(void 0),R=C({refetchOnReconnect:u,refetchOnFocus:r,pollingInterval:i,skipPollingIfUnfocused:Q});F(()=>{let h=l.current?.subscriptionOptions;R!==h&&l.current?.updateSubscriptionOptions(R)},[R]);let x=(0,t.useRef)(R);F(()=>{x.current=R},[R]);let T=(0,t.useCallback)(function(h,S=!1){let j;return s(()=>{H(l),l.current=j=p(y(h,{subscriptionOptions:x.current,forceRefetch:!S})),P(h)}),j},[p,y]),A=(0,t.useCallback)(()=>{l.current?.queryCacheKey&&p(e.internalActions.removeQueryResult({queryCacheKey:l.current?.queryCacheKey}))},[p]);return(0,t.useEffect)(()=>()=>{H(l)},[]),(0,t.useEffect)(()=>{g!==K&&!l.current&&T(g,!0)},[g,T]),(0,t.useMemo)(()=>[T,g,{reset:A}],[T,g,A])},o=w(n,te);return{useQueryState:o,useQuerySubscription:a,useLazyQuerySubscription:c,useLazyQuery(u){let[r,i,{reset:Q}]=c(u),y=o(i,{...u,skip:i===K}),p=(0,t.useMemo)(()=>({lastArg:i}),[i]);return(0,t.useMemo)(()=>[r,{...y,reset:Q},p],[r,y,Q,p])},useQuery(u,r){let i=a(u,r),Q=o(u,{selectFromResult:u===d.skipToken||r?.skip?void 0:ce,...r}),y=se(Q,...ae);return(0,t.useDebugValue)(y),(0,t.useMemo)(()=>({...Q,...i}),[Q,i])}}}function ge(n){let a=(o,u={})=>{let[r,i,Q,y]=I(n,o,u),p=(0,t.useRef)(y);F(()=>{p.current=y},[y]);let g=u.refetchCachedPages,P=C(g),l=(0,t.useCallback)(function(T,A){let h;return s(()=>{H(r),r.current=h=i(Q(T,{subscriptionOptions:p.current,direction:A}))}),h},[r,i,Q]);z(r);let R=Y(u.skip?d.skipToken:o),x=(0,t.useCallback)(T=>{if(!r.current)throw new Error((0,J.formatProdErrorMessage)(38));let A={refetchCachedPages:T?.refetchCachedPages??P};return r.current.refetch(A)},[r,P]);return(0,t.useMemo)(()=>({trigger:l,refetch:x,fetchNextPage:()=>l(R,"forward"),fetchPreviousPage:()=>l(R,"backward")}),[x,l,R])},c=w(n,B);return{useInfiniteQueryState:c,useInfiniteQuerySubscription:a,useInfiniteQuery(o,u){let{refetch:r,fetchNextPage:i,fetchPreviousPage:Q}=a(o,u),y=c(o,{selectFromResult:o===d.skipToken||u?.skip?void 0:ce,...u}),p=se(y,...ae,"hasNextPage","hasPreviousPage");return(0,t.useDebugValue)(p),(0,t.useMemo)(()=>({...y,fetchNextPage:i,fetchPreviousPage:Q,refetch:r}),[y,i,Q,r])}}}function Te(n){return({selectFromResult:a,fixedCacheKey:c}={})=>{let{select:o,initiate:u}=e.endpoints[n],r=f(),[i,Q]=(0,t.useState)();(0,t.useEffect)(()=>()=>{i?.arg.fixedCacheKey||i?.reset()},[i]);let y=(0,t.useCallback)(function(h){let S=r(u(h,{fixedCacheKey:c}));return Q(S),S},[r,u,c]),{requestId:p}=i||{},g=(0,t.useMemo)(()=>o({fixedCacheKey:c,requestId:i?.requestId}),[c,i,o]),P=(0,t.useMemo)(()=>a?N([g],a):g,[a,g]),l=D(P,m.shallowEqual),R=c==null?i?.arg.originalArgs:void 0,x=(0,t.useCallback)(()=>{s(()=>{i&&Q(void 0),c&&r(e.internalActions.removeMutationResult({requestId:p,fixedCacheKey:c}))})},[r,c,i,p]),T=se(l,...ae,"endpointName");(0,t.useDebugValue)(T);let A=(0,t.useMemo)(()=>({...l,originalArgs:R,reset:x}),[l,R,x]);return(0,t.useMemo)(()=>[y,A],[y,A])}}}var ue=Symbol(),ye=({batch:e=M.batch,hooks:s={useDispatch:M.useDispatch,useSelector:M.useSelector,useStore:M.useStore},createSelector:f=le.createSelector,unstable__sideEffectsInRender:D=!1,...U}={})=>({name:ue,init(b,{serializeQueryArgs:N},k){let L=b,{buildQueryHooks:F,buildInfiniteQueryHooks:H,buildMutationHook:V,usePrefetch:te}=de({api:b,moduleOptions:{batch:e,hooks:s,unstable__sideEffectsInRender:D,createSelector:f},serializeQueryArgs:N,context:k});return q(L,{usePrefetch:te}),q(k,{batch:e}),{injectEndpoint(B,_){if(fe(_)){let{useQuery:I,useLazyQuery:w,useLazyQuerySubscription:z,useQueryState:ne,useQuerySubscription:re}=F(B);q(L.endpoints[B],{useQuery:I,useLazyQuery:w,useLazyQuerySubscription:z,useQueryState:ne,useQuerySubscription:re}),b[`use${W(B)}Query`]=I,b[`useLazy${W(B)}Query`]=w}if(Qe(_)){let I=V(B);q(L.endpoints[B],{useMutation:I}),b[`use${W(B)}Mutation`]=I}else if(Z(_)){let{useInfiniteQuery:I,useInfiniteQuerySubscription:w,useInfiniteQueryState:z}=H(B);q(L.endpoints[B],{useInfiniteQuery:I,useInfiniteQuerySubscription:w,useInfiniteQueryState:z}),b[`use${W(B)}InfiniteQuery`]=I}}}}});O(E,require("@reduxjs/toolkit/query"),module.exports);var X=require("@reduxjs/toolkit");var ee=Ie(require("react"));function Re(e){let s=e.context||m.ReactReduxContext;if((0,t.useContext)(s))throw new Error((0,X.formatProdErrorMessage)(35));let[D]=ee.useState(()=>(0,X.configureStore)({reducer:{[e.api.reducerPath]:e.api.reducer},middleware:U=>U().concat(e.api.middleware)}));return(0,t.useEffect)(()=>e.setupListeners===!1?void 0:(0,d.setupListeners)(D.dispatch,e.setupListeners),[e.setupListeners,D.dispatch]),ee.createElement(m.Provider,{store:D,context:s},e.children)}var Ne=(0,d.buildCreateApi)((0,d.coreModule)(),ye());0&&(module.exports={ApiProvider,UNINITIALIZED_VALUE,createApi,reactHooksModule,reactHooksModuleName,...require("@reduxjs/toolkit/query")}); //# sourceMappingURL=rtk-query-react.production.min.cjs.map