@@ -32,8 +32,8 @@ export interface SrefStatus {
32
32
entering : boolean ;
33
33
/** A transition is exiting the sref's target state */
34
34
exiting : boolean ;
35
- /** The sref's target state identifier */
36
- identifier : StateOrName ;
35
+ /** The enclosed sref(s) target state(s) */
36
+ targetStates : TargetState [ ] ;
37
37
}
38
38
39
39
/** @internalapi */
@@ -42,7 +42,7 @@ const inactiveStatus: SrefStatus = {
42
42
exact : false ,
43
43
entering : false ,
44
44
exiting : false ,
45
- identifier : null ,
45
+ targetStates : [ ] ,
46
46
} ;
47
47
48
48
/**
@@ -120,18 +120,18 @@ function getSrefStatus(event: TransEvt, srefTarget: TargetState): SrefStatus {
120
120
exact : isExact ( ) ,
121
121
entering : isStartEvent ? isEntering ( ) : false ,
122
122
exiting : isStartEvent ? isExiting ( ) : false ,
123
- identifier : srefTarget . identifier ( ) ,
123
+ targetStates : [ srefTarget ] ,
124
124
} as SrefStatus ;
125
125
}
126
126
127
127
/** @internalapi */
128
- function mergeSrefStatus ( left : SrefStatus , right : SrefStatus ) {
128
+ function mergeSrefStatus ( left : SrefStatus , right : SrefStatus ) : SrefStatus {
129
129
return {
130
130
active : left . active || right . active ,
131
131
exact : left . exact || right . exact ,
132
132
entering : left . entering || right . entering ,
133
133
exiting : left . exiting || right . exiting ,
134
- identifier : left . identifier || right . identifier ,
134
+ targetStates : left . targetStates . concat ( right . targetStates ) ,
135
135
} ;
136
136
}
137
137
0 commit comments