xstate 4.32.1 → 4.33.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/Machine.js +7 -0
- package/es/State.d.ts +2 -2
- package/es/StateNode.d.ts +3 -8
- package/es/StateNode.js +53 -57
- package/es/actions.d.ts +2 -2
- package/es/actions.js +43 -9
- package/es/interpreter.d.ts +4 -1
- package/es/interpreter.js +303 -253
- package/es/stateUtils.d.ts +1 -0
- package/es/stateUtils.js +6 -3
- package/es/types.d.ts +10 -0
- package/es/utils.d.ts +1 -1
- package/es/utils.js +6 -10
- package/lib/Machine.js +7 -0
- package/lib/State.d.ts +2 -2
- package/lib/StateNode.d.ts +3 -8
- package/lib/StateNode.js +51 -55
- package/lib/actions.d.ts +2 -2
- package/lib/actions.js +43 -9
- package/lib/interpreter.d.ts +4 -1
- package/lib/interpreter.js +298 -248
- package/lib/stateUtils.d.ts +1 -0
- package/lib/stateUtils.js +6 -2
- package/lib/types.d.ts +10 -0
- package/lib/utils.d.ts +1 -1
- package/lib/utils.js +6 -10
- package/package.json +1 -1
- package/CHANGELOG.md +0 -1503
package/lib/stateUtils.js
CHANGED
|
@@ -8,10 +8,13 @@ var utils = require('./utils.js');
|
|
|
8
8
|
var isLeafNode = function (stateNode) {
|
|
9
9
|
return stateNode.type === 'atomic' || stateNode.type === 'final';
|
|
10
10
|
};
|
|
11
|
-
function
|
|
11
|
+
function getAllChildren(stateNode) {
|
|
12
12
|
return Object.keys(stateNode.states).map(function (key) {
|
|
13
13
|
return stateNode.states[key];
|
|
14
|
-
})
|
|
14
|
+
});
|
|
15
|
+
}
|
|
16
|
+
function getChildren(stateNode) {
|
|
17
|
+
return getAllChildren(stateNode).filter(function (sn) {
|
|
15
18
|
return sn.type !== 'history';
|
|
16
19
|
});
|
|
17
20
|
}
|
|
@@ -261,6 +264,7 @@ function getTagsFromConfiguration(configuration) {
|
|
|
261
264
|
}
|
|
262
265
|
|
|
263
266
|
exports.getAdjList = getAdjList;
|
|
267
|
+
exports.getAllChildren = getAllChildren;
|
|
264
268
|
exports.getAllStateNodes = getAllStateNodes;
|
|
265
269
|
exports.getChildren = getChildren;
|
|
266
270
|
exports.getConfiguration = getConfiguration;
|
package/lib/types.d.ts
CHANGED
|
@@ -422,6 +422,12 @@ export interface StateNodeConfig<TContext, TStateSchema extends StateSchema, TEv
|
|
|
422
422
|
* @default false
|
|
423
423
|
*/
|
|
424
424
|
preserveActionOrder?: boolean;
|
|
425
|
+
/**
|
|
426
|
+
* Whether XState calls actions with the event directly responsible for the related transition.
|
|
427
|
+
*
|
|
428
|
+
* @default false
|
|
429
|
+
*/
|
|
430
|
+
predictableActionArguments?: boolean;
|
|
425
431
|
/**
|
|
426
432
|
* A text description of the state node
|
|
427
433
|
*/
|
|
@@ -856,6 +862,9 @@ export interface StateConfig<TContext, TEvent extends EventObject> {
|
|
|
856
862
|
*/
|
|
857
863
|
activities?: ActivityMap;
|
|
858
864
|
meta?: any;
|
|
865
|
+
/**
|
|
866
|
+
* @deprecated
|
|
867
|
+
*/
|
|
859
868
|
events?: TEvent[];
|
|
860
869
|
configuration: Array<StateNode<TContext, any, TEvent>>;
|
|
861
870
|
transitions: Array<TransitionDefinition<TContext, TEvent>>;
|
|
@@ -1027,5 +1036,6 @@ declare type Matches<TypegenEnabledArg, TypegenDisabledArg> = {
|
|
|
1027
1036
|
(stateValue: TypegenDisabledArg): any;
|
|
1028
1037
|
};
|
|
1029
1038
|
export declare type StateValueFrom<TMachine extends AnyStateMachine> = StateFrom<TMachine>['matches'] extends Matches<infer TypegenEnabledArg, infer TypegenDisabledArg> ? TMachine['__TResolvedTypesMeta'] extends TypegenEnabled ? TypegenEnabledArg : TypegenDisabledArg : never;
|
|
1039
|
+
export declare type PredictableActionArgumentsExec = (action: ActionObject<unknown, EventObject>, context: unknown, _event: SCXML.Event<EventObject>) => void;
|
|
1030
1040
|
export {};
|
|
1031
1041
|
//# sourceMappingURL=types.d.ts.map
|
package/lib/utils.d.ts
CHANGED
|
@@ -67,6 +67,6 @@ export declare function normalizeTarget<TContext, TEvent extends EventObject>(ta
|
|
|
67
67
|
export declare function reportUnhandledExceptionOnInvocation(originalError: any, currentError: any, id: string): void;
|
|
68
68
|
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;
|
|
69
69
|
export declare function toInvokeSource(src: string | InvokeSourceDefinition): InvokeSourceDefinition;
|
|
70
|
-
export declare function toObserver<T>(nextHandler
|
|
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
72
|
//# sourceMappingURL=utils.d.ts.map
|
package/lib/utils.js
CHANGED
|
@@ -609,18 +609,14 @@ function toInvokeSource(src) {
|
|
|
609
609
|
return src;
|
|
610
610
|
}
|
|
611
611
|
function toObserver(nextHandler, errorHandler, completionHandler) {
|
|
612
|
-
|
|
613
|
-
return nextHandler;
|
|
614
|
-
}
|
|
615
|
-
|
|
616
|
-
var noop = function () {
|
|
617
|
-
return void 0;
|
|
618
|
-
};
|
|
612
|
+
var noop = function () {};
|
|
619
613
|
|
|
614
|
+
var isObserver = typeof nextHandler === 'object';
|
|
615
|
+
var self = isObserver ? nextHandler : null;
|
|
620
616
|
return {
|
|
621
|
-
next: nextHandler,
|
|
622
|
-
error: errorHandler || noop,
|
|
623
|
-
complete: completionHandler || noop
|
|
617
|
+
next: ((isObserver ? nextHandler.next : nextHandler) || noop).bind(self),
|
|
618
|
+
error: ((isObserver ? nextHandler.error : errorHandler) || noop).bind(self),
|
|
619
|
+
complete: ((isObserver ? nextHandler.complete : completionHandler) || noop).bind(self)
|
|
624
620
|
};
|
|
625
621
|
}
|
|
626
622
|
function createInvokeId(stateNodeId, index) {
|