node/tools/eslint/node_modules/eslint-plugin-jsdoc/dist/WarnSettings.cjs
Michaël Zasso 2eff28fb7a
tools: move ESLint to tools/eslint
Greatly simplify how ESLint and its plugins are installed.

PR-URL: https://github.com/nodejs/node/pull/53413
Reviewed-By: Antoine du Hamel <duhamelantoine1995@gmail.com>
2024-06-19 19:54:08 +00:00

38 lines
1.1 KiB
JavaScript

"use strict";
Object.defineProperty(exports, "__esModule", {
value: true
});
exports.default = void 0;
const WarnSettings = function () {
/** @type {WeakMap<object, Set<string>>} */
const warnedSettings = new WeakMap();
return {
/**
* Warn only once for each context and setting
* @param {import('eslint').Rule.RuleContext} context
* @param {string} setting
* @returns {boolean}
*/
hasBeenWarned(context, setting) {
return warnedSettings.has(context) && /** @type {Set<string>} */warnedSettings.get(context).has(setting);
},
/**
* @param {import('eslint').Rule.RuleContext} context
* @param {string} setting
* @returns {void}
*/
markSettingAsWarned(context, setting) {
// c8 ignore else
if (!warnedSettings.has(context)) {
warnedSettings.set(context, new Set());
}
/** @type {Set<string>} */
warnedSettings.get(context).add(setting);
}
};
};
var _default = exports.default = WarnSettings;
module.exports = exports.default;
//# sourceMappingURL=WarnSettings.cjs.map