From 1fc41730a1417aef3ef70bdfaaa851c7fa75dfa5 Mon Sep 17 00:00:00 2001 From: Simon H <5968653+dummdidumm@users.noreply.github.com> Date: Mon, 18 Mar 2024 12:19:49 +0100 Subject: [PATCH] fix: don't override instance methods during legacy class creation (#10834) fixes #10805 --- .changeset/dull-pots-add.md | 5 +++++ packages/svelte/src/legacy/legacy-client.js | 1 + 2 files changed, 6 insertions(+) create mode 100644 .changeset/dull-pots-add.md diff --git a/.changeset/dull-pots-add.md b/.changeset/dull-pots-add.md new file mode 100644 index 0000000000..c993f2532b --- /dev/null +++ b/.changeset/dull-pots-add.md @@ -0,0 +1,5 @@ +--- +"svelte": patch +--- + +fix: don't override instance methods during legacy class creation diff --git a/packages/svelte/src/legacy/legacy-client.js b/packages/svelte/src/legacy/legacy-client.js index 12c6c61b39..775a9e1517 100644 --- a/packages/svelte/src/legacy/legacy-client.js +++ b/packages/svelte/src/legacy/legacy-client.js @@ -79,6 +79,7 @@ class Svelte4Component { }); for (const key of Object.keys(this.#instance)) { + if (key === '$set' || key === '$destroy' || key === '$on') continue; define_property(this, key, { get() { return this.#instance[key];