Skip to content

Commit f8bdadc

Browse files
authored
chore: simplify is_dirty (#17444)
* chore: simplify is_dirty * tidy up
1 parent 359be81 commit f8bdadc

File tree

2 files changed

+10
-13
lines changed

2 files changed

+10
-13
lines changed

packages/svelte/src/internal/client/reactivity/effects.js

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -328,7 +328,7 @@ export function legacy_pre_effect_reset() {
328328

329329
// If the effect is CLEAN, then make it MAYBE_DIRTY. This ensures we traverse through
330330
// the effects dependencies and correctly ensure each dependency is up-to-date.
331-
if ((effect.f & CLEAN) !== 0) {
331+
if ((effect.f & CLEAN) !== 0 && effect.deps !== null) {
332332
set_signal_status(effect, MAYBE_DIRTY);
333333
}
334334

packages/svelte/src/internal/client/runtime.js

Lines changed: 9 additions & 12 deletions
Original file line numberDiff line numberDiff line change
@@ -166,21 +166,18 @@ export function is_dirty(reaction) {
166166
}
167167

168168
if ((flags & MAYBE_DIRTY) !== 0) {
169-
var dependencies = reaction.deps;
169+
var dependencies = /** @type {Value[]} */ (reaction.deps);
170+
var length = dependencies.length;
170171

171-
if (dependencies !== null) {
172-
var length = dependencies.length;
172+
for (var i = 0; i < length; i++) {
173+
var dependency = dependencies[i];
173174

174-
for (var i = 0; i < length; i++) {
175-
var dependency = dependencies[i];
176-
177-
if (is_dirty(/** @type {Derived} */ (dependency))) {
178-
update_derived(/** @type {Derived} */ (dependency));
179-
}
175+
if (is_dirty(/** @type {Derived} */ (dependency))) {
176+
update_derived(/** @type {Derived} */ (dependency));
177+
}
180178

181-
if (dependency.wv > reaction.wv) {
182-
return true;
183-
}
179+
if (dependency.wv > reaction.wv) {
180+
return true;
184181
}
185182
}
186183

0 commit comments

Comments
 (0)