code: function wrapMapToPropsFunc(mapToProps, methodName) {
    return function initProxySelector(dispatch, _ref) {
      var displayName = _ref.displayName;
  
      var proxy = function mapToPropsProxy(stateOrDispatch, ownProps) {
        return proxy.dependsOnOwnProps ? proxy.mapToProps(stateOrDispatch, ownProps) : proxy.mapToProps(stateOrDispatch);
      };
  
      // allow detectFactoryAndVerify to get ownProps
      proxy.dependsOnOwnProps = true;
  
      proxy.mapToProps = function detectFactoryAndVerify(stateOrDispatch, ownProps) {
        proxy.mapToProps = mapToProps;
        proxy.dependsOnOwnProps = getDependsOnOwnProps(mapToProps);
        var props = proxy(stateOrDispatch, ownProps);
  
        if (typeof props === 'function') {
          proxy.mapToProps = props;
          proxy.dependsOnOwnProps = getDependsOnOwnProps(props);
          props = proxy(stateOrDispatch, ownProps);
        }
  
        if (true) Object(__WEBPACK_IMPORTED_MODULE_0__utils_verifyPlainObject__["a" /* default */])(props, displayName, methodName);
  
        return props;
      };
  
      return proxy;
    };
  }
docs: 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.