@typeonce/effect-machine 0.7.0 → 0.9.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/README.md +85 -24
- package/dist/Machine.d.ts +545 -444
- package/dist/Machine.d.ts.map +1 -1
- package/dist/Machine.js +69 -172
- package/dist/Machine.js.map +1 -1
- package/dist/internal/machine/activities.d.ts +5 -12
- package/dist/internal/machine/activities.d.ts.map +1 -1
- package/dist/internal/machine/activities.js +47 -17
- package/dist/internal/machine/activities.js.map +1 -1
- package/dist/internal/machine/atom.d.ts +10 -4
- package/dist/internal/machine/atom.d.ts.map +1 -1
- package/dist/internal/machine/atom.js.map +1 -1
- package/dist/internal/machine/configuration.d.ts.map +1 -1
- package/dist/internal/machine/configuration.js +103 -20
- package/dist/internal/machine/configuration.js.map +1 -1
- package/dist/internal/machine/executionPlan.d.ts.map +1 -1
- package/dist/internal/machine/executionPlan.js +31 -0
- package/dist/internal/machine/executionPlan.js.map +1 -1
- package/dist/internal/machine/invocation.d.ts +10 -2
- package/dist/internal/machine/invocation.d.ts.map +1 -1
- package/dist/internal/machine/invocation.js +93 -34
- package/dist/internal/machine/invocation.js.map +1 -1
- package/dist/internal/machine/invocationEvent.d.ts +39 -0
- package/dist/internal/machine/invocationEvent.d.ts.map +1 -0
- package/dist/internal/machine/invocationEvent.js +43 -0
- package/dist/internal/machine/invocationEvent.js.map +1 -0
- package/dist/internal/machine/machine.d.ts +6 -50
- package/dist/internal/machine/machine.d.ts.map +1 -1
- package/dist/internal/machine/machine.js +30 -81
- package/dist/internal/machine/machine.js.map +1 -1
- package/dist/internal/machine/planner.d.ts +12 -1
- package/dist/internal/machine/planner.d.ts.map +1 -1
- package/dist/internal/machine/planner.js +90 -37
- package/dist/internal/machine/planner.js.map +1 -1
- package/dist/internal/machine/protocol.d.ts +9 -0
- package/dist/internal/machine/protocol.d.ts.map +1 -1
- package/dist/internal/machine/protocol.js +114 -0
- package/dist/internal/machine/protocol.js.map +1 -1
- package/dist/internal/machine/serialization.d.ts.map +1 -1
- package/dist/internal/machine/serialization.js +53 -21
- package/dist/internal/machine/serialization.js.map +1 -1
- package/dist/internal/machine/stateDefinition.d.ts +4 -4
- package/dist/internal/machine/stateDefinition.d.ts.map +1 -1
- package/dist/internal/machine/stateDefinition.js +18 -11
- package/dist/internal/machine/stateDefinition.js.map +1 -1
- package/dist/internal/machine/symbols.d.ts +2 -0
- package/dist/internal/machine/symbols.d.ts.map +1 -1
- package/dist/internal/machine/symbols.js +2 -0
- package/dist/internal/machine/symbols.js.map +1 -1
- package/dist/internal/machine/topology.d.ts +5 -5
- package/dist/internal/machine/topology.d.ts.map +1 -1
- package/dist/internal/machine/topology.js +39 -13
- package/dist/internal/machine/topology.js.map +1 -1
- package/dist/internal/testing/machine/verification.d.ts.map +1 -1
- package/dist/internal/testing/machine/verification.js +10 -3
- package/dist/internal/testing/machine/verification.js.map +1 -1
- package/dist/unstable/reactivity/AtomMachine.d.ts +11 -5
- package/dist/unstable/reactivity/AtomMachine.d.ts.map +1 -1
- package/dist/unstable/reactivity/AtomMachine.js.map +1 -1
- package/docs/agent-guide.md +174 -121
- package/package.json +3 -3
- package/src/Machine.ts +1336 -872
- package/src/internal/machine/activities.ts +48 -33
- package/src/internal/machine/atom.ts +13 -6
- package/src/internal/machine/configuration.ts +102 -23
- package/src/internal/machine/executionPlan.ts +35 -0
- package/src/internal/machine/invocation.ts +180 -49
- package/src/internal/machine/invocationEvent.ts +72 -0
- package/src/internal/machine/machine.ts +105 -403
- package/src/internal/machine/planner.ts +110 -48
- package/src/internal/machine/protocol.ts +149 -0
- package/src/internal/machine/serialization.ts +56 -31
- package/src/internal/machine/stateDefinition.ts +22 -11
- package/src/internal/machine/symbols.ts +3 -0
- package/src/internal/machine/topology.ts +44 -18
- package/src/internal/testing/machine/verification.ts +13 -3
- package/src/unstable/reactivity/AtomMachine.ts +12 -5
package/dist/Machine.js
CHANGED
|
@@ -13,6 +13,7 @@ import { InitialEventTypeId } from "./internal/machine/machine.js";
|
|
|
13
13
|
* @since 0.4.0
|
|
14
14
|
*/
|
|
15
15
|
export const TypeId = "~effect/Machine";
|
|
16
|
+
const ChildMachineLogicTypeId = internal.ChildMachineLogicTypeId;
|
|
16
17
|
/**
|
|
17
18
|
* Type identifier used for the synthetic event passed to startup lifecycle
|
|
18
19
|
* actions.
|
|
@@ -126,7 +127,9 @@ export const isFinal = internal.isFinal;
|
|
|
126
127
|
*
|
|
127
128
|
* The returned `states` property is the same object passed to `defineStates`.
|
|
128
129
|
* The returned `initial` builder creates snapshots without user-authored path
|
|
129
|
-
* strings and enforces compound and parallel initial-state rules.
|
|
130
|
+
* strings and enforces compound and parallel initial-state rules. Active nodes
|
|
131
|
+
* may omit `schema` when they own no value; those builders expose `.from(...)`
|
|
132
|
+
* and still participate fully in targeting, matching, and snapshots.
|
|
130
133
|
*
|
|
131
134
|
* **Example** (Atomic initial snapshot)
|
|
132
135
|
*
|
|
@@ -161,8 +164,8 @@ export const defineStates = internal.defineStates;
|
|
|
161
164
|
* to implement state behavior with ordinary TypeScript control flow.
|
|
162
165
|
*
|
|
163
166
|
* Schemas in `events` define the public input protocol. Schemas in
|
|
164
|
-
* `internalEvents` are added to the complete handler protocol for
|
|
165
|
-
*
|
|
167
|
+
* `internalEvents` are added to the complete handler protocol for raised
|
|
168
|
+
* events, child emissions, and other machine-local deliveries. Their tags
|
|
166
169
|
* must be disjoint.
|
|
167
170
|
*
|
|
168
171
|
* **Example** (Typed counter machine)
|
|
@@ -211,6 +214,9 @@ export const make = internal.make;
|
|
|
211
214
|
* Events supplied through ordinary `send` and `plan` calls remain untrusted
|
|
212
215
|
* and continue through full runtime schema validation.
|
|
213
216
|
* Treat the returned event as immutable after construction.
|
|
217
|
+
* This eager low-level constructor throws `MachineSchemaDecodeError` when
|
|
218
|
+
* construction fails. Prefer {@link events} and {@link internalEvents} for
|
|
219
|
+
* ordinary delivery so construction remains inside the machine error channel.
|
|
214
220
|
*
|
|
215
221
|
* The schema must be one of the machine's configured public or internal event
|
|
216
222
|
* schemas, or a case schema belonging to a configured `Schema.TaggedUnion`.
|
|
@@ -240,6 +246,37 @@ export const make = internal.make;
|
|
|
240
246
|
* @since 0.4.0
|
|
241
247
|
*/
|
|
242
248
|
export const event = internal.event;
|
|
249
|
+
/**
|
|
250
|
+
* Returns deferred constructors for every public event in a machine protocol.
|
|
251
|
+
*
|
|
252
|
+
* Constructor inputs retain their schema-derived required fields, defaults,
|
|
253
|
+
* and transformations. Construction is deferred until delivery so failures
|
|
254
|
+
* enter the machine's `MachineSchemaDecodeError` channel rather than throwing
|
|
255
|
+
* at the call site.
|
|
256
|
+
*
|
|
257
|
+
* **Example**
|
|
258
|
+
*
|
|
259
|
+
* ```ts
|
|
260
|
+
* const Event = Machine.events(counter)
|
|
261
|
+
* yield* ref.send(Event.Increment({ by: 1 }))
|
|
262
|
+
* ```
|
|
263
|
+
*
|
|
264
|
+
* @category constructors
|
|
265
|
+
* @since 0.9.0
|
|
266
|
+
*/
|
|
267
|
+
export const events = internal.events;
|
|
268
|
+
/**
|
|
269
|
+
* Returns deferred constructors for every internal event in a machine
|
|
270
|
+
* protocol.
|
|
271
|
+
*
|
|
272
|
+
* Use these constructors for raised events and other machine-local deliveries.
|
|
273
|
+
* Construction failures are reported through the
|
|
274
|
+
* owning machine's `MachineSchemaDecodeError` channel.
|
|
275
|
+
*
|
|
276
|
+
* @category constructors
|
|
277
|
+
* @since 0.9.0
|
|
278
|
+
*/
|
|
279
|
+
export const internalEvents = internal.internalEvents;
|
|
243
280
|
/**
|
|
244
281
|
* Encodes a decoded machine snapshot into a normalized data representation.
|
|
245
282
|
*
|
|
@@ -334,107 +371,37 @@ export const encodeSnapshot = internal.encodeSnapshot;
|
|
|
334
371
|
*/
|
|
335
372
|
export const decodeSnapshot = internal.decodeSnapshot;
|
|
336
373
|
/**
|
|
337
|
-
*
|
|
338
|
-
*
|
|
339
|
-
* **When to use**
|
|
340
|
-
*
|
|
341
|
-
* Use to run a child process while a machine remains in a state. Successful
|
|
342
|
-
* outputs are sent directly to the parent machine as events; `void` sends
|
|
343
|
-
* nothing. Unrecovered child failures fail the owning machine. Active
|
|
344
|
-
* snapshots can optionally be mapped to progress events.
|
|
345
|
-
*
|
|
346
|
-
* **Gotchas**
|
|
374
|
+
* Preserves inference for a state-owned invocation configuration.
|
|
347
375
|
*
|
|
348
|
-
*
|
|
349
|
-
*
|
|
350
|
-
*
|
|
351
|
-
*
|
|
352
|
-
* send events to the invocation, pass a typed `childAddress` as `address`.
|
|
353
|
-
* The `src` callback is intentionally independent from its parent state. When
|
|
354
|
-
* construction depends on the typed state, lifecycle event, or runtime, use
|
|
355
|
-
* the state config factory form `invoke: (context) => Machine.invoke(...)` and
|
|
356
|
-
* close over that context from `src`.
|
|
376
|
+
* Use `effect` for one-shot work, `after` for a cancellable timer, `logic` for
|
|
377
|
+
* reusable process logic, or `child` for a complete child machine. `onDone` is
|
|
378
|
+
* required whenever the source can complete with an output, while `onFailure`
|
|
379
|
+
* is required only when the source has a typed failure channel.
|
|
357
380
|
*
|
|
358
|
-
*
|
|
381
|
+
* This constructor is an identity at runtime, but preserves lifecycle callback
|
|
382
|
+
* inference through published declarations. Effects and durations may be
|
|
383
|
+
* supplied directly or derived from the owning state's entry context. Dynamic
|
|
384
|
+
* Effect sources infer the owner context, output, error, and service channels
|
|
385
|
+
* together without a return annotation. Logic invocations require both a
|
|
386
|
+
* lifecycle `id` and a typed communication `address`. Child descriptors already
|
|
387
|
+
* own their identity, so `id` and `address` must not be repeated.
|
|
359
388
|
*
|
|
360
389
|
* ```ts
|
|
361
|
-
*
|
|
362
|
-
* import { Machine } from "@typeonce/effect-machine"
|
|
363
|
-
*
|
|
364
|
-
* class Loaded extends Schema.TaggedClass<Loaded>("Loaded")("Loaded", {
|
|
365
|
-
* value: Schema.String
|
|
366
|
-
* }) {}
|
|
367
|
-
*
|
|
368
|
-
* const load = Machine.invoke({
|
|
390
|
+
* invoke: Machine.invoke({
|
|
369
391
|
* id: "load",
|
|
370
|
-
*
|
|
392
|
+
* effect: Effect.tryPromise({
|
|
393
|
+
* try: () => fetch("/api/data").then((response) => response.json()),
|
|
394
|
+
* catch: (cause) => new LoadError({ cause })
|
|
395
|
+
* }),
|
|
396
|
+
* onDone: ({ output, target }) => target.full.Ready({ data: output }),
|
|
397
|
+
* onFailure: ({ error, target }) => target.full.Failed({ error })
|
|
371
398
|
* })
|
|
372
399
|
* ```
|
|
373
400
|
*
|
|
374
|
-
* @see {@link effect} for one-shot child effects.
|
|
375
|
-
* @see {@link spawn} for children whose lifetime is controlled by actions.
|
|
376
401
|
* @category constructors
|
|
377
|
-
* @since 0.
|
|
402
|
+
* @since 0.9.0
|
|
378
403
|
*/
|
|
379
|
-
export const invoke =
|
|
380
|
-
/**
|
|
381
|
-
* Invokes one Effect and maps its typed outcome into machine-local events.
|
|
382
|
-
*
|
|
383
|
-
* **Details**
|
|
384
|
-
*
|
|
385
|
-
* This is the high-level one-shot counterpart to `invoke`. Success and typed
|
|
386
|
-
* failure values are mapped independently, so callers do not need to recover
|
|
387
|
-
* an Effect into a common event union by hand. Defects and interruption remain
|
|
388
|
-
* failures of the owning machine.
|
|
389
|
-
*
|
|
390
|
-
* Declare mapped outcomes in `internalEvents` unless they are also legitimate
|
|
391
|
-
* public commands.
|
|
392
|
-
*
|
|
393
|
-
* **Example**
|
|
394
|
-
*
|
|
395
|
-
* ```ts
|
|
396
|
-
* import { Effect, Schema } from "effect"
|
|
397
|
-
* import { Machine } from "@typeonce/effect-machine"
|
|
398
|
-
*
|
|
399
|
-
* class Loaded extends Schema.TaggedClass<Loaded>("Loaded")("Loaded", {
|
|
400
|
-
* value: Schema.String
|
|
401
|
-
* }) {}
|
|
402
|
-
*
|
|
403
|
-
* const load = Machine.invokeEffect({
|
|
404
|
-
* id: "load",
|
|
405
|
-
* effect: Effect.succeed("ready"),
|
|
406
|
-
* onSuccess: (value) => new Loaded({ value })
|
|
407
|
-
* })
|
|
408
|
-
* ```
|
|
409
|
-
*
|
|
410
|
-
* @see {@link invoke} for arbitrary child process logic.
|
|
411
|
-
* @see {@link after} for a state-scoped delayed event.
|
|
412
|
-
* @category constructors
|
|
413
|
-
* @since 0.4.0
|
|
414
|
-
*/
|
|
415
|
-
export const invokeEffect = internal.invokeEffect;
|
|
416
|
-
/**
|
|
417
|
-
* Creates a cancellable state-scoped delayed event.
|
|
418
|
-
*
|
|
419
|
-
* The timer starts when its owning state is entered and is interrupted when
|
|
420
|
-
* that state exits. The delayed value should normally be declared in
|
|
421
|
-
* `internalEvents`.
|
|
422
|
-
*
|
|
423
|
-
* **Example**
|
|
424
|
-
*
|
|
425
|
-
* ```ts
|
|
426
|
-
* import { Schema } from "effect"
|
|
427
|
-
* import { Machine } from "@typeonce/effect-machine"
|
|
428
|
-
*
|
|
429
|
-
* class TimedOut extends Schema.TaggedClass<TimedOut>("TimedOut")("TimedOut", {}) {}
|
|
430
|
-
*
|
|
431
|
-
* const timeout = Machine.after("5 seconds", new TimedOut({}))
|
|
432
|
-
* ```
|
|
433
|
-
*
|
|
434
|
-
* @category constructors
|
|
435
|
-
* @since 0.4.0
|
|
436
|
-
*/
|
|
437
|
-
export const after = internal.after;
|
|
404
|
+
export const invoke = ((config) => config);
|
|
438
405
|
/**
|
|
439
406
|
* Constructs another tagged case from compatible source fields.
|
|
440
407
|
*
|
|
@@ -449,32 +416,6 @@ export const after = internal.after;
|
|
|
449
416
|
* @since 0.4.0
|
|
450
417
|
*/
|
|
451
418
|
export const retag = internal.retag;
|
|
452
|
-
/**
|
|
453
|
-
* Creates an invoked child process from a complete statechart machine.
|
|
454
|
-
*
|
|
455
|
-
* **When to use**
|
|
456
|
-
*
|
|
457
|
-
* Use when a state should own another statechart machine and communicate with
|
|
458
|
-
* it through typed child events, emissions, snapshots, or terminal output.
|
|
459
|
-
*
|
|
460
|
-
* **Details**
|
|
461
|
-
*
|
|
462
|
-
* Child emissions are delivered directly to the parent as events. Active
|
|
463
|
-
* snapshots and terminal output can be mapped to parent events. The owning
|
|
464
|
-
* state controls the child lifetime.
|
|
465
|
-
*
|
|
466
|
-
* **Gotchas**
|
|
467
|
-
*
|
|
468
|
-
* Active invoked machines must have unique child addresses. A machine starts
|
|
469
|
-
* after its owning state's entry actions, so those actions cannot send events
|
|
470
|
-
* to a newly entered child. Unrecovered child failures fail the parent.
|
|
471
|
-
*
|
|
472
|
-
* @see {@link invoke} for invoking lower-level process logic.
|
|
473
|
-
* @see {@link sendTo} for sending events to the invoked machine.
|
|
474
|
-
* @category constructors
|
|
475
|
-
* @since 0.4.0
|
|
476
|
-
*/
|
|
477
|
-
export const invokeMachine = internal.invokeMachine;
|
|
478
419
|
/**
|
|
479
420
|
* Plans the initial state for a machine without executing actor commands.
|
|
480
421
|
*
|
|
@@ -551,10 +492,9 @@ export const transitionDefinitions = internal.transitionDefinitions;
|
|
|
551
492
|
*
|
|
552
493
|
* **Details**
|
|
553
494
|
*
|
|
554
|
-
* Static
|
|
555
|
-
*
|
|
556
|
-
*
|
|
557
|
-
* never evaluated during inspection.
|
|
495
|
+
* Static inline invocation definitions expose stable ownership and lifecycle
|
|
496
|
+
* metadata without serializing runtime values. Function-valued sources are
|
|
497
|
+
* represented as dynamic and are never evaluated during inspection.
|
|
558
498
|
*
|
|
559
499
|
* @category getters
|
|
560
500
|
* @since 0.4.0
|
|
@@ -625,49 +565,6 @@ export const enabled = internal.enabled;
|
|
|
625
565
|
* @since 0.4.0
|
|
626
566
|
*/
|
|
627
567
|
export const plan = internal.plan;
|
|
628
|
-
/**
|
|
629
|
-
* Creates a one-shot child process from an Effect.
|
|
630
|
-
*
|
|
631
|
-
* **When to use**
|
|
632
|
-
*
|
|
633
|
-
* Use when you need side effects that produce one typed output or error.
|
|
634
|
-
*
|
|
635
|
-
* **Details**
|
|
636
|
-
*
|
|
637
|
-
* The Effect may run arbitrary side effects. Its success value is the process
|
|
638
|
-
* output, its typed error is preserved, and its services are inferred. When
|
|
639
|
-
* invoked, the output is sent to the owning machine as an event unless it is
|
|
640
|
-
* `void`.
|
|
641
|
-
*
|
|
642
|
-
* **Gotchas**
|
|
643
|
-
*
|
|
644
|
-
* This process has no incoming event protocol. Its Effect runs once. Use
|
|
645
|
-
* `transition` for a process that receives events over time and `logic` for
|
|
646
|
-
* direct machine-local communication or intermediate snapshots.
|
|
647
|
-
*
|
|
648
|
-
* **Example** (Recover a child failure as output)
|
|
649
|
-
*
|
|
650
|
-
* ```ts
|
|
651
|
-
* import { Effect, Schema } from "effect"
|
|
652
|
-
* import { Machine } from "@typeonce/effect-machine"
|
|
653
|
-
*
|
|
654
|
-
* class LoadFailed extends Schema.TaggedClass<LoadFailed>("LoadFailed")("LoadFailed", {
|
|
655
|
-
* reason: Schema.String
|
|
656
|
-
* }) {}
|
|
657
|
-
*
|
|
658
|
-
* const load = Machine.effect(
|
|
659
|
-
* Effect.fail("unavailable").pipe(
|
|
660
|
-
* Effect.catch((reason) => Effect.succeed(new LoadFailed({ reason })))
|
|
661
|
-
* )
|
|
662
|
-
* )
|
|
663
|
-
* ```
|
|
664
|
-
*
|
|
665
|
-
* @see {@link transition} for event-driven state.
|
|
666
|
-
* @see {@link logic} for direct control over intermediate snapshots.
|
|
667
|
-
* @category constructors
|
|
668
|
-
* @since 0.4.0
|
|
669
|
-
*/
|
|
670
|
-
export const effect = internal.effect;
|
|
671
568
|
/**
|
|
672
569
|
* Creates advanced stateful process logic from explicit initialization and
|
|
673
570
|
* execution methods.
|
|
@@ -689,9 +586,9 @@ export const effect = internal.effect;
|
|
|
689
586
|
* This is the low-level process constructor. Parent messages sent directly
|
|
690
587
|
* through its scope are intentionally `unknown` because the logic does not know
|
|
691
588
|
* which machine will eventually own it. Prefer typed output, typed child
|
|
692
|
-
* addresses, or
|
|
589
|
+
* addresses, or invocation lifecycle transitions when possible.
|
|
693
590
|
*
|
|
694
|
-
*
|
|
591
|
+
* Use an inline `invoke` with an `effect` source for one-shot work.
|
|
695
592
|
* @see {@link transition} for event-driven state.
|
|
696
593
|
* @category constructors
|
|
697
594
|
* @since 0.4.0
|
|
@@ -722,7 +619,7 @@ export const logic = internal.logic;
|
|
|
722
619
|
* )
|
|
723
620
|
* ```
|
|
724
621
|
*
|
|
725
|
-
*
|
|
622
|
+
* Use an inline `invoke` with an `effect` source for one-shot work.
|
|
726
623
|
* @see {@link logic} for direct process lifecycle control.
|
|
727
624
|
* @category constructors
|
|
728
625
|
* @since 0.4.0
|
|
@@ -847,8 +744,8 @@ export const start = internal.start;
|
|
|
847
744
|
* entry or transition actions, re-deliver raised or emitted events, or
|
|
848
745
|
* re-evaluate historical completion and eventless transitions. Active-state
|
|
849
746
|
* invokes start once in ancestor and document order with {@link InitialEvent};
|
|
850
|
-
*
|
|
851
|
-
* from their own initial state.
|
|
747
|
+
* timer invocations restart their complete duration and child-machine
|
|
748
|
+
* invocations start from their own initial state.
|
|
852
749
|
*
|
|
853
750
|
* Only logical state, completion, and history metadata are resumed. Queues,
|
|
854
751
|
* scopes, subscriptions, fibers, spawned children, invoke progress, and prior
|
package/dist/Machine.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Machine.js","sourceRoot":"","sources":["../src/Machine.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAOH,OAAO,EAAE,WAAW,EAAE,MAAM,kBAAkB,CAAA;AAc9C,OAAO,KAAK,QAAQ,MAAM,+BAA+B,CAAA;AACzD,OAAO,EAAE,kBAAkB,EAAE,MAAM,+BAA+B,CAAA;AAelE;;;;;GAKG;AACH,MAAM,CAAC,MAAM,MAAM,GAAW,iBAAiB,CAAA;
|
|
1
|
+
{"version":3,"file":"Machine.js","sourceRoot":"","sources":["../src/Machine.ts"],"names":[],"mappings":"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"}
|
|
@@ -4,8 +4,6 @@
|
|
|
4
4
|
* @since 0.4.0
|
|
5
5
|
*/
|
|
6
6
|
/** @internal */
|
|
7
|
-
export declare const ActivityMetadataTypeId: unique symbol;
|
|
8
|
-
/** @internal */
|
|
9
7
|
export type StaticActivityMetadata = {
|
|
10
8
|
readonly type: "process";
|
|
11
9
|
} | {
|
|
@@ -16,8 +14,7 @@ export type StaticActivityMetadata = {
|
|
|
16
14
|
};
|
|
17
15
|
} | {
|
|
18
16
|
readonly type: "timer";
|
|
19
|
-
readonly duration: string;
|
|
20
|
-
readonly event: string;
|
|
17
|
+
readonly duration: string | "dynamic";
|
|
21
18
|
} | {
|
|
22
19
|
readonly type: "machine";
|
|
23
20
|
readonly child: {
|
|
@@ -26,13 +23,10 @@ export type StaticActivityMetadata = {
|
|
|
26
23
|
};
|
|
27
24
|
};
|
|
28
25
|
/** @internal */
|
|
29
|
-
export type ActivityDefinition<Source extends string = string> =
|
|
26
|
+
export type ActivityDefinition<Source extends string = string> = {
|
|
30
27
|
readonly source: Source;
|
|
31
28
|
readonly id: string;
|
|
32
|
-
} & StaticActivityMetadata
|
|
33
|
-
readonly source: Source;
|
|
34
|
-
readonly type: "dynamic";
|
|
35
|
-
};
|
|
29
|
+
} & StaticActivityMetadata;
|
|
36
30
|
interface InspectableMachine {
|
|
37
31
|
readonly handlers: unknown;
|
|
38
32
|
readonly stateNodes: {
|
|
@@ -46,9 +40,8 @@ interface InspectableMachine {
|
|
|
46
40
|
/**
|
|
47
41
|
* Collects state-owned activity descriptions without executing user code.
|
|
48
42
|
*
|
|
49
|
-
*
|
|
50
|
-
*
|
|
51
|
-
* definition order and descriptor array order.
|
|
43
|
+
* Source factories are inspected without execution. Static descriptors are
|
|
44
|
+
* returned in state definition order and descriptor array order.
|
|
52
45
|
*
|
|
53
46
|
* @internal
|
|
54
47
|
*/
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"activities.d.ts","sourceRoot":"","sources":["../../../src/internal/machine/activities.ts"],"names":[],"mappings":"AAAA;;;;GAIG;
|
|
1
|
+
{"version":3,"file":"activities.d.ts","sourceRoot":"","sources":["../../../src/internal/machine/activities.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAIH,gBAAgB;AAChB,MAAM,MAAM,sBAAsB,GAC9B;IACA,QAAQ,CAAC,IAAI,EAAE,SAAS,CAAA;CACzB,GACC;IACA,QAAQ,CAAC,IAAI,EAAE,QAAQ,CAAA;IACvB,QAAQ,CAAC,QAAQ,EAAE;QACjB,QAAQ,CAAC,OAAO,EAAE,SAAS,CAAA;QAC3B,QAAQ,CAAC,OAAO,EAAE,SAAS,GAAG,MAAM,CAAA;KACrC,CAAA;CACF,GACC;IACA,QAAQ,CAAC,IAAI,EAAE,OAAO,CAAA;IACtB,QAAQ,CAAC,QAAQ,EAAE,MAAM,GAAG,SAAS,CAAA;CACtC,GACC;IACA,QAAQ,CAAC,IAAI,EAAE,SAAS,CAAA;IACxB,QAAQ,CAAC,KAAK,EAAE;QACd,QAAQ,CAAC,EAAE,EAAE,MAAM,CAAA;QACnB,QAAQ,CAAC,SAAS,EAAE,MAAM,GAAG,IAAI,CAAA;KAClC,CAAA;CACF,CAAA;AAEH,gBAAgB;AAChB,MAAM,MAAM,kBAAkB,CAAC,MAAM,SAAS,MAAM,GAAG,MAAM,IAAI;IAC/D,QAAQ,CAAC,MAAM,EAAE,MAAM,CAAA;IACvB,QAAQ,CAAC,EAAE,EAAE,MAAM,CAAA;CACpB,GAAG,sBAAsB,CAAA;AAE1B,UAAU,kBAAkB;IAC1B,QAAQ,CAAC,QAAQ,EAAE,OAAO,CAAA;IAC1B,QAAQ,CAAC,UAAU,EAAE;QACnB,QAAQ,CAAC,MAAM,EAAE;YACf,MAAM,IAAI,QAAQ,CAAC;gBAAE,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAA;aAAE,CAAC,CAAA;SAC9C,CAAA;KACF,CAAA;CACF;AAwDD;;;;;;;GAOG;AACH,eAAO,MAAM,mBAAmB,GAAI,SAAS,kBAAkB,KAAG,aAAa,CAAC,kBAAkB,CAajG,CAAA"}
|
|
@@ -3,28 +3,61 @@
|
|
|
3
3
|
*
|
|
4
4
|
* @since 0.4.0
|
|
5
5
|
*/
|
|
6
|
-
|
|
7
|
-
export const ActivityMetadataTypeId = Symbol.for("effect/Machine/ActivityMetadata");
|
|
6
|
+
import * as Duration from "effect/Duration";
|
|
8
7
|
const isObject = (value) => (typeof value === "object" && value !== null) || typeof value === "function";
|
|
9
8
|
const getProperty = (value, key) => isObject(value) ? Reflect.get(value, key) : undefined;
|
|
10
|
-
const hasActivityMetadata = (value) => isObject(value) && typeof getProperty(value, "id") === "string" &&
|
|
11
|
-
isObject(getProperty(value, ActivityMetadataTypeId));
|
|
12
9
|
const appendStaticDefinition = (definitions, source, descriptor) => {
|
|
13
|
-
if (!
|
|
10
|
+
if (!isObject(descriptor))
|
|
11
|
+
return;
|
|
12
|
+
const child = getProperty(descriptor, "child");
|
|
13
|
+
if (isObject(child)) {
|
|
14
|
+
const id = getProperty(child, "id");
|
|
15
|
+
if (typeof id !== "string")
|
|
16
|
+
return;
|
|
17
|
+
const machine = getProperty(child, "machine");
|
|
18
|
+
const machineId = getProperty(machine, "id");
|
|
19
|
+
definitions.push({
|
|
20
|
+
source,
|
|
21
|
+
id,
|
|
22
|
+
type: "machine",
|
|
23
|
+
child: { id, machineId: typeof machineId === "string" ? machineId : null }
|
|
24
|
+
});
|
|
25
|
+
return;
|
|
26
|
+
}
|
|
27
|
+
const id = getProperty(descriptor, "id");
|
|
28
|
+
if (typeof id !== "string")
|
|
29
|
+
return;
|
|
30
|
+
if (Reflect.has(descriptor, "effect")) {
|
|
31
|
+
definitions.push({
|
|
32
|
+
source,
|
|
33
|
+
id,
|
|
34
|
+
type: "effect",
|
|
35
|
+
outcomes: {
|
|
36
|
+
success: "dynamic",
|
|
37
|
+
failure: Reflect.has(descriptor, "onFailure") ? "dynamic" : "none"
|
|
38
|
+
}
|
|
39
|
+
});
|
|
14
40
|
return;
|
|
15
41
|
}
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
|
|
42
|
+
if (Reflect.has(descriptor, "after")) {
|
|
43
|
+
const after = getProperty(descriptor, "after");
|
|
44
|
+
definitions.push({
|
|
45
|
+
source,
|
|
46
|
+
id,
|
|
47
|
+
type: "timer",
|
|
48
|
+
duration: typeof after === "function" ? "dynamic" : Duration.format(Duration.fromInputUnsafe(after))
|
|
49
|
+
});
|
|
50
|
+
return;
|
|
51
|
+
}
|
|
52
|
+
if (Reflect.has(descriptor, "logic")) {
|
|
53
|
+
definitions.push({ source, id, type: "process" });
|
|
54
|
+
}
|
|
21
55
|
};
|
|
22
56
|
/**
|
|
23
57
|
* Collects state-owned activity descriptions without executing user code.
|
|
24
58
|
*
|
|
25
|
-
*
|
|
26
|
-
*
|
|
27
|
-
* definition order and descriptor array order.
|
|
59
|
+
* Source factories are inspected without execution. Static descriptors are
|
|
60
|
+
* returned in state definition order and descriptor array order.
|
|
28
61
|
*
|
|
29
62
|
* @internal
|
|
30
63
|
*/
|
|
@@ -32,10 +65,7 @@ export const activityDefinitions = (machine) => {
|
|
|
32
65
|
const definitions = [];
|
|
33
66
|
for (const node of machine.stateNodes.byPath.values()) {
|
|
34
67
|
const invoke = getProperty(getProperty(machine.handlers, node.path), "invoke");
|
|
35
|
-
if (
|
|
36
|
-
definitions.push({ source: node.path, type: "dynamic" });
|
|
37
|
-
}
|
|
38
|
-
else if (Array.isArray(invoke)) {
|
|
68
|
+
if (Array.isArray(invoke)) {
|
|
39
69
|
for (const descriptor of invoke) {
|
|
40
70
|
appendStaticDefinition(definitions, node.path, descriptor);
|
|
41
71
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"activities.js","sourceRoot":"","sources":["../../../src/internal/machine/activities.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH,
|
|
1
|
+
{"version":3,"file":"activities.js","sourceRoot":"","sources":["../../../src/internal/machine/activities.ts"],"names":[],"mappings":"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"}
|
|
@@ -44,6 +44,12 @@ type SnapshotNode<State> = State extends Machine.Machine.AtomicSnapshot<string,
|
|
|
44
44
|
type SnapshotIdentifier<State> = SnapshotNode<State> extends infer Node ? Node extends {
|
|
45
45
|
readonly path: infer Path extends string;
|
|
46
46
|
} ? Path : never : never;
|
|
47
|
+
type ValuedSnapshotIdentifier<State> = SnapshotNode<State> extends infer Node ? Node extends {
|
|
48
|
+
readonly path: infer Path extends string;
|
|
49
|
+
readonly value: infer Value;
|
|
50
|
+
} ? [
|
|
51
|
+
Value
|
|
52
|
+
] extends [undefined] ? never : Path : never : never;
|
|
47
53
|
type SnapshotValueByIdentifier<State, Path extends SnapshotIdentifier<State>> = SnapshotNode<State> extends infer Node ? Node extends {
|
|
48
54
|
readonly path: Path;
|
|
49
55
|
readonly value: infer Value;
|
|
@@ -52,9 +58,9 @@ type SnapshotByIdentifier<State, Path extends SnapshotIdentifier<State>> = Snaps
|
|
|
52
58
|
readonly path: Path;
|
|
53
59
|
} ? Node : never : never;
|
|
54
60
|
type ChildState<Child extends Machine.ChildMachine.Any> = RefState<Machine.ChildMachine.Ref<Child>>;
|
|
55
|
-
export declare const select: <State extends Machine.Machine.AtomicSnapshot<string, unknown>, Event, Error, Output, StartError, const Path extends
|
|
61
|
+
export declare const select: <State extends Machine.Machine.AtomicSnapshot<string, unknown>, Event, Error, Output, StartError, const Path extends ValuedSnapshotIdentifier<State>>(self: MachineAtom<State, Event, Error, Output, StartError>, path: Path) => Atom.Atom<AsyncResult.AsyncResult<Option.Option<SnapshotValueByIdentifier<State, Path>>, StartError | Error>>;
|
|
56
62
|
export declare const selectSnapshot: <State extends Machine.Machine.AtomicSnapshot<string, unknown>, Event, Error, Output, StartError, const Path extends SnapshotIdentifier<State>>(self: MachineAtom<State, Event, Error, Output, StartError>, path: Path) => Atom.Atom<AsyncResult.AsyncResult<Option.Option<SnapshotByIdentifier<State, Path>>, StartError | Error>>;
|
|
57
|
-
export declare const selectChild: <Child extends Machine.ChildMachine.Any, StartError, const Path extends
|
|
63
|
+
export declare const selectChild: <Child extends Machine.ChildMachine.Any, StartError, const Path extends ValuedSnapshotIdentifier<ChildState<Child>>>(self: ChildMachineAtom<Child, StartError>, path: Path) => Atom.Atom<AsyncResult.AsyncResult<Option.Option<SnapshotValueByIdentifier<ChildState<Child>, Path>>, StartError | RefError<Machine.ChildMachine.Ref<Child>>>>;
|
|
58
64
|
export declare const selectSnapshotChild: <Child extends Machine.ChildMachine.Any, StartError, const Path extends SnapshotIdentifier<ChildState<Child>>>(self: ChildMachineAtom<Child, StartError>, path: Path) => Atom.Atom<AsyncResult.AsyncResult<Option.Option<SnapshotByIdentifier<ChildState<Child>, Path>>, StartError | RefError<Machine.ChildMachine.Ref<Child>>>>;
|
|
59
65
|
export declare const matches: <State extends Machine.Machine.AtomicSnapshot<string, unknown>, Event, Error, Output, StartError, const Path extends SnapshotIdentifier<State>>(self: MachineAtom<State, Event, Error, Output, StartError>, path: Path) => Atom.Atom<AsyncResult.AsyncResult<boolean, StartError | Error>>;
|
|
60
66
|
export declare const matchesChild: <Child extends Machine.ChildMachine.Any, StartError, const Path extends SnapshotIdentifier<ChildState<Child>>>(self: ChildMachineAtom<Child, StartError>, path: Path) => Atom.Atom<AsyncResult.AsyncResult<boolean, StartError | RefError<Machine.ChildMachine.Ref<Child>>>>;
|
|
@@ -62,9 +68,9 @@ type MachineResumeRequirementsOf<M extends Machine.Machine.Any> = MachineResumeR
|
|
|
62
68
|
type EnsureMachineExecutable<M extends Machine.Machine.Any> = IsAny<Machine.Machine.States<M>> extends true ? {
|
|
63
69
|
readonly "~effect/reactivity/AtomMachine/ConcreteMachineRequired": M;
|
|
64
70
|
} : EnsureExecutable<Machine.Machine.States<M>, Machine.Machine.UnhandledStates<M>, Machine.Machine.OutputStates<M>>;
|
|
65
|
-
type ResumedMachineAtomOf<M extends Machine.Machine.Any, RuntimeError> = MachineAtom<Machine.Machine.Snapshot<Machine.Machine.States<M>>, Machine.Machine.InputEvent<M
|
|
71
|
+
type ResumedMachineAtomOf<M extends Machine.Machine.Any, RuntimeError> = MachineAtom<Machine.Machine.Snapshot<Machine.Machine.States<M>>, Machine.Machine.EventInput<Machine.Machine.InputEvent<M>>, MachineRuntimeError<Machine.Machine.Error<M>, Machine.Machine.Services<M>>, Machine.Machine.Output<M>, Machine.MachineSchemaDecodeError | RuntimeError>;
|
|
66
72
|
export declare const make: {
|
|
67
|
-
<const States extends Machine.Machine.StateSchemas, const Events extends ReadonlyArray<Machine.Machine.TaggedSchema>, const Emits extends ReadonlyArray<Machine.Machine.TaggedSchema> = any, const Input extends Schema.Top = typeof Schema.Void, UnhandledStates extends Machine.Machine.StateIdentifier<States> = Machine.Machine.StateIdentifier<States>, E = never, R = never, InitialE = never, InitialR = never, FinalStates extends Machine.Machine.StateIdentifier<States> = never, Output = never, OutputStates extends Machine.Machine.StateIdentifier<States> = never, InputEvents extends ReadonlyArray<Machine.Machine.TaggedSchema> = Events>(machine: Machine.Machine<States, Events, Input, UnhandledStates, E, R, InitialE, InitialR, FinalStates, Output, Emits, OutputStates, InputEvents> & EnsureNoExternalRequirements<MachineRequirements<InitialR, R, Machine.Machine.EventOf<Events>, Machine.Machine.EmitOf<Emits>>> & EnsureExecutable<States, UnhandledStates, OutputStates>, ...args: [...Machine.Machine.InputArgs<Input>]): MachineAtom<Machine.Machine.Snapshot<States>, Machine.Machine.
|
|
73
|
+
<const States extends Machine.Machine.StateSchemas, const Events extends ReadonlyArray<Machine.Machine.TaggedSchema>, const Emits extends ReadonlyArray<Machine.Machine.TaggedSchema> = any, const Input extends Schema.Top = typeof Schema.Void, UnhandledStates extends Machine.Machine.StateIdentifier<States> = Machine.Machine.StateIdentifier<States>, E = never, R = never, InitialE = never, InitialR = never, FinalStates extends Machine.Machine.StateIdentifier<States> = never, Output = never, OutputStates extends Machine.Machine.StateIdentifier<States> = never, InputEvents extends ReadonlyArray<Machine.Machine.TaggedSchema> = Events>(machine: Machine.Machine<States, Events, Input, UnhandledStates, E, R, InitialE, InitialR, FinalStates, Output, Emits, OutputStates, InputEvents> & EnsureNoExternalRequirements<MachineRequirements<InitialR, R, Machine.Machine.EventOf<Events>, Machine.Machine.EmitOf<Emits>>> & EnsureExecutable<States, UnhandledStates, OutputStates>, ...args: [...Machine.Machine.InputArgs<Input>]): MachineAtom<Machine.Machine.Snapshot<States>, Machine.Machine.EventInputOf<InputEvents>, MachineRuntimeError<E, R>, Output, MachineStartError<InitialE, E, InitialR, R>>;
|
|
68
74
|
};
|
|
69
75
|
export declare const resume: {
|
|
70
76
|
<M extends Machine.Machine.Any>(machine: M & EnsureNoExternalRequirements<MachineResumeRequirementsOf<NoInfer<M>>> & EnsureMachineExecutable<NoInfer<M>>, snapshot: Machine.Machine.Snapshot<Machine.Machine.States<M>>): ResumedMachineAtomOf<M, never>;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"atom.d.ts","sourceRoot":"","sources":["../../../src/internal/machine/atom.ts"],"names":[],"mappings":"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
|
|
1
|
+
{"version":3,"file":"atom.d.ts","sourceRoot":"","sources":["../../../src/internal/machine/atom.ts"],"names":[],"mappings":"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"}
|