
This adds compilation of @NgModule providers and imports into ngInjectorDef statements in generated code. All @NgModule annotations will be compiled and the @NgModule decorators removed from the resultant js output. All @Injectables will also be compiled in Ivy mode, and the decorator removed. PR Close #22458
30 lines
830 B
TypeScript
30 lines
830 B
TypeScript
/**
|
|
* @license
|
|
* Copyright Google Inc. All Rights Reserved.
|
|
*
|
|
* Use of this source code is governed by an MIT-style license that can be
|
|
* found in the LICENSE file at https://angular.io/license
|
|
*/
|
|
|
|
import * as o from './output_ast';
|
|
|
|
export type MapEntry = {
|
|
key: string,
|
|
quoted: boolean,
|
|
value: o.Expression
|
|
};
|
|
|
|
export type MapLiteral = MapEntry[];
|
|
|
|
export function mapEntry(key: string, value: o.Expression): MapEntry {
|
|
return {key, value, quoted: false};
|
|
}
|
|
|
|
export function mapLiteral(obj: {[key: string]: o.Expression}): o.Expression {
|
|
return o.literalMap(Object.keys(obj).map(key => ({
|
|
key,
|
|
quoted: false,
|
|
value: obj[key],
|
|
})));
|
|
}
|