Skip to content

Commit aa48aad

Browse files
committed
refactor: clearer signal properties naming
1 parent fe47ca7 commit aa48aad

File tree

1 file changed

+11
-12
lines changed

1 file changed

+11
-12
lines changed

src/index.ts

Lines changed: 11 additions & 12 deletions
Original file line numberDiff line numberDiff line change
@@ -12,8 +12,8 @@ interface Computed<T = any> extends ReactiveNode {
1212
}
1313

1414
interface Signal<T = any> extends ReactiveNode {
15-
previousValue: T;
16-
value: T;
15+
currentValue: T;
16+
pendingValue: T;
1717
}
1818

1919
const queuedEffects: (Effect | EffectScope | undefined)[] = [];
@@ -28,7 +28,7 @@ const {
2828
if ('getter' in signal) {
2929
return updateComputed(signal);
3030
} else {
31-
return updateSignal(signal, signal.value);
31+
return updateSignal(signal);
3232
}
3333
},
3434
notify,
@@ -43,7 +43,7 @@ const {
4343
}
4444
} else if ('fn' in node) {
4545
effectOper.call(node);
46-
} else if (!('previousValue' in node)) {
46+
} else if (!('currentValue' in node)) {
4747
effectScopeOper.call(node);
4848
}
4949
},
@@ -108,8 +108,8 @@ export function signal<T>(initialValue?: T): {
108108
(value: T | undefined): void;
109109
} {
110110
return signalOper.bind({
111-
previousValue: initialValue,
112-
value: initialValue,
111+
currentValue: initialValue,
112+
pendingValue: initialValue,
113113
subs: undefined,
114114
subsTail: undefined,
115115
flags: 1 satisfies ReactiveFlags.Mutable,
@@ -184,9 +184,9 @@ function updateComputed(c: Computed): boolean {
184184
}
185185
}
186186

187-
function updateSignal(s: Signal, value: any): boolean {
187+
function updateSignal(s: Signal): boolean {
188188
s.flags = 1 satisfies ReactiveFlags.Mutable;
189-
return s.previousValue !== (s.previousValue = value);
189+
return s.currentValue !== (s.currentValue = s.pendingValue);
190190
}
191191

192192
function notify(e: Effect | EffectScope) {
@@ -283,7 +283,7 @@ function computedOper<T>(this: Computed<T>): T {
283283

284284
function signalOper<T>(this: Signal<T>, ...value: [T]): T | void {
285285
if (value.length) {
286-
if (this.value !== (this.value = value[0])) {
286+
if (this.pendingValue !== (this.pendingValue = value[0])) {
287287
this.flags = 17 as ReactiveFlags.Mutable | ReactiveFlags.Dirty;
288288
const subs = this.subs;
289289
if (subs !== undefined) {
@@ -294,9 +294,8 @@ function signalOper<T>(this: Signal<T>, ...value: [T]): T | void {
294294
}
295295
}
296296
} else {
297-
const value = this.value;
298297
if (this.flags & 16 satisfies ReactiveFlags.Dirty) {
299-
if (updateSignal(this, value)) {
298+
if (updateSignal(this)) {
300299
const subs = this.subs;
301300
if (subs !== undefined) {
302301
shallowPropagate(subs);
@@ -311,7 +310,7 @@ function signalOper<T>(this: Signal<T>, ...value: [T]): T | void {
311310
}
312311
sub = sub.subs?.sub;
313312
}
314-
return value;
313+
return this.currentValue;
315314
}
316315
}
317316

0 commit comments

Comments
 (0)