From ff38729fc2b1ac7559d391de99991858d05336de Mon Sep 17 00:00:00 2001 From: Rich Harris Date: Wed, 10 Jul 2024 15:28:24 -0400 Subject: [PATCH] short-circuit in both directions --- packages/svelte/src/reactivity/url-search-params.js | 6 +++++- 1 file changed, 5 insertions(+), 1 deletion(-) diff --git a/packages/svelte/src/reactivity/url-search-params.js b/packages/svelte/src/reactivity/url-search-params.js index 440ca9ccdf..13f6971996 100644 --- a/packages/svelte/src/reactivity/url-search-params.js +++ b/packages/svelte/src/reactivity/url-search-params.js @@ -13,14 +13,19 @@ export class SvelteURLSearchParams extends URLSearchParams { #update_url() { if (!this.#url || this.#updating) return; + this.#updating = true; + const search = this.toString(); this.#url.search = search && `?${search}`; + + this.#updating = false; } /** * @param {URLSearchParams} params */ [REPLACE](params) { + if (this.#updating) return; this.#updating = true; for (const key of [...super.keys()]) { @@ -32,7 +37,6 @@ export class SvelteURLSearchParams extends URLSearchParams { } increment(this.#version); - this.#updating = false; }