UNPKG

stylelint

Version:
62 lines (50 loc) 1.61 kB
"use strict"; Object.defineProperty(exports, "__esModule", { value: true }); exports.messages = exports.ruleName = undefined; var _utils = require("../../utils"); var _lodash = require("lodash"); var ruleName = exports.ruleName = "selector-attribute-operator-blacklist"; var messages = exports.messages = (0, _utils.ruleMessages)(ruleName, { rejected: function rejected(operator) { return "Unexpected operator \"" + operator + "\""; } }); function rule(blacklistInput) { var blacklist = [].concat(blacklistInput); return function (root, result) { var validOptions = (0, _utils.validateOptions)(result, ruleName, { actual: blacklist, possible: [_lodash.isString] }); if (!validOptions) { return; } root.walkRules(function (rule) { if (!(0, _utils.isStandardSyntaxRule)(rule)) { return; } if (rule.selector.indexOf("[") === -1 || rule.selector.indexOf("=") === -1) { return; } (0, _utils.parseSelector)(rule.selector, result, rule, function (selectorTree) { selectorTree.walkAttributes(function (attributeNode) { var operator = attributeNode.operator; if (!operator || operator && blacklist.indexOf(operator) === -1) { return; } (0, _utils.report)({ message: messages.rejected(operator), node: rule, index: attributeNode.attribute.length + 1, result: result, ruleName: ruleName }); }); }); }); }; } rule.primaryOptionArray = true; exports.default = rule;