From 52a756550d8a071e8919b56fe5bcfe7cfbce29ba Mon Sep 17 00:00:00 2001 From: Rich Harris Date: Wed, 5 Jun 2024 09:50:32 -0400 Subject: [PATCH] fix: populate `this.#sources` when constructing reactive map --- .changeset/cold-beans-tease.md | 2 +- packages/svelte/src/reactivity/map.js | 4 ++-- 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/.changeset/cold-beans-tease.md b/.changeset/cold-beans-tease.md index dc02ea7501..7359c27cc0 100644 --- a/.changeset/cold-beans-tease.md +++ b/.changeset/cold-beans-tease.md @@ -2,4 +2,4 @@ 'svelte': patch --- -fix: increment version when creating new source in Map.get or Map.has +fix: populate `this.#sources` when constructing reactive map diff --git a/packages/svelte/src/reactivity/map.js b/packages/svelte/src/reactivity/map.js index e473bd5292..edf4a3c1f6 100644 --- a/packages/svelte/src/reactivity/map.js +++ b/packages/svelte/src/reactivity/map.js @@ -24,7 +24,9 @@ export class ReactiveMap extends Map { if (DEV) new Map(value); if (value) { + var sources = this.#sources; for (var [key, v] of value) { + sources.set(key, source(Symbol())); super.set(key, v); } this.#size.v = super.size; @@ -45,7 +47,6 @@ export class ReactiveMap extends Map { if (ret !== undefined) { s = source(Symbol()); sources.set(key, s); - this.#increment_version(); } else { // We should always track the version in case // the Set ever gets this value in the future. @@ -78,7 +79,6 @@ export class ReactiveMap extends Map { if (ret !== undefined) { s = source(Symbol()); sources.set(key, s); - this.#increment_version(); } else { // We should always track the version in case // the Set ever gets this value in the future.