@@ -12,8 +12,8 @@ interface Computed<T = any> extends ReactiveNode {
1212}
1313
1414interface Signal < T = any > extends ReactiveNode {
15- previousValue : T ;
16- value : T ;
15+ currentValue : T ;
16+ pendingValue : T ;
1717}
1818
1919const 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
192192function notify ( e : Effect | EffectScope ) {
@@ -283,7 +283,7 @@ function computedOper<T>(this: Computed<T>): T {
283283
284284function 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