refactor(core): stronger type for resolved angular decorators (#29608)
PR Close #29608
This commit is contained in:

committed by
Jason Aden

parent
780081def0
commit
15eb1e0ce1
@ -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}));
|
||||
}
|
||||
|
Reference in New Issue
Block a user