@lite-fsm/core 2.0.1 → 2.0.3

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.
@@ -1,8 +1,9 @@
1
1
  import { AnyEvent, AnyRecord, DefaultDeps, GenerateSpawnIdFn, MachineConfig, MachineManagerDehydrateFn, MachineManagerRuntimeSnapshot, MachineManagerSnapshot, MachineStore, MachinesState, Reducer, StateName, StateType, TransitionSubscriber, HydrateOptions, HydratePreviewOptions, UnknownMachineKeyContext, Middleware, WILDCARD, ManagerAction } from "./types";
2
2
  type UnionToIntersection<U> = (U extends unknown ? (value: U) => void : never) extends (value: infer I) => void ? I : never;
3
- type ConfigDependencies<E> = E extends MachineConfig<object, AnyRecord, AnyEvent, infer D> ? D : never;
3
+ type ConfigDependencies<E> = E extends MachineConfig<infer C, infer T, infer P, infer D, infer Snapshot> ? [C, T, P, D, Snapshot] extends [object, AnyRecord, AnyEvent, AnyRecord, unknown] ? D : never : never;
4
+ type EffectFunctionDependencies<F> = NonNullable<F> extends (deps: infer D) => unknown ? Omit<D, keyof DefaultDeps | "self"> : {};
4
5
  type EffectDependencies<E> = "effects" extends keyof E ? keyof NonNullable<E["effects"]> extends never ? {} : [ConfigDependencies<E>] extends [never] ? UnionToIntersection<{
5
- [key in keyof NonNullable<E["effects"]>]: NonNullable<E["effects"]>[key] extends (deps: infer D) => unknown ? Omit<D, keyof DefaultDeps | "self"> : {};
6
+ [key in keyof NonNullable<E["effects"]>]: EffectFunctionDependencies<NonNullable<E["effects"]>[key]>;
6
7
  }[keyof NonNullable<E["effects"]>]> : ConfigDependencies<E> : {};
7
8
  export type MachineDependencies<S extends MachineStore> = keyof S extends never ? {} : UnionToIntersection<{
8
9
  [key in keyof S]: EffectDependencies<S[key]>;
@@ -1,8 +1,9 @@
1
1
  import { AnyEvent, AnyRecord, DefaultDeps, GenerateSpawnIdFn, MachineConfig, MachineManagerDehydrateFn, MachineManagerRuntimeSnapshot, MachineManagerSnapshot, MachineStore, MachinesState, Reducer, StateName, StateType, TransitionSubscriber, HydrateOptions, HydratePreviewOptions, UnknownMachineKeyContext, Middleware, WILDCARD, ManagerAction } from "./types";
2
2
  type UnionToIntersection<U> = (U extends unknown ? (value: U) => void : never) extends (value: infer I) => void ? I : never;
3
- type ConfigDependencies<E> = E extends MachineConfig<object, AnyRecord, AnyEvent, infer D> ? D : never;
3
+ type ConfigDependencies<E> = E extends MachineConfig<infer C, infer T, infer P, infer D, infer Snapshot> ? [C, T, P, D, Snapshot] extends [object, AnyRecord, AnyEvent, AnyRecord, unknown] ? D : never : never;
4
+ type EffectFunctionDependencies<F> = NonNullable<F> extends (deps: infer D) => unknown ? Omit<D, keyof DefaultDeps | "self"> : {};
4
5
  type EffectDependencies<E> = "effects" extends keyof E ? keyof NonNullable<E["effects"]> extends never ? {} : [ConfigDependencies<E>] extends [never] ? UnionToIntersection<{
5
- [key in keyof NonNullable<E["effects"]>]: NonNullable<E["effects"]>[key] extends (deps: infer D) => unknown ? Omit<D, keyof DefaultDeps | "self"> : {};
6
+ [key in keyof NonNullable<E["effects"]>]: EffectFunctionDependencies<NonNullable<E["effects"]>[key]>;
6
7
  }[keyof NonNullable<E["effects"]>]> : ConfigDependencies<E> : {};
7
8
  export type MachineDependencies<S extends MachineStore> = keyof S extends never ? {} : UnionToIntersection<{
8
9
  [key in keyof S]: EffectDependencies<S[key]>;
package/dist/types.d.cts CHANGED
@@ -236,7 +236,7 @@ type SnapshotFromDomainHydrate<M> = M extends {
236
236
  } ? Snapshot : MachineRuntimeSnapshotForMachine<M>;
237
237
  type DomainSnapshotForMachine<M> = M extends {
238
238
  dehydrate: (...args: any[]) => unknown;
239
- } ? SnapshotFromDehydrate<M> : SnapshotFromDomainHydrate<M>;
239
+ } ? SnapshotFromDehydrate<M> : M extends MachineConfig<infer _C, infer _T, infer _P, infer _D, infer Snapshot> ? Snapshot : SnapshotFromDomainHydrate<M>;
240
240
  export type SnapshotForMachine<M> = IsActorTemplate<M> extends true ? ActorSnapshotForMachine<M> : DomainSnapshotForMachine<M>;
241
241
  export type MachineSnapshot<M> = SnapshotForMachine<M>;
242
242
  type ActorTemplateKey<S extends MachineStore> = {
package/dist/types.d.ts CHANGED
@@ -236,7 +236,7 @@ type SnapshotFromDomainHydrate<M> = M extends {
236
236
  } ? Snapshot : MachineRuntimeSnapshotForMachine<M>;
237
237
  type DomainSnapshotForMachine<M> = M extends {
238
238
  dehydrate: (...args: any[]) => unknown;
239
- } ? SnapshotFromDehydrate<M> : SnapshotFromDomainHydrate<M>;
239
+ } ? SnapshotFromDehydrate<M> : M extends MachineConfig<infer _C, infer _T, infer _P, infer _D, infer Snapshot> ? Snapshot : SnapshotFromDomainHydrate<M>;
240
240
  export type SnapshotForMachine<M> = IsActorTemplate<M> extends true ? ActorSnapshotForMachine<M> : DomainSnapshotForMachine<M>;
241
241
  export type MachineSnapshot<M> = SnapshotForMachine<M>;
242
242
  type ActorTemplateKey<S extends MachineStore> = {
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@lite-fsm/core",
3
- "version": "2.0.1",
3
+ "version": "2.0.3",
4
4
  "type": "module",
5
5
  "description": "Framework-agnostic runtime for lite-fsm",
6
6
  "license": "MIT",