xstate 4.30.5 → 4.32.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 +100 -0
- 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 +3 -3
- package/es/StateNode.js +3 -3
- package/es/actions.d.ts +2 -2
- package/es/devTools.js +5 -2
- package/es/interpreter.d.ts +1 -3
- package/es/interpreter.js +32 -25
- package/es/model.types.d.ts +6 -2
- package/es/stateUtils.js +2 -4
- package/es/typegenTypes.d.ts +28 -16
- package/es/types.d.ts +20 -26
- package/es/waitFor.d.ts +32 -0
- package/es/waitFor.js +71 -0
- package/lib/State.d.ts +3 -3
- package/lib/StateNode.js +3 -3
- package/lib/actions.d.ts +2 -2
- package/lib/devTools.js +5 -2
- package/lib/interpreter.d.ts +1 -3
- package/lib/interpreter.js +31 -24
- package/lib/model.types.d.ts +6 -2
- package/lib/stateUtils.js +2 -4
- package/lib/typegenTypes.d.ts +28 -16
- package/lib/types.d.ts +20 -26
- package/lib/waitFor.d.ts +32 -0
- package/lib/waitFor.js +75 -0
- package/package.json +1 -1
package/es/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, TypegenDisabled, ResolveTypegenMeta, TypegenConstraint, AreAllImplementationsAssumedToBeProvided } from './typegenTypes';
|
|
5
|
+
import { MarkAllImplementationsAsProvided, TypegenDisabled, ResolveTypegenMeta, TypegenConstraint, AreAllImplementationsAssumedToBeProvided, TypegenEnabled } 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;
|
|
@@ -15,9 +15,7 @@ export declare type Merge<M, N> = Omit<M, keyof N> & N;
|
|
|
15
15
|
export declare type IndexByType<T extends {
|
|
16
16
|
type: string;
|
|
17
17
|
}> = {
|
|
18
|
-
[K in T['type']]:
|
|
19
|
-
type: K;
|
|
20
|
-
}>;
|
|
18
|
+
[K in T['type']]: T extends any ? (K extends T['type'] ? T : never) : never;
|
|
21
19
|
};
|
|
22
20
|
export declare type Equals<A1 extends any, A2 extends any> = (<A>() => A extends A2 ? true : false) extends <A>() => A extends A1 ? true : false ? true : false;
|
|
23
21
|
export declare type IsAny<T> = Equals<T, any>;
|
|
@@ -241,13 +239,7 @@ export declare type StatesDefinition<TContext, TStateSchema extends StateSchema,
|
|
|
241
239
|
export declare type TransitionConfigTarget<TContext, TEvent extends EventObject> = string | undefined | StateNode<TContext, any, TEvent>;
|
|
242
240
|
export declare type TransitionConfigOrTarget<TContext, TEvent extends EventObject> = SingleOrArray<TransitionConfigTarget<TContext, TEvent> | TransitionConfig<TContext, TEvent>>;
|
|
243
241
|
export declare type TransitionsConfigMap<TContext, TEvent extends EventObject> = {
|
|
244
|
-
[K in TEvent['type']]?: TransitionConfigOrTarget<TContext, TEvent
|
|
245
|
-
type: K;
|
|
246
|
-
} ? TEvent : never>;
|
|
247
|
-
} & {
|
|
248
|
-
''?: TransitionConfigOrTarget<TContext, TEvent>;
|
|
249
|
-
} & {
|
|
250
|
-
'*'?: TransitionConfigOrTarget<TContext, TEvent>;
|
|
242
|
+
[K in TEvent['type'] | '' | '*']?: K extends '' | '*' ? TransitionConfigOrTarget<TContext, TEvent> : TransitionConfigOrTarget<TContext, ExtractEvent<TEvent, K>>;
|
|
251
243
|
};
|
|
252
244
|
declare type TransitionsConfigArray<TContext, TEvent extends EventObject> = Array<(TEvent extends EventObject ? TransitionConfig<TContext, TEvent> & {
|
|
253
245
|
event: TEvent['type'];
|
|
@@ -489,16 +481,16 @@ export declare type ActionFunctionMap<TContext, TEvent extends EventObject, TAct
|
|
|
489
481
|
export declare type DelayFunctionMap<TContext, TEvent extends EventObject> = Record<string, DelayConfig<TContext, TEvent>>;
|
|
490
482
|
export declare type ServiceConfig<TContext, TEvent extends EventObject = AnyEventObject> = string | AnyStateMachine | InvokeCreator<TContext, TEvent>;
|
|
491
483
|
export declare type DelayConfig<TContext, TEvent extends EventObject> = number | DelayExpr<TContext, TEvent>;
|
|
492
|
-
declare type MachineOptionsActions<TContext, TResolvedTypesMeta, TEventsCausingActions = Prop<TResolvedTypesMeta, 'eventsCausingActions'>, TIndexedEvents = Prop<TResolvedTypesMeta, 'indexedEvents'>, TIndexedActions = Prop<TResolvedTypesMeta, 'indexedActions'>> = {
|
|
484
|
+
declare type MachineOptionsActions<TContext, TResolvedTypesMeta, TEventsCausingActions = Prop<Prop<TResolvedTypesMeta, 'resolved'>, 'eventsCausingActions'>, TIndexedEvents = Prop<Prop<TResolvedTypesMeta, 'resolved'>, 'indexedEvents'>, TIndexedActions = Prop<Prop<TResolvedTypesMeta, 'resolved'>, 'indexedActions'>> = {
|
|
493
485
|
[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>>;
|
|
494
486
|
};
|
|
495
|
-
declare type MachineOptionsDelays<TContext, TResolvedTypesMeta, TEventsCausingDelays = Prop<TResolvedTypesMeta, 'eventsCausingDelays'>, TIndexedEvents = Prop<TResolvedTypesMeta, 'indexedEvents'>> = {
|
|
487
|
+
declare type MachineOptionsDelays<TContext, TResolvedTypesMeta, TEventsCausingDelays = Prop<Prop<TResolvedTypesMeta, 'resolved'>, 'eventsCausingDelays'>, TIndexedEvents = Prop<Prop<TResolvedTypesMeta, 'resolved'>, 'indexedEvents'>> = {
|
|
496
488
|
[K in keyof TEventsCausingDelays]?: DelayConfig<TContext, Cast<Prop<TIndexedEvents, TEventsCausingDelays[K]>, EventObject>>;
|
|
497
489
|
};
|
|
498
|
-
declare type MachineOptionsGuards<TContext, TResolvedTypesMeta, TEventsCausingGuards = Prop<TResolvedTypesMeta, 'eventsCausingGuards'>, TIndexedEvents = Prop<TResolvedTypesMeta, 'indexedEvents'>> = {
|
|
490
|
+
declare type MachineOptionsGuards<TContext, TResolvedTypesMeta, TEventsCausingGuards = Prop<Prop<TResolvedTypesMeta, 'resolved'>, 'eventsCausingGuards'>, TIndexedEvents = Prop<Prop<TResolvedTypesMeta, 'resolved'>, 'indexedEvents'>> = {
|
|
499
491
|
[K in keyof TEventsCausingGuards]?: ConditionPredicate<TContext, Cast<Prop<TIndexedEvents, TEventsCausingGuards[K]>, EventObject>>;
|
|
500
492
|
};
|
|
501
|
-
declare type MachineOptionsServices<TContext, TResolvedTypesMeta, TEventsCausingServices = Prop<TResolvedTypesMeta, 'eventsCausingServices'>, TIndexedEvents = Prop<TResolvedTypesMeta, 'indexedEvents'>, TInvokeSrcNameMap = Prop<TResolvedTypesMeta, 'invokeSrcNameMap'>> = {
|
|
493
|
+
declare type MachineOptionsServices<TContext, TResolvedTypesMeta, TEventsCausingServices = Prop<Prop<TResolvedTypesMeta, 'resolved'>, 'eventsCausingServices'>, TIndexedEvents = Prop<Prop<TResolvedTypesMeta, 'resolved'>, 'indexedEvents'>, TInvokeSrcNameMap = Prop<Prop<TResolvedTypesMeta, 'resolved'>, 'invokeSrcNameMap'>> = {
|
|
502
494
|
[K in keyof TEventsCausingServices]?: AnyStateMachine | InvokeCreator<TContext, Cast<Prop<TIndexedEvents, TEventsCausingServices[K]>, EventObject>, Prop<Prop<TIndexedEvents, Prop<TInvokeSrcNameMap, K>>, 'data'>, EventObject, Cast<TIndexedEvents[keyof TIndexedEvents], EventObject>>;
|
|
503
495
|
};
|
|
504
496
|
declare type MakeKeysRequired<T extends string> = {
|
|
@@ -519,14 +511,14 @@ declare type GenerateGuardsConfigPart<TContext, TResolvedTypesMeta, TRequireMiss
|
|
|
519
511
|
declare type GenerateServicesConfigPart<TContext, TResolvedTypesMeta, TRequireMissingImplementations, TMissingImplementations> = MaybeMakeMissingImplementationsRequired<'services', Prop<TMissingImplementations, 'services'>, TRequireMissingImplementations> & {
|
|
520
512
|
services?: MachineOptionsServices<TContext, TResolvedTypesMeta>;
|
|
521
513
|
};
|
|
522
|
-
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> & {
|
|
514
|
+
export declare type InternalMachineOptions<TContext, TEvent extends EventObject, TResolvedTypesMeta, TRequireMissingImplementations extends boolean = false, TMissingImplementations = Prop<Prop<TResolvedTypesMeta, 'resolved'>, 'missingImplementations'>> = GenerateActionsConfigPart<TContext, TResolvedTypesMeta, TRequireMissingImplementations, TMissingImplementations> & GenerateDelaysConfigPart<TContext, TResolvedTypesMeta, TRequireMissingImplementations, TMissingImplementations> & GenerateGuardsConfigPart<TContext, TResolvedTypesMeta, TRequireMissingImplementations, TMissingImplementations> & GenerateServicesConfigPart<TContext, TResolvedTypesMeta, TRequireMissingImplementations, TMissingImplementations> & {
|
|
523
515
|
/**
|
|
524
516
|
* @deprecated Use `services` instead.
|
|
525
517
|
*/
|
|
526
518
|
activities?: Record<string, ActivityConfig<TContext, TEvent>>;
|
|
527
519
|
};
|
|
528
520
|
export declare type MachineOptions<TContext, TEvent extends EventObject, TAction extends BaseActionObject = BaseActionObject, TServiceMap extends ServiceMap = ServiceMap, TTypesMeta extends TypegenConstraint = TypegenDisabled> = InternalMachineOptions<TContext, TEvent, ResolveTypegenMeta<TTypesMeta, TEvent, TAction, TServiceMap>>;
|
|
529
|
-
export interface MachineConfig<TContext, TStateSchema extends StateSchema, TEvent extends EventObject, TAction extends BaseActionObject = BaseActionObject, TServiceMap extends ServiceMap = ServiceMap, TTypesMeta = TypegenDisabled> extends StateNodeConfig<NoInfer<TContext>, TStateSchema, TEvent
|
|
521
|
+
export interface MachineConfig<TContext, TStateSchema extends StateSchema, TEvent extends EventObject, TAction extends BaseActionObject = BaseActionObject, TServiceMap extends ServiceMap = ServiceMap, TTypesMeta = TypegenDisabled> extends StateNodeConfig<NoInfer<TContext>, TStateSchema, NoInfer<TEvent>, TAction> {
|
|
530
522
|
/**
|
|
531
523
|
* The initial context (extended state)
|
|
532
524
|
*/
|
|
@@ -572,7 +564,7 @@ export interface HistoryStateNode<TContext> extends StateNode<TContext> {
|
|
|
572
564
|
export interface StateMachine<TContext, TStateSchema extends StateSchema, TEvent extends EventObject, TTypestate extends Typestate<TContext> = {
|
|
573
565
|
value: any;
|
|
574
566
|
context: TContext;
|
|
575
|
-
}, TAction extends BaseActionObject = BaseActionObject, TServiceMap extends ServiceMap = ServiceMap, TResolvedTypesMeta = ResolveTypegenMeta<TypegenDisabled, TEvent
|
|
567
|
+
}, TAction extends BaseActionObject = BaseActionObject, TServiceMap extends ServiceMap = ServiceMap, TResolvedTypesMeta = ResolveTypegenMeta<TypegenDisabled, NoInfer<TEvent>, TAction, TServiceMap>> extends StateNode<TContext, TStateSchema, TEvent, TTypestate, TServiceMap, TResolvedTypesMeta> {
|
|
576
568
|
id: string;
|
|
577
569
|
states: StateNode<TContext, TStateSchema, TEvent, TTypestate, TServiceMap, TResolvedTypesMeta>['states'];
|
|
578
570
|
withConfig(options: InternalMachineOptions<TContext, TEvent, TResolvedTypesMeta, true>, context?: TContext | (() => TContext)): StateMachine<TContext, TStateSchema, TEvent, TTypestate, TAction, TServiceMap, AreAllImplementationsAssumedToBeProvided<TResolvedTypesMeta> extends false ? MarkAllImplementationsAsProvided<TResolvedTypesMeta> : TResolvedTypesMeta>;
|
|
@@ -988,9 +980,7 @@ export interface Subscribable<T> extends InteropSubscribable<T> {
|
|
|
988
980
|
subscribe(next: (value: T) => void, error?: (error: any) => void, complete?: () => void): Subscription;
|
|
989
981
|
}
|
|
990
982
|
export declare type Spawnable = AnyStateMachine | PromiseLike<any> | InvokeCallback | InteropObservable<any> | Subscribable<any> | Behavior<any>;
|
|
991
|
-
export declare type ExtractEvent<TEvent extends EventObject, TEventType extends TEvent['type']> = TEvent extends
|
|
992
|
-
type: TEventType;
|
|
993
|
-
} ? TEvent : never;
|
|
983
|
+
export declare type ExtractEvent<TEvent extends EventObject, TEventType extends TEvent['type']> = TEvent extends any ? TEventType extends TEvent['type'] ? TEvent : never : never;
|
|
994
984
|
export interface BaseActorRef<TEvent extends EventObject> {
|
|
995
985
|
send: (event: TEvent) => void;
|
|
996
986
|
}
|
|
@@ -1001,6 +991,7 @@ export interface ActorRef<TEvent extends EventObject, TEmitted = any> extends Su
|
|
|
1001
991
|
stop?: () => void;
|
|
1002
992
|
toJSON?: () => any;
|
|
1003
993
|
}
|
|
994
|
+
export declare type AnyActorRef = ActorRef<any, any>;
|
|
1004
995
|
/**
|
|
1005
996
|
* @deprecated Use `ActorRef` instead.
|
|
1006
997
|
*/
|
|
@@ -1011,9 +1002,9 @@ export declare type ActorRefWithDeprecatedState<TContext, TEvent extends EventOb
|
|
|
1011
1002
|
*/
|
|
1012
1003
|
state: State<TContext, TEvent, any, TTypestate, TResolvedTypesMeta>;
|
|
1013
1004
|
};
|
|
1014
|
-
export declare type ActorRefFrom<T> = ReturnTypeOrValue<T> extends infer R ? R extends StateMachine<infer TContext, any, infer TEvent, infer TTypestate, any, any, infer TResolvedTypesMeta> ? ActorRefWithDeprecatedState<TContext, TEvent, TTypestate, TResolvedTypesMeta> : R extends Promise<infer U> ? ActorRef<never, U> : R extends Behavior<infer TEvent, infer TEmitted> ? ActorRef<TEvent, TEmitted> : never : never;
|
|
1005
|
+
export declare type ActorRefFrom<T> = ReturnTypeOrValue<T> extends infer R ? R extends StateMachine<infer TContext, any, infer TEvent, infer TTypestate, any, any, infer TResolvedTypesMeta> ? ActorRefWithDeprecatedState<TContext, TEvent, TTypestate, AreAllImplementationsAssumedToBeProvided<TResolvedTypesMeta> extends false ? MarkAllImplementationsAsProvided<TResolvedTypesMeta> : TResolvedTypesMeta> : R extends Promise<infer U> ? ActorRef<never, U> : R extends Behavior<infer TEvent, infer TEmitted> ? ActorRef<TEvent, TEmitted> : never : never;
|
|
1015
1006
|
export declare type AnyInterpreter = Interpreter<any, any, any, any, any>;
|
|
1016
|
-
export declare type InterpreterFrom<T extends AnyStateMachine | ((...args: any[]) => AnyStateMachine)> = T extends StateMachine<infer TContext, infer TStateSchema, infer TEvent, infer TTypestate, any, any, infer TResolvedTypesMeta> ? Interpreter<TContext, TStateSchema, TEvent, TTypestate, TResolvedTypesMeta>
|
|
1007
|
+
export declare type InterpreterFrom<T extends AnyStateMachine | ((...args: any[]) => AnyStateMachine)> = ReturnTypeOrValue<T> extends StateMachine<infer TContext, infer TStateSchema, infer TEvent, infer TTypestate, any, any, infer TResolvedTypesMeta> ? Interpreter<TContext, TStateSchema, TEvent, TTypestate, AreAllImplementationsAssumedToBeProvided<TResolvedTypesMeta> extends false ? MarkAllImplementationsAsProvided<TResolvedTypesMeta> : TResolvedTypesMeta> : never;
|
|
1017
1008
|
export declare type MachineOptionsFrom<T extends AnyStateMachine | ((...args: any[]) => AnyStateMachine), TRequireMissingImplementations extends boolean = false> = ReturnTypeOrValue<T> extends StateMachine<infer TContext, any, infer TEvent, any, any, any, infer TResolvedTypesMeta> ? InternalMachineOptions<TContext, TEvent, TResolvedTypesMeta, TRequireMissingImplementations> : never;
|
|
1018
1009
|
export declare type __ResolvedTypesMetaFrom<T> = T extends StateMachine<any, any, any, any, any, any, infer TResolvedTypesMeta> ? TResolvedTypesMeta : never;
|
|
1019
1010
|
export interface ActorContext<TEvent extends EventObject, TEmitted> {
|
|
@@ -1029,9 +1020,12 @@ export interface Behavior<TEvent extends EventObject, TEmitted = any> {
|
|
|
1029
1020
|
}
|
|
1030
1021
|
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;
|
|
1031
1022
|
declare type ResolveEventType<T> = ReturnTypeOrValue<T> extends infer R ? R extends StateMachine<infer _, infer __, infer TEvent, infer ___, infer ____, infer _____, infer ______> ? TEvent : R extends Model<infer _, infer TEvent, infer __, infer ___> ? TEvent : R extends State<infer _, infer TEvent, infer __, infer ___, infer ____> ? TEvent : R extends Interpreter<infer _, infer __, infer TEvent, infer ___, infer ____> ? TEvent : R extends ActorRef<infer TEvent, infer _> ? TEvent : never : never;
|
|
1032
|
-
export declare type EventFrom<T, K extends Prop<TEvent, 'type'> = never, TEvent = ResolveEventType<T>> = IsNever<K> extends true ? TEvent :
|
|
1033
|
-
type: K;
|
|
1034
|
-
}>;
|
|
1023
|
+
export declare type EventFrom<T, K extends Prop<TEvent, 'type'> = never, TEvent extends EventObject = ResolveEventType<T>> = IsNever<K> extends true ? TEvent : ExtractEvent<TEvent, K>;
|
|
1035
1024
|
export declare type ContextFrom<T> = ReturnTypeOrValue<T> extends infer R ? R extends StateMachine<infer TContext, infer _, infer __, infer ___, infer ____, infer _____, infer ______> ? TContext : R extends Model<infer TContext, infer _, infer __, infer ___> ? TContext : R extends State<infer TContext, infer _, infer __, infer ___, infer ____> ? TContext : R extends Interpreter<infer TContext, infer _, infer __, infer ___, infer ____> ? TContext : never : never;
|
|
1025
|
+
declare type Matches<TypegenEnabledArg, TypegenDisabledArg> = {
|
|
1026
|
+
(stateValue: TypegenEnabledArg): any;
|
|
1027
|
+
(stateValue: TypegenDisabledArg): any;
|
|
1028
|
+
};
|
|
1029
|
+
export declare type StateValueFrom<TMachine extends AnyStateMachine> = StateFrom<TMachine>['matches'] extends Matches<infer TypegenEnabledArg, infer TypegenDisabledArg> ? TMachine['__TResolvedTypesMeta'] extends TypegenEnabled ? TypegenEnabledArg : TypegenDisabledArg : never;
|
|
1036
1030
|
export {};
|
|
1037
1031
|
//# sourceMappingURL=types.d.ts.map
|
package/es/waitFor.d.ts
ADDED
|
@@ -0,0 +1,32 @@
|
|
|
1
|
+
import { ActorRef, EmittedFrom } from '.';
|
|
2
|
+
interface WaitForOptions {
|
|
3
|
+
/**
|
|
4
|
+
* How long to wait before rejecting, if no emitted
|
|
5
|
+
* state satisfies the predicate.
|
|
6
|
+
*
|
|
7
|
+
* @default 10_000 (10 seconds)
|
|
8
|
+
*/
|
|
9
|
+
timeout: number;
|
|
10
|
+
}
|
|
11
|
+
/**
|
|
12
|
+
* Subscribes to an actor ref and waits for its emitted value to satisfy
|
|
13
|
+
* a predicate, and then resolves with that value.
|
|
14
|
+
*
|
|
15
|
+
* @example
|
|
16
|
+
* ```js
|
|
17
|
+
* const state = await waitFor(someService, state => {
|
|
18
|
+
* return state.hasTag('loaded');
|
|
19
|
+
* });
|
|
20
|
+
*
|
|
21
|
+
* state.hasTag('loaded'); // true
|
|
22
|
+
* ```
|
|
23
|
+
*
|
|
24
|
+
* @param actorRef The actor ref to subscribe to
|
|
25
|
+
* @param predicate Determines if a value matches the condition to wait for
|
|
26
|
+
* @param options
|
|
27
|
+
* @returns A promise that eventually resolves to the emitted value
|
|
28
|
+
* that matches the condition
|
|
29
|
+
*/
|
|
30
|
+
export declare function waitFor<TActorRef extends ActorRef<any, any>>(actorRef: TActorRef, predicate: (emitted: EmittedFrom<TActorRef>) => boolean, options?: Partial<WaitForOptions>): Promise<EmittedFrom<TActorRef>>;
|
|
31
|
+
export {};
|
|
32
|
+
//# sourceMappingURL=waitFor.d.ts.map
|
package/es/waitFor.js
ADDED
|
@@ -0,0 +1,71 @@
|
|
|
1
|
+
import { __assign } from './_virtual/_tslib.js';
|
|
2
|
+
|
|
3
|
+
var defaultWaitForOptions = {
|
|
4
|
+
timeout: 10000 // 10 seconds
|
|
5
|
+
|
|
6
|
+
};
|
|
7
|
+
/**
|
|
8
|
+
* Subscribes to an actor ref and waits for its emitted value to satisfy
|
|
9
|
+
* a predicate, and then resolves with that value.
|
|
10
|
+
*
|
|
11
|
+
* @example
|
|
12
|
+
* ```js
|
|
13
|
+
* const state = await waitFor(someService, state => {
|
|
14
|
+
* return state.hasTag('loaded');
|
|
15
|
+
* });
|
|
16
|
+
*
|
|
17
|
+
* state.hasTag('loaded'); // true
|
|
18
|
+
* ```
|
|
19
|
+
*
|
|
20
|
+
* @param actorRef The actor ref to subscribe to
|
|
21
|
+
* @param predicate Determines if a value matches the condition to wait for
|
|
22
|
+
* @param options
|
|
23
|
+
* @returns A promise that eventually resolves to the emitted value
|
|
24
|
+
* that matches the condition
|
|
25
|
+
*/
|
|
26
|
+
|
|
27
|
+
function waitFor(actorRef, predicate, options) {
|
|
28
|
+
var resolvedOptions = __assign(__assign({}, defaultWaitForOptions), options);
|
|
29
|
+
|
|
30
|
+
return new Promise(function (res, rej) {
|
|
31
|
+
var done = false;
|
|
32
|
+
|
|
33
|
+
if (process.env.NODE_ENV !== 'production' && resolvedOptions.timeout < 0) {
|
|
34
|
+
console.error('`timeout` passed to `waitFor` is negative and it will reject its internal promise immediately.');
|
|
35
|
+
}
|
|
36
|
+
|
|
37
|
+
var handle = resolvedOptions.timeout === Infinity ? undefined : setTimeout(function () {
|
|
38
|
+
sub.unsubscribe();
|
|
39
|
+
rej(new Error("Timeout of ".concat(resolvedOptions.timeout, " ms exceeded")));
|
|
40
|
+
}, resolvedOptions.timeout);
|
|
41
|
+
|
|
42
|
+
var dispose = function () {
|
|
43
|
+
clearTimeout(handle);
|
|
44
|
+
done = true;
|
|
45
|
+
sub === null || sub === void 0 ? void 0 : sub.unsubscribe();
|
|
46
|
+
};
|
|
47
|
+
|
|
48
|
+
var sub = actorRef.subscribe({
|
|
49
|
+
next: function (emitted) {
|
|
50
|
+
if (predicate(emitted)) {
|
|
51
|
+
dispose();
|
|
52
|
+
res(emitted);
|
|
53
|
+
}
|
|
54
|
+
},
|
|
55
|
+
error: function (err) {
|
|
56
|
+
dispose();
|
|
57
|
+
rej(err);
|
|
58
|
+
},
|
|
59
|
+
complete: function () {
|
|
60
|
+
dispose();
|
|
61
|
+
rej(new Error("Actor terminated without satisfying predicate"));
|
|
62
|
+
}
|
|
63
|
+
});
|
|
64
|
+
|
|
65
|
+
if (done) {
|
|
66
|
+
sub.unsubscribe();
|
|
67
|
+
}
|
|
68
|
+
});
|
|
69
|
+
}
|
|
70
|
+
|
|
71
|
+
export { waitFor };
|
package/lib/State.d.ts
CHANGED
|
@@ -91,14 +91,14 @@ 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, "machine" | "
|
|
94
|
+
toJSON(): Omit<this, "machine" | "configuration" | "transitions" | "tags"> & {
|
|
95
95
|
tags: string[];
|
|
96
96
|
};
|
|
97
97
|
/**
|
|
98
98
|
* Whether the current state value is a subset of the given parent state value.
|
|
99
99
|
* @param parentStateValue
|
|
100
100
|
*/
|
|
101
|
-
matches<TSV extends TResolvedTypesMeta extends TypegenEnabled ? Prop<TResolvedTypesMeta, 'matchesStates'> : never>(parentStateValue: TSV): boolean;
|
|
101
|
+
matches<TSV extends TResolvedTypesMeta extends TypegenEnabled ? Prop<Prop<TResolvedTypesMeta, 'resolved'>, 'matchesStates'> : never>(parentStateValue: TSV): boolean;
|
|
102
102
|
matches<TSV extends TResolvedTypesMeta extends TypegenDisabled ? TTypestate['value'] : never>(parentStateValue: TSV): this is State<(TTypestate extends any ? {
|
|
103
103
|
value: TSV;
|
|
104
104
|
context: any;
|
|
@@ -109,7 +109,7 @@ export declare class State<TContext, TEvent extends EventObject = EventObject, T
|
|
|
109
109
|
* Whether the current state configuration has a state node with the specified `tag`.
|
|
110
110
|
* @param tag
|
|
111
111
|
*/
|
|
112
|
-
hasTag(tag: TResolvedTypesMeta extends TypegenEnabled ? Prop<TResolvedTypesMeta, 'tags'> : string): boolean;
|
|
112
|
+
hasTag(tag: TResolvedTypesMeta extends TypegenEnabled ? Prop<Prop<TResolvedTypesMeta, 'resolved'>, 'tags'> : string): boolean;
|
|
113
113
|
/**
|
|
114
114
|
* Determines whether sending the `event` will cause a non-forbidden transition
|
|
115
115
|
* to be selected, even if the transitions have no actions nor
|
package/lib/StateNode.js
CHANGED
|
@@ -447,7 +447,8 @@ function () {
|
|
|
447
447
|
value: this.resolve(stateFromConfig.value),
|
|
448
448
|
configuration: configuration,
|
|
449
449
|
done: stateUtils.isInFinalState(configuration, this),
|
|
450
|
-
tags: stateUtils.getTagsFromConfiguration(configuration)
|
|
450
|
+
tags: stateUtils.getTagsFromConfiguration(configuration),
|
|
451
|
+
machine: this.machine
|
|
451
452
|
}));
|
|
452
453
|
};
|
|
453
454
|
|
|
@@ -923,7 +924,7 @@ function () {
|
|
|
923
924
|
transitions: stateTransition.transitions,
|
|
924
925
|
children: children,
|
|
925
926
|
done: isDone,
|
|
926
|
-
tags:
|
|
927
|
+
tags: stateUtils.getTagsFromConfiguration(resolvedConfiguration),
|
|
927
928
|
machine: this
|
|
928
929
|
});
|
|
929
930
|
var didUpdateContext = context !== updatedContext;
|
|
@@ -973,7 +974,6 @@ function () {
|
|
|
973
974
|
maybeNextState.changed = changed; // Preserve original history after raised events
|
|
974
975
|
|
|
975
976
|
maybeNextState.history = history;
|
|
976
|
-
maybeNextState.tags = stateUtils.getTagsFromConfiguration(maybeNextState.configuration);
|
|
977
977
|
return maybeNextState;
|
|
978
978
|
};
|
|
979
979
|
/**
|
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,
|
|
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 } from './types';
|
|
2
2
|
import * as actionTypes from './actionTypes';
|
|
3
3
|
import { State } from './State';
|
|
4
4
|
import { StateNode } from './StateNode';
|
|
@@ -52,7 +52,7 @@ declare type InferEvent<E extends EventObject> = {
|
|
|
52
52
|
* @param options Send action options
|
|
53
53
|
* @returns An XState send action object
|
|
54
54
|
*/
|
|
55
|
-
export declare function sendTo<TContext, TEvent extends EventObject, TActor extends
|
|
55
|
+
export declare function sendTo<TContext, TEvent extends EventObject, TActor extends AnyActorRef>(actor: (ctx: TContext) => TActor, event: EventFrom<TActor> | SendExpr<TContext, TEvent, InferEvent<Cast<EventFrom<TActor>, EventObject>>>, options?: SendActionOptions<TContext, TEvent>): SendAction<TContext, TEvent, any>;
|
|
56
56
|
/**
|
|
57
57
|
* Sends an update event to this machine's parent.
|
|
58
58
|
*/
|
package/lib/devTools.js
CHANGED
|
@@ -2,7 +2,8 @@
|
|
|
2
2
|
|
|
3
3
|
Object.defineProperty(exports, '__esModule', { value: true });
|
|
4
4
|
|
|
5
|
-
|
|
5
|
+
var environment = require('./environment.js');
|
|
6
|
+
|
|
6
7
|
function getGlobal() {
|
|
7
8
|
if (typeof globalThis !== 'undefined') {
|
|
8
9
|
return globalThis;
|
|
@@ -20,7 +21,9 @@ function getGlobal() {
|
|
|
20
21
|
return global;
|
|
21
22
|
}
|
|
22
23
|
|
|
23
|
-
|
|
24
|
+
if (!environment.IS_PRODUCTION) {
|
|
25
|
+
console.warn('XState could not find a global object in this environment. Please let the maintainers know and raise an issue here: https://github.com/statelyai/xstate/issues');
|
|
26
|
+
}
|
|
24
27
|
}
|
|
25
28
|
|
|
26
29
|
function getDevTools() {
|
package/lib/interpreter.d.ts
CHANGED
|
@@ -23,7 +23,6 @@ export declare enum InterpreterStatus {
|
|
|
23
23
|
Running = 1,
|
|
24
24
|
Stopped = 2
|
|
25
25
|
}
|
|
26
|
-
/** @ts-ignore [symbolObservable] creates problems for people without `skipLibCheck` who are on older versions of TS, remove this comment when we drop support for TS@<4.3 */
|
|
27
26
|
export declare class Interpreter<TContext, TStateSchema extends StateSchema = any, TEvent extends EventObject = EventObject, TTypestate extends Typestate<TContext> = {
|
|
28
27
|
value: any;
|
|
29
28
|
context: TContext;
|
|
@@ -190,8 +189,7 @@ export declare class Interpreter<TContext, TStateSchema extends StateSchema = an
|
|
|
190
189
|
toJSON(): {
|
|
191
190
|
id: string;
|
|
192
191
|
};
|
|
193
|
-
|
|
194
|
-
[symbolObservable](): InteropSubscribable<State<TContext, TEvent, TStateSchema, TTypestate, TResolvedTypesMeta>>;
|
|
192
|
+
[Symbol.observable](): InteropSubscribable<State<TContext, TEvent, TStateSchema, TTypestate, TResolvedTypesMeta>>;
|
|
195
193
|
getSnapshot(): State<TContext, TEvent, TStateSchema, TTypestate, TResolvedTypesMeta>;
|
|
196
194
|
}
|
|
197
195
|
export declare function spawn<T extends Behavior<any, any>>(entity: T, nameOrOptions?: string | SpawnOptions): ActorRefFrom<T>;
|
package/lib/interpreter.js
CHANGED
|
@@ -28,8 +28,6 @@ exports.InterpreterStatus = void 0;
|
|
|
28
28
|
InterpreterStatus[InterpreterStatus["Running"] = 1] = "Running";
|
|
29
29
|
InterpreterStatus[InterpreterStatus["Stopped"] = 2] = "Stopped";
|
|
30
30
|
})(exports.InterpreterStatus || (exports.InterpreterStatus = {}));
|
|
31
|
-
/** @ts-ignore [symbolObservable] creates problems for people without `skipLibCheck` who are on older versions of TS, remove this comment when we drop support for TS@<4.3 */
|
|
32
|
-
|
|
33
31
|
|
|
34
32
|
var Interpreter =
|
|
35
33
|
/*#__PURE__*/
|
|
@@ -50,7 +48,6 @@ function () {
|
|
|
50
48
|
}
|
|
51
49
|
|
|
52
50
|
this.machine = machine;
|
|
53
|
-
this.scheduler = new scheduler.Scheduler();
|
|
54
51
|
this.delayedEventsMap = {};
|
|
55
52
|
this.listeners = new Set();
|
|
56
53
|
this.contextListeners = new Set();
|
|
@@ -367,12 +364,16 @@ function () {
|
|
|
367
364
|
|
|
368
365
|
this.listeners.add(listener); // Send current state to listener
|
|
369
366
|
|
|
370
|
-
if (this.status
|
|
367
|
+
if (this.status !== exports.InterpreterStatus.NotStarted) {
|
|
371
368
|
listener(this.state);
|
|
372
369
|
}
|
|
373
370
|
|
|
374
371
|
if (resolvedCompleteListener) {
|
|
375
|
-
this.
|
|
372
|
+
if (this.status === exports.InterpreterStatus.Stopped) {
|
|
373
|
+
resolvedCompleteListener();
|
|
374
|
+
} else {
|
|
375
|
+
this.onDone(resolvedCompleteListener);
|
|
376
|
+
}
|
|
376
377
|
}
|
|
377
378
|
|
|
378
379
|
return {
|
|
@@ -459,7 +460,13 @@ function () {
|
|
|
459
460
|
if (this.status === exports.InterpreterStatus.Running) {
|
|
460
461
|
// Do not restart the service if it is already started
|
|
461
462
|
return this;
|
|
462
|
-
}
|
|
463
|
+
} // yes, it's a hack but we need the related cache to be populated for some things to work (like delayed transitions)
|
|
464
|
+
// this is usually called by `machine.getInitialState` but if we rehydrate from a state we might bypass this call
|
|
465
|
+
// we also don't want to call this method here as it resolves the full initial state which might involve calling assign actions
|
|
466
|
+
// and that could potentially lead to some unwanted side-effects (even such as creating some rogue actors)
|
|
467
|
+
|
|
468
|
+
|
|
469
|
+
this.machine._init();
|
|
463
470
|
|
|
464
471
|
registry.registry.register(this.sessionId, this);
|
|
465
472
|
this.initialized = true;
|
|
@@ -594,6 +601,7 @@ function () {
|
|
|
594
601
|
child.stop();
|
|
595
602
|
}
|
|
596
603
|
});
|
|
604
|
+
this.children.clear();
|
|
597
605
|
|
|
598
606
|
try {
|
|
599
607
|
// Cancel all delayed events
|
|
@@ -614,8 +622,12 @@ function () {
|
|
|
614
622
|
}
|
|
615
623
|
|
|
616
624
|
this.scheduler.clear();
|
|
625
|
+
this.scheduler = new scheduler.Scheduler({
|
|
626
|
+
deferEvents: this.options.deferEvents
|
|
627
|
+
});
|
|
617
628
|
this.initialized = false;
|
|
618
629
|
this.status = exports.InterpreterStatus.Stopped;
|
|
630
|
+
this._initialState = undefined;
|
|
619
631
|
registry.registry.free(this.sessionId);
|
|
620
632
|
return this;
|
|
621
633
|
};
|
|
@@ -1314,8 +1326,6 @@ function () {
|
|
|
1314
1326
|
id: this.id
|
|
1315
1327
|
};
|
|
1316
1328
|
};
|
|
1317
|
-
/** @ts-ignore this creates problems for people without `skipLibCheck` who are on older versions of TS, remove this comment when we drop support for TS@<4.3 */
|
|
1318
|
-
|
|
1319
1329
|
|
|
1320
1330
|
Interpreter.prototype[utils.symbolObservable] = function () {
|
|
1321
1331
|
return this;
|
|
@@ -1336,23 +1346,20 @@ function () {
|
|
|
1336
1346
|
*/
|
|
1337
1347
|
|
|
1338
1348
|
|
|
1339
|
-
Interpreter.defaultOptions =
|
|
1340
|
-
|
|
1341
|
-
|
|
1342
|
-
|
|
1343
|
-
|
|
1344
|
-
setTimeout
|
|
1345
|
-
return setTimeout(fn, ms);
|
|
1346
|
-
},
|
|
1347
|
-
clearTimeout: function (id) {
|
|
1348
|
-
return clearTimeout(id);
|
|
1349
|
-
}
|
|
1349
|
+
Interpreter.defaultOptions = {
|
|
1350
|
+
execute: true,
|
|
1351
|
+
deferEvents: true,
|
|
1352
|
+
clock: {
|
|
1353
|
+
setTimeout: function (fn, ms) {
|
|
1354
|
+
return setTimeout(fn, ms);
|
|
1350
1355
|
},
|
|
1351
|
-
|
|
1352
|
-
|
|
1353
|
-
|
|
1354
|
-
|
|
1355
|
-
|
|
1356
|
+
clearTimeout: function (id) {
|
|
1357
|
+
return clearTimeout(id);
|
|
1358
|
+
}
|
|
1359
|
+
},
|
|
1360
|
+
logger: /*#__PURE__*/console.log.bind(console),
|
|
1361
|
+
devTools: false
|
|
1362
|
+
};
|
|
1356
1363
|
Interpreter.interpret = interpret;
|
|
1357
1364
|
return Interpreter;
|
|
1358
1365
|
}();
|
package/lib/model.types.d.ts
CHANGED
|
@@ -1,8 +1,11 @@
|
|
|
1
|
-
import { AnyFunction, AssignAction, Assigner, BaseActionObject, Compute, EventObject,
|
|
1
|
+
import { AnyFunction, AssignAction, Assigner, BaseActionObject, Compute, EventObject, MachineConfig, Prop, PropertyAssigner, StateMachine, InternalMachineOptions, ServiceMap } from './types';
|
|
2
2
|
import { ResolveTypegenMeta, TypegenConstraint, TypegenDisabled } from './typegenTypes';
|
|
3
|
+
declare type SimplisticExtractEvent<TEvent extends EventObject, TEventType extends TEvent['type']> = TEvent extends {
|
|
4
|
+
type: TEventType;
|
|
5
|
+
} ? TEvent : never;
|
|
3
6
|
export interface Model<TContext, TEvent extends EventObject, TAction extends BaseActionObject = BaseActionObject, TModelCreators = void> {
|
|
4
7
|
initialContext: TContext;
|
|
5
|
-
assign: <TEventType extends TEvent['type'] = TEvent['type']>(assigner: Assigner<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>>;
|
|
6
9
|
events: Prop<TModelCreators, 'events'>;
|
|
7
10
|
actions: Prop<TModelCreators, 'actions'>;
|
|
8
11
|
reset: () => AssignAction<TContext, any>;
|
|
@@ -49,4 +52,5 @@ export interface FinalModelCreators<Self> {
|
|
|
49
52
|
export declare type UnionFromCreatorsReturnTypes<TCreators> = {
|
|
50
53
|
[K in keyof TCreators]: TCreators[K] extends AnyFunction ? ReturnType<TCreators[K]> : never;
|
|
51
54
|
}[keyof TCreators];
|
|
55
|
+
export {};
|
|
52
56
|
//# sourceMappingURL=model.types.d.ts.map
|
package/lib/stateUtils.js
CHANGED
|
@@ -11,6 +11,8 @@ var isLeafNode = function (stateNode) {
|
|
|
11
11
|
function getChildren(stateNode) {
|
|
12
12
|
return Object.keys(stateNode.states).map(function (key) {
|
|
13
13
|
return stateNode.states[key];
|
|
14
|
+
}).filter(function (sn) {
|
|
15
|
+
return sn.type !== 'history';
|
|
14
16
|
});
|
|
15
17
|
}
|
|
16
18
|
function getAllStateNodes(stateNode) {
|
|
@@ -75,10 +77,6 @@ function getConfiguration(prevStateNodes, stateNodes) {
|
|
|
75
77
|
for (var _e = (e_3 = void 0, _tslib.__values(getChildren(s))), _f = _e.next(); !_f.done; _f = _e.next()) {
|
|
76
78
|
var child = _f.value;
|
|
77
79
|
|
|
78
|
-
if (child.type === 'history') {
|
|
79
|
-
continue;
|
|
80
|
-
}
|
|
81
|
-
|
|
82
80
|
if (!configuration.has(child)) {
|
|
83
81
|
configuration.add(child);
|
|
84
82
|
|
package/lib/typegenTypes.d.ts
CHANGED
|
@@ -77,21 +77,27 @@ export interface TypegenMeta extends TypegenEnabled {
|
|
|
77
77
|
eventsCausingServices: Record<string, string>;
|
|
78
78
|
}
|
|
79
79
|
export interface ResolvedTypegenMeta extends TypegenMeta {
|
|
80
|
-
|
|
81
|
-
|
|
80
|
+
resolved: TypegenMeta & {
|
|
81
|
+
indexedActions: Record<string, BaseActionObject>;
|
|
82
|
+
indexedEvents: Record<string, EventObject>;
|
|
83
|
+
};
|
|
82
84
|
}
|
|
83
85
|
export declare type TypegenConstraint = TypegenEnabled | TypegenDisabled;
|
|
84
|
-
export declare type AreAllImplementationsAssumedToBeProvided<TResolvedTypesMeta, TMissingImplementations = Prop<TResolvedTypesMeta, 'missingImplementations'>> = IsAny<TResolvedTypesMeta> extends true ? true : TResolvedTypesMeta extends TypegenEnabled ? IsNever<Values<{
|
|
86
|
+
export declare type AreAllImplementationsAssumedToBeProvided<TResolvedTypesMeta, TMissingImplementations = Prop<Prop<TResolvedTypesMeta, 'resolved'>, 'missingImplementations'>> = IsAny<TResolvedTypesMeta> extends true ? true : TResolvedTypesMeta extends TypegenEnabled ? IsNever<Values<{
|
|
85
87
|
[K in keyof TMissingImplementations]: TMissingImplementations[K];
|
|
86
88
|
}>> extends true ? true : false : true;
|
|
87
|
-
|
|
89
|
+
interface AllImplementationsProvided {
|
|
88
90
|
missingImplementations: {
|
|
89
91
|
actions: never;
|
|
90
92
|
delays: never;
|
|
91
93
|
guards: never;
|
|
92
94
|
services: never;
|
|
93
95
|
};
|
|
94
|
-
}
|
|
96
|
+
}
|
|
97
|
+
export interface MarkAllImplementationsAsProvided<TResolvedTypesMeta> {
|
|
98
|
+
'@@xstate/typegen': Prop<TResolvedTypesMeta, '@@xstate/typegen'>;
|
|
99
|
+
resolved: Prop<TResolvedTypesMeta, 'resolved'> & AllImplementationsProvided;
|
|
100
|
+
}
|
|
95
101
|
declare type GenerateServiceEvent<TServiceName, TEventType, TServiceMap extends ServiceMap> = TEventType extends any ? {
|
|
96
102
|
type: TEventType;
|
|
97
103
|
} & Prop<TServiceMap, TServiceName> : never;
|
|
@@ -105,17 +111,23 @@ declare type AllowAllEvents = {
|
|
|
105
111
|
eventsCausingGuards: Record<string, string>;
|
|
106
112
|
eventsCausingServices: Record<string, string>;
|
|
107
113
|
};
|
|
108
|
-
export
|
|
109
|
-
|
|
110
|
-
|
|
111
|
-
|
|
112
|
-
|
|
113
|
-
|
|
114
|
-
__XSTATE_ALLOW_ANY_INVOKE_DATA_HACK__: {
|
|
115
|
-
data: any;
|
|
114
|
+
export interface ResolveTypegenMeta<TTypesMeta extends TypegenConstraint, TEvent extends EventObject, TAction extends BaseActionObject, TServiceMap extends ServiceMap> {
|
|
115
|
+
'@@xstate/typegen': TTypesMeta['@@xstate/typegen'];
|
|
116
|
+
resolved: {
|
|
117
|
+
enabled: TTypesMeta & {
|
|
118
|
+
indexedActions: IndexByType<TAction>;
|
|
119
|
+
indexedEvents: MergeWithInternalEvents<IndexByType<(string extends TEvent['type'] ? never : TEvent) | GenerateServiceEvents<TServiceMap, Prop<TTypesMeta, 'invokeSrcNameMap'>>>, Prop<TTypesMeta, 'internalEvents'>>;
|
|
116
120
|
};
|
|
117
|
-
|
|
118
|
-
|
|
119
|
-
|
|
121
|
+
disabled: TypegenDisabled & AllImplementationsProvided & AllowAllEvents & {
|
|
122
|
+
indexedActions: IndexByType<TAction>;
|
|
123
|
+
indexedEvents: Record<string, TEvent> & {
|
|
124
|
+
__XSTATE_ALLOW_ANY_INVOKE_DATA_HACK__: {
|
|
125
|
+
data: any;
|
|
126
|
+
};
|
|
127
|
+
};
|
|
128
|
+
invokeSrcNameMap: Record<string, '__XSTATE_ALLOW_ANY_INVOKE_DATA_HACK__'>;
|
|
129
|
+
};
|
|
130
|
+
}[IsNever<TTypesMeta> extends true ? 'disabled' : TTypesMeta extends TypegenEnabled ? 'enabled' : 'disabled'];
|
|
131
|
+
}
|
|
120
132
|
export {};
|
|
121
133
|
//# sourceMappingURL=typegenTypes.d.ts.map
|