| 12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273747576777879808182 | 
							- "use strict";
 
- var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
 
- exports.__esModule = true;
 
- exports.wrapMapToPropsConstant = wrapMapToPropsConstant;
 
- exports.getDependsOnOwnProps = getDependsOnOwnProps;
 
- exports.wrapMapToPropsFunc = wrapMapToPropsFunc;
 
- var _verifyPlainObject = _interopRequireDefault(require("../utils/verifyPlainObject"));
 
- function wrapMapToPropsConstant( // * Note:
 
- //  It seems that the dispatch argument
 
- //  could be a dispatch function in some cases (ex: whenMapDispatchToPropsIsMissing)
 
- //  and a state object in some others (ex: whenMapStateToPropsIsMissing)
 
- // eslint-disable-next-line no-unused-vars
 
- getConstant) {
 
-   return function initConstantSelector(dispatch) {
 
-     const constant = getConstant(dispatch);
 
-     function constantSelector() {
 
-       return constant;
 
-     }
 
-     constantSelector.dependsOnOwnProps = false;
 
-     return constantSelector;
 
-   };
 
- } // dependsOnOwnProps is used by createMapToPropsProxy to determine whether to pass props as args
 
- // to the mapToProps function being wrapped. It is also used by makePurePropsSelector to determine
 
- // whether mapToProps needs to be invoked when props have changed.
 
- //
 
- // A length of one signals that mapToProps does not depend on props from the parent component.
 
- // A length of zero is assumed to mean mapToProps is getting args via arguments or ...args and
 
- // therefore not reporting its length accurately..
 
- // TODO Can this get pulled out so that we can subscribe directly to the store if we don't need ownProps?
 
- function getDependsOnOwnProps(mapToProps) {
 
-   return mapToProps.dependsOnOwnProps ? Boolean(mapToProps.dependsOnOwnProps) : mapToProps.length !== 1;
 
- } // Used by whenMapStateToPropsIsFunction and whenMapDispatchToPropsIsFunction,
 
- // this function wraps mapToProps in a proxy function which does several things:
 
- //
 
- //  * Detects whether the mapToProps function being called depends on props, which
 
- //    is used by selectorFactory to decide if it should reinvoke on props changes.
 
- //
 
- //  * On first call, handles mapToProps if returns another function, and treats that
 
- //    new function as the true mapToProps for subsequent calls.
 
- //
 
- //  * On first call, verifies the first result is a plain object, in order to warn
 
- //    the developer that their mapToProps function is not returning a valid result.
 
- //
 
- function wrapMapToPropsFunc(mapToProps, methodName) {
 
-   return function initProxySelector(dispatch, {
 
-     displayName
 
-   }) {
 
-     const proxy = function mapToPropsProxy(stateOrDispatch, ownProps) {
 
-       return proxy.dependsOnOwnProps ? proxy.mapToProps(stateOrDispatch, ownProps) : proxy.mapToProps(stateOrDispatch, undefined);
 
-     }; // allow detectFactoryAndVerify to get ownProps
 
-     proxy.dependsOnOwnProps = true;
 
-     proxy.mapToProps = function detectFactoryAndVerify(stateOrDispatch, ownProps) {
 
-       proxy.mapToProps = mapToProps;
 
-       proxy.dependsOnOwnProps = getDependsOnOwnProps(mapToProps);
 
-       let props = proxy(stateOrDispatch, ownProps);
 
-       if (typeof props === 'function') {
 
-         proxy.mapToProps = props;
 
-         proxy.dependsOnOwnProps = getDependsOnOwnProps(props);
 
-         props = proxy(stateOrDispatch, ownProps);
 
-       }
 
-       if (process.env.NODE_ENV !== 'production') (0, _verifyPlainObject.default)(props, displayName, methodName);
 
-       return props;
 
-     };
 
-     return proxy;
 
-   };
 
- }
 
 
  |