xstate 4.35.4 → 4.36.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/dist/xstate.interpreter.js +1 -1
- package/dist/xstate.js +1 -1
- package/dist/xstate.web.js +2 -2
- package/es/State.d.ts +1 -1
- package/es/StateNode.js +9 -10
- package/es/actions.d.ts +15 -15
- package/es/actions.js +43 -19
- package/es/index.d.ts +1 -1
- package/es/interpreter.d.ts +1 -0
- package/es/interpreter.js +31 -10
- package/es/model.types.d.ts +1 -1
- package/es/types.d.ts +45 -32
- package/es/utils.d.ts +3 -2
- package/es/utils.js +6 -1
- package/lib/State.d.ts +1 -1
- package/lib/StateNode.js +5 -6
- package/lib/actions.d.ts +15 -15
- package/lib/actions.js +42 -18
- package/lib/index.d.ts +1 -1
- package/lib/interpreter.d.ts +1 -0
- package/lib/interpreter.js +29 -8
- package/lib/model.types.d.ts +1 -1
- package/lib/types.d.ts +45 -32
- package/lib/utils.d.ts +3 -2
- package/lib/utils.js +6 -0
- package/package.json +1 -1
- package/es/each.d.ts +0 -4
- package/es/each.js +0 -13
- package/lib/each.d.ts +0 -4
- package/lib/each.js +0 -17
package/es/interpreter.js
CHANGED
|
@@ -1,10 +1,10 @@
|
|
|
1
1
|
import { __values, __spreadArray, __read, __assign } from './_virtual/_tslib.js';
|
|
2
2
|
import { SpecialTargets, ActionTypes } from './types.js';
|
|
3
3
|
import { isStateConfig, State, bindActionToState } from './State.js';
|
|
4
|
-
import {
|
|
4
|
+
import { errorPlatform, update, error as error$1, log, stop, start, cancel, send, raise } from './actionTypes.js';
|
|
5
5
|
import { initEvent, doneInvoke, toActionObjects, resolveActions, error, getActionFunction } from './actions.js';
|
|
6
6
|
import { IS_PRODUCTION } from './environment.js';
|
|
7
|
-
import { warn, mapContext, toObserver, isFunction, toSCXMLEvent, flatten, isPromiseLike, isObservable, isMachine, isBehavior, reportUnhandledExceptionOnInvocation, symbolObservable, isArray, toEventObject, isString, isActor, toInvokeSource, uniqueId } from './utils.js';
|
|
7
|
+
import { warn, mapContext, toObserver, isFunction, toSCXMLEvent, flatten, isRaisableAction, isPromiseLike, isObservable, isMachine, isBehavior, reportUnhandledExceptionOnInvocation, symbolObservable, isArray, toEventObject, isString, isActor, toInvokeSource, uniqueId } from './utils.js';
|
|
8
8
|
import { Scheduler } from './scheduler.js';
|
|
9
9
|
import { createDeferredActor, isSpawnedActor } from './Actor.js';
|
|
10
10
|
import { registry } from './registry.js';
|
|
@@ -112,7 +112,7 @@ function () {
|
|
|
112
112
|
|
|
113
113
|
this.sendTo = function (event, to, immediate) {
|
|
114
114
|
var isParent = _this.parent && (to === SpecialTargets.Parent || _this.parent.id === to);
|
|
115
|
-
var target = isParent ? _this.parent : isString(to) ? _this.children.get(to) || registry.get(to) : isActor(to) ? to : undefined;
|
|
115
|
+
var target = isParent ? _this.parent : isString(to) ? to === SpecialTargets.Internal ? _this : _this.children.get(to) || registry.get(to) : isActor(to) ? to : undefined;
|
|
116
116
|
|
|
117
117
|
if (!target) {
|
|
118
118
|
if (!isParent) {
|
|
@@ -185,6 +185,16 @@ function () {
|
|
|
185
185
|
}
|
|
186
186
|
|
|
187
187
|
switch (action.type) {
|
|
188
|
+
case raise:
|
|
189
|
+
{
|
|
190
|
+
// if raise action reached the interpreter then it's a delayed one
|
|
191
|
+
var sendAction_1 = action;
|
|
192
|
+
|
|
193
|
+
_this.defer(sendAction_1);
|
|
194
|
+
|
|
195
|
+
break;
|
|
196
|
+
}
|
|
197
|
+
|
|
188
198
|
case send:
|
|
189
199
|
var sendAction = action;
|
|
190
200
|
|
|
@@ -288,8 +298,9 @@ function () {
|
|
|
288
298
|
}
|
|
289
299
|
|
|
290
300
|
case log:
|
|
291
|
-
var
|
|
292
|
-
|
|
301
|
+
var _a = action,
|
|
302
|
+
label = _a.label,
|
|
303
|
+
value = _a.value;
|
|
293
304
|
|
|
294
305
|
if (label) {
|
|
295
306
|
_this.logger(label, value);
|
|
@@ -475,11 +486,12 @@ function () {
|
|
|
475
486
|
return sn.type === 'final' && sn.parent === _this.machine;
|
|
476
487
|
});
|
|
477
488
|
var doneData = finalChildStateNode && finalChildStateNode.doneData ? mapContext(finalChildStateNode.doneData, state.context, _event) : undefined;
|
|
489
|
+
this._doneEvent = doneInvoke(this.id, doneData);
|
|
478
490
|
|
|
479
491
|
try {
|
|
480
492
|
for (var _l = __values(this.doneListeners), _m = _l.next(); !_m.done; _m = _l.next()) {
|
|
481
493
|
var listener = _m.value;
|
|
482
|
-
listener(
|
|
494
|
+
listener(this._doneEvent);
|
|
483
495
|
}
|
|
484
496
|
} catch (e_5_1) {
|
|
485
497
|
e_5 = {
|
|
@@ -601,7 +613,12 @@ function () {
|
|
|
601
613
|
|
|
602
614
|
|
|
603
615
|
Interpreter.prototype.onDone = function (listener) {
|
|
604
|
-
this.
|
|
616
|
+
if (this.status === InterpreterStatus.Stopped && this._doneEvent) {
|
|
617
|
+
listener(this._doneEvent);
|
|
618
|
+
} else {
|
|
619
|
+
this.doneListeners.add(listener);
|
|
620
|
+
}
|
|
621
|
+
|
|
605
622
|
return this;
|
|
606
623
|
};
|
|
607
624
|
/**
|
|
@@ -818,7 +835,7 @@ function () {
|
|
|
818
835
|
historyValue: undefined,
|
|
819
836
|
history: _this.state,
|
|
820
837
|
actions: resolvedActions.filter(function (action) {
|
|
821
|
-
return
|
|
838
|
+
return !isRaisableAction(action);
|
|
822
839
|
}),
|
|
823
840
|
activities: {},
|
|
824
841
|
events: [],
|
|
@@ -979,13 +996,17 @@ function () {
|
|
|
979
996
|
Interpreter.prototype.defer = function (sendAction) {
|
|
980
997
|
var _this = this;
|
|
981
998
|
|
|
982
|
-
|
|
983
|
-
if (sendAction.to) {
|
|
999
|
+
var timerId = this.clock.setTimeout(function () {
|
|
1000
|
+
if ('to' in sendAction && sendAction.to) {
|
|
984
1001
|
_this.sendTo(sendAction._event, sendAction.to, true);
|
|
985
1002
|
} else {
|
|
986
1003
|
_this.send(sendAction._event);
|
|
987
1004
|
}
|
|
988
1005
|
}, sendAction.delay);
|
|
1006
|
+
|
|
1007
|
+
if (sendAction.id) {
|
|
1008
|
+
this.delayedEventsMap[sendAction.id] = timerId;
|
|
1009
|
+
}
|
|
989
1010
|
};
|
|
990
1011
|
|
|
991
1012
|
Interpreter.prototype.cancel = function (sendId) {
|
package/es/model.types.d.ts
CHANGED
|
@@ -5,7 +5,7 @@ declare type SimplisticExtractEvent<TEvent extends EventObject, TEventType exten
|
|
|
5
5
|
} ? TEvent : never;
|
|
6
6
|
export interface Model<TContext, TEvent extends EventObject, TAction extends BaseActionObject = BaseActionObject, TModelCreators = void> {
|
|
7
7
|
initialContext: TContext;
|
|
8
|
-
assign: <TEventType extends TEvent['type'] = TEvent['type']>(assigner: Assigner<TContext, SimplisticExtractEvent<TEvent, TEventType>> | PropertyAssigner<TContext, SimplisticExtractEvent<TEvent, TEventType>>, eventType?: TEventType) => AssignAction<TContext, SimplisticExtractEvent<TEvent, TEventType
|
|
8
|
+
assign: <TEventType extends TEvent['type'] = TEvent['type']>(assigner: Assigner<TContext, SimplisticExtractEvent<TEvent, TEventType>> | PropertyAssigner<TContext, SimplisticExtractEvent<TEvent, TEventType>>, eventType?: TEventType) => AssignAction<TContext, SimplisticExtractEvent<TEvent, TEventType>, TEvent>;
|
|
9
9
|
events: Prop<TModelCreators, 'events'>;
|
|
10
10
|
actions: Prop<TModelCreators, 'actions'>;
|
|
11
11
|
reset: () => AssignAction<TContext, any>;
|
package/es/types.d.ts
CHANGED
|
@@ -43,16 +43,20 @@ export interface BaseActionObject {
|
|
|
43
43
|
*/
|
|
44
44
|
type: string;
|
|
45
45
|
[other: string]: any;
|
|
46
|
+
[notAnArrayLike: number]: never;
|
|
46
47
|
}
|
|
47
48
|
/**
|
|
48
49
|
* The full definition of an action, with a string `type` and an
|
|
49
50
|
* `exec` implementation function.
|
|
50
51
|
*/
|
|
51
|
-
export interface ActionObject<TContext, TEvent extends EventObject
|
|
52
|
+
export interface ActionObject<TContext, TExpressionEvent extends EventObject, TEvent extends EventObject = TExpressionEvent, TAction extends BaseActionObject = BaseActionObject> {
|
|
53
|
+
type: string;
|
|
52
54
|
/**
|
|
53
55
|
* The implementation for executing the action.
|
|
54
56
|
*/
|
|
55
|
-
exec?: ActionFunction<TContext, TEvent> | undefined;
|
|
57
|
+
exec?: ActionFunction<TContext, TExpressionEvent, BaseActionObject, TEvent> | undefined;
|
|
58
|
+
/** @deprecated an internal signature that doesn't exist at runtime. Its existence helps TS to choose a better code path in the inference algorithm */
|
|
59
|
+
(arg: TContext, ev: TExpressionEvent, meta: ActionMeta<TContext, TEvent, TAction>): void;
|
|
56
60
|
}
|
|
57
61
|
export declare type DefaultContext = Record<string, any> | undefined;
|
|
58
62
|
export declare type EventData = Record<string, any> & {
|
|
@@ -71,14 +75,14 @@ export interface AssignMeta<TContext, TEvent extends EventObject> {
|
|
|
71
75
|
action: AssignAction<TContext, TEvent>;
|
|
72
76
|
_event: SCXML.Event<TEvent>;
|
|
73
77
|
}
|
|
74
|
-
export declare type ActionFunction<TContext,
|
|
75
|
-
bivarianceHack(context: TContext, event:
|
|
78
|
+
export declare type ActionFunction<TContext, TExpressionEvent extends EventObject, TAction extends BaseActionObject = BaseActionObject, TEvent extends EventObject = TExpressionEvent> = {
|
|
79
|
+
bivarianceHack(context: TContext, event: TExpressionEvent, meta: ActionMeta<TContext, TEvent, TAction>): void;
|
|
76
80
|
}['bivarianceHack'];
|
|
77
81
|
export interface ChooseCondition<TContext, TEvent extends EventObject> {
|
|
78
82
|
cond?: Condition<TContext, TEvent>;
|
|
79
83
|
actions: Actions<TContext, TEvent>;
|
|
80
84
|
}
|
|
81
|
-
export declare type Action<TContext, TEvent extends EventObject> = ActionType | ActionObject<TContext, TEvent> | ActionFunction<TContext, TEvent>;
|
|
85
|
+
export declare type Action<TContext, TExpressionEvent extends EventObject, TEvent extends EventObject = TExpressionEvent> = ActionType | BaseActionObject | ActionObject<TContext, TExpressionEvent, TEvent> | ActionFunction<TContext, TExpressionEvent, BaseActionObject, TEvent>;
|
|
82
86
|
/**
|
|
83
87
|
* Extracts action objects that have no extra properties.
|
|
84
88
|
*/
|
|
@@ -87,9 +91,9 @@ declare type SimpleActionsOf<T extends BaseActionObject> = ActionObject<any, any
|
|
|
87
91
|
* Events that do not require payload
|
|
88
92
|
*/
|
|
89
93
|
export declare type SimpleEventsOf<TEvent extends EventObject> = ExtractWithSimpleSupport<TEvent>;
|
|
90
|
-
export declare type BaseAction<TContext,
|
|
91
|
-
export declare type BaseActions<TContext, TEvent extends EventObject, TAction extends BaseActionObject> = SingleOrArray<BaseAction<TContext,
|
|
92
|
-
export declare type Actions<TContext, TEvent extends EventObject> = SingleOrArray<Action<TContext, TEvent>>;
|
|
94
|
+
export declare type BaseAction<TContext, TExpressionEvent extends EventObject, TAction extends BaseActionObject, TEvent extends EventObject = TExpressionEvent> = SimpleActionsOf<TAction>['type'] | TAction | RaiseAction<TContext, TExpressionEvent, TEvent> | SendAction<TContext, TExpressionEvent, TEvent> | AssignAction<TContext, TExpressionEvent, TEvent> | LogAction<TContext, TExpressionEvent, TEvent> | CancelAction<TContext, TExpressionEvent, TEvent> | StopAction<TContext, TExpressionEvent, TEvent> | ChooseAction<TContext, TExpressionEvent, TEvent> | PureAction<TContext, TExpressionEvent, TEvent> | ActionFunction<TContext, TExpressionEvent, TAction, TEvent>;
|
|
95
|
+
export declare type BaseActions<TContext, TExpressionEvent extends EventObject, TEvent extends EventObject, TAction extends BaseActionObject> = SingleOrArray<BaseAction<TContext, TExpressionEvent, TAction, TEvent>>;
|
|
96
|
+
export declare type Actions<TContext, TExpressionEvent extends EventObject, TEvent extends EventObject = TExpressionEvent> = SingleOrArray<Action<TContext, TExpressionEvent, TEvent>>;
|
|
93
97
|
export declare type StateKey = string | AnyState;
|
|
94
98
|
export interface StateValueMap {
|
|
95
99
|
[key: string]: StateValue;
|
|
@@ -121,9 +125,9 @@ export interface GuardMeta<TContext, TEvent extends EventObject> extends StateMe
|
|
|
121
125
|
export declare type Condition<TContext, TEvent extends EventObject> = string | ConditionPredicate<TContext, TEvent> | Guard<TContext, TEvent>;
|
|
122
126
|
export declare type TransitionTarget<TContext, TEvent extends EventObject> = SingleOrArray<string | StateNode<TContext, any, TEvent>>;
|
|
123
127
|
export declare type TransitionTargets<TContext> = Array<string | StateNode<TContext, any>>;
|
|
124
|
-
export interface TransitionConfig<TContext, TEvent extends EventObject> {
|
|
125
|
-
cond?: Condition<TContext,
|
|
126
|
-
actions?:
|
|
128
|
+
export interface TransitionConfig<TContext, TExpressionEvent extends EventObject, TEvent extends EventObject = TExpressionEvent> {
|
|
129
|
+
cond?: Condition<TContext, TExpressionEvent>;
|
|
130
|
+
actions?: BaseActions<TContext, TExpressionEvent, TEvent, BaseActionObject>;
|
|
127
131
|
in?: StateValue;
|
|
128
132
|
internal?: boolean;
|
|
129
133
|
target?: TransitionTarget<TContext, TEvent> | undefined;
|
|
@@ -237,9 +241,9 @@ export declare type StatesDefinition<TContext, TStateSchema extends StateSchema,
|
|
|
237
241
|
[K in keyof TStateSchema['states']]: StateNodeDefinition<TContext, TStateSchema['states'][K] & {}, TEvent>;
|
|
238
242
|
};
|
|
239
243
|
export declare type TransitionConfigTarget<TContext, TEvent extends EventObject> = string | undefined | StateNode<TContext, any, TEvent>;
|
|
240
|
-
export declare type TransitionConfigOrTarget<TContext, TEvent extends EventObject> = SingleOrArray<TransitionConfigTarget<TContext, TEvent> | TransitionConfig<TContext, TEvent>>;
|
|
244
|
+
export declare type TransitionConfigOrTarget<TContext, TExpressionEvent extends EventObject, TEvent extends EventObject = TExpressionEvent> = SingleOrArray<TransitionConfigTarget<TContext, TEvent> | TransitionConfig<TContext, TExpressionEvent, TEvent>>;
|
|
241
245
|
export declare type TransitionsConfigMap<TContext, TEvent extends EventObject> = {
|
|
242
|
-
[K in TEvent['type'] | '' | '*']?: K extends '' | '*' ? TransitionConfigOrTarget<TContext, TEvent> : TransitionConfigOrTarget<TContext, ExtractEvent<TEvent, K
|
|
246
|
+
[K in TEvent['type'] | '' | '*']?: K extends '' | '*' ? TransitionConfigOrTarget<TContext, TEvent> : TransitionConfigOrTarget<TContext, ExtractEvent<TEvent, K>, TEvent>;
|
|
243
247
|
};
|
|
244
248
|
declare type TransitionsConfigArray<TContext, TEvent extends EventObject> = Array<(TEvent extends EventObject ? TransitionConfig<TContext, TEvent> & {
|
|
245
249
|
event: TEvent['type'];
|
|
@@ -346,7 +350,7 @@ export interface StateNodeConfig<TContext, TStateSchema extends StateSchema, TEv
|
|
|
346
350
|
/**
|
|
347
351
|
* The action(s) to be executed upon entering the state node.
|
|
348
352
|
*/
|
|
349
|
-
entry?: BaseActions<TContext, TEvent, TAction>;
|
|
353
|
+
entry?: BaseActions<TContext, TEvent, TEvent, TAction>;
|
|
350
354
|
/**
|
|
351
355
|
* The action(s) to be executed upon exiting the state node.
|
|
352
356
|
*
|
|
@@ -356,7 +360,7 @@ export interface StateNodeConfig<TContext, TStateSchema extends StateSchema, TEv
|
|
|
356
360
|
/**
|
|
357
361
|
* The action(s) to be executed upon exiting the state node.
|
|
358
362
|
*/
|
|
359
|
-
exit?: BaseActions<TContext, TEvent, TAction>;
|
|
363
|
+
exit?: BaseActions<TContext, TEvent, TEvent, TAction>;
|
|
360
364
|
/**
|
|
361
365
|
* The potential transition(s) to be taken upon reaching a final child state node.
|
|
362
366
|
*
|
|
@@ -488,7 +492,7 @@ export declare type DelayFunctionMap<TContext, TEvent extends EventObject> = Rec
|
|
|
488
492
|
export declare type ServiceConfig<TContext, TEvent extends EventObject = AnyEventObject> = string | AnyStateMachine | InvokeCreator<TContext, TEvent>;
|
|
489
493
|
export declare type DelayConfig<TContext, TEvent extends EventObject> = number | DelayExpr<TContext, TEvent>;
|
|
490
494
|
declare type MachineOptionsActions<TContext, TResolvedTypesMeta, TEventsCausingActions = Prop<Prop<TResolvedTypesMeta, 'resolved'>, 'eventsCausingActions'>, TIndexedEvents = Prop<Prop<TResolvedTypesMeta, 'resolved'>, 'indexedEvents'>, TIndexedActions = Prop<Prop<TResolvedTypesMeta, 'resolved'>, 'indexedActions'>> = {
|
|
491
|
-
[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>>;
|
|
495
|
+
[K in keyof TEventsCausingActions]?: ActionObject<TContext, Cast<Prop<TIndexedEvents, TEventsCausingActions[K]>, EventObject>, Cast<Prop<TIndexedEvents, keyof TIndexedEvents>, EventObject>, Cast<Prop<TIndexedActions, K>, BaseActionObject>> | ActionFunction<TContext, Cast<Prop<TIndexedEvents, TEventsCausingActions[K]>, EventObject>, Cast<Prop<TIndexedActions, K>, BaseActionObject>, Cast<Prop<TIndexedEvents, keyof TIndexedEvents>, EventObject>>;
|
|
492
496
|
};
|
|
493
497
|
declare type MachineOptionsDelays<TContext, TResolvedTypesMeta, TEventsCausingDelays = Prop<Prop<TResolvedTypesMeta, 'resolved'>, 'eventsCausingDelays'>, TIndexedEvents = Prop<Prop<TResolvedTypesMeta, 'resolved'>, 'indexedEvents'>> = {
|
|
494
498
|
[K in keyof TEventsCausingDelays]?: DelayConfig<TContext, Cast<Prop<TIndexedEvents, TEventsCausingDelays[K]>, EventObject>>;
|
|
@@ -644,13 +648,17 @@ export declare enum ActionTypes {
|
|
|
644
648
|
Pure = "xstate.pure",
|
|
645
649
|
Choose = "xstate.choose"
|
|
646
650
|
}
|
|
647
|
-
export interface RaiseAction<TEvent extends EventObject> {
|
|
651
|
+
export interface RaiseAction<TContext, TExpressionEvent extends EventObject, TEvent extends EventObject = TExpressionEvent> extends ActionObject<TContext, TExpressionEvent, TEvent> {
|
|
648
652
|
type: ActionTypes.Raise;
|
|
649
|
-
event: TEvent
|
|
653
|
+
event: TEvent | SendExpr<TContext, TExpressionEvent, TEvent>;
|
|
654
|
+
delay: number | string | undefined | DelayExpr<TContext, TExpressionEvent>;
|
|
655
|
+
id: string | number | undefined;
|
|
650
656
|
}
|
|
651
|
-
export interface RaiseActionObject<TEvent extends EventObject> {
|
|
657
|
+
export interface RaiseActionObject<TContext, TExpressionEvent extends EventObject, TEvent extends EventObject = TExpressionEvent> extends RaiseAction<TContext, TExpressionEvent, TEvent> {
|
|
652
658
|
type: ActionTypes.Raise;
|
|
653
659
|
_event: SCXML.Event<TEvent>;
|
|
660
|
+
delay: number | undefined;
|
|
661
|
+
id: string | number | undefined;
|
|
654
662
|
}
|
|
655
663
|
export interface DoneInvokeEvent<TData> extends EventObject {
|
|
656
664
|
data: TData;
|
|
@@ -685,14 +693,16 @@ export interface InvokeActionObject<TContext, TEvent extends EventObject> extend
|
|
|
685
693
|
}
|
|
686
694
|
export declare type DelayExpr<TContext, TEvent extends EventObject> = ExprWithMeta<TContext, TEvent, number>;
|
|
687
695
|
export declare type LogExpr<TContext, TEvent extends EventObject> = ExprWithMeta<TContext, TEvent, any>;
|
|
688
|
-
export interface LogAction<TContext, TEvent extends EventObject> extends ActionObject<TContext, TEvent> {
|
|
696
|
+
export interface LogAction<TContext, TExpressionEvent extends EventObject, TEvent extends EventObject = TExpressionEvent> extends ActionObject<TContext, TExpressionEvent, TEvent> {
|
|
697
|
+
type: ActionTypes.Log;
|
|
689
698
|
label: string | undefined;
|
|
690
|
-
expr: string | LogExpr<TContext,
|
|
699
|
+
expr: string | LogExpr<TContext, TExpressionEvent>;
|
|
691
700
|
}
|
|
692
701
|
export interface LogActionObject<TContext, TEvent extends EventObject> extends LogAction<TContext, TEvent> {
|
|
693
702
|
value: any;
|
|
694
703
|
}
|
|
695
|
-
export interface SendAction<TContext, TEvent extends EventObject, TSentEvent extends EventObject> extends ActionObject<TContext, TEvent> {
|
|
704
|
+
export interface SendAction<TContext, TEvent extends EventObject, TSentEvent extends EventObject> extends ActionObject<TContext, TEvent, TSentEvent> {
|
|
705
|
+
type: ActionTypes.Send;
|
|
696
706
|
to: string | number | ActorRef<any> | ExprWithMeta<TContext, TEvent, string | number | ActorRef<any>> | undefined;
|
|
697
707
|
event: TSentEvent | SendExpr<TContext, TEvent, TSentEvent>;
|
|
698
708
|
delay?: number | string | DelayExpr<TContext, TEvent>;
|
|
@@ -705,11 +715,11 @@ export interface SendActionObject<TContext, TEvent extends EventObject, TSentEve
|
|
|
705
715
|
delay?: number;
|
|
706
716
|
id: string | number;
|
|
707
717
|
}
|
|
708
|
-
export interface StopAction<TContext, TEvent extends EventObject> extends ActionObject<TContext, TEvent> {
|
|
718
|
+
export interface StopAction<TContext, TExpressionEvent extends EventObject, TEvent extends EventObject = TExpressionEvent> extends ActionObject<TContext, TExpressionEvent, TEvent> {
|
|
709
719
|
type: ActionTypes.Stop;
|
|
710
720
|
activity: string | {
|
|
711
721
|
id: string;
|
|
712
|
-
} | Expr<TContext,
|
|
722
|
+
} | Expr<TContext, TExpressionEvent, string | {
|
|
713
723
|
id: string;
|
|
714
724
|
}>;
|
|
715
725
|
}
|
|
@@ -726,12 +736,15 @@ export declare enum SpecialTargets {
|
|
|
726
736
|
Parent = "#_parent",
|
|
727
737
|
Internal = "#_internal"
|
|
728
738
|
}
|
|
729
|
-
export interface SendActionOptions<TContext, TEvent extends EventObject> {
|
|
739
|
+
export interface SendActionOptions<TContext, TEvent extends EventObject> extends RaiseActionOptions<TContext, TEvent> {
|
|
740
|
+
to?: string | ActorRef<any> | ExprWithMeta<TContext, TEvent, string | ActorRef<any>>;
|
|
741
|
+
}
|
|
742
|
+
export interface RaiseActionOptions<TContext, TEvent extends EventObject> {
|
|
730
743
|
id?: string | number;
|
|
731
744
|
delay?: number | string | DelayExpr<TContext, TEvent>;
|
|
732
|
-
to?: string | ActorRef<any> | ExprWithMeta<TContext, TEvent, string | ActorRef<any>>;
|
|
733
745
|
}
|
|
734
|
-
export interface CancelAction extends ActionObject<
|
|
746
|
+
export interface CancelAction<TContext, TExpressionEvent extends EventObject, TEvent extends EventObject = TExpressionEvent> extends ActionObject<TContext, TExpressionEvent, TEvent> {
|
|
747
|
+
type: ActionTypes.Cancel;
|
|
735
748
|
sendId: string | number;
|
|
736
749
|
}
|
|
737
750
|
export declare type Assigner<TContext, TEvent extends EventObject> = (context: TContext, event: TEvent, meta: AssignMeta<TContext, TEvent>) => Partial<TContext>;
|
|
@@ -747,19 +760,19 @@ export interface AnyAssignAction<TContext, TEvent extends EventObject> extends A
|
|
|
747
760
|
type: ActionTypes.Assign;
|
|
748
761
|
assignment: any;
|
|
749
762
|
}
|
|
750
|
-
export interface AssignAction<TContext, TEvent extends EventObject> extends ActionObject<TContext, TEvent> {
|
|
763
|
+
export interface AssignAction<TContext, TExpressionEvent extends EventObject, TEvent extends EventObject = TExpressionEvent> extends ActionObject<TContext, TExpressionEvent, TEvent> {
|
|
751
764
|
type: ActionTypes.Assign;
|
|
752
|
-
assignment: Assigner<TContext,
|
|
765
|
+
assignment: Assigner<TContext, TExpressionEvent> | PropertyAssigner<TContext, TExpressionEvent>;
|
|
753
766
|
}
|
|
754
|
-
export interface PureAction<TContext, TEvent extends EventObject> extends ActionObject<TContext, TEvent> {
|
|
767
|
+
export interface PureAction<TContext, TExpressionEvent extends EventObject, TEvent extends EventObject = TExpressionEvent> extends ActionObject<TContext, TExpressionEvent, TEvent> {
|
|
755
768
|
type: ActionTypes.Pure;
|
|
756
769
|
get: (context: TContext, event: TEvent) => SingleOrArray<ActionObject<TContext, TEvent> | ActionObject<TContext, TEvent>['type']> | undefined;
|
|
757
770
|
}
|
|
758
|
-
export interface ChooseAction<TContext, TEvent extends EventObject> extends ActionObject<TContext, TEvent> {
|
|
771
|
+
export interface ChooseAction<TContext, TExpressionEvent extends EventObject, TEvent extends EventObject = TExpressionEvent> extends ActionObject<TContext, TExpressionEvent, TEvent> {
|
|
759
772
|
type: ActionTypes.Choose;
|
|
760
773
|
conds: Array<ChooseCondition<TContext, TEvent>>;
|
|
761
774
|
}
|
|
762
|
-
export interface TransitionDefinition<TContext, TEvent extends EventObject> extends TransitionConfig<TContext, TEvent> {
|
|
775
|
+
export interface TransitionDefinition<TContext, TEvent extends EventObject> extends Omit<TransitionConfig<TContext, TEvent, any>, 'actions'> {
|
|
763
776
|
target: Array<StateNode<TContext, any, TEvent>> | undefined;
|
|
764
777
|
source: StateNode<TContext, any, TEvent>;
|
|
765
778
|
actions: Array<ActionObject<TContext, TEvent>>;
|
package/es/utils.d.ts
CHANGED
|
@@ -1,8 +1,8 @@
|
|
|
1
|
-
import { Event, StateValue, ActionType, Action, EventObject, PropertyMapper, Mapper, EventType, HistoryValue, AssignAction, Condition, Subscribable, ConditionPredicate, SCXML, StateLike, EventData, TransitionConfig, TransitionConfigTarget, NullEvent, SingleOrArray, Guard, InvokeSourceDefinition, Observer, Behavior } from './types';
|
|
1
|
+
import { Event, StateValue, ActionType, Action, EventObject, PropertyMapper, Mapper, EventType, HistoryValue, AssignAction, Condition, Subscribable, ConditionPredicate, SCXML, StateLike, EventData, TransitionConfig, TransitionConfigTarget, NullEvent, SingleOrArray, Guard, InvokeSourceDefinition, Observer, Behavior, RaiseActionObject, SendActionObject } from './types';
|
|
2
2
|
import { StateNode } from './StateNode';
|
|
3
3
|
import { State } from './State';
|
|
4
4
|
import { Actor } from './Actor';
|
|
5
|
-
import { AnyStateMachine } from '.';
|
|
5
|
+
import { ActionObject, AnyStateMachine } from '.';
|
|
6
6
|
export declare function keys<T extends object>(value: T): Array<keyof T & string>;
|
|
7
7
|
export declare function matchesState(parentStateId: StateValue, childStateId: StateValue, delimiter?: string): boolean;
|
|
8
8
|
export declare function getEventType<TEvent extends EventObject = EventObject>(event: Event<TEvent>): TEvent['type'];
|
|
@@ -69,4 +69,5 @@ export declare function evaluateGuard<TContext, TEvent extends EventObject>(mach
|
|
|
69
69
|
export declare function toInvokeSource(src: string | InvokeSourceDefinition): InvokeSourceDefinition;
|
|
70
70
|
export declare function toObserver<T>(nextHandler?: Partial<Observer<T>> | ((value: T) => void), errorHandler?: (error: any) => void, completionHandler?: () => void): Observer<T>;
|
|
71
71
|
export declare function createInvokeId(stateNodeId: string, index: number): string;
|
|
72
|
+
export declare function isRaisableAction<TContext, TExpressionEvent extends EventObject, TEvent extends EventObject>(action: ActionObject<TContext, TExpressionEvent, TEvent>): action is RaiseActionObject<TContext, TExpressionEvent, TEvent> | SendActionObject<TContext, TExpressionEvent, TEvent>;
|
|
72
73
|
//# sourceMappingURL=utils.d.ts.map
|
package/es/utils.js
CHANGED
|
@@ -1,4 +1,6 @@
|
|
|
1
1
|
import { __values, __spreadArray, __read, __assign } from './_virtual/_tslib.js';
|
|
2
|
+
import { SpecialTargets } from './types.js';
|
|
3
|
+
import { raise, send } from './actionTypes.js';
|
|
2
4
|
import { DEFAULT_GUARD_TYPE, TARGETLESS_KEY, STATE_DELIMITER } from './constants.js';
|
|
3
5
|
import { IS_PRODUCTION } from './environment.js';
|
|
4
6
|
|
|
@@ -618,5 +620,8 @@ function toObserver(nextHandler, errorHandler, completionHandler) {
|
|
|
618
620
|
function createInvokeId(stateNodeId, index) {
|
|
619
621
|
return "".concat(stateNodeId, ":invocation[").concat(index, "]");
|
|
620
622
|
}
|
|
623
|
+
function isRaisableAction(action) {
|
|
624
|
+
return (action.type === raise || action.type === send && action.to === SpecialTargets.Internal) && typeof action.delay !== 'number';
|
|
625
|
+
}
|
|
621
626
|
|
|
622
|
-
export { createInvokeId, evaluateGuard, flatten, getActionType, getEventType, interopSymbols, isActor, isArray, isBehavior, isBuiltInEvent, isFunction, isMachine, isObservable, isPromiseLike, isStateLike, isString, keys, mapContext, mapFilterValues, mapValues, matchesState, nestedPath, normalizeTarget, partition, path, pathToStateValue, pathsToStateValue, reportUnhandledExceptionOnInvocation, symbolObservable, toArray, toArrayStrict, toEventObject, toGuard, toInvokeSource, toObserver, toSCXMLEvent, toStatePath, toStatePaths, toStateValue, toTransitionConfigArray, uniqueId, updateContext, updateHistoryStates, updateHistoryValue, warn };
|
|
627
|
+
export { createInvokeId, evaluateGuard, flatten, getActionType, getEventType, interopSymbols, isActor, isArray, isBehavior, isBuiltInEvent, isFunction, isMachine, isObservable, isPromiseLike, isRaisableAction, isStateLike, isString, keys, mapContext, mapFilterValues, mapValues, matchesState, nestedPath, normalizeTarget, partition, path, pathToStateValue, pathsToStateValue, reportUnhandledExceptionOnInvocation, symbolObservable, toArray, toArrayStrict, toEventObject, toGuard, toInvokeSource, toObserver, toSCXMLEvent, toStatePath, toStatePaths, toStateValue, toTransitionConfigArray, uniqueId, updateContext, updateHistoryStates, updateHistoryValue, warn };
|
package/lib/State.d.ts
CHANGED
|
@@ -91,7 +91,7 @@ export declare class State<TContext, TEvent extends EventObject = EventObject, T
|
|
|
91
91
|
* @param delimiter The character(s) that separate each subpath in the string state node path.
|
|
92
92
|
*/
|
|
93
93
|
toStrings(stateValue?: StateValue, delimiter?: string): string[];
|
|
94
|
-
toJSON(): Omit<this, "
|
|
94
|
+
toJSON(): Omit<this, "configuration" | "transitions" | "tags" | "machine" | "toStrings" | "toJSON" | "matches" | "hasTag" | "can"> & {
|
|
95
95
|
tags: string[];
|
|
96
96
|
};
|
|
97
97
|
/**
|
package/lib/StateNode.js
CHANGED
|
@@ -4,7 +4,6 @@ Object.defineProperty(exports, '__esModule', { value: true });
|
|
|
4
4
|
|
|
5
5
|
var _tslib = require('./_virtual/_tslib.js');
|
|
6
6
|
var utils = require('./utils.js');
|
|
7
|
-
var types = require('./types.js');
|
|
8
7
|
var State = require('./State.js');
|
|
9
8
|
var actionTypes = require('./actionTypes.js');
|
|
10
9
|
var actions = require('./actions.js');
|
|
@@ -759,7 +758,9 @@ function () {
|
|
|
759
758
|
};
|
|
760
759
|
}).concat({
|
|
761
760
|
type: 'state_done',
|
|
762
|
-
actions: doneEvents.map(
|
|
761
|
+
actions: doneEvents.map(function (event) {
|
|
762
|
+
return actions.raise(event);
|
|
763
|
+
})
|
|
763
764
|
});
|
|
764
765
|
var exitActions = Array.from(exitStates).map(function (stateNode) {
|
|
765
766
|
return {
|
|
@@ -780,7 +781,7 @@ function () {
|
|
|
780
781
|
}).map(function (stateNode) {
|
|
781
782
|
return stateNode.onExit;
|
|
782
783
|
})), this.machine.options.actions).filter(function (action) {
|
|
783
|
-
return
|
|
784
|
+
return !utils.isRaisableAction(action);
|
|
784
785
|
});
|
|
785
786
|
return actions$1.concat({
|
|
786
787
|
type: 'stop',
|
|
@@ -917,9 +918,7 @@ function () {
|
|
|
917
918
|
resolvedActions = _e[0],
|
|
918
919
|
updatedContext = _e[1];
|
|
919
920
|
|
|
920
|
-
var _f = _tslib.__read(utils.partition(resolvedActions,
|
|
921
|
-
return action.type === actionTypes.raise || action.type === actionTypes.send && action.to === types.SpecialTargets.Internal;
|
|
922
|
-
}), 2),
|
|
921
|
+
var _f = _tslib.__read(utils.partition(resolvedActions, utils.isRaisableAction), 2),
|
|
923
922
|
raisedEvents = _f[0],
|
|
924
923
|
nonRaisedActions = _f[1];
|
|
925
924
|
|
package/lib/actions.d.ts
CHANGED
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import { Action, Event, EventObject, SingleOrArray, SendAction, SendActionOptions, CancelAction, ActionObject, ActionType, Assigner, PropertyAssigner, AssignAction, ActionFunction, ActionFunctionMap, ActivityActionObject, ActionTypes, ActivityDefinition, RaiseAction, RaiseActionObject, DoneEvent, ErrorPlatformEvent, DoneEventObject, SendExpr, SendActionObject, PureAction, LogExpr, LogAction, LogActionObject, DelayFunctionMap, SCXML, ExprWithMeta, ChooseCondition, ChooseAction, AnyEventObject, Expr, StopAction, StopActionObject, Cast, EventFrom, AnyActorRef, PredictableActionArgumentsExec } from './types';
|
|
1
|
+
import { Action, Event, EventObject, SingleOrArray, SendAction, SendActionOptions, CancelAction, ActionObject, ActionType, Assigner, PropertyAssigner, AssignAction, ActionFunction, ActionFunctionMap, ActivityActionObject, ActionTypes, ActivityDefinition, RaiseAction, RaiseActionObject, DoneEvent, ErrorPlatformEvent, DoneEventObject, SendExpr, SendActionObject, PureAction, LogExpr, LogAction, LogActionObject, DelayFunctionMap, SCXML, ExprWithMeta, ChooseCondition, ChooseAction, AnyEventObject, Expr, StopAction, StopActionObject, Cast, EventFrom, AnyActorRef, PredictableActionArgumentsExec, RaiseActionOptions, NoInfer, BaseActionObject, LowInfer } from './types';
|
|
2
2
|
import * as actionTypes from './actionTypes';
|
|
3
3
|
import { State } from './State';
|
|
4
4
|
import { StateNode } from './StateNode';
|
|
@@ -8,7 +8,7 @@ export declare const initEvent: SCXML.Event<{
|
|
|
8
8
|
}>;
|
|
9
9
|
export declare function getActionFunction<TContext, TEvent extends EventObject>(actionType: ActionType, actionFunctionMap?: ActionFunctionMap<TContext, TEvent>): ActionObject<TContext, TEvent> | ActionFunction<TContext, TEvent> | undefined;
|
|
10
10
|
export declare function toActionObject<TContext, TEvent extends EventObject>(action: Action<TContext, TEvent>, actionFunctionMap?: ActionFunctionMap<TContext, TEvent>): ActionObject<TContext, TEvent>;
|
|
11
|
-
export declare const toActionObjects: <TContext, TEvent extends EventObject>(action?: SingleOrArray<Action<TContext, TEvent>> | undefined, actionFunctionMap?: ActionFunctionMap<TContext, TEvent,
|
|
11
|
+
export declare const toActionObjects: <TContext, TEvent extends EventObject>(action?: SingleOrArray<Action<TContext, TEvent, TEvent>> | undefined, actionFunctionMap?: ActionFunctionMap<TContext, TEvent, BaseActionObject> | undefined) => ActionObject<TContext, TEvent, TEvent, BaseActionObject>[];
|
|
12
12
|
export declare function toActivityDefinition<TContext, TEvent extends EventObject>(action: string | ActivityDefinition<TContext, TEvent>): ActivityDefinition<TContext, TEvent>;
|
|
13
13
|
/**
|
|
14
14
|
* Raises an event. This places the event in the internal event queue, so that
|
|
@@ -16,19 +16,21 @@ export declare function toActivityDefinition<TContext, TEvent extends EventObjec
|
|
|
16
16
|
*
|
|
17
17
|
* @param eventType The event to raise.
|
|
18
18
|
*/
|
|
19
|
-
export declare function raise<TContext, TEvent extends EventObject>(event: Event<TEvent
|
|
20
|
-
export declare function resolveRaise<TEvent extends EventObject>(action: RaiseAction<TEvent>): RaiseActionObject<TEvent>;
|
|
19
|
+
export declare function raise<TContext, TExpressionEvent extends EventObject, TEvent extends EventObject = TExpressionEvent>(event: NoInfer<Event<TEvent>> | SendExpr<TContext, TExpressionEvent, TEvent>, options?: RaiseActionOptions<TContext, TExpressionEvent>): RaiseAction<TContext, TExpressionEvent, TEvent>;
|
|
20
|
+
export declare function resolveRaise<TContext, TEvent extends EventObject, TExpressionEvent extends EventObject>(action: RaiseAction<TContext, TExpressionEvent, TEvent>, ctx: TContext, _event: SCXML.Event<TExpressionEvent>, delaysMap?: DelayFunctionMap<TContext, TEvent>): RaiseActionObject<TContext, TExpressionEvent, TEvent>;
|
|
21
21
|
/**
|
|
22
22
|
* Sends an event. This returns an action that will be read by an interpreter to
|
|
23
23
|
* send the event in the next step, after the current step is finished executing.
|
|
24
24
|
*
|
|
25
|
+
* @deprecated Use the `sendTo(...)` action creator instead.
|
|
26
|
+
*
|
|
25
27
|
* @param event The event to send.
|
|
26
28
|
* @param options Options to pass into the send event:
|
|
27
29
|
* - `id` - The unique send event identifier (used with `cancel()`).
|
|
28
30
|
* - `delay` - The number of milliseconds to delay the sending of the event.
|
|
29
31
|
* - `to` - The target of this event (by default, the machine the event was sent from).
|
|
30
32
|
*/
|
|
31
|
-
export declare function send<TContext, TEvent extends EventObject, TSentEvent extends EventObject = AnyEventObject>(event: Event<
|
|
33
|
+
export declare function send<TContext, TEvent extends EventObject, TSentEvent extends EventObject = AnyEventObject>(event: Event<AnyEventObject> | SendExpr<TContext, TEvent, AnyEventObject>, options?: SendActionOptions<TContext, TEvent>): SendAction<TContext, TEvent, TSentEvent>;
|
|
32
34
|
export declare function resolveSend<TContext, TEvent extends EventObject, TSentEvent extends EventObject>(action: SendAction<TContext, TEvent, TSentEvent>, ctx: TContext, _event: SCXML.Event<TEvent>, delaysMap?: DelayFunctionMap<TContext, TEvent>): SendActionObject<TContext, TEvent, TSentEvent>;
|
|
33
35
|
/**
|
|
34
36
|
* Sends an event to this machine's parent.
|
|
@@ -36,7 +38,7 @@ export declare function resolveSend<TContext, TEvent extends EventObject, TSentE
|
|
|
36
38
|
* @param event The event to send to the parent machine.
|
|
37
39
|
* @param options Options to pass into the send event.
|
|
38
40
|
*/
|
|
39
|
-
export declare function sendParent<TContext, TEvent extends EventObject, TSentEvent extends EventObject = AnyEventObject>(event: Event<
|
|
41
|
+
export declare function sendParent<TContext, TEvent extends EventObject, TSentEvent extends EventObject = AnyEventObject>(event: Event<AnyEventObject> | SendExpr<TContext, TEvent, AnyEventObject>, options?: SendActionOptions<TContext, TEvent>): SendAction<TContext, TEvent, TSentEvent>;
|
|
40
42
|
declare type InferEvent<E extends EventObject> = {
|
|
41
43
|
[T in E['type']]: {
|
|
42
44
|
type: T;
|
|
@@ -52,13 +54,11 @@ declare type InferEvent<E extends EventObject> = {
|
|
|
52
54
|
* @param options Send action options
|
|
53
55
|
* @returns An XState send action object
|
|
54
56
|
*/
|
|
55
|
-
export declare function sendTo<TContext, TEvent extends EventObject, TActor extends AnyActorRef>(actor: string | TActor | ((ctx: TContext) => TActor), event: EventFrom<TActor> | SendExpr<TContext, TEvent, InferEvent<Cast<EventFrom<TActor>, EventObject>>>, options?: SendActionOptions<TContext, TEvent>): SendAction<TContext, TEvent, any>;
|
|
57
|
+
export declare function sendTo<TContext, TEvent extends EventObject, TActor extends AnyActorRef>(actor: string | TActor | ((ctx: TContext, event: TEvent) => TActor), event: EventFrom<TActor> | SendExpr<TContext, TEvent, InferEvent<Cast<EventFrom<TActor>, EventObject>>>, options?: SendActionOptions<TContext, TEvent>): SendAction<TContext, TEvent, any>;
|
|
56
58
|
/**
|
|
57
59
|
* Sends an update event to this machine's parent.
|
|
58
60
|
*/
|
|
59
|
-
export declare function sendUpdate<TContext, TEvent extends EventObject>(): SendAction<TContext, TEvent,
|
|
60
|
-
type: ActionTypes.Update;
|
|
61
|
-
}>;
|
|
61
|
+
export declare function sendUpdate<TContext, TEvent extends EventObject>(): SendAction<TContext, TEvent, AnyEventObject>;
|
|
62
62
|
/**
|
|
63
63
|
* Sends an event back to the sender of the original event.
|
|
64
64
|
*
|
|
@@ -75,7 +75,7 @@ export declare function respond<TContext, TEvent extends EventObject, TSentEvent
|
|
|
75
75
|
* @param label The label to give to the logged expression.
|
|
76
76
|
*/
|
|
77
77
|
export declare function log<TContext, TEvent extends EventObject>(expr?: string | LogExpr<TContext, TEvent>, label?: string): LogAction<TContext, TEvent>;
|
|
78
|
-
export declare const resolveLog: <TContext, TEvent extends EventObject>(action: LogAction<TContext, TEvent>, ctx: TContext, _event: SCXML.Event<TEvent>) => LogActionObject<TContext, TEvent>;
|
|
78
|
+
export declare const resolveLog: <TContext, TEvent extends EventObject>(action: LogAction<TContext, TEvent, TEvent>, ctx: TContext, _event: SCXML.Event<TEvent>) => LogActionObject<TContext, TEvent>;
|
|
79
79
|
/**
|
|
80
80
|
* Cancels an in-flight `send(...)` action. A canceled sent action will not
|
|
81
81
|
* be executed, nor will its event be sent, unless it has already been sent
|
|
@@ -83,7 +83,7 @@ export declare const resolveLog: <TContext, TEvent extends EventObject>(action:
|
|
|
83
83
|
*
|
|
84
84
|
* @param sendId The `id` of the `send(...)` action to cancel.
|
|
85
85
|
*/
|
|
86
|
-
export declare const cancel: (sendId: string | number) => CancelAction
|
|
86
|
+
export declare const cancel: <TContext, TEvent extends EventObject>(sendId: string | number) => CancelAction<TContext, TEvent, TEvent>;
|
|
87
87
|
/**
|
|
88
88
|
* Starts an activity.
|
|
89
89
|
*
|
|
@@ -95,7 +95,7 @@ export declare function start<TContext, TEvent extends EventObject>(activity: st
|
|
|
95
95
|
*
|
|
96
96
|
* @param actorRef The activity to stop.
|
|
97
97
|
*/
|
|
98
|
-
export declare function stop<TContext, TEvent extends EventObject>(actorRef: string |
|
|
98
|
+
export declare function stop<TContext, TEvent extends EventObject>(actorRef: string | Expr<TContext, TEvent, string | {
|
|
99
99
|
id: string;
|
|
100
100
|
}>): StopAction<TContext, TEvent>;
|
|
101
101
|
export declare function resolveStop<TContext, TEvent extends EventObject>(action: StopAction<TContext, TEvent>, context: TContext, _event: SCXML.Event<TEvent>): StopActionObject;
|
|
@@ -104,7 +104,7 @@ export declare function resolveStop<TContext, TEvent extends EventObject>(action
|
|
|
104
104
|
*
|
|
105
105
|
* @param assignment An object that represents the partial context to update.
|
|
106
106
|
*/
|
|
107
|
-
export declare const assign: <TContext, TEvent extends EventObject =
|
|
107
|
+
export declare const assign: <TContext, TExpressionEvent extends EventObject = EventObject, TEvent extends EventObject = TExpressionEvent>(assignment: Assigner<LowInfer<TContext>, TExpressionEvent> | PropertyAssigner<LowInfer<TContext>, TExpressionEvent>) => AssignAction<TContext, TExpressionEvent, TEvent>;
|
|
108
108
|
export declare function isActionObject<TContext, TEvent extends EventObject>(action: Action<TContext, TEvent>): action is ActionObject<TContext, TEvent>;
|
|
109
109
|
/**
|
|
110
110
|
* Returns an event type that represents an implicit event that
|
|
@@ -133,7 +133,7 @@ export declare function done(id: string, data?: any): DoneEventObject;
|
|
|
133
133
|
*/
|
|
134
134
|
export declare function doneInvoke(id: string, data?: any): DoneEvent;
|
|
135
135
|
export declare function error(id: string, data?: any): ErrorPlatformEvent & string;
|
|
136
|
-
export declare function pure<TContext, TEvent extends EventObject>(getActions: (context: TContext, event: TEvent) => SingleOrArray<
|
|
136
|
+
export declare function pure<TContext, TEvent extends EventObject>(getActions: (context: TContext, event: TEvent) => SingleOrArray<BaseActionObject | BaseActionObject['type'] | ActionObject<TContext, TEvent>> | undefined): PureAction<TContext, TEvent>;
|
|
137
137
|
/**
|
|
138
138
|
* Forwards (sends) an event to a specified service.
|
|
139
139
|
*
|