Reputation: 2301
I want to enforce do explicit declare a return type of all functions and methods in the code.
So I set '@typescript-eslint/explicit-function-return-type': 'error'
.
But it's not always works:
This is okay, eslint
throws an error:
const obj = {
fn() { // <---- no return type, so "Missing return type on function" error
return 2;
}
};
This is NOT okay, eslint
see NO problems here:
const obj: Record<string, any> = { // <---- But if I declare a type of an object...
fn() { // <---- ...this is throws no error anymore!
return 2;
}
};
How can I make sure that there is no methods without explicit return type definition?
Upvotes: 2
Views: 4643
Reputation: 47781
The rule you are using has an option called allowTypedFunctionExpressions
that can be explicitly set to false
to get what you want:
...
"rules": {
...
"@typescript-eslint/explicit-function-return-type": ["error", { "allowTypedFunctionExpressions": false }],
...
},
...
Upvotes: 7