UNPKG

@akala/core

Version:
21 lines 882 B
"use strict"; Object.defineProperty(exports, "__esModule", { value: true }); const global_injector_1 = require("./global-injector"); function service(name, ...toInject) { return function (target) { var instance = null; if (toInject == null || toInject.length == 0 && target.length > 0) throw new Error('missing inject names'); else global_injector_1.registerFactory(name, function () { return instance || global_injector_1.injectWithName(toInject, function () { var args = [null]; for (var i = 0; i < arguments.length; i++) args[i + 1] = arguments[i]; return instance = new (Function.prototype.bind.apply(target, args)); })(); }); }; } exports.service = service; //# sourceMappingURL=service.js.map