tslint - Typedef i TypeScript-fel: 'förväntad variableDeclarator'
När jag kör tslint på min kod får jag detta fel:
expected variableDeclarator: 'getCode' to have a typedef.
för en TypeScript-fil:
export var getCode = function (param: string): string {
// ...
};
Hur förbättrar jag detta så att jag inte ser tslint-felet?
Svar #1
Du måste uttryckligen lägga till en typdeklaration till din variabel.
export var getCode : (param: string) => string = function (param: string): string {
//...
}
Du sa att detta ser ganska oläsligt ut. Ja, anonyma typer gör TS-kod fulare, särskilt när de är stora. I det fallet kan du deklarera ett anropbart gränssnitt, så här:
export interface CodeGetter {
(param: string): string;
}
export var getCode: CodeGetter = function(param: string): string { ... }
Du kan kolla om tslint tillåter dig (jag kan inte kolla det just nu) att utelämna typdeklaration i definitionen av funktionen när du använder gränssnittet
export interface CodeGetter {
(param: string): string;
}
export var getCode: CodeGetter = function(param) { ... }
