.gitignore added
[dotfiles/.git] / .config / coc / extensions / node_modules / coc-prettier / node_modules / stylelint / lib / utils / ruleMessages.js
1 /* @flow */
2 "use strict";
3
4 /**
5  * Given an object of violation messages, return another
6  * that provides the same messages postfixed with the rule
7  * that has been violated.
8  *
9  * @param {string} ruleName
10  * @param {object} messages - Object whose keys are message identifiers
11  *   and values are either message strings or functions that return message strings
12  * @return {object} New message object, whose messages will be marked with the rule name
13  */
14 module.exports = function(
15   ruleName /*: string*/,
16   messages /*: Object*/
17 ) /*: Object*/ {
18   return Object.keys(messages).reduce((newMessages, messageId) => {
19     const messageText = messages[messageId];
20     if (typeof messageText === "string") {
21       newMessages[messageId] = `${messageText} (${ruleName})`;
22     } else {
23       newMessages[messageId] = function() {
24         return `${messageText.apply(null, arguments)} (${ruleName})`;
25       };
26     }
27     return newMessages;
28   }, {});
29 };