Comment désactiver @TypeScript-eslint/explicit-function-return-type
pour some()
, filter()
, forEach()
?
Il est très ennuyeux de déclarer à chaque fois un boolean
type de retour pour some()
et filter()
et void
pour forEach()
.
[2, 5, 8, 1, 4].some(elem => elem > 10)
[2, 5, 8, 1, 4].some((elem):boolean => elem > 10)
Je veux pouvoir utiliser le premier modèle (marqué "invalide") sans obtenir d'erreurs de cette règle.
Dans votre .eslintrc
fichier, vous pouvez ajouter les éléments suivants sous rules
:
{
...
"plugins": ["@TypeScript-eslint"],
"rules": {
...
"@TypeScript-eslint/explicit-function-return-type": {
"allowExpressions": true
}
}
}
Selon la documentation sur allowExpressions , cela vous permettrait de fournir des rappels en ligne à n'importe quelle fonction sans déclarer de types de retour explicites.
C'est ainsi .eslintrc
doit être configuré pour la règle @TypeScript-eslint/explicit-function-return-type
{
"@TypeScript-eslint/explicit-function-return-type": "off",
"overrides": [
{
"files": ["*.ts", "*.tsx"],
"parser": "@TypeScript-eslint/parser",
...
"rules": {
...
"@TypeScript-eslint/explicit-function-return-type": [
"error",
{
"allowExpressions": true
}
]
}
}
]
}
Exemples de code correct pour cette règle avec {allowExpressions: true}:
node.addEventListener('click', () => {});
node.addEventListener('click', function() {});
const foo = arr.map(i => i * i);
Pour plus d'informations, consultez la documentation de allowExpressions .