@elsikora/eslint-config
Version:
ESLint configuration vision of ElsiKora
27 lines (24 loc) • 910 B
JavaScript
import { PLUGIN_MAP } from '../constant/utility/plugin-map.constant.js';
/**
* Formats a plugin name according to mapping rules
* @param {string} pluginName - The name of the plugin to format
* @returns {string} The formatted plugin name
*/
function formatPluginName(pluginName) {
for (const [oldName, newName] of getSortedPluginMapEntries()) {
if (pluginName === oldName) {
return pluginName.replace(pluginName, newName);
}
}
return pluginName;
}
/**
* Returns plugin map entries sorted by longest source plugin name first.
* @returns {Array<[string, string]>} Sorted plugin map entries
*/
function getSortedPluginMapEntries() {
// eslint-disable-next-line @elsikora/unicorn/no-array-sort
return Object.entries(PLUGIN_MAP).sort((a, b) => b[0].length - a[0].length);
}
export { formatPluginName };
//# sourceMappingURL=format-plugin-name.utility.js.map