diff --git a/store.mjs b/store.mjs index 797b512704..10bdad3626 100644 --- a/store.mjs +++ b/store.mjs @@ -66,6 +66,7 @@ export function derive(stores, fn) { const single = !Array.isArray(stores); if (single) stores = [stores]; + const auto = fn.length < 2; let value = {}; return readable(set => { @@ -77,7 +78,7 @@ export function derive(stores, fn) { const sync = () => { if (pending) return; const result = fn(single ? values[0] : values, set); - if (value !== (value = result)) set(result); + if (auto && (value !== (value = result))) set(result); } const unsubscribers = stores.map((store, i) => store.subscribe(