Проблема, вероятно, в том, что многие угловые декораторы не имеют реальных возвращаемых типов, они возвращают any
. Правила tslint правильно идентифицируют, что мы пытаемся присвоить любое место, где ожидается декоратор.
Одним из решений является увеличение типов декораторов. Я активировал правило в одном из моих проектов, и эти дополнения осчастливили линтера, вам может понадобиться добавить других при необходимости:
import { Type } from '@angular/core/src/type';
declare module '@angular/core/src/metadata/directives' {
export interface InputDecorator {
// tslint:disable-next-line:callable-types
(bindingPropertyName?: string): PropertyDecorator;
}
}
declare module '@angular/core/src/di/injectable' {
export interface InjectableDecorator {
(): ClassDecorator;
// tslint:disable-next-line:unified-signatures
(options?: {
providedIn: Type<any> | 'root' | null;
} & InjectableProvider): ClassDecorator;
}
}