@@ -34,7 +34,7 @@ let addStatesToGc = d => statesToGc = addAndScheduleOnFirst(statesToGc, d, () =>
34
34
let stateProto = {
35
35
get val ( ) {
36
36
curDeps ?. _getters ?. add ( this )
37
- return this . _val
37
+ return this . rawVal
38
38
} ,
39
39
40
40
get oldVal ( ) {
@@ -44,8 +44,8 @@ let stateProto = {
44
44
45
45
set val ( v ) {
46
46
curDeps ?. _setters ?. add ( this )
47
- if ( v !== this . _val ) {
48
- this . _val = v
47
+ if ( v !== this . rawVal ) {
48
+ this . rawVal = v
49
49
this . _bindings . length + this . _listeners . length ?
50
50
( derivedStates ?. add ( this ) , changedStates = addAndScheduleOnFirst ( changedStates , this , updateDoms ) ) :
51
51
this . _oldVal = v
@@ -55,7 +55,7 @@ let stateProto = {
55
55
56
56
let state = initVal => ( {
57
57
__proto__ : stateProto ,
58
- _val : initVal ,
58
+ rawVal : initVal ,
59
59
_oldVal : initVal ,
60
60
_bindings : [ ] ,
61
61
_listeners : [ ] ,
@@ -76,7 +76,7 @@ let bind = (f, dom) => {
76
76
let derive = ( f , s = state ( ) , dom ) => {
77
77
let deps = { _getters : new Set , _setters : new Set } , listener = { f, s}
78
78
listener . _dom = dom ?? curNewDerives ?. push ( listener ) ?? alwaysConnectedDom
79
- s . val = runAndCaptureDeps ( f , deps , s . _val )
79
+ s . val = runAndCaptureDeps ( f , deps , s . rawVal )
80
80
for ( let d of deps . _getters )
81
81
deps . _setters . has ( d ) || ( addStatesToGc ( d ) , d . _listeners . push ( listener ) )
82
82
return s
@@ -122,17 +122,17 @@ let tags = new Proxy(ns => new Proxy(tag, handler(ns)), handler())
122
122
let update = ( dom , newDom ) => newDom ? newDom !== dom && dom . replaceWith ( newDom ) : dom . remove ( )
123
123
124
124
let updateDoms = ( ) => {
125
- let iter = 0 , derivedStatesArray = [ ...changedStates ] . filter ( s => s . _val !== s . _oldVal )
125
+ let iter = 0 , derivedStatesArray = [ ...changedStates ] . filter ( s => s . rawVal !== s . _oldVal )
126
126
do {
127
127
derivedStates = new Set
128
128
for ( let l of new Set ( derivedStatesArray . flatMap ( s => s . _listeners = keepConnected ( s . _listeners ) ) ) )
129
129
derive ( l . f , l . s , l . _dom ) , l . _dom = _undefined
130
130
} while ( ++ iter < 100 && ( derivedStatesArray = [ ...derivedStates ] ) . length )
131
- let changedStatesArray = [ ...changedStates ] . filter ( s => s . _val !== s . _oldVal )
131
+ let changedStatesArray = [ ...changedStates ] . filter ( s => s . rawVal !== s . _oldVal )
132
132
changedStates = _undefined
133
133
for ( let b of new Set ( changedStatesArray . flatMap ( s => s . _bindings = keepConnected ( s . _bindings ) ) ) )
134
134
update ( b . _dom , bind ( b . f , b . _dom ) ) , b . _dom = _undefined
135
- for ( let s of changedStatesArray ) s . _oldVal = s . _val
135
+ for ( let s of changedStatesArray ) s . _oldVal = s . rawVal
136
136
}
137
137
138
138
let hydrate = ( dom , f ) => update ( dom , bind ( f , dom ) )
0 commit comments