1 | const DependencyResolver = require('./DependencyResolver');
|
2 |
|
3 | module.exports = {
|
4 | resolveDependency(name) {
|
5 | return (this.resolver = DependencyResolver.resolve(this, name, this.logger));
|
6 | },
|
7 |
|
8 | privateInjectorName() {
|
9 | return `$$${this.name}`;
|
10 | },
|
11 |
|
12 | resolveExposedDependencies() {
|
13 | return this.injectAndReturn(this.exposedDeps);
|
14 | },
|
15 |
|
16 | injectAndReturn(deps) {
|
17 | let resolvedDeps = null;
|
18 |
|
19 | this.inject(function ($injector) {
|
20 | resolvedDeps = deps instanceof RegExp
|
21 | ? $injector.getRegex(deps)
|
22 | : $injector.getMap(deps);
|
23 | });
|
24 |
|
25 | return resolvedDeps;
|
26 | },
|
27 |
|
28 | inject(fn) {
|
29 | const name = this.privateInjectorName();
|
30 | this.addResolvableDependency(name, fn, true);
|
31 | return this.resolveDependency(name);
|
32 | }
|
33 | };
|