xstate 4.9.1 → 4.10.0
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 +22 -0
- package/dist/xstate.interpreter.js +1 -1
- package/dist/xstate.js +1 -1
- package/dist/xstate.web.js +1 -1
- package/es/Machine.d.ts +4 -1
- package/es/State.d.ts +9 -4
- package/es/StateNode.d.ts +4 -1
- package/es/StateNode.js +10 -7
- package/es/actions.d.ts +12 -10
- package/es/actions.js +2 -2
- package/es/interpreter.d.ts +11 -11
- package/es/interpreter.js +6 -2
- package/es/types.d.ts +14 -7
- package/lib/Machine.d.ts +4 -1
- package/lib/State.d.ts +9 -4
- package/lib/StateNode.d.ts +4 -1
- package/lib/StateNode.js +7 -7
- package/lib/actions.d.ts +12 -10
- package/lib/actions.js +2 -2
- package/lib/interpreter.d.ts +11 -11
- package/lib/interpreter.js +4 -2
- package/lib/types.d.ts +14 -7
- package/package.json +1 -1
package/lib/interpreter.js
CHANGED
|
@@ -636,8 +636,10 @@ var Interpreter = /** @class */ (function () {
|
|
|
636
636
|
delete this.delayedEventsMap[sendId];
|
|
637
637
|
};
|
|
638
638
|
Interpreter.prototype.exec = function (action, state, actionFunctionMap) {
|
|
639
|
+
if (actionFunctionMap === void 0) { actionFunctionMap = this.machine
|
|
640
|
+
.options.actions; }
|
|
639
641
|
var context = state.context, _event = state._event;
|
|
640
|
-
var actionOrExec = actions_1.getActionFunction(action.type, actionFunctionMap)
|
|
642
|
+
var actionOrExec = action.exec || actions_1.getActionFunction(action.type, actionFunctionMap);
|
|
641
643
|
var exec = utils_1.isFunction(actionOrExec)
|
|
642
644
|
? actionOrExec
|
|
643
645
|
: actionOrExec
|
|
@@ -686,7 +688,7 @@ var Interpreter = /** @class */ (function () {
|
|
|
686
688
|
// If the activity will be stopped right after it's started
|
|
687
689
|
// (such as in transient states)
|
|
688
690
|
// don't bother starting the activity.
|
|
689
|
-
if (!this.state.activities[activity.type]) {
|
|
691
|
+
if (!this.state.activities[activity.id || activity.type]) {
|
|
690
692
|
break;
|
|
691
693
|
}
|
|
692
694
|
// Invoked services
|
package/lib/types.d.ts
CHANGED
|
@@ -54,7 +54,7 @@ export interface ChooseConditon<TContext, TEvent extends EventObject> {
|
|
|
54
54
|
cond?: Condition<TContext, TEvent>;
|
|
55
55
|
actions: Actions<TContext, TEvent>;
|
|
56
56
|
}
|
|
57
|
-
export declare type Action<TContext, TEvent extends EventObject> = ActionType | ActionObject<TContext, TEvent> | ActionFunction<TContext, TEvent> | AssignAction<Required<TContext>, TEvent> | SendAction<TContext, AnyEventObject> | RaiseAction<AnyEventObject> | ChooseAction<TContext, TEvent>;
|
|
57
|
+
export declare type Action<TContext, TEvent extends EventObject> = ActionType | ActionObject<TContext, TEvent> | ActionFunction<TContext, TEvent> | AssignAction<Required<TContext>, TEvent> | SendAction<TContext, TEvent, AnyEventObject> | RaiseAction<AnyEventObject> | ChooseAction<TContext, TEvent>;
|
|
58
58
|
export declare type Actions<TContext, TEvent extends EventObject> = SingleOrArray<Action<TContext, TEvent>>;
|
|
59
59
|
export declare type StateKey = string | State<any>;
|
|
60
60
|
export interface StateValueMap {
|
|
@@ -541,22 +541,22 @@ export interface LogAction<TContext, TEvent extends EventObject> extends ActionO
|
|
|
541
541
|
export interface LogActionObject<TContext, TEvent extends EventObject> extends LogAction<TContext, TEvent> {
|
|
542
542
|
value: any;
|
|
543
543
|
}
|
|
544
|
-
export interface SendAction<TContext, TEvent extends EventObject> extends ActionObject<TContext, TEvent> {
|
|
544
|
+
export interface SendAction<TContext, TEvent extends EventObject, TSentEvent extends EventObject> extends ActionObject<TContext, TEvent> {
|
|
545
545
|
to: string | number | Actor | ExprWithMeta<TContext, TEvent, string | number | Actor> | undefined;
|
|
546
|
-
event:
|
|
546
|
+
event: TSentEvent | SendExpr<TContext, TEvent, TSentEvent>;
|
|
547
547
|
delay?: number | string | DelayExpr<TContext, TEvent>;
|
|
548
548
|
id: string | number;
|
|
549
549
|
}
|
|
550
|
-
export interface SendActionObject<TContext, TEvent extends EventObject> extends SendAction<TContext, TEvent> {
|
|
550
|
+
export interface SendActionObject<TContext, TEvent extends EventObject, TSentEvent extends EventObject = AnyEventObject> extends SendAction<TContext, TEvent, TSentEvent> {
|
|
551
551
|
to: string | number | Actor | undefined;
|
|
552
|
-
_event: SCXML.Event<
|
|
553
|
-
event:
|
|
552
|
+
_event: SCXML.Event<TSentEvent>;
|
|
553
|
+
event: TSentEvent;
|
|
554
554
|
delay?: number;
|
|
555
555
|
id: string | number;
|
|
556
556
|
}
|
|
557
557
|
export declare type Expr<TContext, TEvent extends EventObject, T> = (context: TContext, event: TEvent) => T;
|
|
558
558
|
export declare type ExprWithMeta<TContext, TEvent extends EventObject, T> = (context: TContext, event: TEvent, meta: SCXMLEventMeta<TEvent>) => T;
|
|
559
|
-
export declare type SendExpr<TContext, TEvent extends EventObject> = ExprWithMeta<TContext, TEvent,
|
|
559
|
+
export declare type SendExpr<TContext, TEvent extends EventObject, TSentEvent extends EventObject = AnyEventObject> = ExprWithMeta<TContext, TEvent, TSentEvent>;
|
|
560
560
|
export declare enum SpecialTargets {
|
|
561
561
|
Parent = "#_parent",
|
|
562
562
|
Internal = "#_internal"
|
|
@@ -599,6 +599,13 @@ export interface TransitionDefinition<TContext, TEvent extends EventObject> exte
|
|
|
599
599
|
actions: Array<ActionObject<TContext, TEvent>>;
|
|
600
600
|
cond?: Guard<TContext, TEvent>;
|
|
601
601
|
eventType: TEvent['type'] | NullEvent['type'] | '*';
|
|
602
|
+
toJSON: () => {
|
|
603
|
+
target: string[] | undefined;
|
|
604
|
+
source: string;
|
|
605
|
+
actions: Array<ActionObject<TContext, TEvent>>;
|
|
606
|
+
cond?: Guard<TContext, TEvent>;
|
|
607
|
+
eventType: TEvent['type'] | NullEvent['type'] | '*';
|
|
608
|
+
};
|
|
602
609
|
}
|
|
603
610
|
export declare type TransitionDefinitionMap<TContext, TEvent extends EventObject> = {
|
|
604
611
|
[K in TEvent['type'] | NullEvent['type'] | '*']: Array<TransitionDefinition<TContext, K extends TEvent['type'] ? Extract<TEvent, {
|