diff --git a/packages/svelte/src/internal/client/runtime.js b/packages/svelte/src/internal/client/runtime.js index fdb9264c1d..dd40fdad36 100644 --- a/packages/svelte/src/internal/client/runtime.js +++ b/packages/svelte/src/internal/client/runtime.js @@ -1121,11 +1121,10 @@ export function destroy_signal(signal) { /** * @template V * @param {() => V} init - * @param {import('./types.js').EqualsFunctions} [equals] * @returns {import('./types.js').ComputationSignal} */ /*#__NO_SIDE_EFFECTS__*/ -export function derived(init, equals) { +export function derived(init) { const is_unowned = current_effect === null; const flags = is_unowned ? DERIVED | UNOWNED : DERIVED; const signal = /** @type {import('./types.js').ComputationSignal} */ ( @@ -1133,7 +1132,7 @@ export function derived(init, equals) { ); signal.i = init; signal.x = current_component_context; - signal.e = get_equals_method(equals); + signal.e = default_equals; if (!is_unowned) { push_reference(/** @type {import('./types.js').EffectSignal} */ (current_effect), signal); } diff --git a/packages/svelte/tests/signals/test.ts b/packages/svelte/tests/signals/test.ts index ab886d5651..8f8f96c12e 100644 --- a/packages/svelte/tests/signals/test.ts +++ b/packages/svelte/tests/signals/test.ts @@ -112,10 +112,7 @@ describe('signals', () => { const A = $.source(0); const B = $.source(0); const C = $.derived(() => ($.get(A) % 2) + ($.get(B) % 2)); - const D = $.derived( - () => numbers.map((i) => i + ($.get(A) % 2) - ($.get(B) % 2)), - (l: number[], r: number[]) => l.length === r.length && l.every((v, i) => v === r[i]) - ); + const D = $.derived(() => numbers.map((i) => i + ($.get(A) % 2) - ($.get(B) % 2))); const E = $.derived(() => hard($.get(C) + $.get(A) + $.get(D)[0]!, 'E')); const F = $.derived(() => hard($.get(D)[0]! && $.get(B), 'F')); const G = $.derived(() => $.get(C) + ($.get(C) || $.get(E) % 2) + $.get(D)[0]! + $.get(F));