UNPKG

ola-toolkit

Version:

ola 开发工具套件

51 lines (34 loc) 1.66 kB
"use strict"; Object.defineProperty(exports, "__esModule", { value: true }); exports._wait = undefined; var _defineProperty2 = require("babel-runtime/helpers/defineProperty"); var _defineProperty3 = _interopRequireDefault(_defineProperty2); var _extends3 = require("babel-runtime/helpers/extends"); var _extends4 = _interopRequireDefault(_extends3); exports.default = function (asyncItems, mapStateToProps, mapDispatchToProps, mergeProps, options) { return function (Component) { // Component.reduxAsyncConnect = wrapWithDispatch(asyncItems); Component.reduxAsyncConnect = asyncItems; var finalMapStateToProps = function finalMapStateToProps(state, ownProps) { var useImmutable = (0, _index.isImmutable)(state); var mutableState = useImmutable ? _wait.getMutableState(state) : state; var asyncStateToProps = asyncItems.reduce(function (result, _ref) { var prop = _ref.prop; if (!prop) { return result; } return (0, _extends4.default)({}, result, (0, _defineProperty3.default)({}, prop, mutableState.reduxAsyncConnect[prop])); }, {}); if (typeof mapStateToProps !== 'function') { return asyncStateToProps; } return (0, _extends4.default)({}, mapStateToProps(useImmutable ? _wait.getImmutableState(mutableState) : mutableState, ownProps), asyncStateToProps); }; return _wait.connect(finalMapStateToProps, mapDispatchToProps, mergeProps, options)(Component); }; }; var _index = require("../../index"); function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; } var _wait = exports._wait = {};