UNPKG

tee-mo-core

Version:

46 lines (31 loc) 2.27 kB
'use strict'; Object.defineProperty(exports, "__esModule", { value: true }); exports.validateModel = undefined; var _typeof = typeof Symbol === "function" && typeof Symbol.iterator === "symbol" ? function (obj) { return typeof obj; } : function (obj) { return obj && typeof Symbol === "function" && obj.constructor === Symbol && obj !== Symbol.prototype ? "symbol" : typeof obj; }; var _invariant = require('invariant'); var _invariant2 = _interopRequireDefault(_invariant); var _isPlainObject = require('is-plain-object'); var _isPlainObject2 = _interopRequireDefault(_isPlainObject); function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; } function validateModel(model, modelList) { var namespace = model.namespace, _model$reducers = model.reducers, reducers = _model$reducers === undefined ? {} : _model$reducers, _model$effects = model.effects, effects = _model$effects === undefined ? {} : _model$effects; //必须有namespace (0, _invariant2.default)(namespace, '[teeMo.model] \u5E94\u8BE5\u5B9A\u4E49 namespace'); //必须是string类型 (0, _invariant2.default)(typeof namespace === 'string', '[teeMo.model] namespace\u5FC5\u987B\u662Fstring\u7C7B\u578B,\u5F53\u524Dnamespace\u7684\u7C7B\u578B\u662F [' + _typeof(model.namespace) + ']'); //必须唯一 (0, _invariant2.default)(!modelList.some(function (m) { return namespace === m.namespace; }), '[teeMo.model] namespace\u5FC5\u987B\u552F\u4E00'); //reducers必须是一个普通的javaScript对象 (0, _invariant2.default)((0, _isPlainObject2.default)(reducers), '[teeMo.model] reducers\u5FC5\u987B\u662F\u4E00\u4E2A\u666E\u901A\u7684javaScript\u5BF9\u8C61,\u5F53\u524D\u7684reducer\u7684\u7C7B\u578B\u662F [' + (typeof reducers === 'undefined' ? 'undefined' : _typeof(reducers)) + ']'); //effects必须是一个普通的javaScript对象 (0, _invariant2.default)((0, _isPlainObject2.default)(effects), '[teeMo.model] effects\u5FC5\u987B\u662F\u4E00\u4E2A\u666E\u901A\u7684javaScript\u5BF9\u8C61,\u5F53\u524D\u7684effect\u7684\u7C7B\u578B\u662F [' + (typeof effects === 'undefined' ? 'undefined' : _typeof(effects)) + ']'); } exports.validateModel = validateModel;