UNPKG

mmlpx

Version:

mobx model layer paradigm

37 lines (28 loc) 1.15 kB
'use strict'; 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 */