-
Notifications
You must be signed in to change notification settings - Fork 4
/
Copy pathreact-redux-6.0-mark.min.js.map
1 lines (1 loc) · 42.1 KB
/
react-redux-6.0-mark.min.js.map
1
{"version":3,"file":"react-redux.min.js","sources":["../node_modules/prop-types/lib/ReactPropTypesSecret.js","../node_modules/prop-types/factoryWithThrowingShims.js","../node_modules/prop-types/index.js","../src/utils/PropTypes.js","../src/components/context.js","../src/components/Provider.js","../node_modules/hoist-non-react-statics/dist/hoist-non-react-statics.cjs.js","../node_modules/invariant/invariant.js","../src/components/connectAdvanced.js","../src/utils/shallowEqual.js","../src/connect/wrapMapToProps.js","../src/connect/mapDispatchToProps.js","../src/connect/mapStateToProps.js","../src/connect/mergeProps.js","../src/connect/selectorFactory.js","../src/connect/connect.js"],"sourcesContent":["/**\n * Copyright (c) 2013-present, Facebook, Inc.\n *\n * This source code is licensed under the MIT license found in the\n * LICENSE file in the root directory of this source tree.\n */\n\n'use strict';\n\nvar ReactPropTypesSecret = 'SECRET_DO_NOT_PASS_THIS_OR_YOU_WILL_BE_FIRED';\n\nmodule.exports = ReactPropTypesSecret;\n","/**\n * Copyright (c) 2013-present, Facebook, Inc.\n *\n * This source code is licensed under the MIT license found in the\n * LICENSE file in the root directory of this source tree.\n */\n\n'use strict';\n\nvar ReactPropTypesSecret = require('./lib/ReactPropTypesSecret');\n\nfunction emptyFunction() {}\n\nmodule.exports = function() {\n function shim(props, propName, componentName, location, propFullName, secret) {\n if (secret === ReactPropTypesSecret) {\n // It is still safe when called from React.\n return;\n }\n var err = new Error(\n 'Calling PropTypes validators directly is not supported by the `prop-types` package. ' +\n 'Use PropTypes.checkPropTypes() to call them. ' +\n 'Read more at http://fb.me/use-check-prop-types'\n );\n err.name = 'Invariant Violation';\n throw err;\n };\n shim.isRequired = shim;\n function getShim() {\n return shim;\n };\n // Important!\n // Keep this list in sync with production version in `./factoryWithTypeCheckers.js`.\n var ReactPropTypes = {\n array: shim,\n bool: shim,\n func: shim,\n number: shim,\n object: shim,\n string: shim,\n symbol: shim,\n\n any: shim,\n arrayOf: getShim,\n element: shim,\n instanceOf: getShim,\n node: shim,\n objectOf: getShim,\n oneOf: getShim,\n oneOfType: getShim,\n shape: getShim,\n exact: getShim\n };\n\n ReactPropTypes.checkPropTypes = emptyFunction;\n ReactPropTypes.PropTypes = ReactPropTypes;\n\n return ReactPropTypes;\n};\n","/**\n * Copyright (c) 2013-present, Facebook, Inc.\n *\n * This source code is licensed under the MIT license found in the\n * LICENSE file in the root directory of this source tree.\n */\n\nif (process.env.NODE_ENV !== 'production') {\n var REACT_ELEMENT_TYPE = (typeof Symbol === 'function' &&\n Symbol.for &&\n Symbol.for('react.element')) ||\n 0xeac7;\n\n var isValidElement = function(object) {\n return typeof object === 'object' &&\n object !== null &&\n object.$$typeof === REACT_ELEMENT_TYPE;\n };\n\n // By explicitly using `prop-types` you are opting into new development behavior.\n // http://fb.me/prop-types-in-prod\n var throwOnDirectAccess = true;\n module.exports = require('./factoryWithTypeCheckers')(isValidElement, throwOnDirectAccess);\n} else {\n // By explicitly using `prop-types` you are opting into new production behavior.\n // http://fb.me/prop-types-in-prod\n module.exports = require('./factoryWithThrowingShims')();\n}\n","import PropTypes from 'prop-types'\r\n\r\nexport const storeShape = PropTypes.shape({\r\n subscribe: PropTypes.func.isRequired,\r\n dispatch: PropTypes.func.isRequired,\r\n getState: PropTypes.func.isRequired\r\n})\r\n","import React from \"react\";\r\n\r\nexport const ReactReduxContext = React.createContext(null);","import React, { Component, Children } from 'react'\r\nimport PropTypes from 'prop-types'\r\nimport { storeShape } from '../utils/PropTypes'\r\nimport warning from '../utils/warning'\r\n\r\nimport {ReactReduxContext} from \"./context\";\r\n\r\nlet didWarnAboutReceivingStore = false\r\nfunction warnAboutReceivingStore() {\r\n if (didWarnAboutReceivingStore) {\r\n return\r\n }\r\n didWarnAboutReceivingStore = true\r\n\r\n warning(\r\n '<Provider> does not support changing `store` on the fly. ' +\r\n 'It is most likely that you see this error because you updated to ' +\r\n 'Redux 2.x and React Redux 2.x which no longer hot reload reducers ' +\r\n 'automatically. See https://github.com/reduxjs/react-redux/releases/' +\r\n 'tag/v2.0.0 for the migration instructions.'\r\n )\r\n}\r\n\r\nexport function createProvider(storeKey = 'store') {\r\n\r\n class Provider extends Component {\r\n\r\n constructor(props) {\r\n super(props)\r\n\r\n const {store} = props;\r\n\r\n this.state = {\r\n storeState : store.getState(),\r\n store,\r\n };\r\n }\r\n\r\n componentDidMount() {\r\n this.subscribe();\r\n }\r\n\r\n componentWillUnmount() {\r\n if(this.unsubscribe) {\r\n this.unsubscribe()\r\n this._isMounted = false;\r\n }\r\n }\r\n\r\n subscribe() {\r\n const {store} = this.props;\r\n\r\n this._isMounted = true;\r\n\r\n this.unsubscribe = store.subscribe( () => {\r\n const newStoreState = store.getState();\r\n\r\n if(!this._isMounted) {\r\n return;\r\n }\r\n\r\n this.setState(providerState => {\r\n // If the value is the same, skip the unnecessary state update.\r\n if(providerState.storeState === newStoreState) {\r\n return null;\r\n }\r\n\r\n return {storeState : newStoreState};\r\n })\r\n });\r\n\r\n // Actions might have been dispatched between render and mount - handle those\r\n const postMountStoreState = store.getState();\r\n if(postMountStoreState !== this.state.storeState) {\r\n this.setState({storeState : postMountStoreState});\r\n }\r\n }\r\n\r\n render() {\r\n return (\r\n <ReactReduxContext.Provider value={this.state}>\r\n {Children.only(this.props.children)}\r\n </ReactReduxContext.Provider>\r\n );\r\n }\r\n }\r\n\r\n if (process.env.NODE_ENV !== 'production') {\r\n Provider.getDerivedStateFromProps = function (props, state) {\r\n if (state.store !== props.store) {\r\n warnAboutReceivingStore()\r\n }\r\n return null;\r\n }\r\n }\r\n\r\n\r\n Provider.propTypes = {\r\n store: storeShape.isRequired,\r\n children: PropTypes.element.isRequired,\r\n }\r\n\r\n return Provider\r\n}\r\n\r\nexport default createProvider()\r\n","'use strict';\n\n/**\n * Copyright 2015, Yahoo! Inc.\n * Copyrights licensed under the New BSD License. See the accompanying LICENSE file for terms.\n */\nvar REACT_STATICS = {\n childContextTypes: true,\n contextTypes: true,\n defaultProps: true,\n displayName: true,\n getDefaultProps: true,\n getDerivedStateFromProps: true,\n mixins: true,\n propTypes: true,\n type: true\n};\n\nvar KNOWN_STATICS = {\n name: true,\n length: true,\n prototype: true,\n caller: true,\n callee: true,\n arguments: true,\n arity: true\n};\n\nvar defineProperty = Object.defineProperty;\nvar getOwnPropertyNames = Object.getOwnPropertyNames;\nvar getOwnPropertySymbols = Object.getOwnPropertySymbols;\nvar getOwnPropertyDescriptor = Object.getOwnPropertyDescriptor;\nvar getPrototypeOf = Object.getPrototypeOf;\nvar objectPrototype = getPrototypeOf && getPrototypeOf(Object);\n\nfunction hoistNonReactStatics(targetComponent, sourceComponent, blacklist) {\n if (typeof sourceComponent !== 'string') { // don't hoist over string (html) components\n\n if (objectPrototype) {\n var inheritedComponent = getPrototypeOf(sourceComponent);\n if (inheritedComponent && inheritedComponent !== objectPrototype) {\n hoistNonReactStatics(targetComponent, inheritedComponent, blacklist);\n }\n }\n\n var keys = getOwnPropertyNames(sourceComponent);\n\n if (getOwnPropertySymbols) {\n keys = keys.concat(getOwnPropertySymbols(sourceComponent));\n }\n\n for (var i = 0; i < keys.length; ++i) {\n var key = keys[i];\n if (!REACT_STATICS[key] && !KNOWN_STATICS[key] && (!blacklist || !blacklist[key])) {\n var descriptor = getOwnPropertyDescriptor(sourceComponent, key);\n try { // Avoid failures from read-only properties\n defineProperty(targetComponent, key, descriptor);\n } catch (e) {}\n }\n }\n\n return targetComponent;\n }\n\n return targetComponent;\n}\n\nmodule.exports = hoistNonReactStatics;\n","/**\n * Copyright (c) 2013-present, Facebook, Inc.\n *\n * This source code is licensed under the MIT license found in the\n * LICENSE file in the root directory of this source tree.\n */\n\n'use strict';\n\n/**\n * Use invariant() to assert state which your program assumes to be true.\n *\n * Provide sprintf-style format (only %s is supported) and arguments\n * to provide information about what broke and what you were\n * expecting.\n *\n * The invariant message will be stripped in production, but the invariant\n * will remain to ensure logic does not differ in production.\n */\n\nvar NODE_ENV = process.env.NODE_ENV;\n\nvar invariant = function(condition, format, a, b, c, d, e, f) {\n if (NODE_ENV !== 'production') {\n if (format === undefined) {\n throw new Error('invariant requires an error message argument');\n }\n }\n\n if (!condition) {\n var error;\n if (format === undefined) {\n error = new Error(\n 'Minified exception occurred; use the non-minified dev environment ' +\n 'for the full error message and additional helpful warnings.'\n );\n } else {\n var args = [a, b, c, d, e, f];\n var argIndex = 0;\n error = new Error(\n format.replace(/%s/g, function() { return args[argIndex++]; })\n );\n error.name = 'Invariant Violation';\n }\n\n error.framesToPop = 1; // we don't care about invariant's own frame\n throw error;\n }\n};\n\nmodule.exports = invariant;\n","import hoistStatics from 'hoist-non-react-statics'\r\nimport invariant from 'invariant'\r\nimport React, { Component, PureComponent, createElement } from 'react'\r\n\r\nimport {ReactReduxContext} from \"./context\";\r\n\r\nlet hotReloadingVersion = 0\r\n\r\n\r\nexport default function connectAdvanced(\r\n /*\r\n selectorFactory is a func that is responsible for returning the selector function used to\r\n compute new props from state, props, and dispatch. For example:\r\n\r\n export default connectAdvanced((dispatch, options) => (state, props) => ({\r\n thing: state.things[props.thingId],\r\n saveThing: fields => dispatch(actionCreators.saveThing(props.thingId, fields)),\r\n }))(YourComponent)\r\n\r\n Access to dispatch is provided to the factory so selectorFactories can bind actionCreators\r\n outside of their selector as an optimization. Options passed to connectAdvanced are passed to\r\n the selectorFactory, along with displayName and WrappedComponent, as the second argument.\r\n\r\n Note that selectorFactory is responsible for all caching/memoization of inbound and outbound\r\n props. Do not use connectAdvanced directly without memoizing results between calls to your\r\n selector, otherwise the Connect component will re-render on every state or props change.\r\n */\r\n selectorFactory,\r\n // options object:\r\n {\r\n // the func used to compute this HOC's displayName from the wrapped component's displayName.\r\n // probably overridden by wrapper functions such as connect()\r\n getDisplayName = name => `ConnectAdvanced(${name})`,\r\n\r\n // shown in error messages\r\n // probably overridden by wrapper functions such as connect()\r\n methodName = 'connectAdvanced',\r\n\r\n // if defined, the name of the property passed to the wrapped element indicating the number of\r\n // calls to render. useful for watching in react devtools for unnecessary re-renders.\r\n renderCountProp = undefined,\r\n\r\n // determines whether this HOC subscribes to store changes\r\n shouldHandleStateChanges = true,\r\n\r\n // the key of props/context to get the store\r\n storeKey = 'store',\r\n\r\n // if true, the wrapped element is exposed by this HOC via the getWrappedInstance() function.\r\n withRef = false,\r\n\r\n // additional options are passed through to the selectorFactory\r\n ...connectOptions\r\n } = {}\r\n) {\r\n const version = hotReloadingVersion++\r\n\r\n\r\n return function wrapWithConnect(WrappedComponent) {\r\n invariant(\r\n typeof WrappedComponent === 'function',\r\n `You must pass a component to the function returned by ` +\r\n `${methodName}. Instead received ${JSON.stringify(WrappedComponent)}`\r\n )\r\n\r\n const wrappedComponentName = WrappedComponent.displayName\r\n || WrappedComponent.name\r\n || 'Component'\r\n\r\n const displayName = getDisplayName(wrappedComponentName)\r\n\r\n const selectorFactoryOptions = {\r\n ...connectOptions,\r\n getDisplayName,\r\n methodName,\r\n renderCountProp,\r\n shouldHandleStateChanges,\r\n storeKey,\r\n withRef,\r\n displayName,\r\n wrappedComponentName,\r\n WrappedComponent\r\n }\r\n\r\n\r\n const OuterBaseComponent = connectOptions.pure ? PureComponent : Component;\r\n\r\n class ConnectInner extends Component {\r\n constructor(props) {\r\n super(props);\r\n\r\n this.state = {\r\n wrapperProps : props.wrapperProps,\r\n renderCount : 0,\r\n store : props.store,\r\n error : null,\r\n childPropsSelector : this.createChildSelector(props.store),\r\n childProps : {},\r\n }\r\n\r\n this.state = {\r\n ...this.state,\r\n ...ConnectInner.getChildPropsState(props, this.state)\r\n }\r\n }\r\n\r\n createChildSelector(store = this.state.store) {\r\n return selectorFactory(store.dispatch, selectorFactoryOptions)\r\n }\r\n\r\n static getChildPropsState(props, state) {\r\n try {\r\n const nextProps = state.childPropsSelector(props.storeState, props.wrapperProps)\r\n if (nextProps === state.childProps) return null\r\n return { childProps: nextProps }\r\n } catch (error) {\r\n return { error }\r\n }\r\n }\r\n\r\n static getDerivedStateFromProps(props, state) {\r\n const nextChildProps = ConnectInner.getChildPropsState(props, state)\r\n\r\n if(nextChildProps === null) {\r\n return null;\r\n }\r\n\r\n return {\r\n ...nextChildProps,\r\n wrapperProps : props.wrapperProps,\r\n }\r\n }\r\n\r\n shouldComponentUpdate(nextProps, nextState) {\r\n const childPropsChanged = nextState.childProps !== this.state.childProps;\r\n const storeStateChanged = nextProps.storeState !== this.props.storeState;\r\n const hasError = !!nextState.error;\r\n\r\n let wrapperPropsChanged = false;\r\n\r\n const shouldUpdate = childPropsChanged || hasError;\r\n return shouldUpdate;\r\n\r\n }\r\n\r\n render() {\r\n if(this.state.error) {\r\n throw this.state.error;\r\n }\r\n\r\n return <WrappedComponent {...this.state.childProps} />\r\n }\r\n }\r\n\r\n class Connect extends OuterBaseComponent {\r\n constructor(props) {\r\n super(props)\r\n\r\n this.renderInner = this.renderInner.bind(this);\r\n }\r\n/*\r\n addExtraProps(props) {\r\n if (!withRef && !renderCountProp) return props;\r\n\r\n // make a shallow copy so that fields added don't leak to the original selector.\r\n // this is especially important for 'ref' since that's a reference back to the component\r\n // instance. a singleton memoized selector would then be holding a reference to the\r\n // instance, preventing the instance from being garbage collected, and that would be bad\r\n const withExtras = { ...props }\r\n //if (withRef) withExtras.ref = this.setWrappedInstance\r\n if (renderCountProp) withExtras[renderCountProp] = this.renderCount++\r\n\r\n return withExtras\r\n }\r\n*/\r\n\r\n renderInner(providerValue) {\r\n const {storeState, store} = providerValue;\r\n\r\n return (\r\n <ConnectInner\r\n key={this.version}\r\n storeState={storeState}\r\n store={store}\r\n wrapperProps={this.props}\r\n />\r\n );\r\n }\r\n\r\n render() {\r\n return (\r\n <ReactReduxContext.Consumer>\r\n {this.renderInner}\r\n </ReactReduxContext.Consumer>\r\n )\r\n }\r\n }\r\n\r\n Connect.WrappedComponent = WrappedComponent\r\n Connect.displayName = displayName\r\n\r\n // TODO We're losing the ability to add a store as a prop. Not sure there's anything we can do about that.\r\n\r\n // TODO With connect no longer managing subscriptions, I _think_ is is all unneeded\r\n /*\r\n if (process.env.NODE_ENV !== 'production') {\r\n Connect.prototype.componentWillUpdate = function componentWillUpdate() {\r\n // We are hot reloading!\r\n if (this.version !== version) {\r\n this.version = version\r\n this.initSelector()\r\n\r\n // If any connected descendants don't hot reload (and resubscribe in the process), their\r\n // listeners will be lost when we unsubscribe. Unfortunately, by copying over all\r\n // listeners, this does mean that the old versions of connected descendants will still be\r\n // notified of state changes; however, their onStateChange function is a no-op so this\r\n // isn't a huge deal.\r\n let oldListeners = [];\r\n\r\n if (this.subscription) {\r\n oldListeners = this.subscription.listeners.get()\r\n this.subscription.tryUnsubscribe()\r\n }\r\n this.initSubscription()\r\n if (shouldHandleStateChanges) {\r\n this.subscription.trySubscribe()\r\n oldListeners.forEach(listener => this.subscription.listeners.subscribe(listener))\r\n }\r\n }\r\n }\r\n }\r\n */\r\n\r\n return hoistStatics(Connect, WrappedComponent)\r\n }\r\n}\r\n","const hasOwn = Object.prototype.hasOwnProperty\r\n\r\nfunction is(x, y) {\r\n if (x === y) {\r\n return x !== 0 || y !== 0 || 1 / x === 1 / y\r\n } else {\r\n return x !== x && y !== y\r\n }\r\n}\r\n\r\nexport default function shallowEqual(objA, objB) {\r\n if (is(objA, objB)) return true\r\n\r\n if (typeof objA !== 'object' || objA === null ||\r\n typeof objB !== 'object' || objB === null) {\r\n return false\r\n }\r\n\r\n const keysA = Object.keys(objA)\r\n const keysB = Object.keys(objB)\r\n\r\n if (keysA.length !== keysB.length) return false\r\n\r\n for (let i = 0; i < keysA.length; i++) {\r\n if (!hasOwn.call(objB, keysA[i]) ||\r\n !is(objA[keysA[i]], objB[keysA[i]])) {\r\n return false\r\n }\r\n }\r\n\r\n return true\r\n}\r\n","import verifyPlainObject from '../utils/verifyPlainObject'\r\n\r\nexport function wrapMapToPropsConstant(getConstant) {\r\n return function initConstantSelector(dispatch, options) {\r\n const constant = getConstant(dispatch, options)\r\n\r\n function constantSelector() { return constant }\r\n constantSelector.dependsOnOwnProps = false \r\n return constantSelector\r\n }\r\n}\r\n\r\n// dependsOnOwnProps is used by createMapToPropsProxy to determine whether to pass props as args\r\n// to the mapToProps function being wrapped. It is also used by makePurePropsSelector to determine\r\n// whether mapToProps needs to be invoked when props have changed.\r\n// \r\n// A length of one signals that mapToProps does not depend on props from the parent component.\r\n// A length of zero is assumed to mean mapToProps is getting args via arguments or ...args and\r\n// therefore not reporting its length accurately..\r\nexport function getDependsOnOwnProps(mapToProps) {\r\n return (mapToProps.dependsOnOwnProps !== null && mapToProps.dependsOnOwnProps !== undefined)\r\n ? Boolean(mapToProps.dependsOnOwnProps)\r\n : mapToProps.length !== 1\r\n}\r\n\r\n// Used by whenMapStateToPropsIsFunction and whenMapDispatchToPropsIsFunction,\r\n// this function wraps mapToProps in a proxy function which does several things:\r\n// \r\n// * Detects whether the mapToProps function being called depends on props, which\r\n// is used by selectorFactory to decide if it should reinvoke on props changes.\r\n// \r\n// * On first call, handles mapToProps if returns another function, and treats that\r\n// new function as the true mapToProps for subsequent calls.\r\n// \r\n// * On first call, verifies the first result is a plain object, in order to warn\r\n// the developer that their mapToProps function is not returning a valid result.\r\n// \r\nexport function wrapMapToPropsFunc(mapToProps, methodName) {\r\n return function initProxySelector(dispatch, { displayName }) {\r\n const proxy = function mapToPropsProxy(stateOrDispatch, ownProps) {\r\n return proxy.dependsOnOwnProps\r\n ? proxy.mapToProps(stateOrDispatch, ownProps)\r\n : proxy.mapToProps(stateOrDispatch)\r\n }\r\n\r\n // allow detectFactoryAndVerify to get ownProps\r\n proxy.dependsOnOwnProps = true\r\n\r\n proxy.mapToProps = function detectFactoryAndVerify(stateOrDispatch, ownProps) {\r\n proxy.mapToProps = mapToProps\r\n proxy.dependsOnOwnProps = getDependsOnOwnProps(mapToProps)\r\n let props = proxy(stateOrDispatch, ownProps)\r\n\r\n if (typeof props === 'function') {\r\n proxy.mapToProps = props\r\n proxy.dependsOnOwnProps = getDependsOnOwnProps(props)\r\n props = proxy(stateOrDispatch, ownProps)\r\n }\r\n\r\n if (process.env.NODE_ENV !== 'production') \r\n verifyPlainObject(props, displayName, methodName)\r\n\r\n return props\r\n }\r\n\r\n return proxy\r\n }\r\n}\r\n","import { bindActionCreators } from 'redux'\r\nimport { wrapMapToPropsConstant, wrapMapToPropsFunc } from './wrapMapToProps'\r\n\r\nexport function whenMapDispatchToPropsIsFunction(mapDispatchToProps) {\r\n return (typeof mapDispatchToProps === 'function')\r\n ? wrapMapToPropsFunc(mapDispatchToProps, 'mapDispatchToProps')\r\n : undefined\r\n}\r\n\r\nexport function whenMapDispatchToPropsIsMissing(mapDispatchToProps) {\r\n return (!mapDispatchToProps)\r\n ? wrapMapToPropsConstant(dispatch => ({ dispatch }))\r\n : undefined\r\n}\r\n\r\nexport function whenMapDispatchToPropsIsObject(mapDispatchToProps) {\r\n return (mapDispatchToProps && typeof mapDispatchToProps === 'object')\r\n ? wrapMapToPropsConstant(dispatch => bindActionCreators(mapDispatchToProps, dispatch))\r\n : undefined\r\n}\r\n\r\nexport default [\r\n whenMapDispatchToPropsIsFunction,\r\n whenMapDispatchToPropsIsMissing,\r\n whenMapDispatchToPropsIsObject\r\n]\r\n","import { wrapMapToPropsConstant, wrapMapToPropsFunc } from './wrapMapToProps'\r\n\r\nexport function whenMapStateToPropsIsFunction(mapStateToProps) {\r\n return (typeof mapStateToProps === 'function')\r\n ? wrapMapToPropsFunc(mapStateToProps, 'mapStateToProps')\r\n : undefined\r\n}\r\n\r\nexport function whenMapStateToPropsIsMissing(mapStateToProps) {\r\n return (!mapStateToProps)\r\n ? wrapMapToPropsConstant(() => ({}))\r\n : undefined\r\n}\r\n\r\nexport default [\r\n whenMapStateToPropsIsFunction,\r\n whenMapStateToPropsIsMissing\r\n]\r\n","import verifyPlainObject from '../utils/verifyPlainObject'\r\n\r\nexport function defaultMergeProps(stateProps, dispatchProps, ownProps) {\r\n return { ...ownProps, ...stateProps, ...dispatchProps }\r\n}\r\n\r\nexport function wrapMergePropsFunc(mergeProps) {\r\n return function initMergePropsProxy(\r\n dispatch, { displayName, pure, areMergedPropsEqual }\r\n ) {\r\n let hasRunOnce = false\r\n let mergedProps\r\n\r\n return function mergePropsProxy(stateProps, dispatchProps, ownProps) {\r\n const nextMergedProps = mergeProps(stateProps, dispatchProps, ownProps)\r\n\r\n if (hasRunOnce) {\r\n if (!pure || !areMergedPropsEqual(nextMergedProps, mergedProps))\r\n mergedProps = nextMergedProps\r\n\r\n } else {\r\n hasRunOnce = true\r\n mergedProps = nextMergedProps\r\n\r\n if (process.env.NODE_ENV !== 'production')\r\n verifyPlainObject(mergedProps, displayName, 'mergeProps')\r\n }\r\n\r\n return mergedProps\r\n }\r\n }\r\n}\r\n\r\nexport function whenMergePropsIsFunction(mergeProps) {\r\n return (typeof mergeProps === 'function')\r\n ? wrapMergePropsFunc(mergeProps)\r\n : undefined\r\n}\r\n\r\nexport function whenMergePropsIsOmitted(mergeProps) {\r\n return (!mergeProps)\r\n ? () => defaultMergeProps\r\n : undefined\r\n}\r\n\r\nexport default [\r\n whenMergePropsIsFunction,\r\n whenMergePropsIsOmitted\r\n]\r\n","import verifySubselectors from './verifySubselectors'\r\n\r\nexport function impureFinalPropsSelectorFactory(\r\n mapStateToProps,\r\n mapDispatchToProps,\r\n mergeProps,\r\n dispatch\r\n) {\r\n return function impureFinalPropsSelector(state, ownProps) {\r\n return mergeProps(\r\n mapStateToProps(state, ownProps),\r\n mapDispatchToProps(dispatch, ownProps),\r\n ownProps\r\n )\r\n }\r\n}\r\n\r\nexport function pureFinalPropsSelectorFactory(\r\n mapStateToProps,\r\n mapDispatchToProps,\r\n mergeProps,\r\n dispatch,\r\n { areStatesEqual, areOwnPropsEqual, areStatePropsEqual }\r\n) {\r\n let hasRunAtLeastOnce = false\r\n let state\r\n let ownProps\r\n let stateProps\r\n let dispatchProps\r\n let mergedProps\r\n\r\n function handleFirstCall(firstState, firstOwnProps) {\r\n state = firstState\r\n ownProps = firstOwnProps\r\n stateProps = mapStateToProps(state, ownProps)\r\n dispatchProps = mapDispatchToProps(dispatch, ownProps)\r\n mergedProps = mergeProps(stateProps, dispatchProps, ownProps)\r\n hasRunAtLeastOnce = true\r\n return mergedProps\r\n }\r\n\r\n function handleNewPropsAndNewState() {\r\n stateProps = mapStateToProps(state, ownProps)\r\n\r\n if (mapDispatchToProps.dependsOnOwnProps)\r\n dispatchProps = mapDispatchToProps(dispatch, ownProps)\r\n\r\n mergedProps = mergeProps(stateProps, dispatchProps, ownProps)\r\n return mergedProps\r\n }\r\n\r\n function handleNewProps() {\r\n if (mapStateToProps.dependsOnOwnProps)\r\n stateProps = mapStateToProps(state, ownProps)\r\n\r\n if (mapDispatchToProps.dependsOnOwnProps)\r\n dispatchProps = mapDispatchToProps(dispatch, ownProps)\r\n\r\n mergedProps = mergeProps(stateProps, dispatchProps, ownProps)\r\n return mergedProps\r\n }\r\n\r\n function handleNewState() {\r\n const nextStateProps = mapStateToProps(state, ownProps)\r\n const statePropsChanged = !areStatePropsEqual(nextStateProps, stateProps)\r\n stateProps = nextStateProps\r\n\r\n if (statePropsChanged)\r\n mergedProps = mergeProps(stateProps, dispatchProps, ownProps)\r\n\r\n return mergedProps\r\n }\r\n\r\n function handleSubsequentCalls(nextState, nextOwnProps) {\r\n const propsChanged = !areOwnPropsEqual(nextOwnProps, ownProps)\r\n const stateChanged = !areStatesEqual(nextState, state)\r\n state = nextState\r\n ownProps = nextOwnProps\r\n\r\n if (propsChanged && stateChanged) return handleNewPropsAndNewState()\r\n if (propsChanged) return handleNewProps()\r\n if (stateChanged) return handleNewState()\r\n return mergedProps\r\n }\r\n\r\n return function pureFinalPropsSelector(nextState, nextOwnProps) {\r\n return hasRunAtLeastOnce\r\n ? handleSubsequentCalls(nextState, nextOwnProps)\r\n : handleFirstCall(nextState, nextOwnProps)\r\n }\r\n}\r\n\r\n// TODO: Add more comments\r\n\r\n// If pure is true, the selector returned by selectorFactory will memoize its results,\r\n// allowing connectAdvanced's shouldComponentUpdate to return false if final\r\n// props have not changed. If false, the selector will always return a new\r\n// object and shouldComponentUpdate will always return true.\r\n\r\nexport default function finalPropsSelectorFactory(dispatch, {\r\n initMapStateToProps,\r\n initMapDispatchToProps,\r\n initMergeProps,\r\n ...options\r\n}) {\r\n const mapStateToProps = initMapStateToProps(dispatch, options)\r\n const mapDispatchToProps = initMapDispatchToProps(dispatch, options)\r\n const mergeProps = initMergeProps(dispatch, options)\r\n\r\n if (process.env.NODE_ENV !== 'production') {\r\n verifySubselectors(mapStateToProps, mapDispatchToProps, mergeProps, options.displayName)\r\n }\r\n\r\n const selectorFactory = options.pure\r\n ? pureFinalPropsSelectorFactory\r\n : impureFinalPropsSelectorFactory\r\n\r\n return selectorFactory(\r\n mapStateToProps,\r\n mapDispatchToProps,\r\n mergeProps,\r\n dispatch,\r\n options\r\n )\r\n}\r\n","import connectAdvanced from '../components/connectAdvanced'\r\nimport shallowEqual from '../utils/shallowEqual'\r\nimport defaultMapDispatchToPropsFactories from './mapDispatchToProps'\r\nimport defaultMapStateToPropsFactories from './mapStateToProps'\r\nimport defaultMergePropsFactories from './mergeProps'\r\nimport defaultSelectorFactory from './selectorFactory'\r\n\r\n/*\r\n connect is a facade over connectAdvanced. It turns its args into a compatible\r\n selectorFactory, which has the signature:\r\n\r\n (dispatch, options) => (nextState, nextOwnProps) => nextFinalProps\r\n \r\n connect passes its args to connectAdvanced as options, which will in turn pass them to\r\n selectorFactory each time a Connect component instance is instantiated or hot reloaded.\r\n\r\n selectorFactory returns a final props selector from its mapStateToProps,\r\n mapStateToPropsFactories, mapDispatchToProps, mapDispatchToPropsFactories, mergeProps,\r\n mergePropsFactories, and pure args.\r\n\r\n The resulting final props selector is called by the Connect component instance whenever\r\n it receives new props or store state.\r\n */\r\n\r\nfunction match(arg, factories, name) {\r\n for (let i = factories.length - 1; i >= 0; i--) {\r\n const result = factories[i](arg)\r\n if (result) return result\r\n }\r\n\r\n return (dispatch, options) => {\r\n throw new Error(`Invalid value of type ${typeof arg} for ${name} argument when connecting component ${options.wrappedComponentName}.`)\r\n }\r\n}\r\n\r\nfunction strictEqual(a, b) { return a === b }\r\n\r\n// createConnect with default args builds the 'official' connect behavior. Calling it with\r\n// different options opens up some testing and extensibility scenarios\r\nexport function createConnect({\r\n connectHOC = connectAdvanced,\r\n mapStateToPropsFactories = defaultMapStateToPropsFactories,\r\n mapDispatchToPropsFactories = defaultMapDispatchToPropsFactories,\r\n mergePropsFactories = defaultMergePropsFactories,\r\n selectorFactory = defaultSelectorFactory\r\n} = {}) {\r\n return function connect(\r\n mapStateToProps,\r\n mapDispatchToProps,\r\n mergeProps,\r\n {\r\n pure = true,\r\n areStatesEqual = strictEqual,\r\n areOwnPropsEqual = shallowEqual,\r\n areStatePropsEqual = shallowEqual,\r\n areMergedPropsEqual = shallowEqual,\r\n ...extraOptions\r\n } = {}\r\n ) {\r\n const initMapStateToProps = match(mapStateToProps, mapStateToPropsFactories, 'mapStateToProps')\r\n const initMapDispatchToProps = match(mapDispatchToProps, mapDispatchToPropsFactories, 'mapDispatchToProps')\r\n const initMergeProps = match(mergeProps, mergePropsFactories, 'mergeProps')\r\n\r\n return connectHOC(selectorFactory, {\r\n // used in error messages\r\n methodName: 'connect',\r\n\r\n // used to compute Connect's displayName from the wrapped component's displayName.\r\n getDisplayName: name => `Connect(${name})`,\r\n\r\n // if mapStateToProps is falsy, the Connect component doesn't subscribe to store state changes\r\n shouldHandleStateChanges: Boolean(mapStateToProps),\r\n\r\n // passed through to selectorFactory\r\n initMapStateToProps,\r\n initMapDispatchToProps,\r\n initMergeProps,\r\n pure,\r\n areStatesEqual,\r\n areOwnPropsEqual,\r\n areStatePropsEqual,\r\n areMergedPropsEqual,\r\n\r\n // any extra options args can override defaults of connect or connectAdvanced\r\n ...extraOptions\r\n })\r\n }\r\n}\r\n\r\nexport default createConnect()\r\n"],"names":["emptyFunction","module","shim","props","propName","componentName","location","propFullName","secret","ReactPropTypesSecret","err","Error","name","getShim","isRequired","ReactPropTypes","array","bool","func","number","object","string","symbol","any","arrayOf","element","instanceOf","node","objectOf","oneOf","oneOfType","shape","exact","checkPropTypes","PropTypes","require$$0","storeShape","ReactReduxContext","React","createContext","createProvider","Provider","_Component","store","state","getState","componentDidMount","subscribe","componentWillUnmount","this","unsubscribe","_isMounted","newStoreState","_this2","setState","providerState","storeState","postMountStoreState","render","value","only","children","Component","propTypes","REACT_STATICS","childContextTypes","contextTypes","defaultProps","displayName","getDefaultProps","getDerivedStateFromProps","mixins","type","KNOWN_STATICS","length","prototype","caller","callee","arguments","arity","defineProperty","Object","getOwnPropertyNames","getOwnPropertySymbols","getOwnPropertyDescriptor","getPrototypeOf","objectPrototype","hoistNonReactStatics","targetComponent","sourceComponent","blacklist","inheritedComponent","keys","concat","i","key","descriptor","e","condition","format","a","b","c","d","f","error","undefined","args","argIndex","replace","framesToPop","connectAdvanced","selectorFactory","getDisplayName","methodName","renderCountProp","shouldHandleStateChanges","storeKey","withRef","connectOptions","WrappedComponent","JSON","stringify","wrappedComponentName","selectorFactoryOptions","OuterBaseComponent","pure","PureComponent","ConnectInner","wrapperProps","_this","createChildSelector","getChildPropsState","dispatch","nextProps","childPropsSelector","childProps","nextChildProps","shouldComponentUpdate","nextState","Connect","_OuterBaseComponent","renderInner","bind","providerValue","version","Consumer","hoistStatics","hasOwn","hasOwnProperty","is","x","y","shallowEqual","objA","objB","keysA","call","wrapMapToPropsConstant","getConstant","options","constant","constantSelector","dependsOnOwnProps","getDependsOnOwnProps","mapToProps","wrapMapToPropsFunc","proxy","stateOrDispatch","ownProps","mapDispatchToProps","bindActionCreators","mapStateToProps","defaultMergeProps","stateProps","dispatchProps","mergeProps","areMergedPropsEqual","hasRunOnce","mergedProps","nextMergedProps","wrapMergePropsFunc","impureFinalPropsSelectorFactory","pureFinalPropsSelectorFactory","areStatesEqual","areOwnPropsEqual","areStatePropsEqual","hasRunAtLeastOnce","handleSubsequentCalls","nextOwnProps","nextStateProps","statePropsChanged","propsChanged","stateChanged","finalPropsSelectorFactory","initMapStateToProps","initMapDispatchToProps","initMergeProps","match","arg","factories","result","strictEqual","connectHOC","mapStateToPropsFactories","defaultMapStateToPropsFactories","mapDispatchToPropsFactories","defaultMapDispatchToPropsFactories","mergePropsFactories","defaultMergePropsFactories","defaultSelectorFactory","extraOptions","createConnect"],"mappings":"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"}