UNPKG

redux-modules

Version:

A library for defining clear, boilerplate free Redux reducers.

27 lines (25 loc) 954 B
'use strict'; Object.defineProperty(exports, "__esModule", { value: true }); exports.default = createMapStateToProps; function getDependsOnOwnProps(mapToProps) { return mapToProps.dependsOnOwnProps !== null && mapToProps.dependsOnOwnProps !== undefined ? Boolean(mapToProps.dependsOnOwnProps) : mapToProps.length !== 1; } function createMapStateToProps(mapToProps) { var proxy = function mapToPropsProxy(state, ownProps) { return proxy.dependsOnOwnProps ? proxy.mapToProps(state, ownProps) : proxy.mapToProps(state); }; proxy.dependsOnOwnProps = getDependsOnOwnProps(mapToProps); proxy.mapToProps = function detectFactoryAndVerify(state, ownProps) { proxy.mapToProps = mapToProps; var props = proxy(state, ownProps); if (typeof props !== 'function') { return props; } proxy.mapToProps = props; proxy.dependsOnOwnProps = getDependsOnOwnProps(props); return proxy(state, ownProps); }; return proxy; }