mmlpx
Version:
mobx model layer paradigm
37 lines (28 loc) • 1.15 kB
JavaScript
Object.defineProperty(exports, "__esModule", {
value: true
});
var _isFunction2 = require('lodash/isFunction');
var _isFunction3 = _interopRequireDefault(_isFunction2);
var _flatten2 = require('lodash/flatten');
var _flatten3 = _interopRequireDefault(_flatten2);
exports.default = initialize;
var _meta = require('../meta');
function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
function initialize(injector, ViewModel) {
var args = [];
for (var _i = 2; _i < arguments.length; _i++) {
args[_i - 2] = arguments[_i];
}
var constructorParams = args;
// if the first argument is a function, we can initialize it with the invoker instance `this`
if ((0, _isFunction3.default)(args[0])) {
constructorParams = (0, _flatten3.default)([args[0].call(this, this)]);
}
var name = ViewModel[_meta.modelNameSymbol];
return injector.get.apply(injector, [ViewModel, { scope: "prototype" /* Prototype */, name: name }].concat(constructorParams));
} /**
* @author Kuitos
* @homepage https://github.com/kuitos/
* @since 2017-09-13
*/
;