From 6e9d6453fd0c96ec3a826e73c6b91783419452d9 Mon Sep 17 00:00:00 2001 From: lumir Date: Sat, 5 Sep 2026 22:35:16 +0900 Subject: [PATCH] refactor: use `Set` instead of `Map` in `no-duplicate-keys` --- src/rules/no-duplicate-keys.js | 9 ++++----- 1 file changed, 4 insertions(+), 5 deletions(-) diff --git a/src/rules/no-duplicate-keys.js b/src/rules/no-duplicate-keys.js index f2e3ad7..6539ea7 100644 --- a/src/rules/no-duplicate-keys.js +++ b/src/rules/no-duplicate-keys.js @@ -14,7 +14,6 @@ import { getKey, getRawKey } from "../util.js"; //----------------------------------------------------------------------------- /** - * @import { MemberNode } from "@humanwhocodes/momoa"; * @import { JSONRuleVisitor, JSONRuleDefinition } from "../types.js"; * @typedef {"duplicateKey"} NoDuplicateKeysMessageIds * @typedef {JSONRuleDefinition<{ MessageIds: NoDuplicateKeysMessageIds }>} NoDuplicateKeysRuleDefinition @@ -42,16 +41,16 @@ export default /** @satisfies {NoDuplicateKeysRuleDefinition} */ ({ }, create(context) { - /** @type {Array|undefined>} */ + /** @type {Array|undefined>} */ const objectKeys = []; - /** @type {Map|undefined} */ + /** @type {Set|undefined} */ let keys; return /** @type {JSONRuleVisitor} */ ({ Object() { objectKeys.push(keys); - keys = new Map(); + keys = new Set(); }, Member(node) { @@ -67,7 +66,7 @@ export default /** @satisfies {NoDuplicateKeysRuleDefinition} */ ({ }, }); } else { - keys.set(key, node); + keys.add(key); } },