UNPKG

@elsikora/eslint-config

Version:

ESLint configuration vision of ElsiKora

26 lines (22 loc) 1.25 kB
'use strict'; var applyPluginRuleDocumentationUrls_utility = require('./apply-plugin-rule-documentation-urls.utility.js'); /** * Returns a cached decorated plugin while preserving plugin object identity across config blocks. * @param {TRuleDocumentationPluginCache} pluginCache - Cache scoped to one config formatting pass * @param {ESLint.Plugin} plugin - Original plugin object * @param {string} pluginName - Final plugin name from the flat config * @returns {ESLint.Plugin} Cached plugin with decorated rule metadata */ function getPluginWithRuleDocumentationUrls(pluginCache, plugin, pluginName) { const cacheByPluginName = pluginCache.get(pluginName) ?? new WeakMap(); const cachedPlugin = cacheByPluginName.get(plugin); if (cachedPlugin) { return cachedPlugin; } const pluginWithDocumentationUrls = applyPluginRuleDocumentationUrls_utility.applyPluginRuleDocumentationUrls(plugin, pluginName); cacheByPluginName.set(plugin, pluginWithDocumentationUrls); pluginCache.set(pluginName, cacheByPluginName); return pluginWithDocumentationUrls; } exports.getPluginWithRuleDocumentationUrls = getPluginWithRuleDocumentationUrls; //# sourceMappingURL=get-plugin-with-rule-documentation-urls.utility.js.map