| 1234567891011121314151617181920212223242526272829303132 | 'use strict';/** * Given an object of problem messages, return another * that provides the same messages postfixed with the rule * that has been violated. * * @template {import('stylelint').RuleMessages} T * @template {{[K in keyof T]: T[K]}} R * @param {string} ruleName * @param {T} messages - Object whose keys are message identifiers *   and values are either message strings or functions that return message strings * @returns {R} New message object, whose messages will be marked with the rule name */function ruleMessages(ruleName, messages) {	/** @typedef {keyof T} K */	const newMessages = /** @type {R} */ ({});	for (const [messageId, messageText] of /** @type {[K, T[K]][]} */ (Object.entries(messages))) {		if (typeof messageText === 'string') {			newMessages[messageId] = /** @type {R[K]} */ (`${messageText} (${ruleName})`);		} else {			newMessages[messageId] = /** @type {R[K]} */ (				(...args) => `${messageText(...args)} (${ruleName})`			);		}	}	return newMessages;}module.exports = /** @type {typeof import('stylelint').utils.ruleMessages} */ (ruleMessages);
 |