diff options
Diffstat (limited to 'assets/node_modules/stylelint/lib/rules/function-comma-newline-after/index.js')
-rw-r--r-- | assets/node_modules/stylelint/lib/rules/function-comma-newline-after/index.js | 53 |
1 files changed, 53 insertions, 0 deletions
diff --git a/assets/node_modules/stylelint/lib/rules/function-comma-newline-after/index.js b/assets/node_modules/stylelint/lib/rules/function-comma-newline-after/index.js new file mode 100644 index 0000000..bd9f2cd --- /dev/null +++ b/assets/node_modules/stylelint/lib/rules/function-comma-newline-after/index.js @@ -0,0 +1,53 @@ +'use strict'; + +const fixer = require('../functionCommaSpaceFix'); +const functionCommaSpaceChecker = require('../functionCommaSpaceChecker'); +const ruleMessages = require('../../utils/ruleMessages'); +const validateOptions = require('../../utils/validateOptions'); +const whitespaceChecker = require('../../utils/whitespaceChecker'); + +const ruleName = 'function-comma-newline-after'; + +const messages = ruleMessages(ruleName, { + expectedAfter: () => 'Expected newline after ","', + expectedAfterMultiLine: () => 'Expected newline after "," in a multi-line function', + rejectedAfterMultiLine: () => 'Unexpected whitespace after "," in a multi-line function', +}); + +function rule(expectation, options, context) { + const checker = whitespaceChecker('newline', expectation, messages); + + return (root, result) => { + const validOptions = validateOptions(result, ruleName, { + actual: expectation, + possible: ['always', 'always-multi-line', 'never-multi-line'], + }); + + if (!validOptions) { + return; + } + + functionCommaSpaceChecker({ + root, + result, + locationChecker: checker.afterOneOnly, + checkedRuleName: ruleName, + fix: context.fix + ? (div, index, nodes) => { + return fixer({ + div, + index, + nodes, + expectation, + position: 'after', + symb: context.newline, + }); + } + : null, + }); + }; +} + +rule.ruleName = ruleName; +rule.messages = messages; +module.exports = rule; |