UNPKG

@nethesis/phone-island

Version:
3 lines (2 loc) 1.15 kB
"use strict";Object.defineProperty(exports,"__esModule",{value:!0});var e=require("react"),t=require("./Context.js"),r=require("../utils/Subscription.js"),o=require("../utils/useIsomorphicLayoutEffect.js");function n(e){if(e&&e.__esModule)return e;var t=Object.create(null);return e&&Object.keys(e).forEach((function(r){if("default"!==r){var o=Object.getOwnPropertyDescriptor(e,r);Object.defineProperty(t,r,o.get?o:{enumerable:!0,get:function(){return e[r]}})}})),t.default=e,Object.freeze(t)}var s=n(e);exports.default=function(e){let{store:n,context:u,children:c,serverState:i,stabilityCheck:a="once",noopCheck:b="once"}=e;const f=s.useMemo((()=>{const e=r.createSubscription(n);return{store:n,subscription:e,getServerState:i?()=>i:void 0,stabilityCheck:a,noopCheck:b}}),[n,i,a,b]),l=s.useMemo((()=>n.getState()),[n]);o.useIsomorphicLayoutEffect((()=>{const{subscription:e}=f;return e.onStateChange=e.notifyNestedSubs,e.trySubscribe(),l!==n.getState()&&e.notifyNestedSubs(),()=>{e.tryUnsubscribe(),e.onStateChange=void 0}}),[f,l]);const d=u||t.ReactReduxContext;return s.createElement(d.Provider,{value:f},c)}; //# sourceMappingURL=Provider.js.map