xstate 6.0.0-alpha.56 → 6.0.0-alpha.57

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.
@@ -11,7 +11,7 @@ export { machineVersions, type AdaptEventsOptions, type EventAdapterHandlers, ty
11
11
  export { types, isTypeSchema, type StandardSchemaV1, type TypeSchema } from "./schema.types.js";
12
12
  export type { ActorValidationBoundary, ActorValidationEventOrigin, ActorValidationRequest, ActorLogicValidator } from "./validation.types.js";
13
13
  export { createSystem, setup } from "./setup.js";
14
- export type { AnySetupConfig, SetupConfig, SetupReturn, SetupReturnFromConfig, SetupSchemas, SystemActorMap, SystemConfig, SystemRuntime, SetupStateSchema, SetupStateSchemas, SetupStateType } from "./setup.js";
14
+ export type { ActiveStateContext, AnySetupConfig, RootContextMarker, StrictSetupStateSchemas, StrictSetupStateTargetsFlag, StrictSetupStateTargetsMarker, RelativeSetupStateSchemasMarker, CurrentSetupStateSchemaMarker, SetupStateParentTypeMarker, SetupStateSchemasWithParentType, RootSetupStateSchemasMarker, WithRootSetupStateSchemas, SetupConfig, SetupReturn, SetupReturnFromConfig, SetupSchemas, SystemActorMap, SystemConfig, SystemRuntime, SetupStateSchema, SetupStateSchemas, SetupStateType } from "./setup.js";
15
15
  export { getInitialSnapshot, getNextSnapshot } from "./getNextSnapshot.js";
16
16
  export type { InspectionEvent, ActorInspectionEvent, DeadLetterInspectionEvent, TransitionInspectionEvent, ActionRecord, SentRecord } from "./inspection.js";
17
17
  export { SimulatedClock } from "./SimulatedClock.js";
@@ -24,7 +24,7 @@ export type { ActorSystem, ActorSystemRuntime, AnyActorSystem, DeadLetterDetail,
24
24
  export { toPromise } from "./toPromise.js";
25
25
  export type * from "./types.js";
26
26
  export { SpecialTargets } from "./types.js";
27
- export type { Next_MachineConfig as MachineConfig, Next_StateNodeConfig as StateNodeConfig, Next_InvokeConfig as InvokeConfig, Next_TransitionConfigOrTarget as TransitionConfigOrTarget, Sources, InferEvents, WidenLiterals } from "./types.v6.js";
27
+ export type { Next_MachineConfig as MachineConfig, Next_StateNodeConfig as StateNodeConfig, Next_ChoiceStateNodeConfig as ChoiceStateNodeConfig, Next_RegularStateNodeConfig as RegularStateNodeConfig, Next_InvokeConfig as InvokeConfig, Next_TransitionConfigOrTarget as TransitionConfigOrTarget, Sources, InferEvents, WidenLiterals } from "./types.v6.js";
28
28
  export { getAllOwnEventDescriptors as __unsafe_getAllOwnEventDescriptors, matchesState, checkStateIn, pathToStateValue, toObserver } from "./utils.js";
29
29
  export { transition, initialTransition, getMicrosteps, getInitialMicrosteps, getNextTransitions } from "./transition.js";
30
30
  export { executeEffects, isBuiltInExecutableAction } from "./transitionActions.js";
@@ -206,48 +206,54 @@ type UncheckedSetupStateSchemas = Record<string, UncheckedSetupStateSchema>;
206
206
  type SetupStateKey<TStateSchemas extends Record<string, SetupStateSchema>> = string extends SetupStateKeys<TStateSchemas> ? string : [SetupStateKeys<TStateSchemas>] extends [never] ? string : SetupStateKeys<TStateSchemas>;
207
207
  type StrictSetupStatePaths<TStateSchemas extends Record<string, SetupStateSchema>> = [SetupStateKeys<TStateSchemas>] extends [never] ? never : StatePaths<TStateSchemas>;
208
208
  type SetupRelativeStateTarget<TStateSchemas extends Record<string, SetupStateSchema>> = string extends SetupStateKeys<TStateSchemas> ? `.${string}` : [SetupStateKeys<TStateSchemas>] extends [never] ? '.' : '.' | `.${StatePaths<TStateSchemas> & string}`;
209
- type SetupStateTarget<TStateSchemas extends Record<string, SetupStateSchema>> = TStateSchemas extends {
210
- readonly [strictSetupStateTargets]: true;
211
- } ? StrictSetupStatePaths<TStateSchemas> | SetupRelativeStateTarget<RelativeSetupStateSchemas<TStateSchemas>> | `#${string}` : string extends SetupStateKeys<TStateSchemas> ? string : [SetupStateKeys<TStateSchemas>] extends [never] ? string : StatePaths<TStateSchemas> | `.${string}` | `#${string}`;
209
+ type SetupStateTarget<TStateSchemas extends Record<string, SetupStateSchema>> = TStateSchemas extends StrictSetupStateTargetsFlag ? StrictSetupStatePaths<TStateSchemas> | SetupRelativeStateTarget<RelativeSetupStateSchemas<TStateSchemas>> | `#${string}` : string extends SetupStateKeys<TStateSchemas> ? string : [SetupStateKeys<TStateSchemas>] extends [never] ? string : StatePaths<TStateSchemas> | `.${string}` | `#${string}`;
212
210
  type KnownSetupStateTarget<TStateSchemas extends Record<string, SetupStateSchema>> = string extends StatePaths<TStateSchemas> ? string extends StatePaths<RelativeSetupStateSchemas<TStateSchemas>> ? never : SetupRelativeStateTarget<RelativeSetupStateSchemas<TStateSchemas>> | RootSetupStateIdTarget<RootSetupStateSchemas<TStateSchemas>> : (StrictSetupStatePaths<TStateSchemas> & string) | SetupRelativeStateTarget<RelativeSetupStateSchemas<TStateSchemas>> | RootSetupStateIdTarget<RootSetupStateSchemas<TStateSchemas>>;
213
211
  declare const strictSetupStateTargets: unique symbol;
214
212
  declare const relativeSetupStateSchemas: unique symbol;
215
213
  declare const rootSetupStateSchemas: unique symbol;
216
214
  declare const currentSetupStateSchema: unique symbol;
217
215
  declare const parentSetupStateType: unique symbol;
218
- type StrictSetupStateSchemas<TStateSchemas extends Record<string, SetupStateSchema>, TRelativeStateSchemas extends Record<string, SetupStateSchema> = Record<string, SetupStateSchema>, TRootStateSchemas extends Record<string, SetupStateSchema> = RootSetupStateSchemas<TStateSchemas>, TCurrentStateSchema extends SetupStateSchema = never> = TStateSchemas & {
216
+ /** @public Referenced by emitted declarations of strict transition targets. */
217
+ export type StrictSetupStateTargetsFlag = {
219
218
  readonly [strictSetupStateTargets]: true;
219
+ };
220
+ /** @public Referenced by emitted declarations of strict transition targets. */
221
+ export type RelativeSetupStateSchemasMarker<TRelativeStateSchemas extends Record<string, SetupStateSchema>> = {
220
222
  readonly [relativeSetupStateSchemas]: TRelativeStateSchemas;
221
- readonly [rootSetupStateSchemas]: TRootStateSchemas;
223
+ };
224
+ /** @public Referenced by emitted declarations of strict transition targets. */
225
+ export type CurrentSetupStateSchemaMarker<TCurrentStateSchema extends SetupStateSchema> = {
222
226
  readonly [currentSetupStateSchema]: TCurrentStateSchema;
223
227
  };
224
- type RelativeSetupStateSchemas<TStateSchemas extends Record<string, SetupStateSchema>> = TStateSchemas extends {
225
- readonly [relativeSetupStateSchemas]: infer TRelativeStateSchemas extends Record<string, SetupStateSchema>;
226
- } ? TRelativeStateSchemas : TStateSchemas;
227
- type RootSetupStateSchemas<TStateSchemas extends Record<string, SetupStateSchema>> = TStateSchemas extends {
228
- readonly [rootSetupStateSchemas]: infer TRootStateSchemas extends Record<string, SetupStateSchema>;
229
- } ? TRootStateSchemas : TStateSchemas;
230
- type CurrentSetupStateSchema<TStateSchemas extends Record<string, SetupStateSchema>> = TStateSchemas extends {
231
- readonly [currentSetupStateSchema]: infer TCurrentStateSchema extends SetupStateSchema;
232
- } ? TCurrentStateSchema : never;
228
+ /** @public Referenced by emitted declarations of strict transition targets. */
229
+ export type StrictSetupStateTargetsMarker<TRelativeStateSchemas extends Record<string, SetupStateSchema>, TRootStateSchemas extends Record<string, SetupStateSchema>, TCurrentStateSchema extends SetupStateSchema> = StrictSetupStateTargetsFlag & RelativeSetupStateSchemasMarker<TRelativeStateSchemas> & RootSetupStateSchemasMarker<TRootStateSchemas> & CurrentSetupStateSchemaMarker<TCurrentStateSchema>;
230
+ /** @public Referenced by emitted declarations of strict transition targets. */
231
+ export type StrictSetupStateSchemas<TStateSchemas extends Record<string, SetupStateSchema>, TRelativeStateSchemas extends Record<string, SetupStateSchema> = Record<string, SetupStateSchema>, TRootStateSchemas extends Record<string, SetupStateSchema> = RootSetupStateSchemas<TStateSchemas>, TCurrentStateSchema extends SetupStateSchema = never> = TStateSchemas & StrictSetupStateTargetsMarker<TRelativeStateSchemas, TRootStateSchemas, TCurrentStateSchema>;
232
+ type RelativeSetupStateSchemas<TStateSchemas extends Record<string, SetupStateSchema>> = TStateSchemas extends RelativeSetupStateSchemasMarker<infer TRelativeStateSchemas> ? TRelativeStateSchemas : TStateSchemas;
233
+ type RootSetupStateSchemas<TStateSchemas extends Record<string, SetupStateSchema>> = TStateSchemas extends RootSetupStateSchemasMarker<infer TRootStateSchemas> ? TRootStateSchemas : TStateSchemas;
234
+ type CurrentSetupStateSchema<TStateSchemas extends Record<string, SetupStateSchema>> = TStateSchemas extends CurrentSetupStateSchemaMarker<infer TCurrentStateSchema> ? TCurrentStateSchema : never;
233
235
  type SetupStateSelfSchema<TStateSchema extends SetupStateSchema> = TStateSchema extends {
234
236
  schemas: infer TSchemas extends SetupStateSchemas;
235
237
  } ? {
236
238
  schemas: TSchemas;
237
239
  } : {};
238
- type SetupStateSchemasWithParentType<TStateSchemas extends Record<string, SetupStateSchema>, TParentStateType extends SetupStateType | never> = TStateSchemas & {
240
+ /** @public Referenced by emitted declarations of strict transition targets. */
241
+ export type SetupStateParentTypeMarker<TParentStateType extends SetupStateType | never> = {
239
242
  readonly [parentSetupStateType]: TParentStateType;
240
243
  };
241
- type SetupStateParentType<TStateSchemas extends Record<string, SetupStateSchema>> = TStateSchemas extends {
242
- readonly [parentSetupStateType]: infer TParentStateType;
243
- } ? TParentStateType : never;
244
+ /** @public Referenced by emitted declarations of strict transition targets. */
245
+ export type SetupStateSchemasWithParentType<TStateSchemas extends Record<string, SetupStateSchema>, TParentStateType extends SetupStateType | never> = TStateSchemas & SetupStateParentTypeMarker<TParentStateType>;
246
+ type SetupStateParentType<TStateSchemas extends Record<string, SetupStateSchema>> = TStateSchemas extends SetupStateParentTypeMarker<infer TParentStateType> ? TParentStateType : never;
244
247
  type IsParallelSetupStateParent<TStateSchemas extends Record<string, SetupStateSchema>> = [SetupStateParentType<TStateSchemas>] extends [never] ? false : SetupStateParentType<TStateSchemas> extends 'parallel' ? true : false;
245
248
  type ResolveStateSiblingsForPath<TStates extends Record<string, SetupStateSchema>, TPath extends string> = SetupStateParentAtPath<TStates, TPath> extends infer TParent ? [TParent] extends [SetupStateSchema] ? SetupStateSchemasWithParentType<ResolveStateSiblings<TStates, TPath>, TParent extends {
246
249
  type: infer TType extends SetupStateType;
247
250
  } ? TType : never> : ResolveStateSiblings<TStates, TPath> : never;
248
- type WithRootSetupStateSchemas<TStateSchemas extends Record<string, SetupStateSchema>, TRootStateSchemas extends Record<string, SetupStateSchema>> = TStateSchemas & {
251
+ /** @public Referenced by emitted declarations of strict transition targets. */
252
+ export type RootSetupStateSchemasMarker<TRootStateSchemas extends Record<string, SetupStateSchema>> = {
249
253
  readonly [rootSetupStateSchemas]: TRootStateSchemas;
250
254
  };
255
+ /** @public Referenced by emitted declarations of strict transition targets. */
256
+ export type WithRootSetupStateSchemas<TStateSchemas extends Record<string, SetupStateSchema>, TRootStateSchemas extends Record<string, SetupStateSchema>> = TStateSchemas & RootSetupStateSchemasMarker<TRootStateSchemas>;
251
257
  type RootSetupStateTransitionSchemas<TStateSchemas extends Record<string, SetupStateSchema>> = StrictSetupStateSchemas<{}, TStateSchemas, TStateSchemas>;
252
258
  type RootSetupStateTarget<TStateSchemas extends Record<string, SetupStateSchema>> = SetupRelativeStateTarget<TStateSchemas> | RootSetupStateIdTarget<TStateSchemas>;
253
259
  type SetupStateTransitionChildSchemas<TStateSchema extends SetupStateSchema> = TStateSchema extends {
@@ -515,7 +521,8 @@ type RootContext<TContext> = typeof rootContext extends keyof TContext ? TContex
515
521
  type StateContextShape<TStateSchema extends SetupStateSchema, TFallbackContext> = TStateSchema['schemas'] extends {
516
522
  context: infer TContextSchema;
517
523
  } ? TContextSchema extends StandardSchemaV1 ? StandardSchemaV1.InferOutput<TContextSchema> & RootContext<TFallbackContext> & RootContextMarker<TFallbackContext> : RootContext<TFallbackContext> : RootContext<TFallbackContext>;
518
- type ActiveStateContext<TStateSchema extends SetupStateSchema, TRootContext extends MachineContext, TAncestorContext> = StateContext<TStateSchema, TRootContext> & TAncestorContext & MachineContext;
524
+ /** @public Referenced by emitted declarations of narrowed state contexts. */
525
+ export type ActiveStateContext<TStateSchema extends SetupStateSchema, TRootContext extends MachineContext, TAncestorContext> = StateContext<TStateSchema, TRootContext> & TAncestorContext & MachineContext;
519
526
  type ActiveStateContextShape<TStateSchema extends SetupStateSchema, TAncestorContext> = StateContextShape<TStateSchema, TAncestorContext> & TAncestorContext;
520
527
  type WithNestedStates<TConfig, TNestedStates> = TConfig extends {
521
528
  type: 'choice';
@@ -547,9 +554,7 @@ type SetupChoiceTargetConfig<TStateSchemas extends Record<string, SetupStateSche
547
554
  [K in KnownSetupStateTarget<TStateSchemas>]: {
548
555
  target: K;
549
556
  } & SetupStateInputConfig<SetupStateSchemaAtTarget<TStateSchemas, K>, TContext, TEvent>;
550
- }[KnownSetupStateTarget<TStateSchemas>] | (TStateSchemas extends {
551
- readonly [strictSetupStateTargets]: true;
552
- } ? {
557
+ }[KnownSetupStateTarget<TStateSchemas>] | (TStateSchemas extends StrictSetupStateTargetsFlag ? {
553
558
  target: KnownSetupStateTarget<TStateSchemas>[];
554
559
  input?: Record<string, unknown>;
555
560
  } : {
@@ -980,9 +985,7 @@ type StateTransitionResult<TStateSchemas extends Record<string, SetupStateSchema
980
985
  context: StateTransitionContext<TAllowContextMapper, TContext, TContextShape, StateContextShape<SetupStateSchemaAtTarget<TStateSchemas, K>, TContextShape>, StateContext<SetupStateSchemaAtTarget<TStateSchemas, K>, TContext>, TExpressionEvent, TChildren, TActionMap, TActorMap, TGuardMap, TDelayMap, TSystemRegistry>;
981
986
  });
982
987
  }[TKnownTarget] | {
983
- target: TStateSchemas extends {
984
- readonly [strictSetupStateTargets]: true;
985
- } ? never : Exclude<TTarget, TKnownTarget>;
988
+ target: TStateSchemas extends StrictSetupStateTargetsFlag ? never : Exclude<TTarget, TKnownTarget>;
986
989
  context?: StateTransitionContext<TAllowContextMapper, TContext, TContextShape, TContextShape, TContext, TExpressionEvent, TChildren, TActionMap, TActorMap, TGuardMap, TDelayMap, TSystemRegistry>;
987
990
  reenter?: boolean;
988
991
  meta?: TMeta;
@@ -319,7 +319,8 @@ type Next_RouteConfig<TContext extends MachineContext, TEvent extends EventObjec
319
319
  });
320
320
  type Next_ChoiceConfigFunction<TContext extends MachineContext, TCurrentEvent extends EventObject, TEvent extends EventObject, TActionMap extends Sources['actions'], TActorMap extends Sources['actors'], TGuardMap extends Sources['guards'], TDelayMap extends Sources['delays'], TMeta extends MetaObject, _TCtx extends MachineContext = [TContext] extends [never] ? any : TContext> = (args: Next_ChoiceArgs<TContext, TCurrentEvent, TEvent, TActionMap, TActorMap, TGuardMap, TDelayMap, _TCtx>) => Next_ChoiceTarget<TMeta>;
321
321
  export type Next_StateNodeConfig<TContext extends MachineContext, TEvent extends EventObject, TDelays extends string, TTag extends string, _TOutput, TEmitted extends EventObject, TStateMeta extends MetaObject, TChildren extends Record<string, AnyActorRef | undefined>, TActionMap extends Sources['actions'], TActorMap extends Sources['actors'], TGuardMap extends Sources['guards'], TDelayMap extends Sources['delays'], TInput = Record<string, unknown> | undefined, TInputMap extends Record<string, unknown> = Record<string, unknown>, TSystemRegistry extends SystemRegistry = SystemRegistry, TChildOutput = unknown, TTransitionMeta extends MetaObject = TStateMeta> = Next_RegularStateNodeConfig<TContext, TEvent, TDelays, TTag, _TOutput, TEmitted, TStateMeta, TTransitionMeta, TChildren, TActionMap, TActorMap, TGuardMap, TDelayMap, TInput, TInputMap, TSystemRegistry, TChildOutput> | Next_ChoiceStateNodeConfig<TContext, TEvent, TTag, TStateMeta, TTransitionMeta, TActionMap, TActorMap, TGuardMap, TDelayMap>;
322
- interface Next_ChoiceStateNodeConfig<TContext extends MachineContext, TEvent extends EventObject, TTag extends string, TStateMeta extends MetaObject, TTransitionMeta extends MetaObject, TActionMap extends Sources['actions'], TActorMap extends Sources['actors'], TGuardMap extends Sources['guards'], TDelayMap extends Sources['delays']> {
322
+ /** @public Referenced by emitted declarations of `Next_StateNodeConfig`. */
323
+ export interface Next_ChoiceStateNodeConfig<TContext extends MachineContext, TEvent extends EventObject, TTag extends string, TStateMeta extends MetaObject, TTransitionMeta extends MetaObject, TActionMap extends Sources['actions'], TActorMap extends Sources['actors'], TGuardMap extends Sources['guards'], TDelayMap extends Sources['delays']> {
323
324
  contextSchema?: StandardSchemaV1;
324
325
  schemas?: SetupStateSchemas;
325
326
  type: 'choice';
@@ -347,7 +348,8 @@ interface Next_ChoiceStateNodeConfig<TContext extends MachineContext, TEvent ext
347
348
  output?: never;
348
349
  target?: never;
349
350
  }
350
- interface Next_RegularStateNodeConfig<TContext extends MachineContext, TEvent extends EventObject, TDelays extends string, TTag extends string, TOutput, TEmitted extends EventObject, TStateMeta extends MetaObject, TTransitionMeta extends MetaObject, TChildren extends Record<string, AnyActorRef | undefined>, TActionMap extends Sources['actions'], TActorMap extends Sources['actors'], TGuardMap extends Sources['guards'], TDelayMap extends Sources['delays'], TInput = Record<string, unknown> | undefined, TInputMap extends Record<string, unknown> = Record<string, unknown>, TSystemRegistry extends SystemRegistry = SystemRegistry, TChildOutput = unknown> {
351
+ /** @public Referenced by emitted declarations of `Next_StateNodeConfig`. */
352
+ export interface Next_RegularStateNodeConfig<TContext extends MachineContext, TEvent extends EventObject, TDelays extends string, TTag extends string, TOutput, TEmitted extends EventObject, TStateMeta extends MetaObject, TTransitionMeta extends MetaObject, TChildren extends Record<string, AnyActorRef | undefined>, TActionMap extends Sources['actions'], TActorMap extends Sources['actors'], TGuardMap extends Sources['guards'], TDelayMap extends Sources['delays'], TInput = Record<string, unknown> | undefined, TInputMap extends Record<string, unknown> = Record<string, unknown>, TSystemRegistry extends SystemRegistry = SystemRegistry, TChildOutput = unknown> {
351
353
  contextSchema?: StandardSchemaV1;
352
354
  schemas?: SetupStateSchemas;
353
355
  /** The initial state transition. */
@@ -1084,6 +1084,28 @@ function machineVersions(entries, options) {
1084
1084
  * behavior remains authored in the machine config.
1085
1085
  */
1086
1086
 
1087
+ // Named, like `RootContextMarker`, so declaration emit can reference these
1088
+ // markers instead of expanding their private unique-symbol keys into exported
1089
+ // types. They are split one key apiece because the conditional types below
1090
+ // match on a single key at a time, and those conditionals are emitted too.
1091
+ /** @public Referenced by emitted declarations of strict transition targets. */
1092
+
1093
+ /** @public Referenced by emitted declarations of strict transition targets. */
1094
+
1095
+ /** @public Referenced by emitted declarations of strict transition targets. */
1096
+
1097
+ /** @public Referenced by emitted declarations of strict transition targets. */
1098
+
1099
+ /** @public Referenced by emitted declarations of strict transition targets. */
1100
+
1101
+ /** @public Referenced by emitted declarations of strict transition targets. */
1102
+
1103
+ /** @public Referenced by emitted declarations of strict transition targets. */
1104
+
1105
+ /** @public Referenced by emitted declarations of strict transition targets. */
1106
+
1107
+ /** @public Referenced by emitted declarations of strict transition targets. */
1108
+
1087
1109
  /**
1088
1110
  * The sibling state schemas of a dotted path: the children of the path's
1089
1111
  * parent. A bare transition target resolves relative to the parent, so the
@@ -1119,6 +1141,11 @@ function machineVersions(entries, options) {
1119
1141
  // the private unique-symbol key into exported machine config types.
1120
1142
  /** @public Referenced by emitted declarations of narrowed state contexts. */
1121
1143
 
1144
+ // Exported for the same reason as `RootContextMarker`: this is the context type
1145
+ // a narrowed state's transition receives, so it appears in the emitted
1146
+ // declarations of any machine that declares per-state `context`.
1147
+ /** @public Referenced by emitted declarations of narrowed state contexts. */
1148
+
1122
1149
  /**
1123
1150
  * The runtime applies one transition input to every target in a target set.
1124
1151
  * Keep the array's input correlated to its literal targets by requiring the
@@ -1084,6 +1084,28 @@ function machineVersions(entries, options) {
1084
1084
  * behavior remains authored in the machine config.
1085
1085
  */
1086
1086
 
1087
+ // Named, like `RootContextMarker`, so declaration emit can reference these
1088
+ // markers instead of expanding their private unique-symbol keys into exported
1089
+ // types. They are split one key apiece because the conditional types below
1090
+ // match on a single key at a time, and those conditionals are emitted too.
1091
+ /** @public Referenced by emitted declarations of strict transition targets. */
1092
+
1093
+ /** @public Referenced by emitted declarations of strict transition targets. */
1094
+
1095
+ /** @public Referenced by emitted declarations of strict transition targets. */
1096
+
1097
+ /** @public Referenced by emitted declarations of strict transition targets. */
1098
+
1099
+ /** @public Referenced by emitted declarations of strict transition targets. */
1100
+
1101
+ /** @public Referenced by emitted declarations of strict transition targets. */
1102
+
1103
+ /** @public Referenced by emitted declarations of strict transition targets. */
1104
+
1105
+ /** @public Referenced by emitted declarations of strict transition targets. */
1106
+
1107
+ /** @public Referenced by emitted declarations of strict transition targets. */
1108
+
1087
1109
  /**
1088
1110
  * The sibling state schemas of a dotted path: the children of the path's
1089
1111
  * parent. A bare transition target resolves relative to the parent, so the
@@ -1119,6 +1141,11 @@ function machineVersions(entries, options) {
1119
1141
  // the private unique-symbol key into exported machine config types.
1120
1142
  /** @public Referenced by emitted declarations of narrowed state contexts. */
1121
1143
 
1144
+ // Exported for the same reason as `RootContextMarker`: this is the context type
1145
+ // a narrowed state's transition receives, so it appears in the emitted
1146
+ // declarations of any machine that declares per-state `context`.
1147
+ /** @public Referenced by emitted declarations of narrowed state contexts. */
1148
+
1122
1149
  /**
1123
1150
  * The runtime applies one transition input to every target in a target set.
1124
1151
  * Keep the array's input correlated to its literal targets by requiring the
@@ -1082,6 +1082,28 @@ function machineVersions(entries, options) {
1082
1082
  * behavior remains authored in the machine config.
1083
1083
  */
1084
1084
 
1085
+ // Named, like `RootContextMarker`, so declaration emit can reference these
1086
+ // markers instead of expanding their private unique-symbol keys into exported
1087
+ // types. They are split one key apiece because the conditional types below
1088
+ // match on a single key at a time, and those conditionals are emitted too.
1089
+ /** @public Referenced by emitted declarations of strict transition targets. */
1090
+
1091
+ /** @public Referenced by emitted declarations of strict transition targets. */
1092
+
1093
+ /** @public Referenced by emitted declarations of strict transition targets. */
1094
+
1095
+ /** @public Referenced by emitted declarations of strict transition targets. */
1096
+
1097
+ /** @public Referenced by emitted declarations of strict transition targets. */
1098
+
1099
+ /** @public Referenced by emitted declarations of strict transition targets. */
1100
+
1101
+ /** @public Referenced by emitted declarations of strict transition targets. */
1102
+
1103
+ /** @public Referenced by emitted declarations of strict transition targets. */
1104
+
1105
+ /** @public Referenced by emitted declarations of strict transition targets. */
1106
+
1085
1107
  /**
1086
1108
  * The sibling state schemas of a dotted path: the children of the path's
1087
1109
  * parent. A bare transition target resolves relative to the parent, so the
@@ -1117,6 +1139,11 @@ function machineVersions(entries, options) {
1117
1139
  // the private unique-symbol key into exported machine config types.
1118
1140
  /** @public Referenced by emitted declarations of narrowed state contexts. */
1119
1141
 
1142
+ // Exported for the same reason as `RootContextMarker`: this is the context type
1143
+ // a narrowed state's transition receives, so it appears in the emitted
1144
+ // declarations of any machine that declares per-state `context`.
1145
+ /** @public Referenced by emitted declarations of narrowed state contexts. */
1146
+
1120
1147
  /**
1121
1148
  * The runtime applies one transition input to every target in a target set.
1122
1149
  * Keep the array's input correlated to its literal targets by requiring the
@@ -1082,6 +1082,28 @@ function machineVersions(entries, options) {
1082
1082
  * behavior remains authored in the machine config.
1083
1083
  */
1084
1084
 
1085
+ // Named, like `RootContextMarker`, so declaration emit can reference these
1086
+ // markers instead of expanding their private unique-symbol keys into exported
1087
+ // types. They are split one key apiece because the conditional types below
1088
+ // match on a single key at a time, and those conditionals are emitted too.
1089
+ /** @public Referenced by emitted declarations of strict transition targets. */
1090
+
1091
+ /** @public Referenced by emitted declarations of strict transition targets. */
1092
+
1093
+ /** @public Referenced by emitted declarations of strict transition targets. */
1094
+
1095
+ /** @public Referenced by emitted declarations of strict transition targets. */
1096
+
1097
+ /** @public Referenced by emitted declarations of strict transition targets. */
1098
+
1099
+ /** @public Referenced by emitted declarations of strict transition targets. */
1100
+
1101
+ /** @public Referenced by emitted declarations of strict transition targets. */
1102
+
1103
+ /** @public Referenced by emitted declarations of strict transition targets. */
1104
+
1105
+ /** @public Referenced by emitted declarations of strict transition targets. */
1106
+
1085
1107
  /**
1086
1108
  * The sibling state schemas of a dotted path: the children of the path's
1087
1109
  * parent. A bare transition target resolves relative to the parent, so the
@@ -1117,6 +1139,11 @@ function machineVersions(entries, options) {
1117
1139
  // the private unique-symbol key into exported machine config types.
1118
1140
  /** @public Referenced by emitted declarations of narrowed state contexts. */
1119
1141
 
1142
+ // Exported for the same reason as `RootContextMarker`: this is the context type
1143
+ // a narrowed state's transition receives, so it appears in the emitted
1144
+ // declarations of any machine that declares per-state `context`.
1145
+ /** @public Referenced by emitted declarations of narrowed state contexts. */
1146
+
1120
1147
  /**
1121
1148
  * The runtime applies one transition input to every target in a target set.
1122
1149
  * Keep the array's input correlated to its literal targets by requiring the