refactor(core): stronger type for resolved angular decorators (#29608)

PR Close #29608
This commit is contained in:
Paul Gschwendtner
2019-03-28 11:45:33 +01:00
committed by Jason Aden
parent 780081def0
commit 15eb1e0ce1
3 changed files with 10 additions and 4 deletions

View File

@ -9,9 +9,13 @@
import * as ts from 'typescript';
import {getCallDecoratorImport} from './typescript/decorators';
export type CallExpressionDecorator = ts.Decorator & {
expression: ts.CallExpression;
}
export interface NgDecorator {
name: string;
node: ts.Decorator;
node: CallExpressionDecorator;
}
/**
@ -22,5 +26,7 @@ export function getAngularDecorators(
typeChecker: ts.TypeChecker, decorators: ReadonlyArray<ts.Decorator>): NgDecorator[] {
return decorators.map(node => ({node, importData: getCallDecoratorImport(typeChecker, node)}))
.filter(({importData}) => importData && importData.importModule.startsWith('@angular/'))
.map(({node, importData}) => ({node, name: importData !.name}));
.map(
({node, importData}) =>
({node: node as CallExpressionDecorator, name: importData !.name}));
}