diff --git a/packages/svelte/src/reactivity/set.js b/packages/svelte/src/reactivity/set.js index 72af3e73bd..1164d5aa32 100644 --- a/packages/svelte/src/reactivity/set.js +++ b/packages/svelte/src/reactivity/set.js @@ -160,17 +160,16 @@ export class ReactiveSet extends Set { } entries() { - const values = Array.from(this.values()); - let next_index = 0; + const iterator = this.values(); return make_iterable( - /** @type {any} */ ({ + /** @type {IterableIterator<[T, T]>} */ ({ next() { - const index = next_index; - next_index += 1; - return index < values.length - ? { value: [values[index], values[index]], done: false } - : { done: true }; + for (const value of iterator) { + return { value: [value, value], done: false }; + } + + return { done: true }; } }) );