tslint-ban-snippets
Version:
A custom tslint rule to ban configurable lists of code snippets.
27 lines • 1.22 kB
JavaScript
;
Object.defineProperty(exports, "__esModule", { value: true });
var ruleIds_1 = require("../ruleIds");
var ConfigFactory;
(function (ConfigFactory) {
function createForBanSnippetsRule(options) {
var config = createFromArguments(options, ruleIds_1.BAN_SNIPPETS_RULE_ID);
validate(config, 'banned', ruleIds_1.BAN_SNIPPETS_RULE_ID);
config.banned.forEach(function (b) { return validate(b, 'snippets', ruleIds_1.BAN_SNIPPETS_RULE_ID); });
return config;
}
ConfigFactory.createForBanSnippetsRule = createForBanSnippetsRule;
function validate(config, prop, ruleId) {
if (config[prop] === undefined) {
throw new Error("invalid config for rule " + ruleId + " - " + prop + " is missing");
}
}
function createFromArguments(options, ruleId) {
var args = options.ruleArguments;
if (args.length !== 1) {
throw new Error("tslint rule is misconfigured (" + ruleId + ") - options.ruleArguments length is " + args.length);
}
var config = args[0];
return config;
}
})(ConfigFactory = exports.ConfigFactory || (exports.ConfigFactory = {}));
//# sourceMappingURL=ConfigFactory.js.map