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.
@@ -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) || action.exec;
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: TEvent | SendExpr<TContext, TEvent>;
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<TEvent>;
553
- event: TEvent;
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, 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, {
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "xstate",
3
- "version": "4.9.1",
3
+ "version": "4.10.0",
4
4
  "description": "Finite State Machines and Statecharts for the Modern Web.",
5
5
  "main": "lib/index.js",
6
6
  "module": "es/index.js",