Skip to content

Enhancement: [consistent-generic-constructors] check default parameter #6151

Closed
@omril1

Description

@omril1

Before You File a Proposal Please Confirm You Have Done The Following...

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

Metadata

Metadata

Assignees

Labels

accepting prsGo ahead, send a pull request that resolves this issueenhancement: plugin rule optionNew rule option for an existing eslint-plugin rulepackage: eslint-pluginIssues related to @typescript-eslint/eslint-plugin

Type

No type

Projects

No projects

Milestone

No milestone

Relationships

None yet

Development

No branches or pull requests

Issue actions

    pFad - Phonifier reborn

    Pfad - The Proxy pFad of © 2024 Garber Painting. All rights reserved.

    Note: This service is not intended for secure transactions such as banking, social media, email, or purchasing. Use at your own risk. We assume no liability whatsoever for broken pages.


    Alternative Proxies:

    Alternative Proxy

    pFad Proxy

    pFad v3 Proxy

    pFad v4 Proxy