📝 Disallow classes.
💼🚫 This rule is enabled in the following configs:
noOtherParadigms, ✅ recommended, 🔒 strict. This rule is disabled in the ☑️ lite config.
Disallow use of the class keyword.
/* eslint functional/no-classes: "error" */
class Dog {
constructor(name, age) {
this.name = name;
this.age = age;
}
get ageInDogYears() {
return 7 * this.age;
}
}
const dogA = new Dog("Jasper", 2);
console.log(`${dogA.name} is ${dogA.ageInDogYears} in dog years.`);/* eslint functional/no-classes: "error" */
function getAgeInDogYears(age) {
return 7 * age;
}
const dogA = {
name: "Jasper",
age: 2,
};
console.log(`${dogA.name} is ${getAgeInDogYears(dogA.age)} in dog years.`);This rule accepts an options object of the following type:
type Options = {
ignoreIdentifierPattern?: string[] | string;
ignoreCodePattern?: string[] | string;
};const defaults = {};This option takes a RegExp string or an array of RegExp strings. It allows for the ability to ignore violations based on the class's name.
This option takes a RegExp string or an array of RegExp strings. It allows for the ability to ignore violations based on the code itself.