UNPKG

tee-mo-core

Version:

40 lines (31 loc) 1.55 kB
"use strict"; Object.defineProperty(exports, "__esModule", { value: true }); var _extends = Object.assign || function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; }; exports.default = function (model) { var namespace = model.namespace, _model$initialState = model.initialState, initialState = _model$initialState === undefined ? {} : _model$initialState, _model$reducers = model.reducers, reducers = _model$reducers === undefined ? {} : _model$reducers, _model$effects = model.effects, effects = _model$effects === undefined ? {} : _model$effects; var _status = (0, _util.mapKeys)(effects).map(function (key) { return _defineProperty({}, key + "Status", false); }).reduce(_util.mergePlainObject, {}); return { namespace: namespace, effects: effects, initialState: _extends({}, initialState, { "@@status": _status }), reducers: _extends({}, reducers, defaultReducer) }; }; var _util = require("./util"); function _defineProperty(obj, key, value) { if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; } var defaultReducer = { "@@mergeState": function mergeState(state, action) { return _extends({}, state, action.payload); } };