Skip to content

Enforces getter/setter pairs in classes (accessor-pairs) #1415

Closed
@feross

Description

https://eslint.org/docs/rules/accessor-pairs

Add the enforceForClassMembers option to the accessor-pairs rule.

Current rule:

    "accessor-pairs": "error",

Proposed rule:

"accessor-pairs": ["error", { "setWithoutGet": true, "enforceForClassMembers": true }],

enforceForClassMembers

By default, this rule does not enforce getter/setter pairs in class declarations and class expressions,
as the default value for enforceForClassMembers is false.

When enforceForClassMembers is set to true:

  • "setWithoutGet": true will also warn for setters without getters in classes.

Examples of incorrect code for { "setWithoutGet": true, "enforceForClassMembers": true }:

/*eslint accessor-pairs: ["error", { "setWithoutGet": true, "enforceForClassMembers": true }]*/

class Foo {
    set a(value) {
        this.val = value;
    }
}

const Bar = class {
    static set a(value) {
        this.val = value;
    }
}

Metadata

Assignees

No one assigned

    Type

    No type

    Projects

    Milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions