xstate 4.26.0-pr2674-202191175724 → 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 +48 -10
- 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 +3 -3
- package/es/StateNode.d.ts +8 -4
- package/es/StateNode.js +13 -13
- package/es/actions.d.ts +2 -2
- package/es/interpreter.js +2 -1
- package/es/model.types.d.ts +3 -3
- package/es/stateUtils.d.ts +1 -0
- package/es/stateUtils.js +7 -2
- package/es/typegenTypes.d.ts +15 -1
- package/es/types.d.ts +60 -22
- package/lib/Machine.d.ts +3 -3
- package/lib/StateNode.d.ts +8 -4
- package/lib/StateNode.js +12 -12
- package/lib/actions.d.ts +2 -2
- package/lib/interpreter.js +2 -1
- package/lib/model.types.d.ts +3 -3
- package/lib/stateUtils.d.ts +1 -0
- package/lib/stateUtils.js +6 -0
- package/lib/typegenTypes.d.ts +15 -1
- package/lib/types.d.ts +60 -22
- package/package.json +1 -1
package/lib/Machine.d.ts
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import { Model } from './model.types';
|
|
2
|
-
import { AnyEventObject, BaseActionObject, DefaultContext, EventObject, MachineConfig, MachineOptions, StateMachine, StateSchema, Typestate } from './types';
|
|
3
|
-
import {
|
|
2
|
+
import { AnyEventObject, BaseActionObject, DefaultContext, EventObject, MachineConfig, MachineOptions, InternalMachineOptions, StateMachine, StateSchema, Typestate } from './types';
|
|
3
|
+
import { TypegenConstraint, TypegenDisabled, ResolveTypegenMeta } from './typegenTypes';
|
|
4
4
|
/**
|
|
5
5
|
* @deprecated Use `createMachine(...)` instead.
|
|
6
6
|
*/
|
|
@@ -9,5 +9,5 @@ export declare function Machine<TContext = DefaultContext, TStateSchema extends
|
|
|
9
9
|
export declare function createMachine<TContext, TEvent extends EventObject = AnyEventObject, TTypestate extends Typestate<TContext> = {
|
|
10
10
|
value: any;
|
|
11
11
|
context: TContext;
|
|
12
|
-
}, TTypesMeta extends TypegenConstraint = TypegenDisabled
|
|
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>>;
|
|
13
13
|
//# sourceMappingURL=Machine.d.ts.map
|
package/lib/StateNode.d.ts
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
|
-
import { Event, StateValue, MachineOptions, EventObject, HistoryValue, StateNodeDefinition, TransitionDefinition, DelayedTransitionDefinition, ActivityDefinition, StateNodeConfig, StateSchema, StateNodesConfig, InvokeDefinition, ActionObject, Mapper, PropertyMapper, SCXML, Typestate, TransitionDefinitionMap, MachineSchema,
|
|
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 {
|
|
3
|
+
import { TypegenDisabled } from './typegenTypes';
|
|
4
4
|
declare class StateNode<TContext = any, TStateSchema extends StateSchema = any, TEvent extends EventObject = EventObject, TTypestate extends Typestate<TContext> = {
|
|
5
5
|
value: any;
|
|
6
6
|
context: TContext;
|
|
@@ -124,7 +124,11 @@ declare class StateNode<TContext = any, TStateSchema extends StateSchema = any,
|
|
|
124
124
|
/**
|
|
125
125
|
* The initial extended state
|
|
126
126
|
*/
|
|
127
|
-
_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
|
+
});
|
|
128
132
|
private _init;
|
|
129
133
|
/**
|
|
130
134
|
* Clones this state machine with custom options and context.
|
|
@@ -132,7 +136,7 @@ declare class StateNode<TContext = any, TStateSchema extends StateSchema = any,
|
|
|
132
136
|
* @param options Options (actions, guards, activities, services) to recursively merge with the existing options.
|
|
133
137
|
* @param context Custom context (will override predefined context)
|
|
134
138
|
*/
|
|
135
|
-
withConfig(options:
|
|
139
|
+
withConfig(options: InternalMachineOptions<TContext, TEvent, TResolvedTypesMeta, true>, context?: TContext | (() => TContext)): StateNode<TContext, TStateSchema, TEvent, TTypestate, TResolvedTypesMeta>;
|
|
136
140
|
/**
|
|
137
141
|
* Clones this state machine with custom context.
|
|
138
142
|
*
|
package/lib/StateNode.js
CHANGED
|
@@ -54,8 +54,8 @@ function () {
|
|
|
54
54
|
/**
|
|
55
55
|
* The initial extended state
|
|
56
56
|
*/
|
|
57
|
-
_context // TODO: this is unsafe, but we're removing it in v5 anyway
|
|
58
|
-
) {
|
|
57
|
+
_context, // TODO: this is unsafe, but we're removing it in v5 anyway
|
|
58
|
+
_stateInfo) {
|
|
59
59
|
var _this = this;
|
|
60
60
|
|
|
61
61
|
if (_context === void 0) {
|
|
@@ -85,8 +85,8 @@ function () {
|
|
|
85
85
|
this.idMap = {};
|
|
86
86
|
this.tags = [];
|
|
87
87
|
this.options = Object.assign(createDefaultOptions(), options);
|
|
88
|
-
this.parent =
|
|
89
|
-
this.key = this.config.key ||
|
|
88
|
+
this.parent = _stateInfo === null || _stateInfo === void 0 ? void 0 : _stateInfo.parent;
|
|
89
|
+
this.key = this.config.key || (_stateInfo === null || _stateInfo === void 0 ? void 0 : _stateInfo.key) || this.config.id || '(machine)';
|
|
90
90
|
this.machine = this.parent ? this.parent.machine : this;
|
|
91
91
|
this.path = this.parent ? this.parent.path.concat(this.key) : [];
|
|
92
92
|
this.delimiter = this.config.delimiter || (this.parent ? this.parent.delimiter : constants.STATE_DELIMITER);
|
|
@@ -104,9 +104,9 @@ function () {
|
|
|
104
104
|
this.states = this.config.states ? utils.mapValues(this.config.states, function (stateConfig, key) {
|
|
105
105
|
var _a;
|
|
106
106
|
|
|
107
|
-
var stateNode = new StateNode(stateConfig, {
|
|
108
|
-
|
|
109
|
-
|
|
107
|
+
var stateNode = new StateNode(stateConfig, {}, undefined, {
|
|
108
|
+
parent: _this,
|
|
109
|
+
key: key
|
|
110
110
|
});
|
|
111
111
|
Object.assign(_this.idMap, _tslib.__assign((_a = {}, _a[stateNode.id] = stateNode, _a), stateNode.idMap));
|
|
112
112
|
return stateNode;
|
|
@@ -273,7 +273,8 @@ function () {
|
|
|
273
273
|
order: this.order || -1,
|
|
274
274
|
data: this.doneData,
|
|
275
275
|
invoke: this.invoke,
|
|
276
|
-
description: this.description
|
|
276
|
+
description: this.description,
|
|
277
|
+
tags: this.tags
|
|
277
278
|
};
|
|
278
279
|
},
|
|
279
280
|
enumerable: false,
|
|
@@ -447,7 +448,8 @@ function () {
|
|
|
447
448
|
return new State.State(_tslib.__assign(_tslib.__assign({}, state), {
|
|
448
449
|
value: this.resolve(state.value),
|
|
449
450
|
configuration: configuration,
|
|
450
|
-
done: stateUtils.isInFinalState(configuration, this)
|
|
451
|
+
done: stateUtils.isInFinalState(configuration, this),
|
|
452
|
+
tags: stateUtils.getTagsFromConfiguration(configuration)
|
|
451
453
|
}));
|
|
452
454
|
};
|
|
453
455
|
|
|
@@ -980,9 +982,7 @@ function () {
|
|
|
980
982
|
maybeNextState.changed = changed; // Preserve original history after raised events
|
|
981
983
|
|
|
982
984
|
maybeNextState.history = history;
|
|
983
|
-
maybeNextState.tags =
|
|
984
|
-
return sn.tags;
|
|
985
|
-
})));
|
|
985
|
+
maybeNextState.tags = stateUtils.getTagsFromConfiguration(maybeNextState.configuration);
|
|
986
986
|
return maybeNextState;
|
|
987
987
|
};
|
|
988
988
|
/**
|
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,
|
|
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 } from './types';
|
|
2
2
|
import * as actionTypes from './actionTypes';
|
|
3
3
|
import { State } from './State';
|
|
4
4
|
import { StateNode } from './StateNode';
|
|
@@ -133,6 +133,6 @@ export declare function forwardTo<TContext, TEvent extends EventObject>(target:
|
|
|
133
133
|
* @param options Options to pass into the send action creator.
|
|
134
134
|
*/
|
|
135
135
|
export declare function escalate<TContext, TEvent extends EventObject, TErrorData = any>(errorData: TErrorData | ExprWithMeta<TContext, TEvent, TErrorData>, options?: SendActionOptions<TContext, TEvent>): SendAction<TContext, TEvent, AnyEventObject>;
|
|
136
|
-
export declare function choose<TContext, TEvent extends EventObject>(conds: Array<
|
|
136
|
+
export declare function choose<TContext, TEvent extends EventObject>(conds: Array<ChooseCondition<TContext, TEvent>>): ChooseAction<TContext, TEvent>;
|
|
137
137
|
export declare function resolveActions<TContext, TEvent extends EventObject>(machine: StateNode<TContext, any, TEvent, any, any>, currentState: State<TContext, TEvent> | undefined, currentContext: TContext, _event: SCXML.Event<TEvent>, actions: Array<ActionObject<TContext, TEvent>>, preserveActionOrder?: boolean): [Array<ActionObject<TContext, TEvent>>, TContext];
|
|
138
138
|
//# sourceMappingURL=actions.d.ts.map
|
package/lib/interpreter.js
CHANGED
package/lib/model.types.d.ts
CHANGED
|
@@ -1,5 +1,5 @@
|
|
|
1
|
-
import { AnyFunction, AssignAction, Assigner, BaseActionObject, Compute, EventObject, ExtractEvent, MachineConfig, Prop, PropertyAssigner, StateMachine } from './types';
|
|
2
|
-
import {
|
|
1
|
+
import { AnyFunction, AssignAction, Assigner, BaseActionObject, Compute, EventObject, ExtractEvent, MachineConfig, Prop, PropertyAssigner, StateMachine, InternalMachineOptions } from './types';
|
|
2
|
+
import { ResolveTypegenMeta, TypegenConstraint, TypegenDisabled } from './typegenTypes';
|
|
3
3
|
export interface Model<TContext, TEvent extends EventObject, TAction extends BaseActionObject = BaseActionObject, TModelCreators = void> {
|
|
4
4
|
initialContext: TContext;
|
|
5
5
|
assign: <TEventType extends TEvent['type'] = TEvent['type']>(assigner: Assigner<TContext, ExtractEvent<TEvent, TEventType>> | PropertyAssigner<TContext, ExtractEvent<TEvent, TEventType>>, eventType?: TEventType) => AssignAction<TContext, ExtractEvent<TEvent, TEventType>>;
|
|
@@ -7,7 +7,7 @@ export interface Model<TContext, TEvent extends EventObject, TAction extends Bas
|
|
|
7
7
|
actions: Prop<TModelCreators, 'actions'>;
|
|
8
8
|
reset: () => AssignAction<TContext, any>;
|
|
9
9
|
createMachine: {
|
|
10
|
-
<TTypesMeta extends TypegenConstraint = TypegenDisabled>(config: MachineConfig<TContext, any, TEvent, TAction, TTypesMeta>, implementations?:
|
|
10
|
+
<TTypesMeta extends TypegenConstraint = TypegenDisabled>(config: MachineConfig<TContext, any, TEvent, TAction, TTypesMeta>, implementations?: InternalMachineOptions<TContext, TEvent, ResolveTypegenMeta<TTypesMeta, TEvent, TAction>>): StateMachine<TContext, any, TEvent, {
|
|
11
11
|
value: any;
|
|
12
12
|
context: TContext;
|
|
13
13
|
}, TAction, ResolveTypegenMeta<TTypesMeta, TEvent, TAction>>;
|
package/lib/stateUtils.d.ts
CHANGED
|
@@ -12,5 +12,6 @@ export declare function has<T>(iterable: Iterable<T>, item: T): boolean;
|
|
|
12
12
|
export declare function nextEvents<TC, TE extends EventObject>(configuration: Array<StateNode<TC, any, TE>>): Array<TE['type']>;
|
|
13
13
|
export declare function isInFinalState<TC, TE extends EventObject>(configuration: Array<StateNode<TC, any, TE, any, any>>, stateNode: StateNode<TC, any, TE, any, any>): boolean;
|
|
14
14
|
export declare function getMeta(configuration?: StateNode[]): Record<string, any>;
|
|
15
|
+
export declare function getTagsFromConfiguration(configuration: StateNode<any, any, any, any>[]): Set<string>;
|
|
15
16
|
export {};
|
|
16
17
|
//# sourceMappingURL=stateUtils.d.ts.map
|
package/lib/stateUtils.js
CHANGED
|
@@ -256,12 +256,18 @@ function getMeta(configuration) {
|
|
|
256
256
|
return acc;
|
|
257
257
|
}, {});
|
|
258
258
|
}
|
|
259
|
+
function getTagsFromConfiguration(configuration) {
|
|
260
|
+
return new Set(utils.flatten(configuration.map(function (sn) {
|
|
261
|
+
return sn.tags;
|
|
262
|
+
})));
|
|
263
|
+
}
|
|
259
264
|
|
|
260
265
|
exports.getAdjList = getAdjList;
|
|
261
266
|
exports.getAllStateNodes = getAllStateNodes;
|
|
262
267
|
exports.getChildren = getChildren;
|
|
263
268
|
exports.getConfiguration = getConfiguration;
|
|
264
269
|
exports.getMeta = getMeta;
|
|
270
|
+
exports.getTagsFromConfiguration = getTagsFromConfiguration;
|
|
265
271
|
exports.getValue = getValue;
|
|
266
272
|
exports.has = has;
|
|
267
273
|
exports.isInFinalState = isInFinalState;
|
package/lib/typegenTypes.d.ts
CHANGED
|
@@ -38,10 +38,24 @@ export declare type MarkAllImplementationsAsProvided<TResolvedTypesMeta> = TReso
|
|
|
38
38
|
};
|
|
39
39
|
};
|
|
40
40
|
declare type MergeWithInternalEvents<TIndexedEvents, TInternalEvents> = TIndexedEvents & Pick<TInternalEvents, Exclude<keyof TInternalEvents, keyof TIndexedEvents>>;
|
|
41
|
+
declare type AllowAllEvents = {
|
|
42
|
+
eventsCausingActions: Record<string, string>;
|
|
43
|
+
eventsCausingDelays: Record<string, string>;
|
|
44
|
+
eventsCausingGuards: Record<string, string>;
|
|
45
|
+
eventsCausingServices: Record<string, string>;
|
|
46
|
+
};
|
|
41
47
|
export declare type ResolveTypegenMeta<TTypesMeta extends TypegenConstraint, TEvent extends EventObject, TAction extends BaseActionObject> = TTypesMeta extends TypegenEnabled ? TTypesMeta & {
|
|
42
48
|
indexedActions: IndexByType<TAction>;
|
|
43
49
|
indexedEvents: MergeWithInternalEvents<IndexByType<TEvent>, Prop<TTypesMeta, 'internalEvents'>>;
|
|
44
|
-
} : TypegenDisabled
|
|
50
|
+
} : MarkAllImplementationsAsProvided<TypegenDisabled> & AllowAllEvents & {
|
|
51
|
+
indexedActions: IndexByType<TAction>;
|
|
52
|
+
indexedEvents: Record<string, TEvent> & {
|
|
53
|
+
__XSTATE_ALLOW_ANY_INVOKE_DATA_HACK__: {
|
|
54
|
+
data: any;
|
|
55
|
+
};
|
|
56
|
+
};
|
|
57
|
+
invokeSrcNameMap: Record<string, '__XSTATE_ALLOW_ANY_INVOKE_DATA_HACK__'>;
|
|
58
|
+
};
|
|
45
59
|
export declare type TypegenMachineOptionsActions<TContext, TResolvedTypesMeta, TEventsCausingActions = Prop<TResolvedTypesMeta, 'eventsCausingActions'>, TIndexedEvents = Prop<TResolvedTypesMeta, 'indexedEvents'>, TIndexedActions = Prop<TResolvedTypesMeta, 'indexedActions'>> = {
|
|
46
60
|
[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>>;
|
|
47
61
|
};
|
package/lib/types.d.ts
CHANGED
|
@@ -2,7 +2,7 @@ import { Clock, Interpreter } from './interpreter';
|
|
|
2
2
|
import { Model } from './model.types';
|
|
3
3
|
import { State } from './State';
|
|
4
4
|
import { StateNode } from './StateNode';
|
|
5
|
-
import { MarkAllImplementationsAsProvided,
|
|
5
|
+
import { MarkAllImplementationsAsProvided, TypegenDisabled, ResolveTypegenMeta, TypegenConstraint } from './typegenTypes';
|
|
6
6
|
export declare type AnyFunction = (...args: any[]) => any;
|
|
7
7
|
declare type ReturnTypeOrValue<T> = T extends AnyFunction ? ReturnType<T> : T;
|
|
8
8
|
export declare type IsNever<T> = [T] extends [never] ? true : false;
|
|
@@ -69,8 +69,10 @@ export interface AssignMeta<TContext, TEvent extends EventObject> {
|
|
|
69
69
|
action: AssignAction<TContext, TEvent>;
|
|
70
70
|
_event: SCXML.Event<TEvent>;
|
|
71
71
|
}
|
|
72
|
-
export declare type ActionFunction<TContext, TEvent extends EventObject, TAction extends BaseActionObject = BaseActionObject> =
|
|
73
|
-
|
|
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> {
|
|
74
76
|
cond?: Condition<TContext, TEvent>;
|
|
75
77
|
actions: Actions<TContext, TEvent>;
|
|
76
78
|
}
|
|
@@ -174,6 +176,7 @@ export declare type InvokeCallback<TEvent extends EventObject = AnyEventObject,
|
|
|
174
176
|
export interface InvokeMeta {
|
|
175
177
|
data: any;
|
|
176
178
|
src: InvokeSourceDefinition;
|
|
179
|
+
meta?: MetaObject;
|
|
177
180
|
}
|
|
178
181
|
/**
|
|
179
182
|
* Returns either a Promises or a callback handler (for streams of events) given the
|
|
@@ -213,6 +216,7 @@ export interface InvokeDefinition<TContext, TEvent extends EventObject> extends
|
|
|
213
216
|
* Data should be mapped to match the child machine's context shape.
|
|
214
217
|
*/
|
|
215
218
|
data?: Mapper<TContext, TEvent, any> | PropertyMapper<TContext, TEvent, any>;
|
|
219
|
+
meta?: MetaObject;
|
|
216
220
|
}
|
|
217
221
|
export interface Delay {
|
|
218
222
|
id: string;
|
|
@@ -295,6 +299,10 @@ export interface InvokeConfig<TContext, TEvent extends EventObject> {
|
|
|
295
299
|
* The transition to take upon the invoked child machine sending an error event.
|
|
296
300
|
*/
|
|
297
301
|
onError?: string | SingleOrArray<TransitionConfig<TContext, DoneInvokeEvent<any>>>;
|
|
302
|
+
/**
|
|
303
|
+
* Meta data related to this invocation
|
|
304
|
+
*/
|
|
305
|
+
meta?: MetaObject;
|
|
298
306
|
}
|
|
299
307
|
export interface StateNodeConfig<TContext, TStateSchema extends StateSchema, TEvent extends EventObject, TAction extends BaseActionObject = BaseActionObject> {
|
|
300
308
|
/**
|
|
@@ -450,6 +458,7 @@ export interface StateNodeDefinition<TContext, TStateSchema extends StateSchema,
|
|
|
450
458
|
data?: FinalStateNodeConfig<TContext, TEvent>['data'];
|
|
451
459
|
invoke: Array<InvokeDefinition<TContext, TEvent>>;
|
|
452
460
|
description?: string;
|
|
461
|
+
tags: string[];
|
|
453
462
|
}
|
|
454
463
|
export declare type AnyStateNodeDefinition = StateNodeDefinition<any, any, any>;
|
|
455
464
|
export interface AtomicStateNodeConfig<TContext, TEvent extends EventObject> extends StateNodeConfig<TContext, StateSchema, TEvent> {
|
|
@@ -479,24 +488,43 @@ export declare type ActionFunctionMap<TContext, TEvent extends EventObject, TAct
|
|
|
479
488
|
export declare type DelayFunctionMap<TContext, TEvent extends EventObject> = Record<string, DelayConfig<TContext, TEvent>>;
|
|
480
489
|
export declare type ServiceConfig<TContext, TEvent extends EventObject = AnyEventObject> = string | StateMachine<any, any, any> | InvokeCreator<TContext, TEvent>;
|
|
481
490
|
export declare type DelayConfig<TContext, TEvent extends EventObject> = number | DelayExpr<TContext, TEvent>;
|
|
482
|
-
|
|
483
|
-
|
|
484
|
-
|
|
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> & {
|
|
485
522
|
/**
|
|
486
523
|
* @deprecated Use `services` instead.
|
|
487
524
|
*/
|
|
488
525
|
activities?: Record<string, ActivityConfig<TContext, TEvent>>;
|
|
489
|
-
|
|
490
|
-
|
|
491
|
-
/**
|
|
492
|
-
* @private
|
|
493
|
-
*/
|
|
494
|
-
_parent?: StateNode<TContext, any, TEvent, any, any>;
|
|
495
|
-
/**
|
|
496
|
-
* @private
|
|
497
|
-
*/
|
|
498
|
-
_key?: string;
|
|
499
|
-
}
|
|
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>>;
|
|
500
528
|
export interface MachineConfig<TContext, TStateSchema extends StateSchema, TEvent extends EventObject, TAction extends BaseActionObject = BaseActionObject, TTypesMeta = TypegenDisabled> extends StateNodeConfig<TContext, TStateSchema, TEvent, TAction> {
|
|
501
529
|
/**
|
|
502
530
|
* The initial context (extended state)
|
|
@@ -545,8 +573,14 @@ export interface StateMachine<TContext, TStateSchema extends StateSchema, TEvent
|
|
|
545
573
|
}, TAction extends BaseActionObject = BaseActionObject, TResolvedTypesMeta = TypegenDisabled> extends StateNode<TContext, TStateSchema, TEvent, TTypestate, TResolvedTypesMeta> {
|
|
546
574
|
id: string;
|
|
547
575
|
states: StateNode<TContext, TStateSchema, TEvent, TTypestate, TResolvedTypesMeta>['states'];
|
|
548
|
-
withConfig(options:
|
|
576
|
+
withConfig(options: InternalMachineOptions<TContext, TEvent, TResolvedTypesMeta, true>, context?: TContext | (() => TContext)): StateMachine<TContext, TStateSchema, TEvent, TTypestate, TAction, MarkAllImplementationsAsProvided<TResolvedTypesMeta>>;
|
|
549
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;
|
|
550
584
|
}
|
|
551
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;
|
|
552
586
|
export interface ActionMap<TContext, TEvent extends EventObject> {
|
|
@@ -716,7 +750,7 @@ export interface PureAction<TContext, TEvent extends EventObject> extends Action
|
|
|
716
750
|
}
|
|
717
751
|
export interface ChooseAction<TContext, TEvent extends EventObject> extends ActionObject<TContext, TEvent> {
|
|
718
752
|
type: ActionTypes.Choose;
|
|
719
|
-
conds: Array<
|
|
753
|
+
conds: Array<ChooseCondition<TContext, TEvent>>;
|
|
720
754
|
}
|
|
721
755
|
export interface TransitionDefinition<TContext, TEvent extends EventObject> extends TransitionConfig<TContext, TEvent> {
|
|
722
756
|
target: Array<StateNode<TContext, any, TEvent>> | undefined;
|
|
@@ -962,8 +996,9 @@ export declare type ActorRefWithDeprecatedState<TContext, TEvent extends EventOb
|
|
|
962
996
|
};
|
|
963
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;
|
|
964
998
|
export declare type AnyInterpreter = Interpreter<any, any, any, any, any>;
|
|
965
|
-
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, 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;
|
|
966
|
-
export declare type MachineOptionsFrom<T extends StateMachine<any, any, any, any> | ((...args: any[]) => StateMachine<any, any, any, any>), TRequireMissingImplementations extends boolean = false> = T
|
|
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;
|
|
967
1002
|
export interface ActorContext<TEvent extends EventObject, TEmitted> {
|
|
968
1003
|
parent?: ActorRef<any, any>;
|
|
969
1004
|
self: ActorRef<TEvent, TEmitted>;
|
|
@@ -976,7 +1011,10 @@ export interface Behavior<TEvent extends EventObject, TEmitted = any> {
|
|
|
976
1011
|
start?: (actorCtx: ActorContext<TEvent, TEmitted>) => TEmitted;
|
|
977
1012
|
}
|
|
978
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;
|
|
979
|
-
|
|
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
|
+
}>;
|
|
980
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;
|
|
981
1019
|
export {};
|
|
982
1020
|
//# sourceMappingURL=types.d.ts.map
|
package/package.json
CHANGED