diff --git a/src/runtime/internal/keyed_each.ts b/src/runtime/internal/keyed_each.ts index 9e480dd151..138dcbc4b8 100644 --- a/src/runtime/internal/keyed_each.ts +++ b/src/runtime/internal/keyed_each.ts @@ -112,7 +112,13 @@ export function validate_each_keys(ctx, list, get_context, get_key) { 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: Keys at index ${keys.get(key)} and ${i} are duplicates`); + let value = ''; + try { + value = `with value '${String(key)}' `; + } catch (e) { + // can't stringify + } + throw new Error(`Cannot have duplicate keys in a keyed each: Keys at index ${keys.get(key)} and ${i} ${value}are duplicates`); } keys.set(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 a932f2d1f6..d8a6745e16 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: Keys at index 0 and 3 are duplicates' + error: 'Cannot have duplicate keys in a keyed each: Keys at index 0 and 3 with value \'1\' are duplicates' };