Closed
Description
Before You File a Proposal Please Confirm You Have Done The Following...
- I have searched for related issues and found none that match my proposal.
- I have searched the current rule list and found no rules that match my proposal.
- I have read the FAQ and my problem is not listed.
My proposal is suitable for this project
- I believe my proposal would be useful to the broader TypeScript community (meaning it is not a niche proposal).
Link to the rule's documentation
https://typescript-eslint.io/rules/consistent-generic-constructors/
Description
I think the rule should check function and constructor arguments with default parameter values as well
Related rule: no-inferrable-types
Fail
/* eslint "@typescript-eslint/consistent-generic-constructors": ["error", "constructor"] */
class Foo1 {
bar(baz: Set<string> = new Set()) { }
}
class Foo2 {
constructor(bar: Set<string> = new Set()) { }
}
/* eslint "@typescript-eslint/consistent-generic-constructors": ["error", "type-annotation"] */
class Foo1 {
bar(baz = new Set<string>()) { }
}
class Foo2 {
constructor(bar = new Set<string>()) { }
}
Pass
/* eslint "@typescript-eslint/consistent-generic-constructors": ["error", "constructor"] */
class Foo1 {
bar(baz = new Set<string>()) { }
}
class Foo2 {
constructor(bar = new Set<string>()) { }
}
/* eslint "@typescript-eslint/consistent-generic-constructors": ["error", "type-annotation"] */
class Foo1 {
bar(baz: Set<string> = new Set()) { }
}
class Foo2 {
constructor(bar: Set<string> = new Set()) { }
}
Additional Info
No response