(meta: R3InjectorMetadata)
| 20 | } |
| 21 | |
| 22 | export function compileInjector(meta: R3InjectorMetadata): R3CompiledExpression { |
| 23 | const definitionMap = new DefinitionMap<{providers: o.Expression; imports: o.Expression}>(); |
| 24 | |
| 25 | if (meta.providers !== null) { |
| 26 | definitionMap.set('providers', meta.providers); |
| 27 | } |
| 28 | |
| 29 | if (meta.imports.length > 0) { |
| 30 | definitionMap.set('imports', o.literalArr(meta.imports)); |
| 31 | } |
| 32 | |
| 33 | const expression = o |
| 34 | .importExpr(R3.defineInjector) |
| 35 | .callFn([definitionMap.toLiteralMap()], undefined, true); |
| 36 | const type = createInjectorType(meta); |
| 37 | return {expression, type, statements: []}; |
| 38 | } |
| 39 | |
| 40 | export function createInjectorType(meta: R3InjectorMetadata): o.Type { |
| 41 | return new o.ExpressionType( |
no test coverage detected
searching dependent graphs…