Skip to content

Commit 78aa79f

Browse files
committed
perf: remove canPropagate intermediate variable
1 parent 5771ffb commit 78aa79f

File tree

1 file changed

+12
-12
lines changed

1 file changed

+12
-12
lines changed

src/system.ts

Lines changed: 12 additions & 12 deletions
Original file line numberDiff line numberDiff line change
@@ -135,18 +135,16 @@ export function propagate(subs: Link): void {
135135
const subFlags = sub.flags;
136136

137137
if (!(subFlags & SubscriberFlags.Tracking)) {
138-
let canPropagate = !(subFlags >> 2);
139-
if (!canPropagate) {
140-
if (subFlags & SubscriberFlags.CanPropagate) {
141-
sub.flags = (subFlags & ~SubscriberFlags.CanPropagate) | targetFlag;
142-
canPropagate = true;
143-
} else if (!(subFlags & targetFlag)) {
144-
sub.flags = subFlags | targetFlag;
145-
}
146-
} else {
147-
sub.flags = subFlags | targetFlag;
148-
}
149-
if (canPropagate) {
138+
if (
139+
(
140+
!(subFlags >> 2)
141+
&& (sub.flags = subFlags | targetFlag, true)
142+
)
143+
|| (
144+
subFlags & SubscriberFlags.CanPropagate
145+
&& (sub.flags = (subFlags & ~SubscriberFlags.CanPropagate) | targetFlag, true)
146+
)
147+
) {
150148
const subSubs = (sub as Dependency).subs;
151149
if (subSubs !== undefined) {
152150
if (subSubs.nextSub !== undefined) {
@@ -170,6 +168,8 @@ export function propagate(subs: Link): void {
170168
}
171169
queuedEffectsTail = sub;
172170
}
171+
} else {
172+
sub.flags = subFlags | targetFlag;
173173
}
174174
} else if (isValidLink(link, sub)) {
175175
if (!(subFlags >> 2)) {

0 commit comments

Comments
 (0)