react-redux
Version:
Official React bindings for Redux
6 lines (5 loc) • 9.45 kB
JavaScript
import*as p from"react";var Ee=p.version.startsWith("19"),ke=Symbol.for(Ee?"react.transitional.element":"react.element"),Fe=Symbol.for("react.portal"),Ae=Symbol.for("react.fragment"),ve=Symbol.for("react.strict_mode"),Ne=Symbol.for("react.profiler"),_e=Symbol.for("react.consumer"),Ie=Symbol.for("react.context"),ue=Symbol.for("react.forward_ref"),Ve=Symbol.for("react.suspense"),We=Symbol.for("react.suspense_list"),te=Symbol.for("react.memo"),Ue=Symbol.for("react.lazy");var Pe=ue,le=te;function qe(e){if(typeof e=="object"&&e!==null){let{$$typeof:t}=e;switch(t){case ke:switch(e=e.type,e){case Ae:case Ne:case ve:case Ve:case We:return e;default:switch(e=e&&e.$$typeof,e){case Ie:case ue:case Ue:case te:return e;case _e:return e;default:return t}}case Fe:return t}}}function de(e){return qe(e)===te}function Le(e,t,o,n,{areStatesEqual:r,areOwnPropsEqual:s,areStatePropsEqual:i}){let u=!1,a,c,l,P,d;function x(f,y){return a=f,c=y,l=e(a,c),P=t(n,c),d=o(l,P,c),u=!0,d}function m(){return l=e(a,c),t.dependsOnOwnProps&&(P=t(n,c)),d=o(l,P,c),d}function M(){return e.dependsOnOwnProps&&(l=e(a,c)),t.dependsOnOwnProps&&(P=t(n,c)),d=o(l,P,c),d}function T(){let f=e(a,c),y=!i(f,l);return l=f,y&&(d=o(l,P,c)),d}function w(f,y){let C=!s(y,c),v=!r(f,a,y,c);return a=f,c=y,C&&v?m():C?M():v?T():d}return function(y,C){return u?w(y,C):x(y,C)}}function oe(e,{initMapStateToProps:t,initMapDispatchToProps:o,initMergeProps:n,...r}){let s=t(e,r),i=o(e,r),u=n(e,r);return Le(s,i,u,e,r)}function re(e,t){let o={};for(let n in e){let r=e[n];typeof r=="function"&&(o[n]=(...s)=>t(r(...s)))}return o}function U(e){return function(o){let n=e(o);function r(){return n}return r.dependsOnOwnProps=!1,r}}function Te(e){return e.dependsOnOwnProps?!!e.dependsOnOwnProps:e.length!==1}function $(e,t){return function(n,{displayName:r}){let s=function(u,a){return s.dependsOnOwnProps?s.mapToProps(u,a):s.mapToProps(u,void 0)};return s.dependsOnOwnProps=!0,s.mapToProps=function(u,a){s.mapToProps=e,s.dependsOnOwnProps=Te(e);let c=s(u,a);return typeof c=="function"&&(s.mapToProps=c,s.dependsOnOwnProps=Te(c),c=s(u,a)),c},s}}function k(e,t){return(o,n)=>{throw new Error(`Invalid value of type ${typeof e} for ${t} argument when connecting component ${n.wrappedComponentName}.`)}}function fe(e){return e&&typeof e=="object"?U(t=>re(e,t)):e?typeof e=="function"?$(e,"mapDispatchToProps"):k(e,"mapDispatchToProps"):U(t=>({dispatch:t}))}function Se(e){return e?typeof e=="function"?$(e,"mapStateToProps"):k(e,"mapStateToProps"):U(()=>({}))}function je(e,t,o){return{...o,...e,...t}}function $e(e){return function(o,{displayName:n,areMergedPropsEqual:r}){let s=!1,i;return function(a,c,l){let P=e(a,c,l);return s?r(P,i)||(i=P):(s=!0,i=P),i}}}function ye(e){return e?typeof e=="function"?$e(e):k(e,"mergeProps"):()=>je}function Y(e){e()}function Ye(){let e=null,t=null;return{clear(){e=null,t=null},notify(){Y(()=>{let o=e;for(;o;)o.callback(),o=o.next})},get(){let o=[],n=e;for(;n;)o.push(n),n=n.next;return o},subscribe(o){let n=!0,r=t={callback:o,next:null,prev:t};return r.prev?r.prev.next=r:e=r,function(){!n||e===null||(n=!1,r.next?r.next.prev=r.prev:t=r.prev,r.prev?r.prev.next=r.next:e=r.next)}}}}var me={notify(){},get:()=>[]};function H(e,t){let o,n=me,r=0,s=!1;function i(M){l();let T=n.subscribe(M),w=!1;return()=>{w||(w=!0,T(),P())}}function u(){n.notify()}function a(){m.onStateChange&&m.onStateChange()}function c(){return s}function l(){r++,o||(o=t?t.addNestedSub(a):e.subscribe(a),n=Ye())}function P(){r--,o&&r===0&&(o(),o=void 0,n.clear(),n=me)}function d(){s||(s=!0,l())}function x(){s&&(s=!1,P())}let m={addNestedSub:i,notifyNestedSubs:u,handleChangeWrapper:a,isSubscribed:c,trySubscribe:d,tryUnsubscribe:x,getListeners:()=>n};return m}var He=()=>typeof window<"u"&&typeof window.document<"u"&&typeof window.document.createElement<"u",Be=He(),ze=()=>typeof navigator<"u"&&navigator.product==="ReactNative",Ke=ze(),Ge=()=>Be||Ke?p.useLayoutEffect:p.useEffect,F=Ge();function he(e,t){return e===t?e!==0||t!==0||1/e===1/t:e!==e&&t!==t}function A(e,t){if(he(e,t))return!0;if(typeof e!="object"||e===null||typeof t!="object"||t===null)return!1;let o=Object.keys(e),n=Object.keys(t);if(o.length!==n.length)return!1;for(let r=0;r<o.length;r++)if(!Object.prototype.hasOwnProperty.call(t,o[r])||!he(e[o[r]],t[o[r]]))return!1;return!0}var Je={childContextTypes:!0,contextType:!0,contextTypes:!0,defaultProps:!0,displayName:!0,getDefaultProps:!0,getDerivedStateFromError:!0,getDerivedStateFromProps:!0,mixins:!0,propTypes:!0,type:!0},Xe={name:!0,length:!0,prototype:!0,caller:!0,callee:!0,arguments:!0,arity:!0},Ze={$$typeof:!0,render:!0,defaultProps:!0,displayName:!0,propTypes:!0},Oe={$$typeof:!0,compare:!0,defaultProps:!0,displayName:!0,propTypes:!0,type:!0},Qe={[Pe]:Ze,[le]:Oe};function we(e){return de(e)?Oe:Qe[e.$$typeof]||Je}var et=Object.defineProperty,tt=Object.getOwnPropertyNames,xe=Object.getOwnPropertySymbols,ot=Object.getOwnPropertyDescriptor,rt=Object.getPrototypeOf,Ce=Object.prototype;function q(e,t){if(typeof t!="string"){if(Ce){let s=rt(t);s&&s!==Ce&&q(e,s)}let o=tt(t);xe&&(o=o.concat(xe(t)));let n=we(e),r=we(t);for(let s=0;s<o.length;++s){let i=o[s];if(!Xe[i]&&!(r&&r[i])&&!(n&&n[i])){let u=ot(t,i);try{et(e,i,u)}catch{}}}}return e}var nt=Symbol.for("react-redux-context"),st=typeof globalThis<"u"?globalThis:{};function pt(){if(!p.createContext)return{};let e=st[nt]??=new Map,t=e.get(p.createContext);return t||(t=p.createContext(null),e.set(p.createContext,t)),t}var S=pt();var at=[null,null];function ct(e,t,o){F(()=>e(...t),o)}function it(e,t,o,n,r,s){e.current=n,o.current=!1,r.current&&(r.current=null,s())}function ut(e,t,o,n,r,s,i,u,a,c,l){if(!e)return()=>{};let P=!1,d=null,x=()=>{if(P||!u.current)return;let M=t.getState(),T,w;try{T=n(M,r.current)}catch(f){w=f,d=f}w||(d=null),T===s.current?i.current||c():(s.current=T,a.current=T,i.current=!0,l())};return o.onStateChange=x,o.trySubscribe(),x(),()=>{if(P=!0,o.tryUnsubscribe(),o.onStateChange=null,d)throw d}}function Pt(e,t){return e===t}function De(e,t,o,{pure:n,areStatesEqual:r=Pt,areOwnPropsEqual:s=A,areStatePropsEqual:i=A,areMergedPropsEqual:u=A,forwardRef:a=!1,context:c=S}={}){let l=c,P=Se(e),d=fe(t),x=ye(o),m=!!e;return T=>{let w=T.displayName||T.name||"Component",f=`Connect(${w})`,y={shouldHandleStateChanges:m,displayName:f,wrappedComponentName:w,WrappedComponent:T,initMapStateToProps:P,initMapDispatchToProps:d,initMergeProps:x,areStatesEqual:r,areStatePropsEqual:i,areOwnPropsEqual:s,areMergedPropsEqual:u};function C(O){let[R,K,b]=p.useMemo(()=>{let{reactReduxForwardedRef:h,...E}=O;return[O.context,h,E]},[O]),_=p.useMemo(()=>{let h=l;return R?.Consumer,h},[R,l]),D=p.useContext(_),I=!!O.store&&!!O.store.getState&&!!O.store.dispatch,Me=!!D&&!!D.store,g=I?O.store:D.store,se=Me?D.getServerState:g.getState,G=p.useMemo(()=>oe(g.dispatch,y),[g]),[V,pe]=p.useMemo(()=>{if(!m)return at;let h=H(g,I?void 0:D.subscription),E=h.notifyNestedSubs.bind(h);return[h,E]},[g,I,D]),ae=p.useMemo(()=>I?D:{...D,subscription:V},[I,D,V]),J=p.useRef(void 0),X=p.useRef(b),W=p.useRef(void 0),ce=p.useRef(!1),Z=p.useRef(!1),Q=p.useRef(void 0);F(()=>(Z.current=!0,()=>{Z.current=!1}),[]);let ie=p.useMemo(()=>()=>W.current&&b===X.current?W.current:G(g.getState(),b),[g,b]),Re=p.useMemo(()=>E=>V?ut(m,g,V,G,X,J,ce,Z,W,pe,E):()=>{},[V]);ct(it,[X,J,ce,b,W,pe]);let j;try{j=p.useSyncExternalStore(Re,ie,se?()=>G(se(),b):ie)}catch(h){throw Q.current&&(h.message+=`
The error may be correlated with this previous error:
${Q.current.stack}
`),h}F(()=>{Q.current=void 0,W.current=void 0,J.current=j});let ee=p.useMemo(()=>p.createElement(T,{...j,ref:K}),[K,T,j]);return p.useMemo(()=>m?p.createElement(_.Provider,{value:ae},ee):ee,[_,ee,ae])}let N=p.memo(C);if(N.WrappedComponent=T,N.displayName=C.displayName=f,a){let R=p.forwardRef(function(b,_){return p.createElement(N,{...b,reactReduxForwardedRef:_})});return R.displayName=f,R.WrappedComponent=T,q(R,T)}return q(N,T)}}var lt=De,dt=De;function Tt(e){let{children:t,context:o,serverState:n,store:r}=e,s=p.useMemo(()=>{let a=H(r);return{store:r,subscription:a,getServerState:n?()=>n:void 0}},[r,n]),i=p.useMemo(()=>r.getState(),[r]);return F(()=>{let{subscription:a}=s;return a.onStateChange=a.notifyNestedSubs,a.trySubscribe(),i!==r.getState()&&a.notifyNestedSubs(),()=>{a.tryUnsubscribe(),a.onStateChange=void 0}},[s,i]),p.createElement((o||S).Provider,{value:s},t)}var ft=Tt;function L(e=S){return function(){return p.useContext(e)}}var B=L();function z(e=S){let t=e===S?B:L(e),o=()=>{let{store:n}=t();return n};return Object.assign(o,{withTypes:()=>o}),o}var ne=z();function be(e=S){let t=e===S?ne:z(e),o=()=>t().dispatch;return Object.assign(o,{withTypes:()=>o}),o}var St=be();import{useSyncExternalStoreWithSelector as yt}from"use-sync-external-store/with-selector.js";var mt=(e,t)=>e===t;function ge(e=S){let t=e===S?B:L(e),o=(n,r={})=>{let{equalityFn:s=mt}=typeof r=="function"?{equalityFn:r}:r,i=t(),{store:u,subscription:a,getServerState:c}=i,l=p.useRef(!0),P=p.useCallback({[n.name](x){return n(x)}}[n.name],[n]),d=yt(a.addNestedSub,u.getState,c||u.getState,P,s);return p.useDebugValue(d),d};return Object.assign(o,{withTypes:()=>o}),o}var ht=ge();var Ro=Y;export{ft as Provider,S as ReactReduxContext,Ro as batch,lt as connect,be as createDispatchHook,ge as createSelectorHook,z as createStoreHook,dt as legacy_connect,A as shallowEqual,St as useDispatch,ht as useSelector,ne as useStore};
//# sourceMappingURL=react-redux.browser.mjs.map