xstate 5.0.0-beta.44 → 5.0.0-beta.46
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/actions/dist/xstate-actions.cjs.js +2 -2
- package/actions/dist/xstate-actions.development.cjs.js +2 -2
- package/actions/dist/xstate-actions.development.esm.js +2 -2
- package/actions/dist/xstate-actions.esm.js +2 -2
- package/actions/dist/xstate-actions.umd.min.js +1 -1
- package/actions/dist/xstate-actions.umd.min.js.map +1 -1
- package/actors/dist/xstate-actors.cjs.js +134 -9
- package/actors/dist/xstate-actors.development.cjs.js +134 -9
- package/actors/dist/xstate-actors.development.esm.js +134 -9
- package/actors/dist/xstate-actors.esm.js +134 -9
- package/actors/dist/xstate-actors.umd.min.js +1 -1
- package/actors/dist/xstate-actors.umd.min.js.map +1 -1
- package/dist/declarations/src/State.d.ts +18 -28
- package/dist/declarations/src/StateMachine.d.ts +11 -29
- package/dist/declarations/src/StateNode.d.ts +8 -6
- package/dist/declarations/src/actions/choose.d.ts +3 -3
- package/dist/declarations/src/actions/pure.d.ts +4 -4
- package/dist/declarations/src/actors/observable.d.ts +80 -4
- package/dist/declarations/src/actors/transition.d.ts +53 -4
- package/dist/declarations/src/createMachine.d.ts +5 -0
- package/dist/declarations/src/guards.d.ts +26 -4
- package/dist/declarations/src/index.d.ts +3 -2
- package/dist/declarations/src/interpreter.d.ts +1 -0
- package/dist/declarations/src/setup.d.ts +35 -0
- package/dist/declarations/src/stateUtils.d.ts +7 -7
- package/dist/declarations/src/types.d.ts +54 -25
- package/dist/declarations/src/utils.d.ts +2 -1
- package/dist/{raise-5854eaca.esm.js → raise-1682abb7.esm.js} +99 -135
- package/dist/{raise-fb6f017b.cjs.js → raise-a1d3d7e9.cjs.js} +100 -136
- package/dist/{raise-ed700d14.development.cjs.js → raise-a9e7e31c.development.cjs.js} +100 -136
- package/dist/{raise-348cc74e.development.esm.js → raise-fa23c2b9.development.esm.js} +99 -135
- package/dist/{send-53e5693c.cjs.js → send-2fa3a204.cjs.js} +24 -28
- package/dist/{send-00466e37.development.cjs.js → send-5b256a89.development.cjs.js} +24 -28
- package/dist/{send-a0193bdb.development.esm.js → send-9acdf858.development.esm.js} +24 -28
- package/dist/{send-b7b4befa.esm.js → send-a237e4e8.esm.js} +24 -28
- package/dist/xstate.cjs.js +102 -92
- package/dist/xstate.cjs.mjs +2 -0
- package/dist/xstate.development.cjs.js +102 -92
- package/dist/xstate.development.cjs.mjs +2 -0
- package/dist/xstate.development.esm.js +97 -89
- package/dist/xstate.esm.js +97 -89
- package/dist/xstate.umd.min.js +1 -1
- package/dist/xstate.umd.min.js.map +1 -1
- package/guards/dist/xstate-guards.cjs.js +1 -1
- package/guards/dist/xstate-guards.development.cjs.js +1 -1
- package/guards/dist/xstate-guards.development.esm.js +1 -1
- package/guards/dist/xstate-guards.esm.js +1 -1
- package/guards/dist/xstate-guards.umd.min.js +1 -1
- package/guards/dist/xstate-guards.umd.min.js.map +1 -1
- package/package.json +1 -1
- package/dist/declarations/src/Machine.d.ts +0 -5
|
@@ -8,12 +8,18 @@ import { Guard, GuardPredicate, UnknownGuard } from "./guards.js";
|
|
|
8
8
|
import { Spawner } from "./spawn.js";
|
|
9
9
|
import { AssignArgs } from "./actions/assign.js";
|
|
10
10
|
import { InspectionEvent } from './system.js';
|
|
11
|
+
export type Identity<T> = {
|
|
12
|
+
[K in keyof T]: T[K];
|
|
13
|
+
};
|
|
11
14
|
export type HomomorphicPick<T, K extends keyof any> = {
|
|
12
15
|
[P in keyof T as P & K]: T[P];
|
|
13
16
|
};
|
|
14
17
|
export type HomomorphicOmit<T, K extends keyof any> = {
|
|
15
18
|
[P in keyof T as Exclude<P, K>]: T[P];
|
|
16
19
|
};
|
|
20
|
+
export type Invert<T extends Record<PropertyKey, PropertyKey>> = {
|
|
21
|
+
[K in keyof T as T[K]]: K;
|
|
22
|
+
};
|
|
17
23
|
export type GetParameterizedParams<T extends ParameterizedObject | undefined> = T extends any ? ('params' extends keyof T ? T['params'] : undefined) : never;
|
|
18
24
|
/**
|
|
19
25
|
*
|
|
@@ -39,6 +45,7 @@ export type Compute<A extends any> = {
|
|
|
39
45
|
} & unknown;
|
|
40
46
|
export type Prop<T, K> = K extends keyof T ? T[K] : never;
|
|
41
47
|
export type Values<T> = T[keyof T];
|
|
48
|
+
export type Elements<T> = T[keyof T & `${number}`];
|
|
42
49
|
export type Merge<M, N> = Omit<M, keyof N> & N;
|
|
43
50
|
export type IndexByProp<T extends Record<P, string>, P extends keyof T> = {
|
|
44
51
|
[E in T as E[P]]: E;
|
|
@@ -68,18 +75,19 @@ export interface AnyEventObject extends EventObject {
|
|
|
68
75
|
}
|
|
69
76
|
export interface ParameterizedObject {
|
|
70
77
|
type: string;
|
|
71
|
-
params?:
|
|
78
|
+
params?: NonReducibleUnknown;
|
|
72
79
|
}
|
|
73
80
|
export interface UnifiedArg<TContext extends MachineContext, TExpressionEvent extends EventObject, TEvent extends EventObject> {
|
|
74
81
|
context: TContext;
|
|
75
82
|
event: TExpressionEvent;
|
|
76
|
-
self: ActorRef<TEvent, MachineSnapshot<TContext, TEvent,
|
|
83
|
+
self: ActorRef<TEvent, MachineSnapshot<TContext, TEvent, Record<string, AnyActorRef | undefined>, // TODO: this should be replaced with `TChildren`
|
|
84
|
+
string, unknown>>;
|
|
77
85
|
system: ActorSystem<any>;
|
|
78
86
|
}
|
|
79
87
|
export type MachineContext = Record<string, any>;
|
|
80
88
|
export interface ActionArgs<TContext extends MachineContext, TExpressionEvent extends EventObject, TEvent extends EventObject> extends UnifiedArg<TContext, TExpressionEvent, TEvent> {
|
|
81
89
|
}
|
|
82
|
-
export type InputFrom<T extends AnyActorLogic> = T extends StateMachine<infer _TContext, infer _TEvent, infer _TActor, infer _TAction, infer _TGuard, infer _TDelay, infer _TTag, infer TInput, infer _TOutput, infer _TResolvedTypesMeta> ? TInput : T extends ActorLogic<infer _TSnapshot, infer _TEvent, infer TInput, infer _TSystem> ? TInput : never;
|
|
90
|
+
export type InputFrom<T extends AnyActorLogic> = T extends StateMachine<infer _TContext, infer _TEvent, infer _TChildren, infer _TActor, infer _TAction, infer _TGuard, infer _TDelay, infer _TTag, infer TInput, infer _TOutput, infer _TResolvedTypesMeta> ? TInput : T extends ActorLogic<infer _TSnapshot, infer _TEvent, infer TInput, infer _TSystem> ? TInput : never;
|
|
83
91
|
export type OutputFrom<T extends AnyActorLogic> = T extends ActorLogic<infer TSnapshot, infer _TEvent, infer _TInput, infer _TSystem> ? (TSnapshot & {
|
|
84
92
|
status: 'done';
|
|
85
93
|
})['output'] : never;
|
|
@@ -95,9 +103,7 @@ export interface ChooseBranch<TContext extends MachineContext, TExpressionEvent
|
|
|
95
103
|
guard?: Guard<TContext, TExpressionEvent, undefined, TGuard>;
|
|
96
104
|
actions: Actions<TContext, TExpressionEvent, TEvent, undefined, TActor, TAction, TGuard, TDelay>;
|
|
97
105
|
}
|
|
98
|
-
export type NoRequiredParams<T extends ParameterizedObject> = T extends any ?
|
|
99
|
-
type: T['type'];
|
|
100
|
-
} extends T ? T['type'] : never : never;
|
|
106
|
+
export type NoRequiredParams<T extends ParameterizedObject> = T extends any ? undefined extends T['params'] ? T['type'] : never : never;
|
|
101
107
|
export type ConditionalRequired<T, Condition extends boolean> = Condition extends true ? Required<T> : T;
|
|
102
108
|
export type WithDynamicParams<TContext extends MachineContext, TExpressionEvent extends EventObject, T extends ParameterizedObject> = T extends any ? ConditionalRequired<{
|
|
103
109
|
type: T['type'];
|
|
@@ -346,7 +352,16 @@ export type AnyStateNodeDefinition = StateNodeDefinition<any, any>;
|
|
|
346
352
|
export type AnyMachineSnapshot = MachineSnapshot<any, any, any, any, any, any>;
|
|
347
353
|
/** @deprecated use `AnyMachineSnapshot` instead */
|
|
348
354
|
export type AnyState = AnyMachineSnapshot;
|
|
349
|
-
export type AnyStateMachine = StateMachine<any,
|
|
355
|
+
export type AnyStateMachine = StateMachine<any, // context
|
|
356
|
+
any, // event
|
|
357
|
+
any, // children
|
|
358
|
+
any, // actor
|
|
359
|
+
any, // action
|
|
360
|
+
any, // guard
|
|
361
|
+
any, // delay
|
|
362
|
+
any, // tag
|
|
363
|
+
any, // input
|
|
364
|
+
any, // output
|
|
350
365
|
any>;
|
|
351
366
|
export type AnyStateConfig = StateConfig<any, AnyEventObject>;
|
|
352
367
|
export interface AtomicStateNodeConfig<TContext extends MachineContext, TEvent extends EventObject> extends StateNodeConfig<TContext, TEvent, TODO, TODO, TODO, TODO, TODO, TODO> {
|
|
@@ -412,8 +427,8 @@ type GenerateDelaysImplementationsPart<TContext extends MachineContext, TResolve
|
|
|
412
427
|
type GenerateGuardsImplementationsPart<TContext extends MachineContext, TResolvedTypesMeta, TRequireMissingImplementations, TMissingImplementations> = Compute<MaybeMakeMissingImplementationsRequired<'guards', Prop<TMissingImplementations, 'guards'>, TRequireMissingImplementations> & {
|
|
413
428
|
guards?: MachineImplementationsGuards<TContext, TResolvedTypesMeta>;
|
|
414
429
|
}>;
|
|
415
|
-
export type InternalMachineImplementations<TContext extends MachineContext,
|
|
416
|
-
export type MachineImplementations<TContext extends MachineContext, TEvent extends EventObject, TActor extends ProvidedActor = ProvidedActor, TAction extends ParameterizedObject = ParameterizedObject, TGuard extends ParameterizedObject = ParameterizedObject, TDelay extends string = string, TTag extends string = string, TTypesMeta extends TypegenConstraint = TypegenDisabled> = InternalMachineImplementations<TContext,
|
|
430
|
+
export type InternalMachineImplementations<TContext extends MachineContext, TResolvedTypesMeta, TRequireMissingImplementations extends boolean = false, TMissingImplementations = Prop<Prop<TResolvedTypesMeta, 'resolved'>, 'missingImplementations'>> = Compute<GenerateActionsImplementationsPart<TContext, TResolvedTypesMeta, TRequireMissingImplementations, TMissingImplementations> & GenerateActorsImplementationsPart<TContext, TResolvedTypesMeta, TRequireMissingImplementations, TMissingImplementations> & GenerateDelaysImplementationsPart<TContext, TResolvedTypesMeta, TRequireMissingImplementations, TMissingImplementations> & GenerateGuardsImplementationsPart<TContext, TResolvedTypesMeta, TRequireMissingImplementations, TMissingImplementations>>;
|
|
431
|
+
export type MachineImplementations<TContext extends MachineContext, TEvent extends EventObject, TActor extends ProvidedActor = ProvidedActor, TAction extends ParameterizedObject = ParameterizedObject, TGuard extends ParameterizedObject = ParameterizedObject, TDelay extends string = string, TTag extends string = string, TTypesMeta extends TypegenConstraint = TypegenDisabled> = InternalMachineImplementations<TContext, ResolveTypegenMeta<TTypesMeta, TEvent, TActor, TAction, TGuard, TDelay, TTag>>;
|
|
417
432
|
type InitialContext<TContext extends MachineContext, TActor extends ProvidedActor, TInput> = TContext | ContextFactory<TContext, TActor, TInput>;
|
|
418
433
|
export type ContextFactory<TContext extends MachineContext, TActor extends ProvidedActor, TInput> = ({ spawn, input }: {
|
|
419
434
|
spawn: Spawner<TActor>;
|
|
@@ -439,16 +454,19 @@ export interface ProvidedActor {
|
|
|
439
454
|
logic: AnyActorLogic;
|
|
440
455
|
id?: string;
|
|
441
456
|
}
|
|
442
|
-
export interface
|
|
457
|
+
export interface SetupTypes<TContext extends MachineContext, TEvent extends EventObject, TChildrenMap extends Record<string, string>, TTag extends string, TInput, TOutput> {
|
|
443
458
|
context?: TContext;
|
|
444
459
|
events?: TEvent;
|
|
460
|
+
children?: TChildrenMap;
|
|
461
|
+
tags?: TTag;
|
|
462
|
+
input?: TInput;
|
|
463
|
+
output?: TOutput;
|
|
464
|
+
}
|
|
465
|
+
export interface MachineTypes<TContext extends MachineContext, TEvent extends EventObject, TActor extends ProvidedActor, TAction extends ParameterizedObject, TGuard extends ParameterizedObject, TDelay extends string, TTag extends string, TInput, TOutput, TTypesMeta = TypegenDisabled> extends SetupTypes<TContext, TEvent, never, TTag, TInput, TOutput> {
|
|
445
466
|
actors?: TActor;
|
|
446
467
|
actions?: TAction;
|
|
447
468
|
guards?: TGuard;
|
|
448
469
|
delays?: TDelay;
|
|
449
|
-
tags?: TTag;
|
|
450
|
-
input?: TInput;
|
|
451
|
-
output?: TOutput;
|
|
452
470
|
typegen?: TTypesMeta;
|
|
453
471
|
}
|
|
454
472
|
export interface HistoryStateNode<TContext extends MachineContext> extends StateNode<TContext> {
|
|
@@ -502,7 +520,8 @@ export type PropertyAssigner<TContext extends MachineContext, TExpressionEvent e
|
|
|
502
520
|
export type Mapper<TContext extends MachineContext, TExpressionEvent extends EventObject, TResult, TEvent extends EventObject> = (args: {
|
|
503
521
|
context: TContext;
|
|
504
522
|
event: TExpressionEvent;
|
|
505
|
-
self: ActorRef<TEvent, MachineSnapshot<TContext, TEvent,
|
|
523
|
+
self: ActorRef<TEvent, MachineSnapshot<TContext, TEvent, Record<string, AnyActorRef>, // TODO: this should be replaced with `TChildren`
|
|
524
|
+
string, unknown>>;
|
|
506
525
|
}) => TResult;
|
|
507
526
|
export interface TransitionDefinition<TContext extends MachineContext, TEvent extends EventObject> extends Omit<TransitionConfig<TContext, TEvent, TEvent, TODO, TODO, TODO, TODO>, 'target' | 'guard'> {
|
|
508
527
|
target: ReadonlyArray<StateNode<TContext, TEvent>> | undefined;
|
|
@@ -539,12 +558,11 @@ export interface StateLike<TContext extends MachineContext> {
|
|
|
539
558
|
export interface StateConfig<TContext extends MachineContext, TEvent extends EventObject> {
|
|
540
559
|
context: TContext;
|
|
541
560
|
historyValue?: HistoryValue<TContext, TEvent>;
|
|
542
|
-
configuration: Array<StateNode<TContext, TEvent>>;
|
|
543
561
|
children: Record<string, ActorRef<any, any>>;
|
|
544
562
|
status: 'active' | 'done' | 'error' | 'stopped';
|
|
545
563
|
output?: any;
|
|
546
564
|
error?: unknown;
|
|
547
|
-
machine?: StateMachine<TContext, TEvent, any, any, any, any, any, any, any>;
|
|
565
|
+
machine?: StateMachine<TContext, TEvent, any, any, any, any, any, any, any, any, any>;
|
|
548
566
|
}
|
|
549
567
|
export interface ActorOptions<TLogic extends AnyActorLogic> {
|
|
550
568
|
/**
|
|
@@ -599,7 +617,7 @@ export interface ActorOptions<TLogic extends AnyActorLogic> {
|
|
|
599
617
|
*
|
|
600
618
|
* @see https://stately.ai/docs/persistence
|
|
601
619
|
*/
|
|
602
|
-
state?:
|
|
620
|
+
state?: Snapshot<unknown>;
|
|
603
621
|
/**
|
|
604
622
|
* The source definition.
|
|
605
623
|
*/
|
|
@@ -727,16 +745,17 @@ export interface ActorRef<TEvent extends EventObject, TSnapshot extends Snapshot
|
|
|
727
745
|
src: string | AnyActorLogic;
|
|
728
746
|
}
|
|
729
747
|
export type AnyActorRef = ActorRef<any, any>;
|
|
730
|
-
export type ActorLogicFrom<T> = ReturnTypeOrValue<T> extends infer R ? R extends StateMachine<any, any, any, any, any, any, any, any, any> ? R : R extends Promise<infer U> ? PromiseActorLogic<U> : never : never;
|
|
731
|
-
export type ActorRefFrom<T> = ReturnTypeOrValue<T> extends infer R ? R extends StateMachine<infer TContext, infer TEvent, infer
|
|
748
|
+
export type ActorLogicFrom<T> = ReturnTypeOrValue<T> extends infer R ? R extends StateMachine<any, any, any, any, any, any, any, any, any, any, any> ? R : R extends Promise<infer U> ? PromiseActorLogic<U> : never : never;
|
|
749
|
+
export type ActorRefFrom<T> = ReturnTypeOrValue<T> extends infer R ? R extends StateMachine<infer TContext, infer TEvent, infer TChildren, infer _TActor, infer _TAction, infer _TGuard, infer _TDelay, infer TTag, infer _TInput, infer TOutput, infer TResolvedTypesMeta> ? ActorRef<TEvent, MachineSnapshot<TContext, TEvent, TChildren, TTag, TOutput, AreAllImplementationsAssumedToBeProvided<TResolvedTypesMeta> extends false ? MarkAllImplementationsAsProvided<TResolvedTypesMeta> : TResolvedTypesMeta>> : R extends Promise<infer U> ? ActorRefFrom<PromiseActorLogic<U>> : R extends ActorLogic<infer TSnapshot, infer TEvent, infer _TInput, infer _TSystem> ? ActorRef<TEvent, TSnapshot> : never : never;
|
|
732
750
|
export type DevToolsAdapter = (service: AnyActor) => void;
|
|
733
751
|
/**
|
|
734
752
|
* @deprecated Use `Actor<T>` instead.
|
|
735
753
|
*/
|
|
736
|
-
export type InterpreterFrom<T extends AnyStateMachine | ((...args: any[]) => AnyStateMachine)> = ReturnTypeOrValue<T> extends StateMachine<infer TContext, infer TEvent, infer
|
|
737
|
-
export type MachineImplementationsFrom<T extends AnyStateMachine | ((...args: any[]) => AnyStateMachine), TRequireMissingImplementations extends boolean = false> = ReturnTypeOrValue<T> extends StateMachine<infer TContext, infer
|
|
754
|
+
export type InterpreterFrom<T extends AnyStateMachine | ((...args: any[]) => AnyStateMachine)> = ReturnTypeOrValue<T> extends StateMachine<infer TContext, infer TEvent, infer TChildren, infer _TActor, infer _TAction, infer _TGuard, infer _TDelay, infer TTag, infer TInput, infer TOutput, infer TResolvedTypesMeta> ? Actor<ActorLogic<MachineSnapshot<TContext, TEvent, TChildren, TTag, TOutput, TResolvedTypesMeta>, TEvent, TInput, ActorSystem<any>>> : never;
|
|
755
|
+
export type MachineImplementationsFrom<T extends AnyStateMachine | ((...args: any[]) => AnyStateMachine), TRequireMissingImplementations extends boolean = false> = ReturnTypeOrValue<T> extends StateMachine<infer TContext, infer _TEvent, infer _TChildren, infer _TActor, infer _TAction, infer _TGuard, infer _TDelay, infer _TTag, infer _TInput, infer _TOutput, infer TResolvedTypesMeta> ? InternalMachineImplementations<TContext, TResolvedTypesMeta, TRequireMissingImplementations> : never;
|
|
738
756
|
export type __ResolvedTypesMetaFrom<T> = T extends StateMachine<any, // context
|
|
739
757
|
any, // event
|
|
758
|
+
any, // children
|
|
740
759
|
any, // actor
|
|
741
760
|
any, // action
|
|
742
761
|
any, // guard
|
|
@@ -825,11 +844,11 @@ export type AnyActorLogic = ActorLogic<any, // snapshot
|
|
|
825
844
|
any, // event
|
|
826
845
|
any, // input
|
|
827
846
|
any>;
|
|
828
|
-
export type SnapshotFrom<T> = ReturnTypeOrValue<T> extends infer R ? R extends ActorRef<infer _, infer TSnapshot> ? TSnapshot : R extends Actor<infer TLogic> ? SnapshotFrom<TLogic> : R extends StateMachine<infer _TContext, infer _TEvent, infer _TActor, infer _TAction, infer _TGuard, infer _TDelay, infer _TTag, infer _TInput, infer _TOutput, infer _TResolvedTypesMeta> ? StateFrom<R> : R extends ActorLogic<any, any, any, any> ? ReturnType<R['transition']> : R extends ActorScope<infer TSnapshot, infer _, infer __> ? TSnapshot : never : never;
|
|
847
|
+
export type SnapshotFrom<T> = ReturnTypeOrValue<T> extends infer R ? R extends ActorRef<infer _, infer TSnapshot> ? TSnapshot : R extends Actor<infer TLogic> ? SnapshotFrom<TLogic> : R extends StateMachine<infer _TContext, infer _TEvent, infer _TChildren, infer _TActor, infer _TAction, infer _TGuard, infer _TDelay, infer _TTag, infer _TInput, infer _TOutput, infer _TResolvedTypesMeta> ? StateFrom<R> : R extends ActorLogic<any, any, any, any> ? ReturnType<R['transition']> : R extends ActorScope<infer TSnapshot, infer _, infer __> ? TSnapshot : never : never;
|
|
829
848
|
export type EventFromLogic<TLogic extends ActorLogic<any, any, any, any>> = TLogic extends ActorLogic<infer _, infer TEvent, infer __, infer _____> ? TEvent : never;
|
|
830
|
-
type ResolveEventType<T> = ReturnTypeOrValue<T> extends infer R ? R extends StateMachine<infer _TContext, infer TEvent, infer _TActor, infer _TAction, infer _TGuard, infer _TDelay, infer _TTag, infer _TInput, infer _TOutput, infer _TResolvedTypesMeta> ? TEvent : R extends MachineSnapshot<infer _TContext, infer TEvent, infer
|
|
849
|
+
type ResolveEventType<T> = ReturnTypeOrValue<T> extends infer R ? R extends StateMachine<infer _TContext, infer TEvent, infer _TChildren, infer _TActor, infer _TAction, infer _TGuard, infer _TDelay, infer _TTag, infer _TInput, infer _TOutput, infer _TResolvedTypesMeta> ? TEvent : R extends MachineSnapshot<infer _TContext, infer TEvent, infer _TChildren, infer _TTag, infer _TOutput, infer _TResolvedTypesMeta> ? TEvent : R extends ActorRef<infer TEvent, infer _> ? TEvent : never : never;
|
|
831
850
|
export type EventFrom<T, K extends Prop<TEvent, 'type'> = never, TEvent extends EventObject = ResolveEventType<T>> = IsNever<K> extends true ? TEvent : ExtractEvent<TEvent, K>;
|
|
832
|
-
export type ContextFrom<T> = ReturnTypeOrValue<T> extends infer R ? R extends StateMachine<infer TContext, infer _TEvent, infer _TActor, infer _TAction, infer _TGuard, infer _TDelay, infer _TTag, infer _TInput, infer _TOutput, infer _TTypesMeta> ? TContext : R extends MachineSnapshot<infer TContext, infer _TEvent, infer
|
|
851
|
+
export type ContextFrom<T> = ReturnTypeOrValue<T> extends infer R ? R extends StateMachine<infer TContext, infer _TEvent, infer _TChildren, infer _TActor, infer _TAction, infer _TGuard, infer _TDelay, infer _TTag, infer _TInput, infer _TOutput, infer _TTypesMeta> ? TContext : R extends MachineSnapshot<infer TContext, infer _TEvent, infer _TChildren, infer _TTag, infer _TOutput, infer _TResolvedTypesMeta> ? TContext : R extends Actor<infer TActorLogic> ? TActorLogic extends StateMachine<infer TContext, infer _TEvent, infer _TChildren, infer _TActor, infer _TAction, infer _TGuard, infer _TDelay, infer _TTag, infer _TInput, infer _TOutput, infer _TTypesMeta> ? TContext : never : never : never;
|
|
833
852
|
export type InferEvent<E extends EventObject> = {
|
|
834
853
|
[T in E['type']]: {
|
|
835
854
|
type: T;
|
|
@@ -848,5 +867,15 @@ export interface ActorSystem<T extends ActorSystemInfo> {
|
|
|
848
867
|
inspect: (observer: Observer<InspectionEvent>) => void;
|
|
849
868
|
}
|
|
850
869
|
export type AnyActorSystem = ActorSystem<any>;
|
|
851
|
-
export type RequiredActorOptions<TActor extends ProvidedActor> = ('id'
|
|
870
|
+
export type RequiredActorOptions<TActor extends ProvidedActor> = (undefined extends TActor['id'] ? never : 'id') | (undefined extends InputFrom<TActor['logic']> ? never : 'input');
|
|
871
|
+
type ExtractLiteralString<T extends string | undefined> = T extends string ? string extends T ? never : T : never;
|
|
872
|
+
type ToConcreteChildren<TActor extends ProvidedActor> = {
|
|
873
|
+
[A in TActor as ExtractLiteralString<A['id']>]?: ActorRefFrom<A['logic']>;
|
|
874
|
+
};
|
|
875
|
+
export type ToChildren<TActor extends ProvidedActor> = string extends TActor['src'] ? Record<string, AnyActorRef> : Compute<ToConcreteChildren<TActor> & {
|
|
876
|
+
include: {
|
|
877
|
+
[id: string]: TActor extends any ? ActorRefFrom<TActor['logic']> | undefined : never;
|
|
878
|
+
};
|
|
879
|
+
exclude: {};
|
|
880
|
+
}[undefined extends TActor['id'] ? 'include' : string extends TActor['id'] ? 'include' : 'exclude']>;
|
|
852
881
|
export {};
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import type { StateNode } from "./StateNode.js";
|
|
2
|
-
import type { ActorLogic, AnyEventObject, EventObject, MachineContext, Mapper, Observer, ErrorActorEvent, SingleOrArray, StateLike, StateValue, Subscribable, TransitionConfigTarget, AnyActorRef, AnyTransitionConfig, NonReducibleUnknown, AnyStateMachine } from "./types.js";
|
|
2
|
+
import type { ActorLogic, AnyEventObject, EventObject, MachineContext, Mapper, Observer, ErrorActorEvent, SingleOrArray, StateLike, StateValue, Subscribable, TransitionConfigTarget, AnyActorRef, AnyTransitionConfig, NonReducibleUnknown, AnyStateMachine, AnyMachineSnapshot } from "./types.js";
|
|
3
3
|
export declare function keys<T extends object>(value: T): Array<keyof T & string>;
|
|
4
4
|
export declare function matchesState(parentStateId: StateValue, childStateId: StateValue): boolean;
|
|
5
5
|
export declare function toStatePath(stateId: string | string[]): string[];
|
|
@@ -38,3 +38,4 @@ export declare function reportUnhandledExceptionOnInvocation(originalError: any,
|
|
|
38
38
|
export declare function toObserver<T>(nextHandler?: Observer<T> | ((value: T) => void), errorHandler?: (error: any) => void, completionHandler?: () => void): Observer<T>;
|
|
39
39
|
export declare function createInvokeId(stateNodeId: string, index: number): string;
|
|
40
40
|
export declare function resolveReferencedActor(machine: AnyStateMachine, src: string): any;
|
|
41
|
+
export declare function getAllOwnEventDescriptors(snapshot: AnyMachineSnapshot): any[];
|