diff --git a/packages/svelte/src/internal/client/proxy.js b/packages/svelte/src/internal/client/proxy.js index 3df5db751b..e1f62609a6 100644 --- a/packages/svelte/src/internal/client/proxy.js +++ b/packages/svelte/src/internal/client/proxy.js @@ -201,7 +201,17 @@ export function create_proxy(value, onchanges) { v = Reflect.get(target, prop, receiver); if (is_proxied_array && array_methods.includes(/** @type {string} */ (prop))) { - return batch_onchange(v); + // @ts-expect-error + return function (...args) { + try { + batching = true; + + // @ts-expect-error + return v.apply(this, args); + } finally { + batching = false; + } + }; } return v; diff --git a/packages/svelte/tests/runtime-runes/samples/state-onchange-arrays/main.svelte b/packages/svelte/tests/runtime-runes/samples/state-onchange-arrays/main.svelte index 41f8c7a948..53046a1502 100644 --- a/packages/svelte/tests/runtime-runes/samples/state-onchange-arrays/main.svelte +++ b/packages/svelte/tests/runtime-runes/samples/state-onchange-arrays/main.svelte @@ -8,4 +8,4 @@ - \ No newline at end of file +