1 | "use strict";
|
2 | Object.defineProperty(exports, "__esModule", { value: true });
|
3 | const decorators_1 = require("./decorators");
|
4 | exports.InjectedServiceFactory = (Service) => (sm) => {
|
5 | const service = new Service;
|
6 | const dependencies = decorators_1.getDependencies(service);
|
7 | if (!dependencies) {
|
8 | return service;
|
9 | }
|
10 | return dependencies.reduce((service, { property, dependency, plugin }) => {
|
11 | service[property] = plugin ? plugin(sm, service) : sm.get(dependency);
|
12 | return service;
|
13 | }, service);
|
14 | };
|
15 |
|
\ | No newline at end of file |