abstractRule.js 1.0 KB

12345678910111213141516171819202122232425262728293031323334
  1. "use strict";
  2. var AbstractRule = (function () {
  3. function AbstractRule(ruleName, value, disabledIntervals) {
  4. var ruleArguments = [];
  5. if (Array.isArray(value) && value.length > 1) {
  6. ruleArguments = value.slice(1);
  7. }
  8. this.value = value;
  9. this.options = {
  10. disabledIntervals: disabledIntervals,
  11. ruleArguments: ruleArguments,
  12. ruleName: ruleName
  13. };
  14. }
  15. AbstractRule.prototype.getOptions = function () {
  16. return this.options;
  17. };
  18. AbstractRule.prototype.applyWithWalker = function (walker) {
  19. walker.walk(walker.getSourceFile());
  20. return walker.getFailures();
  21. };
  22. AbstractRule.prototype.isEnabled = function () {
  23. var value = this.value;
  24. if (typeof value === "boolean") {
  25. return value;
  26. }
  27. if (Array.isArray(value) && value.length > 0) {
  28. return value[0];
  29. }
  30. return false;
  31. };
  32. return AbstractRule;
  33. }());
  34. exports.AbstractRule = AbstractRule;