Skip to content

Commit 1d1ef9d

Browse files
committed
refactor: replace EffectFlags enum with numeric literals for queued effects
1 parent d0bc1a1 commit 1d1ef9d

File tree

1 file changed

+5
-9
lines changed

1 file changed

+5
-9
lines changed

src/index.ts

Lines changed: 5 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -2,10 +2,6 @@ import { createReactiveSystem, type Link, type ReactiveFlags, type ReactiveNode
22

33
let cycle = 0;
44

5-
const enum EffectFlags {
6-
Queued = 1 << 6,
7-
}
8-
95
interface EffectScope extends ReactiveNode { }
106

117
interface Effect extends ReactiveNode {
@@ -198,8 +194,8 @@ function updateSignal(s: Signal, value: any): boolean {
198194

199195
function notify(e: Effect | EffectScope) {
200196
const flags = e.flags;
201-
if (!(flags & EffectFlags.Queued)) {
202-
e.flags = flags | EffectFlags.Queued;
197+
if (!(flags & 64 /* Queued */)) {
198+
e.flags = flags | 64 /* Queued */;
203199
const subs = e.subs;
204200
if (subs !== undefined) {
205201
notify(subs.sub as Effect | EffectScope);
@@ -236,8 +232,8 @@ function run(e: Effect | EffectScope, flags: ReactiveFlags): void {
236232
while (link !== undefined) {
237233
const dep = link.dep;
238234
const depFlags = dep.flags;
239-
if (depFlags & EffectFlags.Queued) {
240-
run(dep, dep.flags = depFlags & ~EffectFlags.Queued);
235+
if (depFlags & 64 /* Queued */) {
236+
run(dep, dep.flags = depFlags & ~(64 /* Queued */));
241237
}
242238
link = link.nextDep;
243239
}
@@ -248,7 +244,7 @@ function flush(): void {
248244
while (notifyIndex < queuedEffectsLength) {
249245
const effect = queuedEffects[notifyIndex]!;
250246
queuedEffects[notifyIndex++] = undefined;
251-
run(effect, effect.flags &= ~EffectFlags.Queued);
247+
run(effect, effect.flags &= ~(64 /* Queued */));
252248
}
253249
notifyIndex = 0;
254250
queuedEffectsLength = 0;

0 commit comments

Comments
 (0)