dareway-rui
Version:
84 lines (66 loc) • 3.05 kB
JavaScript
;
var _interopRequireDefault = require('@babel/runtime/helpers/interopRequireDefault');
Object.defineProperty(exports, '__esModule', {
value: true
});
exports.default = exports.VMFactory = void 0;
var _objectSpread2 = _interopRequireDefault(require('@babel/runtime/helpers/objectSpread'));
var _classCallCheck2 = _interopRequireDefault(require('@babel/runtime/helpers/classCallCheck'));
var _createClass2 = _interopRequireDefault(require('@babel/runtime/helpers/createClass'));
var _react = _interopRequireDefault(require('react'));
var _connect = _interopRequireDefault(require('./connect'));
var _RUIModel = _interopRequireDefault(require('./RUIModel'));
/////////////////////////////////////////////////////////////////////////////
// Dependency
//
var VMFactory =
/*#__PURE__*/
(function() {
function VMFactory(ruiView, ruiModel) {
(0, _classCallCheck2.default)(this, VMFactory);
if (!ruiView) {
throw new Error(
'\u51FD\u6570\u5B9A\u4E49\uFF1ARUICore.buildVMFactory(view, model)\n\u5F02\u5E38\u4FE1\u606F\uFF1A\u5165\u53C2 view \u4E3A undefined \u6216 null\n\u8BF7\u68C0\u67E5!'
);
}
if (!ruiModel) {
throw new Error(
'\u51FD\u6570\u5B9A\u4E49\uFF1ARUICore.buildVMFactory(view, model)\n\u5F02\u5E38\u4FE1\u606F\uFF1A\u5165\u53C2 model \u4E3A undefined \u6216 null\n\u8BF7\u68C0\u67E5!'
);
}
if (!(ruiModel instanceof _RUIModel.default)) {
throw new Error(
'\u51FD\u6570\u5B9A\u4E49\uFF1ARUICore.buildVMFactory(view, model)\n\u5F02\u5E38\u4FE1\u606F\uFF1A\u5165\u53C2 model\uFF08'.concat(
ruiModel,
'\uFF09 \u4E0D\u662F\u901A\u8FC7 RUICore.createModel \u521B\u5EFA\u7684\u5B9E\u4F8B\n\u8BF7\u68C0\u67E5!'
)
);
}
this.ruiView = ruiView;
this.ruiModel = ruiModel;
}
(0, _createClass2.default)(VMFactory, [
{
key: 'build',
value: function build(namespace) {
var connectedNamespace = ''.concat(this.ruiView.name, '_').concat(namespace);
var connectedView = (0, _connect.default)(connectedNamespace)(this.ruiView);
var model = this.ruiModel.getModel();
var connectedModel = (0, _objectSpread2.default)({}, model, {
namespace: connectedNamespace
});
return {
connectedView: connectedView,
connectedModel: connectedModel
};
}
}
]);
return VMFactory;
})();
exports.VMFactory = VMFactory;
var _default = function _default(view, model) {
return new VMFactory(view, model);
};
exports.default = _default;
//@ sourceMappingURL=buildVMFactory.js.map