@@ -321,32 +321,40 @@ export type StatesDefinition<
321
321
> ;
322
322
} ;
323
323
324
- export type TransitionConfigTargetShortcut <
324
+ export type TransitionConfigTarget < TContext , TEvent extends EventObject > =
325
+ | string
326
+ | undefined
327
+ | StateNode < TContext , any , TEvent > ;
328
+
329
+ export type TransitionConfigOrTarget <
325
330
TContext ,
326
331
TEvent extends EventObject
327
- > = string | undefined | StateNode < TContext , any , TEvent > ;
332
+ > = SingleOrArray <
333
+ TransitionConfigTarget < TContext , TEvent > | TransitionConfig < TContext , TEvent >
334
+ > ;
328
335
329
336
type TransitionsConfigMap < TContext , TEvent extends EventObject > = {
330
- [ K in TEvent [ 'type' ] | NullEvent [ 'type' ] | '*' ] ?: SingleOrArray <
331
- | TransitionConfigTargetShortcut < TContext , TEvent >
332
- | ( TransitionConfig <
333
- TContext ,
334
- K extends TEvent [ 'type' ] ? Extract < TEvent , { type : K } > : EventObject
335
- > & {
336
- event ?: undefined ;
337
- } )
337
+ [ K in TEvent [ 'type' ] ] ?: TransitionConfigOrTarget <
338
+ TContext ,
339
+ TEvent extends { type : K } ? TEvent : never
338
340
> ;
341
+ } & {
342
+ '' ?: TransitionConfigOrTarget < TContext , TEvent > ;
343
+ } & {
344
+ '*' ?: TransitionConfigOrTarget < TContext , TEvent > ;
339
345
} ;
340
346
341
347
type TransitionsConfigArray < TContext , TEvent extends EventObject > = Array <
342
- {
343
- [ K in TEvent [ 'type' ] | NullEvent [ 'type' ] | '*' ] : TransitionConfig <
344
- TContext ,
345
- K extends TEvent [ 'type' ] ? Extract < TEvent , { type : K } > : EventObject
346
- > & {
347
- event : K ;
348
- } ;
349
- } [ TEvent [ 'type' ] | NullEvent [ 'type' ] | '*' ]
348
+ | {
349
+ [ K in TEvent [ 'type' ] ] : TransitionConfig <
350
+ TContext ,
351
+ TEvent extends { type : K } ? TEvent : never
352
+ > & {
353
+ event : K ;
354
+ } ;
355
+ } [ TEvent [ 'type' ] ]
356
+ | ( TransitionConfig < TContext , TEvent > & { event : '' } )
357
+ | ( TransitionConfig < TContext , TEvent > & { event : '*' } )
350
358
> ;
351
359
352
360
export type TransitionsConfig < TContext , TEvent extends EventObject > =
@@ -905,7 +913,7 @@ export interface PureAction<TContext, TEvent extends EventObject>
905
913
export interface ChooseAction < TContext , TEvent extends EventObject >
906
914
extends ActionObject < TContext , TEvent > {
907
915
type : ActionTypes . Choose ;
908
- conds : ChooseConditon < TContext , TEvent > [ ] ;
916
+ conds : Array < ChooseConditon < TContext , TEvent > > ;
909
917
}
910
918
911
919
export interface TransitionDefinition < TContext , TEvent extends EventObject >
0 commit comments