d19703cb9e824da1dd5b1b74d29d01ff.json 5.3 KB

1
  1. {"ast":null,"code":"import React, { useMemo } from 'react';\nimport PropTypes from 'prop-types';\nimport { ReactReduxContext } from './Context';\nimport { createSubscription } from '../utils/Subscription';\nimport { useIsomorphicLayoutEffect } from '../utils/useIsomorphicLayoutEffect';\n\nfunction Provider(_ref) {\n var store = _ref.store,\n context = _ref.context,\n children = _ref.children;\n var contextValue = useMemo(function () {\n var subscription = createSubscription(store);\n subscription.onStateChange = subscription.notifyNestedSubs;\n return {\n store: store,\n subscription: subscription\n };\n }, [store]);\n var previousState = useMemo(function () {\n return store.getState();\n }, [store]);\n useIsomorphicLayoutEffect(function () {\n var subscription = contextValue.subscription;\n subscription.trySubscribe();\n\n if (previousState !== store.getState()) {\n subscription.notifyNestedSubs();\n }\n\n return function () {\n subscription.tryUnsubscribe();\n subscription.onStateChange = null;\n };\n }, [contextValue, previousState]);\n var Context = context || ReactReduxContext;\n return /*#__PURE__*/React.createElement(Context.Provider, {\n value: contextValue\n }, children);\n}\n\nif (process.env.NODE_ENV !== 'production') {\n Provider.propTypes = {\n store: PropTypes.shape({\n subscribe: PropTypes.func.isRequired,\n dispatch: PropTypes.func.isRequired,\n getState: PropTypes.func.isRequired\n }),\n context: PropTypes.object,\n children: PropTypes.any\n };\n}\n\nexport default Provider;","map":{"version":3,"sources":["/home/ilya/projects/NIX/homework/react-store/node_modules/react-redux/es/components/Provider.js"],"names":["React","useMemo","PropTypes","ReactReduxContext","createSubscription","useIsomorphicLayoutEffect","Provider","_ref","store","context","children","contextValue","subscription","onStateChange","notifyNestedSubs","previousState","getState","trySubscribe","tryUnsubscribe","Context","createElement","value","process","env","NODE_ENV","propTypes","shape","subscribe","func","isRequired","dispatch","object","any"],"mappings":"AAAA,OAAOA,KAAP,IAAgBC,OAAhB,QAA+B,OAA/B;AACA,OAAOC,SAAP,MAAsB,YAAtB;AACA,SAASC,iBAAT,QAAkC,WAAlC;AACA,SAASC,kBAAT,QAAmC,uBAAnC;AACA,SAASC,yBAAT,QAA0C,oCAA1C;;AAEA,SAASC,QAAT,CAAkBC,IAAlB,EAAwB;AACtB,MAAIC,KAAK,GAAGD,IAAI,CAACC,KAAjB;AAAA,MACIC,OAAO,GAAGF,IAAI,CAACE,OADnB;AAAA,MAEIC,QAAQ,GAAGH,IAAI,CAACG,QAFpB;AAGA,MAAIC,YAAY,GAAGV,OAAO,CAAC,YAAY;AACrC,QAAIW,YAAY,GAAGR,kBAAkB,CAACI,KAAD,CAArC;AACAI,IAAAA,YAAY,CAACC,aAAb,GAA6BD,YAAY,CAACE,gBAA1C;AACA,WAAO;AACLN,MAAAA,KAAK,EAAEA,KADF;AAELI,MAAAA,YAAY,EAAEA;AAFT,KAAP;AAID,GAPyB,EAOvB,CAACJ,KAAD,CAPuB,CAA1B;AAQA,MAAIO,aAAa,GAAGd,OAAO,CAAC,YAAY;AACtC,WAAOO,KAAK,CAACQ,QAAN,EAAP;AACD,GAF0B,EAExB,CAACR,KAAD,CAFwB,CAA3B;AAGAH,EAAAA,yBAAyB,CAAC,YAAY;AACpC,QAAIO,YAAY,GAAGD,YAAY,CAACC,YAAhC;AACAA,IAAAA,YAAY,CAACK,YAAb;;AAEA,QAAIF,aAAa,KAAKP,KAAK,CAACQ,QAAN,EAAtB,EAAwC;AACtCJ,MAAAA,YAAY,CAACE,gBAAb;AACD;;AAED,WAAO,YAAY;AACjBF,MAAAA,YAAY,CAACM,cAAb;AACAN,MAAAA,YAAY,CAACC,aAAb,GAA6B,IAA7B;AACD,KAHD;AAID,GAZwB,EAYtB,CAACF,YAAD,EAAeI,aAAf,CAZsB,CAAzB;AAaA,MAAII,OAAO,GAAGV,OAAO,IAAIN,iBAAzB;AACA,SAAO,aAAaH,KAAK,CAACoB,aAAN,CAAoBD,OAAO,CAACb,QAA5B,EAAsC;AACxDe,IAAAA,KAAK,EAAEV;AADiD,GAAtC,EAEjBD,QAFiB,CAApB;AAGD;;AAED,IAAIY,OAAO,CAACC,GAAR,CAAYC,QAAZ,KAAyB,YAA7B,EAA2C;AACzClB,EAAAA,QAAQ,CAACmB,SAAT,GAAqB;AACnBjB,IAAAA,KAAK,EAAEN,SAAS,CAACwB,KAAV,CAAgB;AACrBC,MAAAA,SAAS,EAAEzB,SAAS,CAAC0B,IAAV,CAAeC,UADL;AAErBC,MAAAA,QAAQ,EAAE5B,SAAS,CAAC0B,IAAV,CAAeC,UAFJ;AAGrBb,MAAAA,QAAQ,EAAEd,SAAS,CAAC0B,IAAV,CAAeC;AAHJ,KAAhB,CADY;AAMnBpB,IAAAA,OAAO,EAAEP,SAAS,CAAC6B,MANA;AAOnBrB,IAAAA,QAAQ,EAAER,SAAS,CAAC8B;AAPD,GAArB;AASD;;AAED,eAAe1B,QAAf","sourcesContent":["import React, { useMemo } from 'react';\nimport PropTypes from 'prop-types';\nimport { ReactReduxContext } from './Context';\nimport { createSubscription } from '../utils/Subscription';\nimport { useIsomorphicLayoutEffect } from '../utils/useIsomorphicLayoutEffect';\n\nfunction Provider(_ref) {\n var store = _ref.store,\n context = _ref.context,\n children = _ref.children;\n var contextValue = useMemo(function () {\n var subscription = createSubscription(store);\n subscription.onStateChange = subscription.notifyNestedSubs;\n return {\n store: store,\n subscription: subscription\n };\n }, [store]);\n var previousState = useMemo(function () {\n return store.getState();\n }, [store]);\n useIsomorphicLayoutEffect(function () {\n var subscription = contextValue.subscription;\n subscription.trySubscribe();\n\n if (previousState !== store.getState()) {\n subscription.notifyNestedSubs();\n }\n\n return function () {\n subscription.tryUnsubscribe();\n subscription.onStateChange = null;\n };\n }, [contextValue, previousState]);\n var Context = context || ReactReduxContext;\n return /*#__PURE__*/React.createElement(Context.Provider, {\n value: contextValue\n }, children);\n}\n\nif (process.env.NODE_ENV !== 'production') {\n Provider.propTypes = {\n store: PropTypes.shape({\n subscribe: PropTypes.func.isRequired,\n dispatch: PropTypes.func.isRequired,\n getState: PropTypes.func.isRequired\n }),\n context: PropTypes.object,\n children: PropTypes.any\n };\n}\n\nexport default Provider;"]},"metadata":{},"sourceType":"module"}