3 const atRuleParamIndex = require("../../utils/atRuleParamIndex");
4 const findMediaOperator = require("../findMediaOperator");
5 const report = require("../../utils/report");
6 const ruleMessages = require("../../utils/ruleMessages");
7 const validateOptions = require("../../utils/validateOptions");
8 const whitespaceChecker = require("../../utils/whitespaceChecker");
10 const ruleName = "media-feature-range-operator-space-after";
12 const messages = ruleMessages(ruleName, {
13 expectedAfter: () => "Expected single space after range operator",
14 rejectedAfter: () => "Unexpected whitespace after range operator"
17 const rule = function(expectation) {
18 const checker = whitespaceChecker("space", expectation, messages);
19 return (root, result) => {
20 const validOptions = validateOptions(result, ruleName, {
22 possible: ["always", "never"]
28 root.walkAtRules(/^media$/i, atRule => {
29 findMediaOperator(atRule, checkAfterOperator);
32 function checkAfterOperator(match, params, node) {
33 const endIndex = match.index + match[1].length;
42 index: endIndex + atRuleParamIndex(node) + 1,
52 rule.ruleName = ruleName;
53 rule.messages = messages;
54 module.exports = rule;