From 59fa5403732447c6d8a91920f716e123e9152b89 Mon Sep 17 00:00:00 2001 From: Simon H <5968653+dummdidumm@users.noreply.github.com> Date: Tue, 18 Apr 2023 15:54:45 +0200 Subject: [PATCH] use index instead --- src/runtime/internal/keyed_each.ts | 6 +++--- test/runtime/samples/keyed-each-dev-unique/_config.js | 2 +- 2 files changed, 4 insertions(+), 4 deletions(-) diff --git a/src/runtime/internal/keyed_each.ts b/src/runtime/internal/keyed_each.ts index 1e883832ba..8e1eced981 100644 --- a/src/runtime/internal/keyed_each.ts +++ b/src/runtime/internal/keyed_each.ts @@ -108,12 +108,12 @@ export function update_keyed_each(old_blocks, dirty, get_key, dynamic, ctx, list } export function validate_each_keys(ctx, list, get_context, get_key) { - const keys = new Set(); + const keys = new Map(); for (let i = 0; i < list.length; i++) { const key = get_key(get_context(ctx, list, i)); if (keys.has(key)) { - throw new Error(`Cannot have duplicate keys in a keyed each: ${key} is a duplicate`); + throw new Error(`Cannot have duplicate keys in a keyed each: Keys at index ${keys.get(key)} and ${i} are duplicates`); } - keys.add(key); + keys.add(key, i); } } diff --git a/test/runtime/samples/keyed-each-dev-unique/_config.js b/test/runtime/samples/keyed-each-dev-unique/_config.js index 8db814d43d..a932f2d1f6 100644 --- a/test/runtime/samples/keyed-each-dev-unique/_config.js +++ b/test/runtime/samples/keyed-each-dev-unique/_config.js @@ -3,5 +3,5 @@ export default { dev: true }, - error: 'Cannot have duplicate keys in a keyed each: 1 is a duplicate' + error: 'Cannot have duplicate keys in a keyed each: Keys at index 0 and 3 are duplicates' };