xstate 4.25.0 → 4.27.0-pr2674-2021926101023
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/CHANGELOG.md +79 -0
- package/dist/xstate.cjs.d.ts +11 -0
- package/dist/xstate.cjs.js +16 -0
- package/dist/xstate.interpreter.js +1 -1
- package/dist/xstate.js +1 -1
- package/dist/xstate.web.js +2 -2
- package/es/Actor.d.ts +1 -2
- package/es/Machine.d.ts +5 -4
- package/es/State.d.ts +11 -9
- package/es/StateNode.d.ts +21 -15
- package/es/StateNode.js +15 -13
- package/es/actions.d.ts +4 -5
- package/es/behaviors.d.ts +1 -1
- package/es/devTools.d.ts +1 -1
- package/es/each.d.ts +1 -1
- package/es/index.d.ts +1 -0
- package/es/interpreter.d.ts +35 -25
- package/es/interpreter.js +2 -1
- package/es/model.d.ts +2 -2
- package/es/model.types.d.ts +8 -9
- package/es/scxml.d.ts +2 -2
- package/es/stateUtils.d.ts +7 -5
- package/es/stateUtils.js +7 -2
- package/es/typegenTypes.d.ts +92 -0
- package/es/types.d.ts +111 -50
- package/es/utils.d.ts +1 -1
- package/es/utils.js +1 -1
- package/lib/Actor.d.ts +1 -2
- package/lib/Machine.d.ts +5 -4
- package/lib/State.d.ts +11 -9
- package/lib/StateNode.d.ts +21 -15
- package/lib/StateNode.js +14 -12
- package/lib/actions.d.ts +4 -5
- package/lib/behaviors.d.ts +1 -1
- package/lib/devTools.d.ts +1 -1
- package/lib/each.d.ts +1 -1
- package/lib/index.d.ts +1 -0
- package/lib/interpreter.d.ts +35 -25
- package/lib/interpreter.js +2 -1
- package/lib/model.d.ts +2 -2
- package/lib/model.types.d.ts +8 -9
- package/lib/scxml.d.ts +2 -2
- package/lib/stateUtils.d.ts +7 -5
- package/lib/stateUtils.js +6 -0
- package/lib/typegenTypes.d.ts +92 -0
- package/lib/typegenTypes.js +2 -0
- package/lib/types.d.ts +111 -50
- package/lib/utils.d.ts +1 -1
- package/lib/utils.js +1 -1
- package/package.json +1 -1
package/es/types.d.ts
CHANGED
|
@@ -1,9 +1,25 @@
|
|
|
1
|
-
import {
|
|
2
|
-
import { State } from './State';
|
|
3
|
-
import { Interpreter, Clock } from './interpreter';
|
|
1
|
+
import { Clock, Interpreter } from './interpreter';
|
|
4
2
|
import { Model } from './model.types';
|
|
5
|
-
|
|
3
|
+
import { State } from './State';
|
|
4
|
+
import { StateNode } from './StateNode';
|
|
5
|
+
import { MarkAllImplementationsAsProvided, TypegenDisabled, ResolveTypegenMeta, TypegenConstraint } from './typegenTypes';
|
|
6
|
+
export declare type AnyFunction = (...args: any[]) => any;
|
|
6
7
|
declare type ReturnTypeOrValue<T> = T extends AnyFunction ? ReturnType<T> : T;
|
|
8
|
+
export declare type IsNever<T> = [T] extends [never] ? true : false;
|
|
9
|
+
export declare type Cast<T extends any, TCastType extends any> = T extends TCastType ? T : TCastType;
|
|
10
|
+
export declare type Compute<A extends any> = {
|
|
11
|
+
[K in keyof A]: A[K];
|
|
12
|
+
} & unknown;
|
|
13
|
+
export declare type Prop<T, K> = K extends keyof T ? T[K] : never;
|
|
14
|
+
export declare type Values<T> = T[keyof T];
|
|
15
|
+
export declare type Merge<M, N> = Omit<M, keyof N> & N;
|
|
16
|
+
export declare type IndexByType<T extends {
|
|
17
|
+
type: string;
|
|
18
|
+
}> = {
|
|
19
|
+
[K in T['type']]: Extract<T, {
|
|
20
|
+
type: K;
|
|
21
|
+
}>;
|
|
22
|
+
};
|
|
7
23
|
export declare type EventType = string;
|
|
8
24
|
export declare type ActionType = string;
|
|
9
25
|
export declare type MetaObject = Record<string, any>;
|
|
@@ -44,7 +60,7 @@ export declare type EventData = Record<string, any> & {
|
|
|
44
60
|
* The specified string event types or the specified event objects.
|
|
45
61
|
*/
|
|
46
62
|
export declare type Event<TEvent extends EventObject> = TEvent['type'] | TEvent;
|
|
47
|
-
export interface ActionMeta<TContext, TEvent extends EventObject, TAction extends
|
|
63
|
+
export interface ActionMeta<TContext, TEvent extends EventObject, TAction extends BaseActionObject = BaseActionObject> extends StateMeta<TContext, TEvent> {
|
|
48
64
|
action: TAction;
|
|
49
65
|
_event: SCXML.Event<TEvent>;
|
|
50
66
|
}
|
|
@@ -53,8 +69,10 @@ export interface AssignMeta<TContext, TEvent extends EventObject> {
|
|
|
53
69
|
action: AssignAction<TContext, TEvent>;
|
|
54
70
|
_event: SCXML.Event<TEvent>;
|
|
55
71
|
}
|
|
56
|
-
export declare type ActionFunction<TContext, TEvent extends EventObject, TAction extends
|
|
57
|
-
|
|
72
|
+
export declare type ActionFunction<TContext, TEvent extends EventObject, TAction extends BaseActionObject = BaseActionObject> = {
|
|
73
|
+
bivarianceHack(context: TContext, event: TEvent, meta: ActionMeta<TContext, TEvent, TAction>): void;
|
|
74
|
+
}['bivarianceHack'];
|
|
75
|
+
export interface ChooseCondition<TContext, TEvent extends EventObject> {
|
|
58
76
|
cond?: Condition<TContext, TEvent>;
|
|
59
77
|
actions: Actions<TContext, TEvent>;
|
|
60
78
|
}
|
|
@@ -116,6 +134,7 @@ export interface TransitionConfig<TContext, TEvent extends EventObject> {
|
|
|
116
134
|
internal?: boolean;
|
|
117
135
|
target?: TransitionTarget<TContext, TEvent>;
|
|
118
136
|
meta?: Record<string, any>;
|
|
137
|
+
description?: string;
|
|
119
138
|
}
|
|
120
139
|
export interface TargetTransitionConfig<TContext, TEvent extends EventObject> extends TransitionConfig<TContext, TEvent> {
|
|
121
140
|
target: TransitionTarget<TContext, TEvent>;
|
|
@@ -157,6 +176,7 @@ export declare type InvokeCallback<TEvent extends EventObject = AnyEventObject,
|
|
|
157
176
|
export interface InvokeMeta {
|
|
158
177
|
data: any;
|
|
159
178
|
src: InvokeSourceDefinition;
|
|
179
|
+
meta?: MetaObject;
|
|
160
180
|
}
|
|
161
181
|
/**
|
|
162
182
|
* Returns either a Promises or a callback handler (for streams of events) given the
|
|
@@ -196,6 +216,7 @@ export interface InvokeDefinition<TContext, TEvent extends EventObject> extends
|
|
|
196
216
|
* Data should be mapped to match the child machine's context shape.
|
|
197
217
|
*/
|
|
198
218
|
data?: Mapper<TContext, TEvent, any> | PropertyMapper<TContext, TEvent, any>;
|
|
219
|
+
meta?: MetaObject;
|
|
199
220
|
}
|
|
200
221
|
export interface Delay {
|
|
201
222
|
id: string;
|
|
@@ -278,6 +299,10 @@ export interface InvokeConfig<TContext, TEvent extends EventObject> {
|
|
|
278
299
|
* The transition to take upon the invoked child machine sending an error event.
|
|
279
300
|
*/
|
|
280
301
|
onError?: string | SingleOrArray<TransitionConfig<TContext, DoneInvokeEvent<any>>>;
|
|
302
|
+
/**
|
|
303
|
+
* Meta data related to this invocation
|
|
304
|
+
*/
|
|
305
|
+
meta?: MetaObject;
|
|
281
306
|
}
|
|
282
307
|
export interface StateNodeConfig<TContext, TStateSchema extends StateSchema, TEvent extends EventObject, TAction extends BaseActionObject = BaseActionObject> {
|
|
283
308
|
/**
|
|
@@ -406,6 +431,10 @@ export interface StateNodeConfig<TContext, TStateSchema extends StateSchema, TEv
|
|
|
406
431
|
* @default false
|
|
407
432
|
*/
|
|
408
433
|
preserveActionOrder?: boolean;
|
|
434
|
+
/**
|
|
435
|
+
* A text description of the state node
|
|
436
|
+
*/
|
|
437
|
+
description?: string;
|
|
409
438
|
}
|
|
410
439
|
export interface StateNodeDefinition<TContext, TStateSchema extends StateSchema, TEvent extends EventObject> {
|
|
411
440
|
id: string;
|
|
@@ -428,6 +457,8 @@ export interface StateNodeDefinition<TContext, TStateSchema extends StateSchema,
|
|
|
428
457
|
order: number;
|
|
429
458
|
data?: FinalStateNodeConfig<TContext, TEvent>['data'];
|
|
430
459
|
invoke: Array<InvokeDefinition<TContext, TEvent>>;
|
|
460
|
+
description?: string;
|
|
461
|
+
tags: string[];
|
|
431
462
|
}
|
|
432
463
|
export declare type AnyStateNodeDefinition = StateNodeDefinition<any, any, any>;
|
|
433
464
|
export interface AtomicStateNodeConfig<TContext, TEvent extends EventObject> extends StateNodeConfig<TContext, StateSchema, TEvent> {
|
|
@@ -449,7 +480,7 @@ export interface FinalStateNodeConfig<TContext, TEvent extends EventObject> exte
|
|
|
449
480
|
data?: Mapper<TContext, TEvent, any> | PropertyMapper<TContext, TEvent, any>;
|
|
450
481
|
}
|
|
451
482
|
export declare type SimpleOrStateNodeConfig<TContext, TStateSchema extends StateSchema, TEvent extends EventObject> = AtomicStateNodeConfig<TContext, TEvent> | StateNodeConfig<TContext, TStateSchema, TEvent>;
|
|
452
|
-
export declare type ActionFunctionMap<TContext, TEvent extends EventObject, TAction extends
|
|
483
|
+
export declare type ActionFunctionMap<TContext, TEvent extends EventObject, TAction extends BaseActionObject = BaseActionObject> = {
|
|
453
484
|
[K in TAction['type']]?: ActionObject<TContext, TEvent> | ActionFunction<TContext, TEvent, TAction extends {
|
|
454
485
|
type: K;
|
|
455
486
|
} ? TAction : never>;
|
|
@@ -457,25 +488,44 @@ export declare type ActionFunctionMap<TContext, TEvent extends EventObject, TAct
|
|
|
457
488
|
export declare type DelayFunctionMap<TContext, TEvent extends EventObject> = Record<string, DelayConfig<TContext, TEvent>>;
|
|
458
489
|
export declare type ServiceConfig<TContext, TEvent extends EventObject = AnyEventObject> = string | StateMachine<any, any, any> | InvokeCreator<TContext, TEvent>;
|
|
459
490
|
export declare type DelayConfig<TContext, TEvent extends EventObject> = number | DelayExpr<TContext, TEvent>;
|
|
460
|
-
|
|
461
|
-
|
|
462
|
-
|
|
491
|
+
declare type MachineOptionsActions<TContext, TResolvedTypesMeta, TEventsCausingActions = Prop<TResolvedTypesMeta, 'eventsCausingActions'>, TIndexedEvents = Prop<TResolvedTypesMeta, 'indexedEvents'>, TIndexedActions = Prop<TResolvedTypesMeta, 'indexedActions'>> = {
|
|
492
|
+
[K in keyof TEventsCausingActions]?: ActionObject<TContext, Cast<Prop<TIndexedEvents, TEventsCausingActions[K]>, EventObject>> | ActionFunction<TContext, Cast<Prop<TIndexedEvents, TEventsCausingActions[K]>, EventObject>, Cast<Prop<TIndexedActions, K>, BaseActionObject>>;
|
|
493
|
+
};
|
|
494
|
+
declare type MachineOptionsDelays<TContext, TResolvedTypesMeta, TEventsCausingDelays = Prop<TResolvedTypesMeta, 'eventsCausingDelays'>, TIndexedEvents = Prop<TResolvedTypesMeta, 'indexedEvents'>> = {
|
|
495
|
+
[K in keyof TEventsCausingDelays]?: DelayConfig<TContext, Cast<Prop<TIndexedEvents, TEventsCausingDelays[K]>, EventObject>>;
|
|
496
|
+
};
|
|
497
|
+
declare type MachineOptionsGuards<TContext, TResolvedTypesMeta, TEventsCausingGuards = Prop<TResolvedTypesMeta, 'eventsCausingGuards'>, TIndexedEvents = Prop<TResolvedTypesMeta, 'indexedEvents'>> = {
|
|
498
|
+
[K in keyof TEventsCausingGuards]?: ConditionPredicate<TContext, Cast<Prop<TIndexedEvents, TEventsCausingGuards[K]>, EventObject>>;
|
|
499
|
+
};
|
|
500
|
+
declare type MachineOptionsServices<TContext, TResolvedTypesMeta, TEventsCausingServices = Prop<TResolvedTypesMeta, 'eventsCausingServices'>, TIndexedEvents = Prop<TResolvedTypesMeta, 'indexedEvents'>, TInvokeSrcNameMap = Prop<TResolvedTypesMeta, 'invokeSrcNameMap'>> = {
|
|
501
|
+
[K in keyof TEventsCausingServices]?: StateMachine<any, any, any> | InvokeCreator<TContext, Cast<Prop<TIndexedEvents, TEventsCausingServices[K]>, EventObject>, Prop<Prop<TIndexedEvents, Prop<TInvokeSrcNameMap, K>>, 'data'>>;
|
|
502
|
+
};
|
|
503
|
+
declare type MakeKeysRequired<T extends string> = {
|
|
504
|
+
[K in T]: unknown;
|
|
505
|
+
};
|
|
506
|
+
declare type MaybeMakeMissingImplementationsRequired<TImplementationType, TMissingImplementationsForType, TRequireMissingImplementations> = TRequireMissingImplementations extends true ? IsNever<TMissingImplementationsForType> extends true ? {} : {
|
|
507
|
+
[K in Cast<TImplementationType, string>]: MakeKeysRequired<Cast<TMissingImplementationsForType, string>>;
|
|
508
|
+
} : {};
|
|
509
|
+
declare type GenerateActionsConfigPart<TContext, TResolvedTypesMeta, TRequireMissingImplementations, TMissingImplementations> = MaybeMakeMissingImplementationsRequired<'actions', Prop<TMissingImplementations, 'actions'>, TRequireMissingImplementations> & {
|
|
510
|
+
actions?: MachineOptionsActions<TContext, TResolvedTypesMeta>;
|
|
511
|
+
};
|
|
512
|
+
declare type GenerateDelaysConfigPart<TContext, TResolvedTypesMeta, TRequireMissingImplementations, TMissingImplementations> = MaybeMakeMissingImplementationsRequired<'delays', Prop<TMissingImplementations, 'delays'>, TRequireMissingImplementations> & {
|
|
513
|
+
delays?: MachineOptionsDelays<TContext, TResolvedTypesMeta>;
|
|
514
|
+
};
|
|
515
|
+
declare type GenerateGuardsConfigPart<TContext, TResolvedTypesMeta, TRequireMissingImplementations, TMissingImplementations> = MaybeMakeMissingImplementationsRequired<'guards', Prop<TMissingImplementations, 'guards'>, TRequireMissingImplementations> & {
|
|
516
|
+
guards?: MachineOptionsGuards<TContext, TResolvedTypesMeta>;
|
|
517
|
+
};
|
|
518
|
+
declare type GenerateServicesConfigPart<TContext, TResolvedTypesMeta, TRequireMissingImplementations, TMissingImplementations> = MaybeMakeMissingImplementationsRequired<'services', Prop<TMissingImplementations, 'services'>, TRequireMissingImplementations> & {
|
|
519
|
+
services?: MachineOptionsServices<TContext, TResolvedTypesMeta>;
|
|
520
|
+
};
|
|
521
|
+
export declare type InternalMachineOptions<TContext, TEvent extends EventObject, TResolvedTypesMeta, TRequireMissingImplementations extends boolean = false, TMissingImplementations = Prop<TResolvedTypesMeta, 'missingImplementations'>> = GenerateActionsConfigPart<TContext, TResolvedTypesMeta, TRequireMissingImplementations, TMissingImplementations> & GenerateDelaysConfigPart<TContext, TResolvedTypesMeta, TRequireMissingImplementations, TMissingImplementations> & GenerateGuardsConfigPart<TContext, TResolvedTypesMeta, TRequireMissingImplementations, TMissingImplementations> & GenerateServicesConfigPart<TContext, TResolvedTypesMeta, TRequireMissingImplementations, TMissingImplementations> & {
|
|
463
522
|
/**
|
|
464
523
|
* @deprecated Use `services` instead.
|
|
465
524
|
*/
|
|
466
|
-
activities
|
|
467
|
-
|
|
468
|
-
|
|
469
|
-
|
|
470
|
-
* @private
|
|
471
|
-
*/
|
|
472
|
-
_parent?: StateNode<TContext, any, TEvent, any>;
|
|
473
|
-
/**
|
|
474
|
-
* @private
|
|
475
|
-
*/
|
|
476
|
-
_key?: string;
|
|
477
|
-
}
|
|
478
|
-
export interface MachineConfig<TContext, TStateSchema extends StateSchema, TEvent extends EventObject, TAction extends BaseActionObject = ActionObject<TContext, TEvent>> extends StateNodeConfig<TContext, TStateSchema, TEvent, TAction> {
|
|
525
|
+
activities?: Record<string, ActivityConfig<TContext, TEvent>>;
|
|
526
|
+
};
|
|
527
|
+
export declare type MachineOptions<TContext, TEvent extends EventObject, TAction extends BaseActionObject = BaseActionObject, TTypesMeta extends TypegenConstraint = TypegenDisabled> = InternalMachineOptions<TContext, TEvent, ResolveTypegenMeta<TTypesMeta, TEvent, TAction>>;
|
|
528
|
+
export interface MachineConfig<TContext, TStateSchema extends StateSchema, TEvent extends EventObject, TAction extends BaseActionObject = BaseActionObject, TTypesMeta = TypegenDisabled> extends StateNodeConfig<TContext, TStateSchema, TEvent, TAction> {
|
|
479
529
|
/**
|
|
480
530
|
* The initial context (extended state)
|
|
481
531
|
*/
|
|
@@ -485,6 +535,7 @@ export interface MachineConfig<TContext, TStateSchema extends StateSchema, TEven
|
|
|
485
535
|
*/
|
|
486
536
|
version?: string;
|
|
487
537
|
schema?: MachineSchema<TContext, TEvent>;
|
|
538
|
+
tsTypes?: TTypesMeta | true;
|
|
488
539
|
}
|
|
489
540
|
export interface MachineSchema<TContext, TEvent extends EventObject> {
|
|
490
541
|
context?: TContext;
|
|
@@ -519,13 +570,19 @@ export interface HistoryStateNode<TContext> extends StateNode<TContext> {
|
|
|
519
570
|
export interface StateMachine<TContext, TStateSchema extends StateSchema, TEvent extends EventObject, TTypestate extends Typestate<TContext> = {
|
|
520
571
|
value: any;
|
|
521
572
|
context: TContext;
|
|
522
|
-
},
|
|
573
|
+
}, TAction extends BaseActionObject = BaseActionObject, TResolvedTypesMeta = TypegenDisabled> extends StateNode<TContext, TStateSchema, TEvent, TTypestate, TResolvedTypesMeta> {
|
|
523
574
|
id: string;
|
|
524
|
-
states: StateNode<TContext, TStateSchema, TEvent>['states'];
|
|
525
|
-
withConfig(options:
|
|
526
|
-
withContext(context: TContext | (() => TContext)): StateMachine<TContext, TStateSchema, TEvent, TTypestate>;
|
|
527
|
-
|
|
528
|
-
|
|
575
|
+
states: StateNode<TContext, TStateSchema, TEvent, TTypestate, TResolvedTypesMeta>['states'];
|
|
576
|
+
withConfig(options: InternalMachineOptions<TContext, TEvent, TResolvedTypesMeta, true>, context?: TContext | (() => TContext)): StateMachine<TContext, TStateSchema, TEvent, TTypestate, TAction, MarkAllImplementationsAsProvided<TResolvedTypesMeta>>;
|
|
577
|
+
withContext(context: TContext | (() => TContext)): StateMachine<TContext, TStateSchema, TEvent, TTypestate, any, TResolvedTypesMeta>;
|
|
578
|
+
__TContext: TContext;
|
|
579
|
+
__TStateSchema: TStateSchema;
|
|
580
|
+
__TEvent: TEvent;
|
|
581
|
+
__TTypestate: TTypestate;
|
|
582
|
+
__TAction: TAction;
|
|
583
|
+
__TResolvedTypesMeta: TResolvedTypesMeta;
|
|
584
|
+
}
|
|
585
|
+
export declare type StateFrom<T extends StateMachine<any, any, any, any, any, any> | ((...args: any[]) => StateMachine<any, any, any, any, any, any>)> = T extends StateMachine<any, any, any, any, any, any> ? ReturnType<T['transition']> : T extends (...args: any[]) => StateMachine<any, any, any, any, any, any> ? ReturnType<ReturnType<T>['transition']> : never;
|
|
529
586
|
export interface ActionMap<TContext, TEvent extends EventObject> {
|
|
530
587
|
onEntry: Array<Action<TContext, TEvent>>;
|
|
531
588
|
actions: Array<Action<TContext, TEvent>>;
|
|
@@ -544,13 +601,13 @@ export interface ActivityMap {
|
|
|
544
601
|
}
|
|
545
602
|
export interface StateTransition<TContext, TEvent extends EventObject> {
|
|
546
603
|
transitions: Array<TransitionDefinition<TContext, TEvent>>;
|
|
547
|
-
configuration: Array<StateNode<TContext, any, TEvent, any>>;
|
|
548
|
-
entrySet: Array<StateNode<TContext, any, TEvent, any>>;
|
|
549
|
-
exitSet: Array<StateNode<TContext, any, TEvent, any>>;
|
|
604
|
+
configuration: Array<StateNode<TContext, any, TEvent, any, any>>;
|
|
605
|
+
entrySet: Array<StateNode<TContext, any, TEvent, any, any>>;
|
|
606
|
+
exitSet: Array<StateNode<TContext, any, TEvent, any, any>>;
|
|
550
607
|
/**
|
|
551
608
|
* The source state that preceded the transition.
|
|
552
609
|
*/
|
|
553
|
-
source: State<TContext, any, any, any> | undefined;
|
|
610
|
+
source: State<TContext, any, any, any, any> | undefined;
|
|
554
611
|
actions: Array<ActionObject<TContext, TEvent>>;
|
|
555
612
|
}
|
|
556
613
|
export interface TransitionData<TContext, TEvent extends EventObject> {
|
|
@@ -693,7 +750,7 @@ export interface PureAction<TContext, TEvent extends EventObject> extends Action
|
|
|
693
750
|
}
|
|
694
751
|
export interface ChooseAction<TContext, TEvent extends EventObject> extends ActionObject<TContext, TEvent> {
|
|
695
752
|
type: ActionTypes.Choose;
|
|
696
|
-
conds: Array<
|
|
753
|
+
conds: Array<ChooseCondition<TContext, TEvent>>;
|
|
697
754
|
}
|
|
698
755
|
export interface TransitionDefinition<TContext, TEvent extends EventObject> extends TransitionConfig<TContext, TEvent> {
|
|
699
756
|
target: Array<StateNode<TContext, any, TEvent>> | undefined;
|
|
@@ -771,7 +828,7 @@ export interface SCXMLEventMeta<TEvent extends EventObject> {
|
|
|
771
828
|
_event: SCXML.Event<TEvent>;
|
|
772
829
|
}
|
|
773
830
|
export interface StateMeta<TContext, TEvent extends EventObject> {
|
|
774
|
-
state: State<TContext, TEvent, any, any>;
|
|
831
|
+
state: State<TContext, TEvent, any, any, any>;
|
|
775
832
|
_event: SCXML.Event<TEvent>;
|
|
776
833
|
}
|
|
777
834
|
export interface Typestate<TContext> {
|
|
@@ -790,7 +847,7 @@ export interface StateConfig<TContext, TEvent extends EventObject> {
|
|
|
790
847
|
_event: SCXML.Event<TEvent>;
|
|
791
848
|
_sessionid: string | null;
|
|
792
849
|
historyValue?: HistoryValue | undefined;
|
|
793
|
-
history?: State<TContext, TEvent>;
|
|
850
|
+
history?: State<TContext, TEvent, any, any, any>;
|
|
794
851
|
actions?: Array<ActionObject<TContext, TEvent>>;
|
|
795
852
|
/**
|
|
796
853
|
* @deprecated
|
|
@@ -803,7 +860,7 @@ export interface StateConfig<TContext, TEvent extends EventObject> {
|
|
|
803
860
|
children: Record<string, ActorRef<any>>;
|
|
804
861
|
done?: boolean;
|
|
805
862
|
tags?: Set<string>;
|
|
806
|
-
machine?: StateMachine<TContext, any, TEvent, any>;
|
|
863
|
+
machine?: StateMachine<TContext, any, TEvent, any, any, any>;
|
|
807
864
|
}
|
|
808
865
|
export interface StateSchema<TC = any> {
|
|
809
866
|
meta?: any;
|
|
@@ -816,9 +873,9 @@ export interface InterpreterOptions {
|
|
|
816
873
|
/**
|
|
817
874
|
* Whether state actions should be executed immediately upon transition. Defaults to `true`.
|
|
818
875
|
*/
|
|
819
|
-
execute
|
|
820
|
-
clock
|
|
821
|
-
logger
|
|
876
|
+
execute?: boolean;
|
|
877
|
+
clock?: Clock;
|
|
878
|
+
logger?: (...args: any[]) => void;
|
|
822
879
|
parent?: AnyInterpreter;
|
|
823
880
|
/**
|
|
824
881
|
* If `true`, defers processing of sent events until the service
|
|
@@ -827,7 +884,7 @@ export interface InterpreterOptions {
|
|
|
827
884
|
*
|
|
828
885
|
* Default: `true`
|
|
829
886
|
*/
|
|
830
|
-
deferEvents
|
|
887
|
+
deferEvents?: boolean;
|
|
831
888
|
/**
|
|
832
889
|
* The custom `id` for referencing this service.
|
|
833
890
|
*/
|
|
@@ -837,8 +894,7 @@ export interface InterpreterOptions {
|
|
|
837
894
|
*
|
|
838
895
|
* Default: `false`
|
|
839
896
|
*/
|
|
840
|
-
devTools
|
|
841
|
-
[option: string]: any;
|
|
897
|
+
devTools?: boolean | object;
|
|
842
898
|
}
|
|
843
899
|
export declare namespace SCXML {
|
|
844
900
|
interface Event<TEvent extends EventObject> {
|
|
@@ -932,15 +988,17 @@ export interface ActorRef<TEvent extends EventObject, TEmitted = any> extends Su
|
|
|
932
988
|
* @deprecated Use `ActorRef` instead.
|
|
933
989
|
*/
|
|
934
990
|
export declare type SpawnedActorRef<TEvent extends EventObject, TEmitted = any> = ActorRef<TEvent, TEmitted>;
|
|
935
|
-
export declare type ActorRefWithDeprecatedState<TContext, TEvent extends EventObject, TTypestate extends Typestate<TContext
|
|
991
|
+
export declare type ActorRefWithDeprecatedState<TContext, TEvent extends EventObject, TTypestate extends Typestate<TContext>, TResolvedTypesMeta = TypegenDisabled> = ActorRef<TEvent, State<TContext, TEvent, any, TTypestate, TResolvedTypesMeta>> & {
|
|
936
992
|
/**
|
|
937
993
|
* @deprecated Use `.getSnapshot()` instead.
|
|
938
994
|
*/
|
|
939
|
-
state: State<TContext, TEvent, any, TTypestate>;
|
|
995
|
+
state: State<TContext, TEvent, any, TTypestate, TResolvedTypesMeta>;
|
|
940
996
|
};
|
|
941
|
-
export declare type ActorRefFrom<T> = T extends StateMachine<infer TContext, any, infer TEvent, infer TTypestate> ? ActorRefWithDeprecatedState<TContext, TEvent, TTypestate> : T extends (...args: any[]) => StateMachine<infer TContext, any, infer TEvent, infer TTypestate> ? ActorRefWithDeprecatedState<TContext, TEvent, TTypestate> : T extends Promise<infer U> ? ActorRef<never, U> : T extends Behavior<infer TEvent1, infer TEmitted> ? ActorRef<TEvent1, TEmitted> : T extends (...args: any[]) => Behavior<infer TEvent1, infer TEmitted> ? ActorRef<TEvent1, TEmitted> : never;
|
|
942
|
-
export declare type AnyInterpreter = Interpreter<any, any, any, any>;
|
|
943
|
-
export declare type InterpreterFrom<T extends StateMachine<any, any, any, any> | ((...args: any[]) => StateMachine<any, any, any, any>)> = T extends StateMachine<infer TContext, infer TStateSchema, infer TEvent, infer TTypestate> ? Interpreter<TContext, TStateSchema, TEvent, TTypestate> : T extends (...args: any[]) => StateMachine<infer TContext, infer TStateSchema, infer TEvent, infer TTypestate> ? Interpreter<TContext, TStateSchema, TEvent, TTypestate> : never;
|
|
997
|
+
export declare type ActorRefFrom<T> = T extends StateMachine<infer TContext, any, infer TEvent, infer TTypestate> ? ActorRefWithDeprecatedState<TContext, TEvent, TTypestate> : T extends (...args: any[]) => StateMachine<infer TContext, any, infer TEvent, infer TTypestate, any, infer TResolvedTypesMeta> ? ActorRefWithDeprecatedState<TContext, TEvent, TTypestate, TResolvedTypesMeta> : T extends Promise<infer U> ? ActorRef<never, U> : T extends Behavior<infer TEvent1, infer TEmitted> ? ActorRef<TEvent1, TEmitted> : T extends (...args: any[]) => Behavior<infer TEvent1, infer TEmitted> ? ActorRef<TEvent1, TEmitted> : never;
|
|
998
|
+
export declare type AnyInterpreter = Interpreter<any, any, any, any, any>;
|
|
999
|
+
export declare type InterpreterFrom<T extends StateMachine<any, any, any, any, any, any> | ((...args: any[]) => StateMachine<any, any, any, any, any, any>)> = T extends StateMachine<infer TContext, infer TStateSchema, infer TEvent, infer TTypestate, any, infer TResolvedTypesMeta> ? Interpreter<TContext, TStateSchema, TEvent, TTypestate, TResolvedTypesMeta> : T extends (...args: any[]) => StateMachine<infer TContext, infer TStateSchema, infer TEvent, infer TTypestate, any, infer TResolvedTypesMeta> ? Interpreter<TContext, TStateSchema, TEvent, TTypestate, TResolvedTypesMeta> : never;
|
|
1000
|
+
export declare type MachineOptionsFrom<T extends StateMachine<any, any, any, any> | ((...args: any[]) => StateMachine<any, any, any, any>), TRequireMissingImplementations extends boolean = false> = ReturnTypeOrValue<T> extends StateMachine<infer TContext, any, infer TEvent, any, any, infer TResolvedTypesMeta> ? InternalMachineOptions<TContext, TEvent, TResolvedTypesMeta, TRequireMissingImplementations> : never;
|
|
1001
|
+
export declare type __ResolvedTypesMetaFrom<T> = T extends StateMachine<any, any, any, any, any, infer TResolvedTypesMeta> ? TResolvedTypesMeta : never;
|
|
944
1002
|
export interface ActorContext<TEvent extends EventObject, TEmitted> {
|
|
945
1003
|
parent?: ActorRef<any, any>;
|
|
946
1004
|
self: ActorRef<TEvent, TEmitted>;
|
|
@@ -953,7 +1011,10 @@ export interface Behavior<TEvent extends EventObject, TEmitted = any> {
|
|
|
953
1011
|
start?: (actorCtx: ActorContext<TEvent, TEmitted>) => TEmitted;
|
|
954
1012
|
}
|
|
955
1013
|
export declare type EmittedFrom<T> = ReturnTypeOrValue<T> extends infer R ? R extends ActorRef<infer _, infer TEmitted> ? TEmitted : R extends Behavior<infer _, infer TEmitted> ? TEmitted : R extends ActorContext<infer _, infer TEmitted> ? TEmitted : never : never;
|
|
956
|
-
|
|
1014
|
+
declare type ResolveEventType<T> = ReturnTypeOrValue<T> extends infer R ? R extends StateMachine<infer _, infer __, infer TEvent, infer ____> ? TEvent : R extends Model<infer _, infer TEvent, infer ___, infer ____> ? TEvent : R extends State<infer _, infer TEvent, infer ___, infer ____> ? TEvent : R extends Interpreter<infer _, infer __, infer TEvent, infer ____> ? TEvent : never : never;
|
|
1015
|
+
export declare type EventFrom<T, K extends Prop<TEvent, 'type'> = never, TEvent = ResolveEventType<T>> = IsNever<K> extends true ? TEvent : Extract<TEvent, {
|
|
1016
|
+
type: K;
|
|
1017
|
+
}>;
|
|
957
1018
|
export declare type ContextFrom<T> = ReturnTypeOrValue<T> extends infer R ? R extends StateMachine<infer TContext, infer _, infer __, infer ___> ? TContext : R extends Model<infer TContext, infer _, infer __, infer ___> ? TContext : R extends State<infer TContext, infer _, infer __, infer ___> ? TContext : R extends Interpreter<infer TContext, infer _, infer __, infer ___> ? TContext : never : never;
|
|
958
1019
|
export {};
|
|
959
1020
|
//# sourceMappingURL=types.d.ts.map
|
package/es/utils.d.ts
CHANGED
|
@@ -63,7 +63,7 @@ export declare function toTransitionConfigArray<TContext, TEvent extends EventOb
|
|
|
63
63
|
}>;
|
|
64
64
|
export declare function normalizeTarget<TContext, TEvent extends EventObject>(target: SingleOrArray<string | StateNode<TContext, any, TEvent>> | undefined): Array<string | StateNode<TContext, any, TEvent>> | undefined;
|
|
65
65
|
export declare function reportUnhandledExceptionOnInvocation(originalError: any, currentError: any, id: string): void;
|
|
66
|
-
export declare function evaluateGuard<TContext, TEvent extends EventObject>(machine: StateNode<TContext, any, TEvent, any>, guard: Guard<TContext, TEvent>, context: TContext, _event: SCXML.Event<TEvent>, state: State<TContext, TEvent>): boolean;
|
|
66
|
+
export declare function evaluateGuard<TContext, TEvent extends EventObject>(machine: StateNode<TContext, any, TEvent, any, any>, guard: Guard<TContext, TEvent>, context: TContext, _event: SCXML.Event<TEvent>, state: State<TContext, TEvent>): boolean;
|
|
67
67
|
export declare function toInvokeSource(src: string | InvokeSourceDefinition): InvokeSourceDefinition;
|
|
68
68
|
export declare function toObserver<T>(nextHandler: Observer<T> | ((value: T) => void), errorHandler?: (error: any) => void, completionHandler?: () => void): Observer<T>;
|
|
69
69
|
//# sourceMappingURL=utils.d.ts.map
|
package/es/utils.js
CHANGED
|
@@ -548,7 +548,7 @@ function evaluateGuard(machine, guard, context, _event, state) {
|
|
|
548
548
|
return ((guards === null || guards === void 0 ? void 0 : guards[guard.name]) || guard.predicate)(context, _event.data, guardMeta);
|
|
549
549
|
}
|
|
550
550
|
|
|
551
|
-
var condFn = guards[guard.type];
|
|
551
|
+
var condFn = guards === null || guards === void 0 ? void 0 : guards[guard.type];
|
|
552
552
|
|
|
553
553
|
if (!condFn) {
|
|
554
554
|
throw new Error("Guard '" + guard.type + "' is not implemented on machine '" + machine.id + "'.");
|
package/lib/Actor.d.ts
CHANGED
|
@@ -1,5 +1,4 @@
|
|
|
1
|
-
import { EventObject, Subscribable, InvokeDefinition, AnyEventObject, StateMachine, Spawnable, SCXML } from './types';
|
|
2
|
-
import { ActorRef, BaseActorRef } from '.';
|
|
1
|
+
import { EventObject, Subscribable, InvokeDefinition, AnyEventObject, StateMachine, Spawnable, SCXML, ActorRef, BaseActorRef } from './types';
|
|
3
2
|
export interface Actor<TContext = any, TEvent extends EventObject = AnyEventObject> extends Subscribable<TContext> {
|
|
4
3
|
id: string;
|
|
5
4
|
send: (event: TEvent) => any;
|
package/lib/Machine.d.ts
CHANGED
|
@@ -1,12 +1,13 @@
|
|
|
1
1
|
import { Model } from './model.types';
|
|
2
|
-
import { AnyEventObject, DefaultContext, EventObject, MachineConfig, MachineOptions, StateMachine, StateSchema, Typestate } from './types';
|
|
2
|
+
import { AnyEventObject, BaseActionObject, DefaultContext, EventObject, MachineConfig, MachineOptions, InternalMachineOptions, StateMachine, StateSchema, Typestate } from './types';
|
|
3
|
+
import { TypegenConstraint, TypegenDisabled, ResolveTypegenMeta } from './typegenTypes';
|
|
3
4
|
/**
|
|
4
5
|
* @deprecated Use `createMachine(...)` instead.
|
|
5
6
|
*/
|
|
6
|
-
export declare function Machine<TContext = any, TEvent extends EventObject = AnyEventObject>(config: MachineConfig<TContext, any, TEvent>, options?:
|
|
7
|
-
export declare function Machine<TContext = DefaultContext, TStateSchema extends StateSchema = any, TEvent extends EventObject = AnyEventObject>(config: MachineConfig<TContext, TStateSchema, TEvent>, options?:
|
|
7
|
+
export declare function Machine<TContext = any, TEvent extends EventObject = AnyEventObject>(config: MachineConfig<TContext, any, TEvent>, options?: MachineOptions<TContext, TEvent>, initialContext?: TContext): StateMachine<TContext, any, TEvent>;
|
|
8
|
+
export declare function Machine<TContext = DefaultContext, TStateSchema extends StateSchema = any, TEvent extends EventObject = AnyEventObject>(config: MachineConfig<TContext, TStateSchema, TEvent>, options?: MachineOptions<TContext, TEvent>, initialContext?: TContext): StateMachine<TContext, TStateSchema, TEvent>;
|
|
8
9
|
export declare function createMachine<TContext, TEvent extends EventObject = AnyEventObject, TTypestate extends Typestate<TContext> = {
|
|
9
10
|
value: any;
|
|
10
11
|
context: TContext;
|
|
11
|
-
}>(config: TContext extends Model<any, any, any, any> ? 'Model type no longer supported as generic type. Please use `model.createMachine(...)` instead.' : MachineConfig<TContext, any, TEvent>, options?:
|
|
12
|
+
}, TTypesMeta extends TypegenConstraint = TypegenDisabled>(config: TContext extends Model<any, any, any, any> ? 'Model type no longer supported as generic type. Please use `model.createMachine(...)` instead.' : MachineConfig<TContext, any, TEvent, BaseActionObject, TTypesMeta>, options?: InternalMachineOptions<TContext, TEvent, ResolveTypegenMeta<TTypesMeta, TEvent, BaseActionObject>>): StateMachine<TContext, any, TEvent, any, BaseActionObject, ResolveTypegenMeta<TTypesMeta, TEvent, BaseActionObject>>;
|
|
12
13
|
//# sourceMappingURL=Machine.d.ts.map
|
package/lib/State.d.ts
CHANGED
|
@@ -1,19 +1,21 @@
|
|
|
1
1
|
import { StateValue, ActivityMap, EventObject, HistoryValue, ActionObject, EventType, StateConfig, SCXML, StateSchema, TransitionDefinition, Typestate, ActorRef, StateMachine, SimpleEventsOf } from './types';
|
|
2
2
|
import { StateNode } from './StateNode';
|
|
3
|
+
import { TypegenDisabled, TypegenEnabled } from './typegenTypes';
|
|
4
|
+
import { BaseActionObject, Prop } from './types';
|
|
3
5
|
export declare function stateValuesEqual(a: StateValue | undefined, b: StateValue | undefined): boolean;
|
|
4
6
|
export declare function isState<TContext, TEvent extends EventObject, TStateSchema extends StateSchema<TContext> = any, TTypestate extends Typestate<TContext> = {
|
|
5
7
|
value: any;
|
|
6
8
|
context: TContext;
|
|
7
|
-
}>(state: object | string): state is State<TContext, TEvent, TStateSchema, TTypestate>;
|
|
8
|
-
export declare function bindActionToState<TC, TE extends EventObject>(action: ActionObject<TC, TE>, state: State<TC, TE, any, any>): ActionObject<TC, TE>;
|
|
9
|
+
}, TResolvedTypesMeta = TypegenDisabled>(state: object | string): state is State<TContext, TEvent, TStateSchema, TTypestate, TResolvedTypesMeta>;
|
|
10
|
+
export declare function bindActionToState<TC, TE extends EventObject>(action: ActionObject<TC, TE>, state: State<TC, TE, any, any, any>): ActionObject<TC, TE>;
|
|
9
11
|
export declare class State<TContext, TEvent extends EventObject = EventObject, TStateSchema extends StateSchema<TContext> = any, TTypestate extends Typestate<TContext> = {
|
|
10
12
|
value: any;
|
|
11
13
|
context: TContext;
|
|
12
|
-
}> {
|
|
14
|
+
}, TResolvedTypesMeta = TypegenDisabled> {
|
|
13
15
|
value: StateValue;
|
|
14
16
|
context: TContext;
|
|
15
17
|
historyValue?: HistoryValue | undefined;
|
|
16
|
-
history?: State<TContext, TEvent, TStateSchema, TTypestate>;
|
|
18
|
+
history?: State<TContext, TEvent, TStateSchema, TTypestate, TResolvedTypesMeta>;
|
|
17
19
|
actions: Array<ActionObject<TContext, TEvent>>;
|
|
18
20
|
activities: ActivityMap;
|
|
19
21
|
meta: any;
|
|
@@ -51,13 +53,13 @@ export declare class State<TContext, TEvent extends EventObject = EventObject, T
|
|
|
51
53
|
*/
|
|
52
54
|
children: Record<string, ActorRef<any>>;
|
|
53
55
|
tags: Set<string>;
|
|
54
|
-
machine: StateMachine<TContext, any, TEvent, TTypestate> | undefined;
|
|
56
|
+
machine: StateMachine<TContext, any, TEvent, TTypestate, BaseActionObject, TResolvedTypesMeta> | undefined;
|
|
55
57
|
/**
|
|
56
58
|
* Creates a new State instance for the given `stateValue` and `context`.
|
|
57
59
|
* @param stateValue
|
|
58
60
|
* @param context
|
|
59
61
|
*/
|
|
60
|
-
static from<TC, TE extends EventObject = EventObject>(stateValue: State<TC, TE, any, any> | StateValue, context?: TC | undefined): State<TC, TE, any, any>;
|
|
62
|
+
static from<TC, TE extends EventObject = EventObject>(stateValue: State<TC, TE, any, any, any> | StateValue, context?: TC | undefined): State<TC, TE, any, any, any>;
|
|
61
63
|
/**
|
|
62
64
|
* Creates a new State instance for the given `config`.
|
|
63
65
|
* @param config The state config
|
|
@@ -95,17 +97,17 @@ export declare class State<TContext, TEvent extends EventObject = EventObject, T
|
|
|
95
97
|
* Whether the current state value is a subset of the given parent state value.
|
|
96
98
|
* @param parentStateValue
|
|
97
99
|
*/
|
|
98
|
-
matches<TSV extends TTypestate['value']>(parentStateValue: TSV): this is State<(TTypestate extends any ? {
|
|
100
|
+
matches<TSV extends TTypestate['value']>(parentStateValue: TResolvedTypesMeta extends TypegenEnabled ? Prop<TResolvedTypesMeta, 'matchesStates'> : TSV): this is State<(TTypestate extends any ? {
|
|
99
101
|
value: TSV;
|
|
100
102
|
context: any;
|
|
101
|
-
} extends TTypestate ? TTypestate : never : never)['context'], TEvent, TStateSchema, TTypestate> & {
|
|
103
|
+
} extends TTypestate ? TTypestate : never : never)['context'], TEvent, TStateSchema, TTypestate, TResolvedTypesMeta> & {
|
|
102
104
|
value: TSV;
|
|
103
105
|
};
|
|
104
106
|
/**
|
|
105
107
|
* Whether the current state configuration has a state node with the specified `tag`.
|
|
106
108
|
* @param tag
|
|
107
109
|
*/
|
|
108
|
-
hasTag(tag: string): boolean;
|
|
110
|
+
hasTag(tag: TResolvedTypesMeta extends TypegenEnabled ? Prop<TResolvedTypesMeta, 'tags'> : string): boolean;
|
|
109
111
|
/**
|
|
110
112
|
* Determines whether sending the `event` will cause a transition.
|
|
111
113
|
* @param event The event to test
|
package/lib/StateNode.d.ts
CHANGED
|
@@ -1,9 +1,10 @@
|
|
|
1
|
-
import { Event, StateValue, MachineOptions, EventObject, HistoryValue, StateNodeDefinition, TransitionDefinition, DelayedTransitionDefinition, ActivityDefinition, StateNodeConfig, StateSchema, StateNodesConfig, InvokeDefinition, ActionObject, Mapper, PropertyMapper, SCXML, Typestate, TransitionDefinitionMap, MachineSchema } from './types';
|
|
1
|
+
import { Event, StateValue, MachineOptions, EventObject, HistoryValue, StateNodeDefinition, TransitionDefinition, DelayedTransitionDefinition, ActivityDefinition, StateNodeConfig, StateSchema, StateNodesConfig, InvokeDefinition, ActionObject, Mapper, PropertyMapper, SCXML, Typestate, TransitionDefinitionMap, MachineSchema, InternalMachineOptions } from './types';
|
|
2
2
|
import { State } from './State';
|
|
3
|
+
import { TypegenDisabled } from './typegenTypes';
|
|
3
4
|
declare class StateNode<TContext = any, TStateSchema extends StateSchema = any, TEvent extends EventObject = EventObject, TTypestate extends Typestate<TContext> = {
|
|
4
5
|
value: any;
|
|
5
6
|
context: TContext;
|
|
6
|
-
}> {
|
|
7
|
+
}, TResolvedTypesMeta = TypegenDisabled> {
|
|
7
8
|
/**
|
|
8
9
|
* The raw config used to create the machine.
|
|
9
10
|
*/
|
|
@@ -111,6 +112,7 @@ declare class StateNode<TContext = any, TStateSchema extends StateSchema = any,
|
|
|
111
112
|
options: MachineOptions<TContext, TEvent>;
|
|
112
113
|
schema: MachineSchema<TContext, TEvent>;
|
|
113
114
|
__xstatenode: true;
|
|
115
|
+
description?: string;
|
|
114
116
|
private __cache;
|
|
115
117
|
private idMap;
|
|
116
118
|
tags: string[];
|
|
@@ -118,11 +120,15 @@ declare class StateNode<TContext = any, TStateSchema extends StateSchema = any,
|
|
|
118
120
|
/**
|
|
119
121
|
* The raw config used to create the machine.
|
|
120
122
|
*/
|
|
121
|
-
config: StateNodeConfig<TContext, TStateSchema, TEvent>, options?:
|
|
123
|
+
config: StateNodeConfig<TContext, TStateSchema, TEvent>, options?: MachineOptions<TContext, TEvent>,
|
|
122
124
|
/**
|
|
123
125
|
* The initial extended state
|
|
124
126
|
*/
|
|
125
|
-
_context?: Readonly<TContext> | (() => Readonly<TContext>)
|
|
127
|
+
_context?: Readonly<TContext> | (() => Readonly<TContext>), // TODO: this is unsafe, but we're removing it in v5 anyway
|
|
128
|
+
_stateInfo?: {
|
|
129
|
+
parent: StateNode<any, any, any, any, any>;
|
|
130
|
+
key: string;
|
|
131
|
+
});
|
|
126
132
|
private _init;
|
|
127
133
|
/**
|
|
128
134
|
* Clones this state machine with custom options and context.
|
|
@@ -130,7 +136,7 @@ declare class StateNode<TContext = any, TStateSchema extends StateSchema = any,
|
|
|
130
136
|
* @param options Options (actions, guards, activities, services) to recursively merge with the existing options.
|
|
131
137
|
* @param context Custom context (will override predefined context)
|
|
132
138
|
*/
|
|
133
|
-
withConfig(options:
|
|
139
|
+
withConfig(options: InternalMachineOptions<TContext, TEvent, TResolvedTypesMeta, true>, context?: TContext | (() => TContext)): StateNode<TContext, TStateSchema, TEvent, TTypestate, TResolvedTypesMeta>;
|
|
134
140
|
/**
|
|
135
141
|
* Clones this state machine with custom context.
|
|
136
142
|
*
|
|
@@ -162,7 +168,7 @@ declare class StateNode<TContext = any, TStateSchema extends StateSchema = any,
|
|
|
162
168
|
*
|
|
163
169
|
* @param state The state value or State instance
|
|
164
170
|
*/
|
|
165
|
-
getStateNodes(state: StateValue | State<TContext, TEvent, any, TTypestate>): Array<StateNode<TContext, any, TEvent, TTypestate>>;
|
|
171
|
+
getStateNodes(state: StateValue | State<TContext, TEvent, any, TTypestate, TResolvedTypesMeta>): Array<StateNode<TContext, any, TEvent, TTypestate, TResolvedTypesMeta>>;
|
|
166
172
|
/**
|
|
167
173
|
* Returns `true` if this state node explicitly handles the given event.
|
|
168
174
|
*
|
|
@@ -176,7 +182,7 @@ declare class StateNode<TContext = any, TStateSchema extends StateSchema = any,
|
|
|
176
182
|
*
|
|
177
183
|
* @param state The state to resolve
|
|
178
184
|
*/
|
|
179
|
-
resolveState(state: State<TContext, TEvent, any, any>): State<TContext, TEvent, TStateSchema, TTypestate>;
|
|
185
|
+
resolveState(state: State<TContext, TEvent, any, any, TResolvedTypesMeta>): State<TContext, TEvent, TStateSchema, TTypestate, TResolvedTypesMeta>;
|
|
180
186
|
private transitionLeafNode;
|
|
181
187
|
private transitionCompoundNode;
|
|
182
188
|
private transitionParallelNode;
|
|
@@ -196,25 +202,25 @@ declare class StateNode<TContext = any, TStateSchema extends StateSchema = any,
|
|
|
196
202
|
* @param event The event that was sent at the current state
|
|
197
203
|
* @param context The current context (extended state) of the current state
|
|
198
204
|
*/
|
|
199
|
-
transition(state: StateValue | State<TContext, TEvent, any, TTypestate> | undefined, event: Event<TEvent> | SCXML.Event<TEvent>, context?: TContext): State<TContext, TEvent, TStateSchema, TTypestate>;
|
|
205
|
+
transition(state: StateValue | State<TContext, TEvent, any, TTypestate, TResolvedTypesMeta> | undefined, event: Event<TEvent> | SCXML.Event<TEvent>, context?: TContext): State<TContext, TEvent, TStateSchema, TTypestate, TResolvedTypesMeta>;
|
|
200
206
|
private resolveRaisedTransition;
|
|
201
207
|
private resolveTransition;
|
|
202
208
|
/**
|
|
203
209
|
* Returns the child state node from its relative `stateKey`, or throws.
|
|
204
210
|
*/
|
|
205
|
-
getStateNode(stateKey: string): StateNode<TContext, any, TEvent, TTypestate>;
|
|
211
|
+
getStateNode(stateKey: string): StateNode<TContext, any, TEvent, TTypestate, TResolvedTypesMeta>;
|
|
206
212
|
/**
|
|
207
213
|
* Returns the state node with the given `stateId`, or throws.
|
|
208
214
|
*
|
|
209
215
|
* @param stateId The state ID. The prefix "#" is removed.
|
|
210
216
|
*/
|
|
211
|
-
getStateNodeById(stateId: string): StateNode<TContext, any, TEvent, any>;
|
|
217
|
+
getStateNodeById(stateId: string): StateNode<TContext, any, TEvent, any, TResolvedTypesMeta>;
|
|
212
218
|
/**
|
|
213
219
|
* Returns the relative state node from the given `statePath`, or throws.
|
|
214
220
|
*
|
|
215
221
|
* @param statePath The string or string array relative path to the state node.
|
|
216
222
|
*/
|
|
217
|
-
getStateNodeByPath(statePath: string | string[]): StateNode<TContext, any, TEvent, any>;
|
|
223
|
+
getStateNodeByPath(statePath: string | string[]): StateNode<TContext, any, TEvent, any, any>;
|
|
218
224
|
/**
|
|
219
225
|
* Resolves a partial state value with its full representation in this machine.
|
|
220
226
|
*
|
|
@@ -223,12 +229,12 @@ declare class StateNode<TContext = any, TStateSchema extends StateSchema = any,
|
|
|
223
229
|
resolve(stateValue: StateValue): StateValue;
|
|
224
230
|
private getResolvedPath;
|
|
225
231
|
private get initialStateValue();
|
|
226
|
-
getInitialState(stateValue: StateValue, context?: TContext): State<TContext, TEvent, TStateSchema, TTypestate>;
|
|
232
|
+
getInitialState(stateValue: StateValue, context?: TContext): State<TContext, TEvent, TStateSchema, TTypestate, TResolvedTypesMeta>;
|
|
227
233
|
/**
|
|
228
234
|
* The initial State instance, which includes all actions to be executed from
|
|
229
235
|
* entering the initial state.
|
|
230
236
|
*/
|
|
231
|
-
get initialState(): State<TContext, TEvent, TStateSchema, TTypestate>;
|
|
237
|
+
get initialState(): State<TContext, TEvent, TStateSchema, TTypestate, TResolvedTypesMeta>;
|
|
232
238
|
/**
|
|
233
239
|
* The target state value of the history state node, if it exists. This represents the
|
|
234
240
|
* default state value to transition to if no history value exists yet.
|
|
@@ -242,14 +248,14 @@ declare class StateNode<TContext = any, TStateSchema extends StateSchema = any,
|
|
|
242
248
|
* @param resolve Whether state nodes should resolve to initial child state nodes
|
|
243
249
|
*/
|
|
244
250
|
getRelativeStateNodes(relativeStateId: StateNode<TContext, any, TEvent>, historyValue?: HistoryValue, resolve?: boolean): Array<StateNode<TContext, any, TEvent>>;
|
|
245
|
-
get initialStateNodes(): Array<StateNode<TContext, any, TEvent, any>>;
|
|
251
|
+
get initialStateNodes(): Array<StateNode<TContext, any, TEvent, any, any>>;
|
|
246
252
|
/**
|
|
247
253
|
* Retrieves state nodes from a relative path to this state node.
|
|
248
254
|
*
|
|
249
255
|
* @param relativePath The relative path from this state node
|
|
250
256
|
* @param historyValue
|
|
251
257
|
*/
|
|
252
|
-
getFromRelativePath(relativePath: string[]): Array<StateNode<TContext, any, TEvent, any>>;
|
|
258
|
+
getFromRelativePath(relativePath: string[]): Array<StateNode<TContext, any, TEvent, any, any>>;
|
|
253
259
|
private historyValue;
|
|
254
260
|
/**
|
|
255
261
|
* Resolves to the historical value(s) of the parent state node,
|