@doeixd/machine 0.0.12 → 0.0.17

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.
Files changed (50) hide show
  1. package/README.md +90 -15
  2. package/dist/cjs/development/core.js +1852 -0
  3. package/dist/cjs/development/core.js.map +7 -0
  4. package/dist/cjs/development/index.js +1348 -1374
  5. package/dist/cjs/development/index.js.map +4 -4
  6. package/dist/cjs/production/core.js +1 -0
  7. package/dist/cjs/production/index.js +5 -5
  8. package/dist/esm/development/core.js +1829 -0
  9. package/dist/esm/development/core.js.map +7 -0
  10. package/dist/esm/development/index.js +1348 -1374
  11. package/dist/esm/development/index.js.map +4 -4
  12. package/dist/esm/production/core.js +1 -0
  13. package/dist/esm/production/index.js +5 -5
  14. package/dist/types/core.d.ts +18 -0
  15. package/dist/types/core.d.ts.map +1 -0
  16. package/dist/types/functional-combinators.d.ts +60 -5
  17. package/dist/types/functional-combinators.d.ts.map +1 -1
  18. package/dist/types/index.d.ts +242 -19
  19. package/dist/types/index.d.ts.map +1 -1
  20. package/dist/types/middleware/composition.d.ts +460 -0
  21. package/dist/types/middleware/composition.d.ts.map +1 -0
  22. package/dist/types/middleware/core.d.ts +196 -0
  23. package/dist/types/middleware/core.d.ts.map +1 -0
  24. package/dist/types/middleware/history.d.ts +54 -0
  25. package/dist/types/middleware/history.d.ts.map +1 -0
  26. package/dist/types/middleware/index.d.ts +10 -0
  27. package/dist/types/middleware/index.d.ts.map +1 -0
  28. package/dist/types/middleware/snapshot.d.ts +63 -0
  29. package/dist/types/middleware/snapshot.d.ts.map +1 -0
  30. package/dist/types/middleware/time-travel.d.ts +81 -0
  31. package/dist/types/middleware/time-travel.d.ts.map +1 -0
  32. package/package.json +19 -6
  33. package/src/core.ts +167 -0
  34. package/src/entry-react.ts +9 -0
  35. package/src/entry-solid.ts +9 -0
  36. package/src/functional-combinators.ts +76 -3
  37. package/src/index.ts +376 -102
  38. package/src/middleware/composition.ts +944 -0
  39. package/src/middleware/core.ts +573 -0
  40. package/src/middleware/history.ts +104 -0
  41. package/src/middleware/index.ts +13 -0
  42. package/src/middleware/snapshot.ts +153 -0
  43. package/src/middleware/time-travel.ts +236 -0
  44. package/src/middleware.ts +735 -1614
  45. package/src/prototype_functional.ts +46 -0
  46. package/src/reproduce_issue.ts +26 -0
  47. package/dist/types/middleware.d.ts +0 -1048
  48. package/dist/types/middleware.d.ts.map +0 -1
  49. package/dist/types/runtime-extract.d.ts +0 -53
  50. package/dist/types/runtime-extract.d.ts.map +0 -1
@@ -9,27 +9,39 @@
9
9
  */
10
10
  export type MaybePromise<T> = T | Promise<T>;
11
11
  /**
12
- * The fundamental shape of any machine: a `context` object for state, and methods for transitions.
13
- * @template C - The context (state) object type.
12
+ * The fundamental shape of a synchronous machine. This is a highly advanced
13
+ * generic type that performs two critical functions at compile time:
14
+ *
15
+ * 1. **Extraction:** It intelligently infers the pure transitions object from
16
+ * the flexible argument `A` (which can be a plain object, a factory
17
+ * function, or the augmented `this` from another transition).
18
+ *
19
+ * 2. **Filtering:** After extracting the transitions, it filters them, keeping
20
+ * only the functions that return a valid `Machine`.
21
+ *
22
+ * This makes the `Machine` type itself the single source of truth for what
23
+ * constitutes a valid, type-safe machine, enabling a remarkably clean and
24
+ * powerful API for `createMachine`.
25
+ *
26
+ * @template C The context object type.
27
+ * @template A The raw, flexible argument for transitions (object, factory, or `this`).
14
28
  */
15
- export type Machine<C extends object> = {
16
- /** The readonly state of the machine. */
29
+ export type Machine<C extends object, T extends object = {}> = {
17
30
  readonly context: C;
18
- } & Record<string, (...args: any[]) => Machine<any>>;
31
+ } & T;
19
32
  /**
20
33
  * The shape of an asynchronous machine, where transitions can return Promises.
21
34
  * Async transitions receive an AbortSignal as the last parameter for cancellation support.
22
35
  * @template C - The context object type.
23
36
  */
24
- export type AsyncMachine<C extends object> = {
25
- /** The readonly state of the machine. */
37
+ export type AsyncMachine<C extends object, T extends object = {}> = {
26
38
  readonly context: C;
27
- } & Record<string, (...args: any[]) => MaybePromise<AsyncMachine<any>>>;
39
+ } & T;
28
40
  /**
29
41
  * Utility type to extract the parameters of an async transition function,
30
42
  * which includes TransitionOptions as the last parameter.
31
43
  */
32
- export type AsyncTransitionArgs<M extends AsyncMachine<any>, K extends keyof M & string> = M[K] extends (...args: infer A) => any ? A extends [...infer Rest, TransitionOptions] ? Rest : A : never;
44
+ export type AsyncTransitionArgs<M extends AsyncMachine<any, any>, K extends keyof M & string> = M[K] extends (...a: infer A) => any ? A extends [...infer Rest, TransitionOptions] ? Rest : A : never;
33
45
  /**
34
46
  * Options passed to async transition functions, including cancellation support.
35
47
  */
@@ -88,6 +100,12 @@ export type DeepReadonly<T> = {
88
100
  * type MyMachine = InferMachine<typeof factory>; // Extracts the return type
89
101
  */
90
102
  export type InferMachine<F extends (...args: any[]) => any> = ReturnType<F>;
103
+ export type EventFromTransitions<T extends Record<string, (...args: any[]) => any>> = {
104
+ [K in keyof T & string]: {
105
+ type: K;
106
+ args: T[K] extends (...a: infer A) => any ? A : never;
107
+ };
108
+ }[keyof T & string];
91
109
  /**
92
110
  * A discriminated union type representing an event that can be dispatched to a machine.
93
111
  * This is automatically generated from a machine's type signature, ensuring full type safety.
@@ -102,6 +120,167 @@ export type Event<M extends BaseMachine<any>> = {
102
120
  args: A;
103
121
  } : never;
104
122
  }[keyof Omit<M, "context"> & string];
123
+ /**
124
+ * A helper type for use with TypeScript's `satisfies` operator to provide
125
+ * strong, immediate type-checking for standalone transition objects.
126
+ *
127
+ * This solves the "chicken-and-egg" problem where you need the final machine
128
+ * type to correctly type the transitions object, but you need the transitions
129
+ * object to create the machine. By forward-declaring the machine type and using
130
+ * `satisfies TransitionsFor<...>`, you get full IntelliSense and error-checking
131
+ * at the exact location of your transition definitions.
132
+ *
133
+ * @template C The context object type for the machine.
134
+ * @template T The literal type of the transitions object itself (`typeof myTransitions`).
135
+ *
136
+ * @example
137
+ * import { createMachine, Machine, TransitionsFor } from '@doeixd/machine';
138
+ *
139
+ * // 1. Define the context for your machine.
140
+ * type CounterContext = { count: number };
141
+ *
142
+ * // 2. Forward-declare the final machine type. This is the key step that
143
+ * // breaks the circular dependency for the type checker.
144
+ * type CounterMachine = Machine<CounterContext> & typeof counterTransitions;
145
+ *
146
+ * // 3. Define the transitions object, using `satisfies` to apply the helper type.
147
+ * // This provides immediate type-checking and full autocompletion for `this`.
148
+ * const counterTransitions = {
149
+ * increment() {
150
+ * // `this` is now fully typed!
151
+ * // IntelliSense knows `this.count` is a number and
152
+ * // `this.transitions.add` is a function.
153
+ * return createMachine({ count: this.count + 1 }, this.transitions);
154
+ * },
155
+ * add(n: number) {
156
+ * return createMachine({ count: this.count + n }, this.transitions);
157
+ * },
158
+ * // ❌ TypeScript will immediately throw a compile error on the next line
159
+ * // because the return type 'string' does not satisfy 'Machine<any>'.
160
+ * invalidTransition() {
161
+ * return "this is not a machine";
162
+ * }
163
+ * } satisfies TransitionsFor<CounterContext, typeof counterTransitions>;
164
+ *
165
+ * // 4. Create the machine instance. The `createMachine` call is now
166
+ * // guaranteed to be type-safe because `counterTransitions` has already
167
+ * // been validated.
168
+ * export function createCounter(initialCount = 0): CounterMachine {
169
+ * return createMachine({ count: initialCount }, counterTransitions);
170
+ * }
171
+ */
172
+ export type TransitionsFor<C extends object, T extends Record<string, any>> = {
173
+ [K in keyof T]: (this: C & {
174
+ transitions: T;
175
+ }, ...args: Parameters<T[K] extends (...a: infer A) => any ? (...a: A) => any : never>) => Machine<any, any>;
176
+ };
177
+ /**
178
+ * A helper type for use with the `satisfies` operator to provide strong
179
+ * type-checking for standalone asynchronous transition objects.
180
+ */
181
+ export type AsyncTransitionsFor<C extends object, T extends Record<string, any>> = {
182
+ [K in keyof T]: (this: C & {
183
+ transitions: T;
184
+ }, ...args: Parameters<T[K] extends (...a: infer A) => any ? (...a: A) => any : never>) => MaybePromise<AsyncMachine<any, any>>;
185
+ };
186
+ /**
187
+ * A mapped type that iterates over a transitions object `T` and keeps only the
188
+ * keys whose functions return a valid `Machine`. This provides a "self-correcting"
189
+ * type that prevents the definition of invalid transitions at compile time.
190
+ *
191
+ * It acts as a filter at the type level. When used in the return type of a
192
+ * function like `createMachine`, it ensures that the resulting machine object
193
+ * will not have any properties corresponding to functions that were defined
194
+ * with an incorrect return type. This provides immediate, precise feedback to
195
+ * the developer, making it impossible to create a machine with an invalid
196
+ * transition shape.
197
+ *
198
+ * @template T The raw transitions object type provided by the user.
199
+ *
200
+ * @example
201
+ * import { createMachine, Machine } from '@doeixd/machine';
202
+ *
203
+ * const machine = createMachine({ value: 'A' }, {
204
+ * // This is a valid transition because it returns a `Machine`.
205
+ * // The key 'goToB' will be PRESERVED in the final type.
206
+ * goToB() {
207
+ * return createMachine({ value: 'B' }, this.transitions);
208
+ * },
209
+ *
210
+ * // This is an INVALID transition because it returns a string.
211
+ * // The key 'invalid' will be OMITTED from the final type.
212
+ * invalid() {
213
+ * return "This is not a Machine object";
214
+ * },
215
+ *
216
+ * // This is also invalid as it's not a function.
217
+ * // The key 'alsoInvalid' will be OMITTED from the final type.
218
+ * alsoInvalid: 123
219
+ * });
220
+ *
221
+ * // --- USAGE ---
222
+ *
223
+ * // ✅ This call is valid and works as expected.
224
+ * const nextState = machine.goToB();
225
+ *
226
+ * // ❌ This line will cause a COMPILE-TIME a ERROR because the `FilterValidTransitions`
227
+ * // type has removed the 'invalid' key from the `machine`'s type signature.
228
+ * //
229
+ * // Error: Property 'invalid' does not exist on type
230
+ * // 'Machine<{ value: string; }> & { goToB: () => Machine<...>; }'.
231
+ * //
232
+ * machine.invalid();
233
+ */
234
+ export type FilterValidTransitions<T> = {
235
+ [K in keyof T as T[K] extends (...args: any[]) => Machine<any> ? K : never]: T[K];
236
+ };
237
+ /**
238
+ * A conditional type that intelligently extracts the pure transitions object `T`
239
+ * from the flexible second argument of `createMachine`.
240
+ *
241
+ * It handles three cases:
242
+ * 1. If the argument is the augmented `this` context (`C & { transitions: T }`), it extracts `T`.
243
+ * 2. If the argument is a factory function `((ctx: C) => T)`, it infers and returns `T`.
244
+ * 3. If the argument is already the pure transitions object `T`, it returns it as is.
245
+ */
246
+ export type ExtractTransitions<Arg, C extends object> = Arg extends (...args: any[]) => infer R ? R : Arg extends C & {
247
+ transitions: infer T;
248
+ } ? T : Arg;
249
+ /** Keep only keys whose value is a function that returns a Machine. */
250
+ export type ValidTransitions<T> = {
251
+ [K in keyof T as T[K] extends (...a: any[]) => Machine<any, any> ? K : never]: T[K] extends (...a: infer A) => Machine<infer C2, infer T2> ? (...a: A) => Machine<C2, T2> : never;
252
+ };
253
+ /** Same for async transitions (functions returning MaybePromise<AsyncMachine>). */
254
+ export type ValidAsyncTransitions<T> = {
255
+ [K in keyof T as T[K] extends (...a: any[]) => MaybePromise<AsyncMachine<any, any>> ? K : never]: T[K] extends (...a: infer A) => MaybePromise<AsyncMachine<infer C2, infer T2>> ? (...a: A) => MaybePromise<AsyncMachine<C2, T2>> : never;
256
+ };
257
+ /**
258
+ * Creates a synchronous state machine from a context and transition functions.
259
+ * This is the core factory for the functional approach.
260
+ *
261
+ * @template C - The context object type.
262
+ * @param context - The initial state context.
263
+ * @param fns - An object containing transition function definitions.
264
+ * @returns A new machine instance.
265
+ */
266
+ /**
267
+ * Helper to transform transition functions to be bound (no 'this' requirement).
268
+ */
269
+ export type BindTransitions<T> = {
270
+ [K in keyof T]: T[K] extends (this: any, ...args: infer A) => infer R ? (...args: A) => R : T[K];
271
+ };
272
+ /**
273
+ * Creates a synchronous state machine from a context and a factory function.
274
+ * This "Functional Builder" pattern allows for type-safe transitions without
275
+ * manually passing `this` or `transitions`.
276
+ *
277
+ * @template C - The context object type.
278
+ * @template T - The transitions object type.
279
+ * @param context - The initial state context.
280
+ * @param factory - A function that receives a `transition` helper and returns the transitions object.
281
+ * @returns A new machine instance.
282
+ */
283
+ export declare function createMachine<C extends object, T extends Record<string, (this: C, ...args: any[]) => any>>(context: C, factory: (transition: (newContext: C) => Machine<C, T>) => T): Machine<C, BindTransitions<T>>;
105
284
  /**
106
285
  * Creates a synchronous state machine from a context and transition functions.
107
286
  * This is the core factory for the functional approach.
@@ -111,9 +290,57 @@ export type Event<M extends BaseMachine<any>> = {
111
290
  * @param fns - An object containing transition function definitions.
112
291
  * @returns A new machine instance.
113
292
  */
114
- export declare function createMachine<C extends object, T extends Record<string, (this: C, ...args: any[]) => any>>(context: C, fns: T): {
293
+ export declare function createMachine<C extends object, T extends Record<string, (this: {
294
+ context: C;
295
+ } & T, ...args: any[]) => any> & {
296
+ context?: any;
297
+ }>(context: C, fns: T): {
115
298
  context: C;
116
299
  } & T;
300
+ /**
301
+ * Creates a synchronous state machine by copying context and transitions from an existing machine.
302
+ * This is useful for creating a new machine with updated context but the same transitions.
303
+ *
304
+ * @template C - The context object type.
305
+ * @template M - The machine type to copy transitions from.
306
+ * @param context - The new context.
307
+ * @param machine - The machine to copy transitions from.
308
+ * @returns A new machine instance with the given context and copied transitions.
309
+ */
310
+ export declare function createMachine<C extends object, M extends BaseMachine<C>>(context: C, machine: M): Machine<C, Transitions<M>>;
311
+ /**
312
+ * Creates a synchronous state machine from a context and transition functions that expect `this` to be the context object.
313
+ * This is used internally by utilities that need to bind transitions to context objects.
314
+ *
315
+ * @template C - The context object type.
316
+ * @param context - The initial state context.
317
+ * @param fns - An object containing transition function definitions that expect `this` to be the context.
318
+ * @returns A new machine instance.
319
+ */
320
+ export declare function createMachine<C extends object, T extends Record<string, (this: C, ...args: any[]) => any>>(context: C, fns: T): Machine<C, T>;
321
+ /**
322
+ * Creates an asynchronous state machine from a context and a factory function.
323
+ * This "Functional Builder" pattern allows for type-safe transitions without
324
+ * manually passing `this` or `transitions`.
325
+ *
326
+ * @template C - The context object type.
327
+ * @template T - The transitions object type.
328
+ * @param context - The initial state context.
329
+ * @param factory - A function that receives a `transition` helper and returns the transitions object.
330
+ * @returns A new async machine instance.
331
+ */
332
+ export declare function createAsyncMachine<C extends object, T extends Record<string, (this: C, ...args: any[]) => any>>(context: C, factory: (transition: (newContext: C) => AsyncMachine<C, T>) => T): AsyncMachine<C, BindTransitions<T>>;
333
+ /**
334
+ * Creates an asynchronous state machine by copying context and transitions from an existing machine.
335
+ * This is useful for creating a new machine with updated context but the same transitions.
336
+ *
337
+ * @template C - The context object type.
338
+ * @template M - The machine type to copy transitions from.
339
+ * @param context - The new context.
340
+ * @param machine - The machine to copy transitions from.
341
+ * @returns A new async machine instance with the given context and copied transitions.
342
+ */
343
+ export declare function createAsyncMachine<C extends object, M extends BaseMachine<C>>(context: C, machine: M): AsyncMachine<C, Transitions<M>>;
117
344
  /**
118
345
  * Creates an asynchronous state machine from a context and async transition functions.
119
346
  *
@@ -122,9 +349,7 @@ export declare function createMachine<C extends object, T extends Record<string,
122
349
  * @param fns - An object containing async transition function definitions.
123
350
  * @returns A new async machine instance.
124
351
  */
125
- export declare function createAsyncMachine<C extends object, T extends Record<string, (this: C, ...args: any[]) => any>>(context: C, fns: T): {
126
- context: C;
127
- } & T;
352
+ export declare function createAsyncMachine<C extends object, T extends Record<string, (this: C, ...args: any[]) => any>>(context: C, fns: T): AsyncMachine<C, T>;
128
353
  /**
129
354
  * Creates a machine factory - a higher-order function that simplifies machine creation.
130
355
  * Instead of writing transition logic that creates new machines, you just write
@@ -142,7 +367,7 @@ export declare function createAsyncMachine<C extends object, T extends Record<st
142
367
  * const counter = counterFactory({ count: 0 });
143
368
  * const next = counter.increment(); // Returns new machine with count: 1
144
369
  */
145
- export declare function createMachineFactory<C extends object>(): <T extends Record<string, (ctx: C, ...args: any[]) => C>>(transformers: T) => (initialContext: C) => Machine<C> & { [K in keyof T]: (this: C, ...args: T[K] extends (ctx: C, ...args: infer A) => C ? A : never) => Machine<C>; };
370
+ export declare function createMachineFactory<C extends object>(): <T extends Record<string, (ctx: C, ...args: any[]) => C>>(transformers: T) => (initialContext: C) => Machine<C> & { [K in keyof T]: (this: Machine<C>, ...args: T[K] extends (ctx: C, ...args: infer A) => C ? A : never) => MaybePromise<Machine<C>>; };
146
371
  /**
147
372
  * Creates a new machine instance with an updated context, preserving all original transitions.
148
373
  * This is the primary, type-safe utility for applying state changes.
@@ -396,13 +621,11 @@ export type MachineLike<C extends object> = Machine<C> | Promise<Machine<C>>;
396
621
  export type MachineResult<C extends object> = Machine<C> | [Machine<C>, () => void | Promise<void>];
397
622
  export { run, step, yieldMachine, runSequence, createFlow, runWithDebug, runAsync, stepAsync } from './generators';
398
623
  export { transitionTo, describe, guarded, guard, guardAsync, whenGuard, whenGuardAsync, invoke, action, metadata, META_KEY, type TransitionMeta, type GuardMeta, type InvokeMeta, type ActionMeta, type ClassConstructor, type WithMeta, type GuardOptions, type GuardFallback, type GuardedTransition } from './primitives';
399
- export { extractMachine, extractMachines, generateChart, type MachineConfig, type ExtractionConfig } from './extract';
400
- export { extractFunctionMetadata, extractStateNode, generateStatechart, extractFromInstance } from './runtime-extract';
401
- export { RUNTIME_META, type RuntimeTransitionMeta } from './primitives';
624
+ export type { MachineConfig, ExtractionConfig } from './extract';
402
625
  export * from './multi';
403
626
  export * from './higher-order';
404
627
  export * from './extract';
405
- export { createMiddleware, withLogging, withAnalytics, withValidation, withPermissions, withErrorReporting, withPerformanceMonitoring, withRetry, withHistory, withSnapshot, withTimeTravel, compose, composeTyped, createPipeline, createMiddlewareRegistry, when, inDevelopment, whenContext, combine, branch, isMiddlewareFn, isConditionalMiddleware, createCustomMiddleware, type MiddlewareHooks, type MiddlewareOptions, type MiddlewareContext, type MiddlewareResult, type MiddlewareError, type HistoryEntry, type ContextSnapshot, type Serializer, type MiddlewareFn, type ConditionalMiddleware, type NamedMiddleware, type PipelineConfig, type PipelineResult, chain, withDebugging } from './middleware';
628
+ export * from './middleware/index';
406
629
  export { isState, createEvent, createTransition, mergeContext, pipeTransitions, logState, call, bindTransitions, BoundMachine } from './utils';
407
- export { createTransitionFactory, createTransitionExtender, createFunctionalMachine } from './functional-combinators';
630
+ export { createTransitionFactory, createTransitionExtender, createFunctionalMachine, state } from './functional-combinators';
408
631
  //# sourceMappingURL=index.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/index.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/index.ts"],"names":[],"mappings":"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"}