UNPKG

stylelint

Version:

A mighty, modern CSS linter.

29 lines (25 loc) 916 B
/* @flow */ 'use strict'; /** * Given an object of violation messages, return another * that provides the same messages postfixed with the rule * that has been violated. * * @param {string} ruleName * @param {object} messages - Object whose keys are message identifiers * and values are either message strings or functions that return message strings * @return {object} New message object, whose messages will be marked with the rule name */ module.exports = function(ruleName /*: string*/, messages /*: Object*/) /*: Object*/ { return Object.keys(messages).reduce((newMessages, messageId) => { const messageText = messages[messageId]; if (typeof messageText === 'string') { newMessages[messageId] = `${messageText} (${ruleName})`; } else { newMessages[messageId] = function() { return `${messageText.apply(null, arguments)} (${ruleName})`; }; } return newMessages; }, {}); };