tslint-etc
Version:
More rules for TSLint
27 lines (26 loc) • 938 B
JavaScript
;
Object.defineProperty(exports, "__esModule", { value: true });
exports.Rule = void 0;
const tsquery_1 = require("@phenomnomnominal/tsquery");
const Lint = require("tslint");
class Rule extends Lint.Rules.AbstractRule {
apply(sourceFile) {
const failures = [];
const enumDeclarations = tsquery_1.tsquery(sourceFile, "EnumDeclaration");
enumDeclarations.forEach((node) => {
failures.push(new Lint.RuleFailure(sourceFile, node.getStart(), node.getStart() + node.getWidth(), Rule.FAILURE_STRING, this.ruleName));
});
return failures;
}
}
exports.Rule = Rule;
Rule.metadata = {
description: "Disallows the use of enums.",
options: null,
optionsDescription: "Not configurable.",
requiresTypeInfo: false,
ruleName: "no-enum",
type: "functionality",
typescriptOnly: true,
};
Rule.FAILURE_STRING = "enum is forbidden";