UNPKG

tslint-etc

Version:
27 lines (26 loc) 938 B
"use strict"; 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";