UNPKG

dareway-rui

Version:

50 lines (38 loc) 1.84 kB
'use strict'; var _interopRequireDefault = require('@babel/runtime/helpers/interopRequireDefault'); Object.defineProperty(exports, '__esModule', { value: true }); exports.default = createModel; var _objectWithoutProperties2 = _interopRequireDefault(require('@babel/runtime/helpers/objectWithoutProperties')); var _isPlainObject = _interopRequireDefault(require('is-plain-object')); var _RUIModel = _interopRequireDefault(require('./RUIModel')); function createModel() { var model = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {}; if (!(0, _isPlainObject.default)(model)) { throw new Error('createModel 入参 model 必须为非空普通 JS 对象,请检查!'); } // 校验 model 结构 var _model$state = model.state, state = _model$state === void 0 ? {} : _model$state, _model$effects = model.effects, effects = _model$effects === void 0 ? {} : _model$effects, _model$reducers = model.reducers, reducers = _model$reducers === void 0 ? {} : _model$reducers, invalidModelProperties = (0, _objectWithoutProperties2.default)(model, ['state', 'effects', 'reducers']); var errorMsg = ''; var hasInvalidModelProperties = false; for (var key in invalidModelProperties) { hasInvalidModelProperties = true; errorMsg += ''.concat(key, ','); } if (hasInvalidModelProperties) { throw new Error( '\u51FD\u6570\u5B9A\u4E49\uFF1ARUICore.createModel({state, effects, reducers})\n\u5F02\u5E38\u4FE1\u606F\uFF1A\u5165\u53C2 model \u4E2D\u5305\u542B\u4E0D\u6B63\u786E\u7684\u5C5E\u6027\u503C\u3010'.concat( errorMsg, '\u3011\n\u8BF7\u68C0\u67E5!' ) ); } return new _RUIModel.default(model); } //@ sourceMappingURL=createModel.js.map