@typeonce/effect-machine 0.9.0 → 0.11.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 +167 -28
- package/dist/Machine.d.ts +491 -283
- package/dist/Machine.d.ts.map +1 -1
- package/dist/Machine.js +74 -76
- package/dist/Machine.js.map +1 -1
- package/dist/internal/machine/atom.d.ts +7 -3
- package/dist/internal/machine/atom.d.ts.map +1 -1
- package/dist/internal/machine/atom.js +42 -6
- package/dist/internal/machine/atom.js.map +1 -1
- package/dist/internal/machine/cluster.d.ts.map +1 -1
- package/dist/internal/machine/cluster.js +2 -1
- package/dist/internal/machine/cluster.js.map +1 -1
- package/dist/internal/machine/command.js +2 -2
- package/dist/internal/machine/command.js.map +1 -1
- package/dist/internal/machine/commandRuntime.d.ts.map +1 -1
- package/dist/internal/machine/commandRuntime.js +6 -3
- package/dist/internal/machine/commandRuntime.js.map +1 -1
- package/dist/internal/machine/configuration.d.ts +8 -1
- package/dist/internal/machine/configuration.d.ts.map +1 -1
- package/dist/internal/machine/configuration.js +9 -4
- package/dist/internal/machine/configuration.js.map +1 -1
- package/dist/internal/machine/errors.d.ts +1 -1
- package/dist/internal/machine/errors.d.ts.map +1 -1
- package/dist/internal/machine/executionPlan.d.ts +3 -3
- package/dist/internal/machine/executionPlan.d.ts.map +1 -1
- package/dist/internal/machine/executionPlan.js +50 -25
- package/dist/internal/machine/executionPlan.js.map +1 -1
- package/dist/internal/machine/invocation.d.ts.map +1 -1
- package/dist/internal/machine/invocation.js +3 -2
- package/dist/internal/machine/invocation.js.map +1 -1
- package/dist/internal/machine/machine.d.ts +15 -19
- package/dist/internal/machine/machine.d.ts.map +1 -1
- package/dist/internal/machine/machine.js +16 -10
- package/dist/internal/machine/machine.js.map +1 -1
- package/dist/internal/machine/planner.d.ts +2 -1
- package/dist/internal/machine/planner.d.ts.map +1 -1
- package/dist/internal/machine/planner.js +61 -24
- package/dist/internal/machine/planner.js.map +1 -1
- package/dist/internal/machine/process.d.ts +3 -0
- package/dist/internal/machine/process.d.ts.map +1 -1
- package/dist/internal/machine/process.js +11 -8
- package/dist/internal/machine/process.js.map +1 -1
- package/dist/internal/machine/protocol.d.ts +7 -13
- package/dist/internal/machine/protocol.d.ts.map +1 -1
- package/dist/internal/machine/protocol.js +128 -50
- package/dist/internal/machine/protocol.js.map +1 -1
- package/dist/internal/machine/runtime.d.ts +22 -2
- package/dist/internal/machine/runtime.d.ts.map +1 -1
- package/dist/internal/machine/runtime.js +138 -10
- package/dist/internal/machine/runtime.js.map +1 -1
- package/dist/internal/machine/topology.d.ts +7 -0
- package/dist/internal/machine/topology.d.ts.map +1 -1
- package/dist/internal/machine/topology.js +6 -0
- package/dist/internal/machine/topology.js.map +1 -1
- package/dist/internal/testing/machine/finiteModel.js +1 -1
- package/dist/internal/testing/machine/finiteModel.js.map +1 -1
- package/dist/internal/testing/machine/runtime.d.ts.map +1 -1
- package/dist/internal/testing/machine/runtime.js +2 -1
- package/dist/internal/testing/machine/runtime.js.map +1 -1
- package/dist/internal/testing/machine/verification.d.ts.map +1 -1
- package/dist/internal/testing/machine/verification.js +5 -3
- package/dist/internal/testing/machine/verification.js.map +1 -1
- package/dist/testing/MachineTest.d.ts +7 -7
- package/dist/testing/MachineTest.js +7 -7
- package/dist/unstable/cluster/ClusterMachine.d.ts +1 -1
- package/dist/unstable/cluster/ClusterMachine.js +1 -1
- package/dist/unstable/reactivity/AtomMachine.d.ts +27 -8
- package/dist/unstable/reactivity/AtomMachine.d.ts.map +1 -1
- package/dist/unstable/reactivity/AtomMachine.js +20 -3
- package/dist/unstable/reactivity/AtomMachine.js.map +1 -1
- package/docs/agent-guide.md +191 -54
- package/package.json +1 -1
- package/src/Machine.ts +1220 -360
- package/src/internal/machine/atom.ts +76 -53
- package/src/internal/machine/cluster.ts +2 -1
- package/src/internal/machine/command.ts +2 -2
- package/src/internal/machine/commandRuntime.ts +9 -4
- package/src/internal/machine/configuration.ts +23 -5
- package/src/internal/machine/errors.ts +1 -1
- package/src/internal/machine/executionPlan.ts +74 -29
- package/src/internal/machine/invocation.ts +3 -2
- package/src/internal/machine/machine.ts +74 -49
- package/src/internal/machine/planner.ts +68 -24
- package/src/internal/machine/process.ts +75 -8
- package/src/internal/machine/protocol.ts +207 -68
- package/src/internal/machine/runtime.ts +266 -11
- package/src/internal/machine/topology.ts +15 -0
- package/src/internal/testing/machine/finiteModel.ts +1 -1
- package/src/internal/testing/machine/runtime.ts +2 -1
- package/src/internal/testing/machine/verification.ts +5 -3
- package/src/testing/MachineTest.ts +7 -7
- package/src/unstable/cluster/ClusterMachine.ts +1 -1
- package/src/unstable/reactivity/AtomMachine.ts +44 -10
|
@@ -14,9 +14,12 @@ type ExcludeCompatibleRuntime<Requirements, Events, Emits> = Requirements extend
|
|
|
14
14
|
export declare const toProcessLogic: <const States extends Machine.StateSchemas, const Events extends ReadonlyArray<Machine.TaggedSchema>, const Emits extends ReadonlyArray<Machine.TaggedSchema> = readonly [], const Input extends Schema.Top = typeof Schema.Void, UnhandledStates extends Machine.StateIdentifier<States> = Machine.StateIdentifier<States>, E = never, R = never, InitialE = never, InitialR = never, FinalStates extends Machine.StateIdentifier<States> = never, Output = never>(machine: Machine<States, Events, Input, UnhandledStates, E, R, InitialE, InitialR, FinalStates, Output, Emits>, ...args: [...Machine.InputArgs<Input>]) => internalRuntime.ProcessLogic<Machine.Snapshot<States>, Machine.EventOf<Events>, E | ActionError<R> | InfiniteTransitionError | MachineSchemaDecodeError | StoppedError, ExcludeCompatibleRuntime<Exclude<ExecutionServices<InitialR | R>, internalRuntime.MachineRuntime>, Machine.EventOf<Events>, Machine.EmitOf<Emits>>, Output, InitialE | E | ActionError<InitialR | R> | InfiniteTransitionError | MachineSchemaDecodeError | StartupError | StoppedError>;
|
|
15
15
|
/** @internal Test-only runtime strategy selection for a fresh machine. */
|
|
16
16
|
export declare const startWithRuntimeStrategyForTesting: (machine: Machine.Any, strategy: internalRuntime.ProcessRuntimeStrategy, ...args: ReadonlyArray<unknown>) => Effect.Effect<internalRuntime.MachineRef<any, any, any, any>, any, any>;
|
|
17
|
+
/** @internal Test-only prepared startup strategy selection for a fresh machine. */
|
|
18
|
+
export declare const prepareWithRuntimeStrategyForTesting: (machine: Machine.Any, strategy: internalRuntime.ProcessRuntimeStrategy, ...args: ReadonlyArray<unknown>) => Effect.Effect<internalRuntime.PreparedProcess<any, any, any, any, any, any, any>, any, any>;
|
|
17
19
|
/** @internal Test-only runtime strategy selection for a resumed machine. */
|
|
18
20
|
export declare const resumeWithRuntimeStrategyForTesting: (machine: Machine.Any, snapshot: Machine.Snapshot<any>, strategy: internalRuntime.ProcessRuntimeStrategy) => Effect.Effect<internalRuntime.MachineRef<any, any, any, any>, any, any>;
|
|
19
21
|
export declare const start: <const States extends Machine.StateSchemas, const Events extends ReadonlyArray<Machine.TaggedSchema>, const Emits extends ReadonlyArray<Machine.TaggedSchema> = readonly [], const Input extends Schema.Top = typeof Schema.Void, UnhandledStates extends Machine.StateIdentifier<States> = Machine.StateIdentifier<States>, E = never, R = never, InitialE = never, InitialR = never, FinalStates extends Machine.StateIdentifier<States> = never, Output = never>(machine: Machine<States, Events, Input, UnhandledStates, E, R, InitialE, InitialR, FinalStates, Output, Emits>, ...args: [...Machine.InputArgs<Input>]) => Effect.Effect<internalRuntime.MachineRef<Machine.Snapshot<States>, Machine.EventOf<Events>, E | ActionError<R> | InfiniteTransitionError | MachineSchemaDecodeError | StoppedError, Output>, InitialE | E | ActionError<InitialR | R> | InfiniteTransitionError | MachineSchemaDecodeError | StartupError | StoppedError, ExcludeCompatibleRuntime<Exclude<ExecutionServices<InitialR | R>, internalRuntime.MachineRuntime>, Machine.EventOf<Events>, Machine.EmitOf<Emits>>>;
|
|
22
|
+
export declare const prepare: <const States extends Machine.StateSchemas, const Events extends ReadonlyArray<Machine.TaggedSchema>, const Emits extends ReadonlyArray<Machine.TaggedSchema> = readonly [], const Input extends Schema.Top = typeof Schema.Void, UnhandledStates extends Machine.StateIdentifier<States> = Machine.StateIdentifier<States>, E = never, R = never, InitialE = never, InitialR = never, FinalStates extends Machine.StateIdentifier<States> = never, Output = never>(machine: Machine<States, Events, Input, UnhandledStates, E, R, InitialE, InitialR, FinalStates, Output, Emits>, ...args: [...Machine.InputArgs<Input>]) => Effect.Effect<internalRuntime.PreparedProcess<Machine.Snapshot<States>, Machine.EventOf<Events>, E | ActionError<R> | InfiniteTransitionError | MachineSchemaDecodeError | StoppedError, Output, Machine.EmittedEventOf<Emits>, InitialE | E | ActionError<InitialR | R> | InfiniteTransitionError | MachineSchemaDecodeError | StartupError | StoppedError, ExcludeCompatibleRuntime<Exclude<ExecutionServices<InitialR | R>, internalRuntime.MachineRuntime>, Machine.EventOf<Events>, Machine.EmitOf<Emits>>>>;
|
|
20
23
|
export declare const resume: <const States extends Machine.StateSchemas, const Events extends ReadonlyArray<Machine.TaggedSchema>, const Emits extends ReadonlyArray<Machine.TaggedSchema> = readonly [], const Input extends Schema.Top = typeof Schema.Void, UnhandledStates extends Machine.StateIdentifier<States> = Machine.StateIdentifier<States>, E = never, R = never, InitialE = never, InitialR = never, FinalStates extends Machine.StateIdentifier<States> = never, Output = never>(machine: Machine<States, Events, Input, UnhandledStates, E, R, InitialE, InitialR, FinalStates, Output, Emits>, snapshot: Machine.Snapshot<States>) => Effect.Effect<internalRuntime.MachineRef<Machine.Snapshot<States>, Machine.EventOf<Events>, E | ActionError<R> | InfiniteTransitionError | MachineSchemaDecodeError | StoppedError, Output>, MachineSchemaDecodeError, ExcludeCompatibleRuntime<Exclude<ExecutionServices<R>, internalRuntime.MachineRuntime>, Machine.EventOf<Events>, Machine.EmitOf<Emits>>>;
|
|
21
24
|
export {};
|
|
22
25
|
//# sourceMappingURL=process.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"process.d.ts","sourceRoot":"","sources":["../../../src/internal/machine/process.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAGH,OAAO,KAAK,MAAM,MAAM,eAAe,CAAA;AAEvC,OAAO,KAAK,KAAK,MAAM,MAAM,eAAe,CAAA;AAC5C,OAAO,KAAK,EAAE,WAAW,EAAE,iBAAiB,EAAE,OAAO,EAAE,OAAO,EAAE,MAAM,kBAAkB,CAAA;AAGxF,OAAO,EAAE,uBAAuB,EAAE,wBAAwB,EAAE,YAAY,EAAE,MAAM,aAAa,CAAA;AAC7F,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,aAAa,CAAA;AAI/C,OAAO,KAAK,eAAe,MAAM,cAAc,CAAA;AAG/C,KAAK,KAAK,CAAC,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC,GAAG,CAAC,CAAC,GAAG,IAAI,GAAG,KAAK,CAAA;AAEhD,KAAK,wBAAwB,CAAC,YAAY,EAAE,MAAM,EAAE,KAAK,IAAI,YAAY,SAAS,OAAO,CAAC,WAAW,CACnG,MAAM,cAAc,EACpB,MAAM,aAAa,CACpB,GAAG,KAAK,CAAC,YAAY,CAAC,SAAS,IAAI,GAAG,YAAY,GAC/C,CAAC,cAAc,CAAC,SAAS,CAAC,MAAM,CAAC,GAAG,CAAC,aAAa,CAAC,SAAS,CAAC,KAAK,CAAC,GAAG,KAAK,GAAG,YAAY,GAC1F,YAAY,GACZ,YAAY,CAAA;
|
|
1
|
+
{"version":3,"file":"process.d.ts","sourceRoot":"","sources":["../../../src/internal/machine/process.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAGH,OAAO,KAAK,MAAM,MAAM,eAAe,CAAA;AAEvC,OAAO,KAAK,KAAK,MAAM,MAAM,eAAe,CAAA;AAC5C,OAAO,KAAK,EAAE,WAAW,EAAE,iBAAiB,EAAE,OAAO,EAAE,OAAO,EAAE,MAAM,kBAAkB,CAAA;AAGxF,OAAO,EAAE,uBAAuB,EAAE,wBAAwB,EAAE,YAAY,EAAE,MAAM,aAAa,CAAA;AAC7F,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,aAAa,CAAA;AAI/C,OAAO,KAAK,eAAe,MAAM,cAAc,CAAA;AAG/C,KAAK,KAAK,CAAC,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC,GAAG,CAAC,CAAC,GAAG,IAAI,GAAG,KAAK,CAAA;AAEhD,KAAK,wBAAwB,CAAC,YAAY,EAAE,MAAM,EAAE,KAAK,IAAI,YAAY,SAAS,OAAO,CAAC,WAAW,CACnG,MAAM,cAAc,EACpB,MAAM,aAAa,CACpB,GAAG,KAAK,CAAC,YAAY,CAAC,SAAS,IAAI,GAAG,YAAY,GAC/C,CAAC,cAAc,CAAC,SAAS,CAAC,MAAM,CAAC,GAAG,CAAC,aAAa,CAAC,SAAS,CAAC,KAAK,CAAC,GAAG,KAAK,GAAG,YAAY,GAC1F,YAAY,GACZ,YAAY,CAAA;AA0tBhB,eAAO,MAAM,cAAc,EAAE,CAC3B,KAAK,CAAC,MAAM,SAAS,OAAO,CAAC,YAAY,EACzC,KAAK,CAAC,MAAM,SAAS,aAAa,CAAC,OAAO,CAAC,YAAY,CAAC,EACxD,KAAK,CAAC,KAAK,SAAS,aAAa,CAAC,OAAO,CAAC,YAAY,CAAC,GAAG,SAAS,EAAE,EACrE,KAAK,CAAC,KAAK,SAAS,MAAM,CAAC,GAAG,GAAG,OAAO,MAAM,CAAC,IAAI,EACnD,eAAe,SAAS,OAAO,CAAC,eAAe,CAAC,MAAM,CAAC,GAAG,OAAO,CAAC,eAAe,CAAC,MAAM,CAAC,EACzF,CAAC,GAAG,KAAK,EACT,CAAC,GAAG,KAAK,EACT,QAAQ,GAAG,KAAK,EAChB,QAAQ,GAAG,KAAK,EAChB,WAAW,SAAS,OAAO,CAAC,eAAe,CAAC,MAAM,CAAC,GAAG,KAAK,EAC3D,MAAM,GAAG,KAAK,EAEd,OAAO,EAAE,OAAO,CAAC,MAAM,EAAE,MAAM,EAAE,KAAK,EAAE,eAAe,EAAE,CAAC,EAAE,CAAC,EAAE,QAAQ,EAAE,QAAQ,EAAE,WAAW,EAAE,MAAM,EAAE,KAAK,CAAC,EAC9G,GAAG,IAAI,EAAE,CAAC,GAAG,OAAO,CAAC,SAAS,CAAC,KAAK,CAAC,CAAC,KACnC,eAAe,CAAC,YAAY,CAC/B,OAAO,CAAC,QAAQ,CAAC,MAAM,CAAC,EACxB,OAAO,CAAC,OAAO,CAAC,MAAM,CAAC,EACvB,CAAC,GAAG,WAAW,CAAC,CAAC,CAAC,GAAG,uBAAuB,GAAG,wBAAwB,GAAG,YAAY,EACtF,wBAAwB,CACtB,OAAO,CAAC,iBAAiB,CAAC,QAAQ,GAAG,CAAC,CAAC,EAAE,eAAe,CAAC,cAAc,CAAC,EACxE,OAAO,CAAC,OAAO,CAAC,MAAM,CAAC,EACvB,OAAO,CAAC,MAAM,CAAC,KAAK,CAAC,CACtB,EACD,MAAM,EACJ,QAAQ,GACR,CAAC,GACD,WAAW,CAAC,QAAQ,GAAG,CAAC,CAAC,GACzB,uBAAuB,GACvB,wBAAwB,GACxB,YAAY,GACZ,YAAY,CAiBf,CAAA;AAQD,0EAA0E;AAC1E,eAAO,MAAM,kCAAkC,GAC7C,SAAS,OAAO,CAAC,GAAG,EACpB,UAAU,eAAe,CAAC,sBAAsB,EAChD,GAAG,MAAM,aAAa,CAAC,OAAO,CAAC,KAC9B,MAAM,CAAC,MAAM,CAAC,eAAe,CAAC,UAAU,CAAC,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,CAAC,EAAE,GAAG,EAAE,GAAG,CAKtE,CAAA;AAEH,mFAAmF;AACnF,eAAO,MAAM,oCAAoC,GAC/C,SAAS,OAAO,CAAC,GAAG,EACpB,UAAU,eAAe,CAAC,sBAAsB,EAChD,GAAG,MAAM,aAAa,CAAC,OAAO,CAAC,KAC9B,MAAM,CAAC,MAAM,CAAC,eAAe,CAAC,eAAe,CAAC,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,CAAC,EAAE,GAAG,EAAE,GAAG,CAK1F,CAAA;AAEH,4EAA4E;AAC5E,eAAO,MAAM,mCAAmC,GAC9C,SAAS,OAAO,CAAC,GAAG,EACpB,UAAU,OAAO,CAAC,QAAQ,CAAC,GAAG,CAAC,EAC/B,UAAU,eAAe,CAAC,sBAAsB,KAC/C,MAAM,CAAC,MAAM,CAAC,eAAe,CAAC,UAAU,CAAC,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,CAAC,EAAE,GAAG,EAAE,GAAG,CAKtE,CAAA;AAEH,eAAO,MAAM,KAAK,EAAE,CAClB,KAAK,CAAC,MAAM,SAAS,OAAO,CAAC,YAAY,EACzC,KAAK,CAAC,MAAM,SAAS,aAAa,CAAC,OAAO,CAAC,YAAY,CAAC,EACxD,KAAK,CAAC,KAAK,SAAS,aAAa,CAAC,OAAO,CAAC,YAAY,CAAC,GAAG,SAAS,EAAE,EACrE,KAAK,CAAC,KAAK,SAAS,MAAM,CAAC,GAAG,GAAG,OAAO,MAAM,CAAC,IAAI,EACnD,eAAe,SAAS,OAAO,CAAC,eAAe,CAAC,MAAM,CAAC,GAAG,OAAO,CAAC,eAAe,CAAC,MAAM,CAAC,EACzF,CAAC,GAAG,KAAK,EACT,CAAC,GAAG,KAAK,EACT,QAAQ,GAAG,KAAK,EAChB,QAAQ,GAAG,KAAK,EAChB,WAAW,SAAS,OAAO,CAAC,eAAe,CAAC,MAAM,CAAC,GAAG,KAAK,EAC3D,MAAM,GAAG,KAAK,EAEd,OAAO,EAAE,OAAO,CAAC,MAAM,EAAE,MAAM,EAAE,KAAK,EAAE,eAAe,EAAE,CAAC,EAAE,CAAC,EAAE,QAAQ,EAAE,QAAQ,EAAE,WAAW,EAAE,MAAM,EAAE,KAAK,CAAC,EAC9G,GAAG,IAAI,EAAE,CAAC,GAAG,OAAO,CAAC,SAAS,CAAC,KAAK,CAAC,CAAC,KACnC,MAAM,CAAC,MAAM,CAChB,eAAe,CAAC,UAAU,CACxB,OAAO,CAAC,QAAQ,CAAC,MAAM,CAAC,EACxB,OAAO,CAAC,OAAO,CAAC,MAAM,CAAC,EACrB,CAAC,GACD,WAAW,CAAC,CAAC,CAAC,GACd,uBAAuB,GACvB,wBAAwB,GACxB,YAAY,EACd,MAAM,CACP,EACC,QAAQ,GACR,CAAC,GACD,WAAW,CAAC,QAAQ,GAAG,CAAC,CAAC,GACzB,uBAAuB,GACvB,wBAAwB,GACxB,YAAY,GACZ,YAAY,EACd,wBAAwB,CACtB,OAAO,CAAC,iBAAiB,CAAC,QAAQ,GAAG,CAAC,CAAC,EAAE,eAAe,CAAC,cAAc,CAAC,EACxE,OAAO,CAAC,OAAO,CAAC,MAAM,CAAC,EACvB,OAAO,CAAC,MAAM,CAAC,KAAK,CAAC,CACtB,CAKO,CAAA;AAEV,eAAO,MAAM,OAAO,EAAE,CACpB,KAAK,CAAC,MAAM,SAAS,OAAO,CAAC,YAAY,EACzC,KAAK,CAAC,MAAM,SAAS,aAAa,CAAC,OAAO,CAAC,YAAY,CAAC,EACxD,KAAK,CAAC,KAAK,SAAS,aAAa,CAAC,OAAO,CAAC,YAAY,CAAC,GAAG,SAAS,EAAE,EACrE,KAAK,CAAC,KAAK,SAAS,MAAM,CAAC,GAAG,GAAG,OAAO,MAAM,CAAC,IAAI,EACnD,eAAe,SAAS,OAAO,CAAC,eAAe,CAAC,MAAM,CAAC,GAAG,OAAO,CAAC,eAAe,CAAC,MAAM,CAAC,EACzF,CAAC,GAAG,KAAK,EACT,CAAC,GAAG,KAAK,EACT,QAAQ,GAAG,KAAK,EAChB,QAAQ,GAAG,KAAK,EAChB,WAAW,SAAS,OAAO,CAAC,eAAe,CAAC,MAAM,CAAC,GAAG,KAAK,EAC3D,MAAM,GAAG,KAAK,EAEd,OAAO,EAAE,OAAO,CAAC,MAAM,EAAE,MAAM,EAAE,KAAK,EAAE,eAAe,EAAE,CAAC,EAAE,CAAC,EAAE,QAAQ,EAAE,QAAQ,EAAE,WAAW,EAAE,MAAM,EAAE,KAAK,CAAC,EAC9G,GAAG,IAAI,EAAE,CAAC,GAAG,OAAO,CAAC,SAAS,CAAC,KAAK,CAAC,CAAC,KACnC,MAAM,CAAC,MAAM,CAChB,eAAe,CAAC,eAAe,CAC7B,OAAO,CAAC,QAAQ,CAAC,MAAM,CAAC,EACxB,OAAO,CAAC,OAAO,CAAC,MAAM,CAAC,EACrB,CAAC,GACD,WAAW,CAAC,CAAC,CAAC,GACd,uBAAuB,GACvB,wBAAwB,GACxB,YAAY,EACd,MAAM,EACN,OAAO,CAAC,cAAc,CAAC,KAAK,CAAC,EAC3B,QAAQ,GACR,CAAC,GACD,WAAW,CAAC,QAAQ,GAAG,CAAC,CAAC,GACzB,uBAAuB,GACvB,wBAAwB,GACxB,YAAY,GACZ,YAAY,EACd,wBAAwB,CACtB,OAAO,CAAC,iBAAiB,CAAC,QAAQ,GAAG,CAAC,CAAC,EAAE,eAAe,CAAC,cAAc,CAAC,EACxE,OAAO,CAAC,OAAO,CAAC,MAAM,CAAC,EACvB,OAAO,CAAC,MAAM,CAAC,KAAK,CAAC,CACtB,CACF,CAKO,CAAA;AAEV,eAAO,MAAM,MAAM,EAAE,CACnB,KAAK,CAAC,MAAM,SAAS,OAAO,CAAC,YAAY,EACzC,KAAK,CAAC,MAAM,SAAS,aAAa,CAAC,OAAO,CAAC,YAAY,CAAC,EACxD,KAAK,CAAC,KAAK,SAAS,aAAa,CAAC,OAAO,CAAC,YAAY,CAAC,GAAG,SAAS,EAAE,EACrE,KAAK,CAAC,KAAK,SAAS,MAAM,CAAC,GAAG,GAAG,OAAO,MAAM,CAAC,IAAI,EACnD,eAAe,SAAS,OAAO,CAAC,eAAe,CAAC,MAAM,CAAC,GAAG,OAAO,CAAC,eAAe,CAAC,MAAM,CAAC,EACzF,CAAC,GAAG,KAAK,EACT,CAAC,GAAG,KAAK,EACT,QAAQ,GAAG,KAAK,EAChB,QAAQ,GAAG,KAAK,EAChB,WAAW,SAAS,OAAO,CAAC,eAAe,CAAC,MAAM,CAAC,GAAG,KAAK,EAC3D,MAAM,GAAG,KAAK,EAEd,OAAO,EAAE,OAAO,CAAC,MAAM,EAAE,MAAM,EAAE,KAAK,EAAE,eAAe,EAAE,CAAC,EAAE,CAAC,EAAE,QAAQ,EAAE,QAAQ,EAAE,WAAW,EAAE,MAAM,EAAE,KAAK,CAAC,EAC9G,QAAQ,EAAE,OAAO,CAAC,QAAQ,CAAC,MAAM,CAAC,KAC/B,MAAM,CAAC,MAAM,CAChB,eAAe,CAAC,UAAU,CACxB,OAAO,CAAC,QAAQ,CAAC,MAAM,CAAC,EACxB,OAAO,CAAC,OAAO,CAAC,MAAM,CAAC,EACvB,CAAC,GAAG,WAAW,CAAC,CAAC,CAAC,GAAG,uBAAuB,GAAG,wBAAwB,GAAG,YAAY,EACtF,MAAM,CACP,EACD,wBAAwB,EACxB,wBAAwB,CACtB,OAAO,CAAC,iBAAiB,CAAC,CAAC,CAAC,EAAE,eAAe,CAAC,cAAc,CAAC,EAC7D,OAAO,CAAC,OAAO,CAAC,MAAM,CAAC,EACvB,OAAO,CAAC,MAAM,CAAC,KAAK,CAAC,CACtB,CAKO,CAAA"}
|
|
@@ -62,7 +62,7 @@ const makeChildlessCompiledDrain = (machine, checkInitialFinal) => {
|
|
|
62
62
|
const before = current;
|
|
63
63
|
let planned;
|
|
64
64
|
try {
|
|
65
|
-
planned = executionPlan.plan(configuration ?? executionPlan.fromConfiguration(Configuration.normalizeConfigurationSync(machine, current)), event, acknowledged);
|
|
65
|
+
planned = executionPlan.plan(configuration ?? executionPlan.fromConfiguration(Configuration.normalizeConfigurationSync(machine, current)), event, acknowledged, context.scope);
|
|
66
66
|
}
|
|
67
67
|
catch (error) {
|
|
68
68
|
return error instanceof InfiniteTransitionError || error instanceof MachineSchemaDecodeError
|
|
@@ -150,7 +150,7 @@ const makeInvokingCompiledDrain = (machine, checkInitialFinal) => {
|
|
|
150
150
|
let planned;
|
|
151
151
|
try {
|
|
152
152
|
planned = executionPlan.plan(configuration ??
|
|
153
|
-
executionPlan.fromConfiguration(Configuration.normalizeConfigurationSync(machine, current)), event, acknowledged);
|
|
153
|
+
executionPlan.fromConfiguration(Configuration.normalizeConfigurationSync(machine, current)), event, acknowledged, scope);
|
|
154
154
|
}
|
|
155
155
|
catch (error) {
|
|
156
156
|
return error instanceof InfiniteTransitionError || error instanceof MachineSchemaDecodeError
|
|
@@ -251,9 +251,9 @@ const makeProcessLogic = (machine, entry) => {
|
|
|
251
251
|
const executionPlan = ExecutionPlan.compileExecutionPlan(machine);
|
|
252
252
|
const initialArgs = entry._tag === "Initial" ? entry.args : [];
|
|
253
253
|
const compiledInitial = entry._tag === "Initial" ? executionPlan.initial : undefined;
|
|
254
|
-
const makeCompiledInitial = compiledInitial === undefined ? undefined : () => {
|
|
254
|
+
const makeCompiledInitial = compiledInitial === undefined ? undefined : (scope) => {
|
|
255
255
|
try {
|
|
256
|
-
const planned = compiledInitial(initialArgs);
|
|
256
|
+
const planned = compiledInitial(initialArgs, scope);
|
|
257
257
|
const result = {
|
|
258
258
|
state: planned.state,
|
|
259
259
|
done: planned.done,
|
|
@@ -277,7 +277,7 @@ const makeProcessLogic = (machine, entry) => {
|
|
|
277
277
|
}
|
|
278
278
|
};
|
|
279
279
|
const makeInitial = (scope) => compiledInitial === undefined
|
|
280
|
-
? internalRuntime.provideMachineRuntime(internalPlanner.planInitial(machine, ...initialArgs).pipe(Effect.flatMap((planned) => {
|
|
280
|
+
? internalRuntime.provideMachineRuntime(internalPlanner.planInitial(internalPlanner.withActorScope(machine, scope), ...initialArgs).pipe(Effect.flatMap((planned) => {
|
|
281
281
|
const commands = planned.commands.length === 0
|
|
282
282
|
? undefined
|
|
283
283
|
: CommandRuntime.runCommands(planned.commands, scope);
|
|
@@ -295,7 +295,7 @@ const makeProcessLogic = (machine, entry) => {
|
|
|
295
295
|
? commands.pipe(Effect.andThen(result))
|
|
296
296
|
: commands.pipe(Effect.andThen(emitted), Effect.andThen(result));
|
|
297
297
|
})), scope)
|
|
298
|
-
: Effect.try({ try: makeCompiledInitial, catch: (error) => error });
|
|
298
|
+
: Effect.try({ try: () => makeCompiledInitial(scope), catch: (error) => error });
|
|
299
299
|
return ({
|
|
300
300
|
execution: {
|
|
301
301
|
_tag: "Compiled",
|
|
@@ -340,7 +340,7 @@ const makeProcessLogic = (machine, entry) => {
|
|
|
340
340
|
const before = current;
|
|
341
341
|
let planned;
|
|
342
342
|
try {
|
|
343
|
-
planned = internalPlanner.planConfiguration(machine, configuration ?? Configuration.normalizeConfigurationSync(machine, current), event);
|
|
343
|
+
planned = internalPlanner.planConfiguration(machine, Configuration.withActorScope(configuration ?? Configuration.normalizeConfigurationSync(machine, current), context), event);
|
|
344
344
|
}
|
|
345
345
|
catch (error) {
|
|
346
346
|
if (error instanceof InfiniteTransitionError || error instanceof MachineSchemaDecodeError) {
|
|
@@ -408,7 +408,7 @@ const makeProcessLogic = (machine, entry) => {
|
|
|
408
408
|
const before = current;
|
|
409
409
|
let planned;
|
|
410
410
|
try {
|
|
411
|
-
planned = internalPlanner.planConfiguration(machine, configuration ?? Configuration.normalizeConfigurationSync(machine, current), event);
|
|
411
|
+
planned = internalPlanner.planConfiguration(machine, Configuration.withActorScope(configuration ?? Configuration.normalizeConfigurationSync(machine, current), context), event);
|
|
412
412
|
}
|
|
413
413
|
catch (error) {
|
|
414
414
|
if (error instanceof InfiniteTransitionError || error instanceof MachineSchemaDecodeError) {
|
|
@@ -491,8 +491,11 @@ export const toProcessLogic = (machine, ...args) => {
|
|
|
491
491
|
const toResumedProcessLogic = (machine, snapshot) => makeProcessLogic(machine, { _tag: "Resume", snapshot });
|
|
492
492
|
/** @internal Test-only runtime strategy selection for a fresh machine. */
|
|
493
493
|
export const startWithRuntimeStrategyForTesting = (machine, strategy, ...args) => internalRuntime.startProcessWithStrategyForTesting(toProcessLogic(machine, ...args), strategy, machine.id === undefined ? undefined : { id: machine.id });
|
|
494
|
+
/** @internal Test-only prepared startup strategy selection for a fresh machine. */
|
|
495
|
+
export const prepareWithRuntimeStrategyForTesting = (machine, strategy, ...args) => internalRuntime.prepareProcessWithStrategyForTesting(toProcessLogic(machine, ...args), strategy, machine.id === undefined ? undefined : { id: machine.id });
|
|
494
496
|
/** @internal Test-only runtime strategy selection for a resumed machine. */
|
|
495
497
|
export const resumeWithRuntimeStrategyForTesting = (machine, snapshot, strategy) => internalRuntime.startProcessWithStrategyForTesting(toResumedProcessLogic(machine, snapshot), strategy, machine.id === undefined ? undefined : { id: machine.id });
|
|
496
498
|
export const start = (machine, ...args) => internalRuntime.startProcess(toProcessLogic(machine, ...args), machine.id === undefined ? undefined : { id: machine.id });
|
|
499
|
+
export const prepare = (machine, ...args) => internalRuntime.prepareProcess(toProcessLogic(machine, ...args), machine.id === undefined ? undefined : { id: machine.id });
|
|
497
500
|
export const resume = (machine, snapshot) => internalRuntime.startProcess(toResumedProcessLogic(machine, snapshot), machine.id === undefined ? undefined : { id: machine.id });
|
|
498
501
|
//# sourceMappingURL=process.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"process.js","sourceRoot":"","sources":["../../../src/internal/machine/process.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"process.js","sourceRoot":"","sources":["../../../src/internal/machine/process.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH,OAAO,KAAK,KAAK,MAAM,cAAc,CAAA;AACrC,OAAO,KAAK,MAAM,MAAM,eAAe,CAAA;AACvC,OAAO,KAAK,MAAM,MAAM,eAAe,CAAA;AAGvC,OAAO,KAAK,cAAc,MAAM,qBAAqB,CAAA;AACrD,OAAO,KAAK,aAAa,MAAM,oBAAoB,CAAA;AACnD,OAAO,EAAE,uBAAuB,EAAE,wBAAwB,EAAE,YAAY,EAAE,MAAM,aAAa,CAAA;AAE7F,OAAO,KAAK,aAAa,MAAM,oBAAoB,CAAA;AACnD,OAAO,KAAK,UAAU,MAAM,iBAAiB,CAAA;AAC7C,OAAO,KAAK,eAAe,MAAM,cAAc,CAAA;AAC/C,OAAO,KAAK,eAAe,MAAM,cAAc,CAAA;AAC/C,OAAO,KAAK,aAAa,MAAM,oBAAoB,CAAA;AAsBnD,MAAM,oBAAoB,GAAG,CAC3B,OAAiD,EACtB,EAAE,CAC7B,OAAO,CAAC,MAAM,KAAK,CAAC;IAClB,CAAC,CAAC,MAAM,CAAC,IAAI;IACb,CAAC,CAAC,OAAO,CAAC,MAAM,KAAK,CAAC;QACtB,CAAC,CAAC,OAAO,CAAC,CAAC,CAAE;QACb,CAAC,CAAC,MAAM,CAAC,GAAG,CAAC,OAAO,EAAE,EAAE,OAAO,EAAE,IAAI,EAAE,CAAC,CAAA;AAE5C,MAAM,gBAAgB,GAAG,CACvB,OAiBC,EACD,QAAqC,EAC5B,EAAE,CAAC,CAAC;IACb,IAAI,EAAE,QAAQ,CAAC,OAAO,CAAC,IAAI,CAAC;IAC5B,QAAQ,EAAE,OAAO,CAAC,QAAQ;IAC1B,aAAa,EAAE,OAAO,CAAC,aAAa;IACpC,UAAU,EAAE,OAAO,CAAC,UAAU,CAAC,GAAG,CAAC,CAAC,SAAS,EAAE,EAAE;QAC/C,MAAM,EAAE,WAAW,EAAE,CAAC,EAAE,GAAG,QAAQ,EAAE,GAAG,SAAS,CAAA;QACjD,OAAO,EAAE,GAAG,QAAQ,EAAE,IAAI,EAAE,QAAQ,CAAC,SAAS,CAAC,IAAI,CAAC,EAAE,CAAA;IACxD,CAAC,CAAC;IACF,IAAI,EAAE,OAAO,CAAC,IAAI;IAClB,MAAM,EAAE,OAAO,CAAC,MAAM;CACvB,CAAC,CAAA;AAEF,MAAM,qBAAqB,GAAG,IAAI,OAAO,EAAwB,CAAA;AAEjE,MAAM,mBAAmB,GAAG,CAAC,OAAoB,EAAW,EAAE;IAC5D,MAAM,MAAM,GAAG,qBAAqB,CAAC,GAAG,CAAC,OAAO,CAAC,CAAA;IACjD,IAAI,MAAM,KAAK,SAAS,EAAE,CAAC;QACzB,OAAO,MAAM,CAAA;IACf,CAAC;IACD,MAAM,UAAU,GAAG,MAAM,CAAC,MAAM,CAC9B,OAAO,CAAC,QAAkD,CAC3D,CAAC,IAAI,CAAC,CAAC,MAAM,EAAE,EAAE,CAAC,MAAM,CAAC,MAAM,KAAK,SAAS,CAAC,CAAA;IAC/C,qBAAqB,CAAC,GAAG,CAAC,OAAO,EAAE,UAAU,CAAC,CAAA;IAC9C,OAAO,UAAU,CAAA;AACnB,CAAC,CAAA;AAED,MAAM,0BAA0B,GAAG,CACjC,OAAoB,EACpB,iBAA0B,EAGqB,EAAE;IACjD,MAAM,aAAa,GAAG,aAAa,CAAC,oBAAoB,CAAC,OAAO,CAAC,CAAA;IACjE,OAAO,CAAC,OAAO,EAAE,EAAE;QACjB,IAAI,OAAO,GAAG,OAAO,CAAC,KAAK,EAAE,CAAA;QAC7B,IAAI,iBAAiB,IAAI,eAAe,CAAC,YAAY,CAAC,OAAO,EAAE,OAAO,CAAC,EAAE,CAAC;YACxE,OAAO,eAAe,CAAC,oBAAoB,CACzC,OAAO,EACP,OAAO,EACP,eAAe,CAAC,YAAY,CAC7B,CAAC,IAAI,CAAC,MAAM,CAAC,GAAG,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC,CAAA;QACjC,CAAC;QAED,IAAI,aAAa,GAAG,OAAO,CAAC,cAAc,CAAA;QAC1C,IAAI,WAAkD,CAAA;QACtD,IAAI,IAAiD,CAAA;QACrD,IAAI,GAAG,MAAM,CAAC,OAAO,CAAC,GAAG,EAAE;YACzB,MAAM,OAAO,GAAG,OAAO,CAAC,WAAW,EAAE,CAAA;YACrC,IAAI,MAAM,CAAC,MAAM,CAAC,OAAO,CAAC,EAAE,CAAC;gBAC3B,OAAO,CAAC,cAAc,GAAG,SAAS,CAAA;gBAClC,OAAO,MAAM,CAAC,OAAO,CAAC,MAAM,CAAC,IAAI,EAAE,CAAC,CAAA;YACtC,CAAC;YAED,MAAM,OAAO,GAAG,OAAO,CAAC,KAAK,CAAA;YAC7B,MAAM,YAAY,GAAG,eAAe,CAAC,qBAAqB,CAAC,OAAO,CAAC,CAAA;YACnE,MAAM,KAAK,GAAG,YAAY,CAAC,CAAC,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC,CAAC,OAAO,CAAA;YACpD,MAAM,MAAM,GAAG,OAAO,CAAA;YAEtB,IAAI,OAAO,CAAA;YACX,IAAI,CAAC;gBACH,OAAO,GAAG,aAAa,CAAC,IAAI,CAC1B,aAAa,IAAI,aAAa,CAAC,iBAAiB,CAAC,aAAa,CAAC,0BAA0B,CAAC,OAAO,EAAE,OAAO,CAAC,CAAC,EAC5G,KAAK,EACL,YAAY,EACZ,OAAO,CAAC,KAAK,CACd,CAAA;YACH,CAAC;YAAC,OAAO,KAAK,EAAE,CAAC;gBACf,OAAO,KAAK,YAAY,uBAAuB,IAAI,KAAK,YAAY,wBAAwB;oBAC1F,CAAC,CAAC,MAAM,CAAC,IAAI,CAAC,KAAK,CAAC;oBACpB,CAAC,CAAC,MAAM,CAAC,GAAG,CAAC,KAAK,CAAC,CAAA;YACvB,CAAC;YACD,aAAa,GAAG,OAAO,CAAC,IAAI,CAAA;YAC5B,OAAO,CAAC,cAAc,GAAG,aAAa,CAAA;YACtC,IAAI,OAAO,CAAC,UAAU,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;gBACpC,IAAI,YAAY,EAAE,CAAC;oBACjB,OAAO,CAAC,eAAe,CAAC,EAAE,MAAM,EAAE,IAAI,EAAE,gBAAgB,CAAC,OAAO,EAAE,aAAa,CAAC,QAAQ,CAAC,EAAE,KAAK,EAAE,OAAO,EAAE,CAAC,CAAA;gBAC9G,CAAC;gBACD,OAAO,IAAI,CAAA;YACb,CAAC;YAED,MAAM,IAAI,GAAG,aAAa,CAAC,QAAQ,CAAC,OAAO,CAAC,IAAI,CAAC,CAAA;YACjD,MAAM,YAAY,GAAG,OAAO,CAAC,QAAQ,CAAC,MAAM,KAAK,CAAC;gBAChD,CAAC,CAAC,SAAS;gBACX,CAAC,CAAC,cAAc,CAAC,WAAW,CAAC,OAAO,CAAC,QAAQ,EAAE,OAAO,CAAC,KAAK,CAAC,CAAA;YAC/D,MAAM,WAAW,GAAG,OAAO,CAAC,aAAa,CAAC,MAAM,KAAK,CAAC;gBACpD,CAAC,CAAC,SAAS;gBACX,CAAC,CAAC,cAAc,CAAC,gBAAgB,CAC/B,OAAO,CAAC,aAAa,EACrB,WAAW,KAAK,cAAc,CAAC,eAAe,CAAC,OAAO,EAAE,OAAO,CAAC,KAAK,CAAC,CACvE,CAAA;YACH,MAAM,MAAM,GAAG,GAAoC,EAAE;gBACnD,MAAM,YAAY,GAAG,OAAO,CAAC,MAAM,CAAC,IAAI,CAAC,CAAA;gBACzC,OAAO,GAAG,IAAI,CAAA;gBACd,OAAO,YAAY,CAAA;YACrB,CAAC,CAAA;YACD,MAAM,mBAAmB,GAAG,GAAgD,EAAE;gBAC5E,MAAM,SAAS,GAAG,MAAM,CAAC,OAAO,CAAC,GAAG,EAAE;oBACpC,IAAI,YAAY,EAAE,CAAC;wBACjB,OAAO,CAAC,eAAe,CAAC,EAAE,MAAM,EAAE,IAAI,EAAE,gBAAgB,CAAC,OAAO,EAAE,aAAa,CAAC,QAAQ,CAAC,EAAE,KAAK,EAAE,IAAI,EAAE,CAAC,CAAA;oBAC3G,CAAC;oBACD,OAAO,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,MAAM,CAAC,OAAO,CAAC,MAAM,CAAC,IAAI,CAAC,OAAO,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,CAAA;gBAC1E,CAAC,CAAC,CAAA;gBACF,OAAO,WAAW,KAAK,SAAS,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,WAAW,CAAC,IAAI,CAAC,MAAM,CAAC,OAAO,CAAC,SAAS,CAAC,CAAC,CAAA;YAC5F,CAAC,CAAA;YACD,MAAM,iBAAiB,GAAG,GAAgD,EAAE;gBAC1E,MAAM,YAAY,GAAG,MAAM,EAAE,CAAA;gBAC7B,MAAM,SAAS,GAAG,mBAAmB,EAAE,CAAA;gBACvC,MAAM,MAAM,GAAG,YAAY,KAAK,SAAS,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,YAAY,CAAC,IAAI,CAAC,MAAM,CAAC,OAAO,CAAC,SAAS,CAAC,CAAC,CAAA;gBACpG,OAAO,YAAY,KAAK,SAAS,IAAI,WAAW,KAAK,SAAS;oBAC5D,CAAC,CAAC,MAAM;oBACR,CAAC,CAAC,OAAO,CAAC,eAAe,CAAC,MAAM,CAAC,CAAA;YACrC,CAAC,CAAA;YAED,IAAI,YAAY,KAAK,SAAS,EAAE,CAAC;gBAC/B,OAAO,iBAAiB,EAAE,CAAA;YAC5B,CAAC;YACD,OAAO,OAAO,CAAC,eAAe,CAC5B,YAAY,CAAC,IAAI,CAAC,MAAM,CAAC,OAAO,CAAC,MAAM,CAAC,OAAO,CAAC,iBAAiB,CAAC,CAAC,CAAC,CACrE,CAAA;QACH,CAAC,CAAC,CAAA;QACF,OAAO,eAAe,CAAC,qBAAqB,CAAC,IAAI,EAAE,OAAO,CAAC,KAAK,CAAC,CAAA;IACnE,CAAC,CAAA;AACH,CAAC,CAAA;AAED,MAAM,oBAAoB;IACxB,WAAW,GAAG,KAAK,CAAA;IACnB,OAAO,CAMM;IAEb,YAAY,OAIX;QACC,IAAI,CAAC,OAAO,GAAG,OAAO,CAAA;IACxB,CAAC;CACF;AAED,MAAM,yBAAyB,GAAG,CAChC,OAAoB,EACpB,iBAA0B,EAGqB,EAAE;IACjD,MAAM,aAAa,GAAG,aAAa,CAAC,oBAAoB,CAAC,OAAO,CAAC,CAAA;IACjE,OAAO,CAAC,OAAO,EAAE,EAAE;QACjB,IAAI,OAAO,GAAG,OAAO,CAAC,KAAK,EAAE,CAAA;QAC7B,IAAI,iBAAiB,IAAI,eAAe,CAAC,YAAY,CAAC,OAAO,EAAE,OAAO,CAAC,EAAE,CAAC;YACxE,OAAO,eAAe,CAAC,oBAAoB,CACzC,OAAO,EACP,OAAO,EACP,eAAe,CAAC,YAAY,CAC7B,CAAC,IAAI,CAAC,MAAM,CAAC,GAAG,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC,CAAA;QACjC,CAAC;QAED,MAAM,KAAK,GAAG,OAAO,CAAC,KAAK,CAAA;QAC3B,MAAM,MAAM,GAAG,OAAO,CAAC,cAAc,CAAA;QACrC,MAAM,SAAS,GAAG,MAAM,YAAY,oBAAoB;YACtD,CAAC,CAAC,MAAM;YACR,CAAC,CAAC,IAAI,oBAAoB,EAAE,CAAA;QAC9B,OAAO,CAAC,cAAc,GAAG,SAAS,CAAA;QAClC,IAAI,WAA0C,CAAA;QAC9C,IAAI,aAAsB,CAAA;QAE1B,IAAI,IAAiD,CAAA;QACrD,IAAI,GAAG,MAAM,CAAC,OAAO,CAAC,GAAG,EAAE;YACzB,MAAM,OAAO,GAAG,OAAO,CAAC,WAAW,EAAE,CAAA;YACrC,IAAI,MAAM,CAAC,MAAM,CAAC,OAAO,CAAC,EAAE,CAAC;gBAC3B,aAAa,GAAG,SAAS,CAAA;gBACzB,OAAO,MAAM,CAAC,OAAO,CAAC,MAAM,CAAC,IAAI,EAAE,CAAC,CAAA;YACtC,CAAC;YAED,MAAM,OAAO,GAAG,OAAO,CAAC,KAAK,CAAA;YAC7B,MAAM,YAAY,GAAG,eAAe,CAAC,qBAAqB,CAAC,OAAO,CAAC,CAAA;YACnE,MAAM,KAAK,GAAG,YAAY,CAAC,CAAC,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC,CAAC,OAAO,CAAA;YACpD,MAAM,MAAM,GAAG,OAAO,CAAA;YAEtB,IAAI,OAAO,CAAA;YACX,IAAI,CAAC;gBACH,OAAO,GAAG,aAAa,CAAC,IAAI,CAC1B,aAAa;oBACX,aAAa,CAAC,iBAAiB,CAAC,aAAa,CAAC,0BAA0B,CAAC,OAAO,EAAE,OAAO,CAAC,CAAC,EAC7F,KAAK,EACL,YAAY,EACZ,KAAK,CACN,CAAA;YACH,CAAC;YAAC,OAAO,KAAK,EAAE,CAAC;gBACf,OAAO,KAAK,YAAY,uBAAuB,IAAI,KAAK,YAAY,wBAAwB;oBAC1F,CAAC,CAAC,MAAM,CAAC,IAAI,CAAC,KAAK,CAAC;oBACpB,CAAC,CAAC,MAAM,CAAC,GAAG,CAAC,KAAK,CAAC,CAAA;YACvB,CAAC;YACD,aAAa,GAAG,OAAO,CAAC,IAAI,CAAA;YAC5B,IAAI,OAAO,CAAC,UAAU,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;gBACpC,IAAI,YAAY,EAAE,CAAC;oBACjB,OAAO,CAAC,eAAe,CAAC,EAAE,MAAM,EAAE,IAAI,EAAE,gBAAgB,CAAC,OAAO,EAAE,aAAa,CAAC,QAAQ,CAAC,EAAE,KAAK,EAAE,OAAO,EAAE,CAAC,CAAA;gBAC9G,CAAC;gBACD,OAAO,IAAI,CAAA;YACb,CAAC;YAED,MAAM,OAAO,GAAG,OAAO,CAAC,UAAU,CAAC,IAAI,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,IAAI,CAAC,OAAO,CAAC,CAAA;YAC/D,MAAM,SAAS,GAAG,OAAO,CAAC,CAAC,CAAC,OAAO,CAAC,UAAU,CAAC,OAAO,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,EAAE,CAAA;YACrF,MAAM,WAAW,GAAG,IAAI,GAAG,EAAuC,CAAA;YAClE,IAAI,OAAO,EAAE,CAAC;gBACZ,KAAK,MAAM,IAAI,IAAI,OAAO,CAAC,UAAU,EAAE,CAAC;oBACtC,IAAI,IAAI,CAAC,OAAO,EAAE,CAAC;wBACjB,KAAK,MAAM,IAAI,IAAI,IAAI,CAAC,UAAU,EAAE,CAAC;4BACnC,WAAW,CAAC,GAAG,CAAC,IAAI,EAAE,IAAI,CAAC,KAAK,CAAC,CAAA;wBACnC,CAAC;oBACH,CAAC;gBACH,CAAC;YACH,CAAC;YAED,MAAM,mBAAmB,GAAG,aAAa,CAAC,eAAe,CAAC,OAAO,CAAC,IAAI,CAAC,CAAA;YACvE,MAAM,IAAI,GAAG,aAAa,CAAC,QAAQ,CAAC,OAAO,CAAC,IAAI,CAAC,CAAA;YACjD,MAAM,YAAY,GAAyC,EAAE,CAAA;YAC7D,IAAI,OAAO,CAAC,QAAQ,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;gBAChC,YAAY,CAAC,IAAI,CAAC,cAAc,CAAC,WAAW,CAAC,OAAO,CAAC,QAAQ,EAAE,KAAK,CAAC,CAAC,CAAA;YACxE,CAAC;YACD,IAAI,OAAO,EAAE,CAAC;gBACZ,MAAM,QAAQ,GAAG,OAAO,CAAC,aAAa,CAAC,SAAS,CAAC,SAAS,CAAC,CAAA;gBAC3D,IAAI,QAAQ,KAAK,SAAS;oBAAE,YAAY,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAA;YACzD,CAAC;YACD,MAAM,WAAW,GAAyC,EAAE,CAAA;YAC5D,IAAI,OAAO,CAAC,aAAa,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;gBACrC,WAAW,CAAC,IAAI,CACd,cAAc,CAAC,gBAAgB,CAC7B,OAAO,CAAC,aAAa,EACrB,WAAW,KAAK,cAAc,CAAC,eAAe,CAAC,OAAO,EAAE,KAAK,CAAC,CAC/D,CACF,CAAA;YACH,CAAC;YACD,IAAI,OAAO,CAAC,IAAI,EAAE,CAAC;gBACjB,WAAW,CAAC,IAAI,CAAC,OAAO,CAAC,aAAa,CAAC,OAAO,EAAE,CAAC,CAAA;YACnD,CAAC;iBAAM,IAAI,OAAO,EAAE,CAAC;gBACnB,KAAK,MAAM,CAAC,IAAI,EAAE,UAAU,CAAC,IAAI,WAAW,EAAE,CAAC;oBAC7C,MAAM,QAAQ,GAAG,UAAU,CAAC,QAAQ,CAClC,OAAO,EACP,KAAK,EACL,OAAO,CAAC,aAAa,EACrB,mBAAmB,EACnB,CAAC,IAAI,CAAC,EACN,UAAU,CACX,CAAA;oBACD,IAAI,QAAQ,KAAK,SAAS;wBAAE,WAAW,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAA;gBACxD,CAAC;YACH,CAAC;YAED,MAAM,MAAM,GAAG,GAAoC,EAAE;gBACnD,MAAM,YAAY,GAAG,OAAO,CAAC,MAAM,CAAC,IAAI,CAAC,CAAA;gBACzC,OAAO,GAAG,IAAI,CAAA;gBACd,OAAO,YAAY,CAAA;YACrB,CAAC,CAAA;YACD,MAAM,mBAAmB,GAAG,GAAgD,EAAE;gBAC5E,MAAM,SAAS,GAAG,MAAM,CAAC,OAAO,CAAC,GAAG,EAAE;oBACpC,IAAI,YAAY,EAAE,CAAC;wBACjB,OAAO,CAAC,eAAe,CAAC,EAAE,MAAM,EAAE,IAAI,EAAE,gBAAgB,CAAC,OAAO,EAAE,aAAa,CAAC,QAAQ,CAAC,EAAE,KAAK,EAAE,IAAI,EAAE,CAAC,CAAA;oBAC3G,CAAC;oBACD,OAAO,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,MAAM,CAAC,OAAO,CAAC,MAAM,CAAC,IAAI,CAAC,OAAO,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,CAAA;gBAC1E,CAAC,CAAC,CAAA;gBACF,OAAO,WAAW,CAAC,MAAM,KAAK,CAAC;oBAC7B,CAAC,CAAC,SAAS;oBACX,CAAC,CAAC,oBAAoB,CAAC,WAAW,CAAC,CAAC,IAAI,CAAC,MAAM,CAAC,OAAO,CAAC,SAAS,CAAC,CAAC,CAAA;YACvE,CAAC,CAAA;YACD,MAAM,iBAAiB,GAAG,GAAgD,EAAE;gBAC1E,MAAM,YAAY,GAAG,MAAM,EAAE,CAAA;gBAC7B,MAAM,SAAS,GAAG,mBAAmB,EAAE,CAAA;gBACvC,MAAM,MAAM,GAAG,YAAY,KAAK,SAAS,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,YAAY,CAAC,IAAI,CAAC,MAAM,CAAC,OAAO,CAAC,SAAS,CAAC,CAAC,CAAA;gBACpG,OAAO,YAAY,KAAK,SAAS,IAAI,WAAW,CAAC,MAAM,KAAK,CAAC;oBAC3D,CAAC,CAAC,MAAM;oBACR,CAAC,CAAC,OAAO,CAAC,eAAe,CAAC,MAAM,CAAC,CAAA;YACrC,CAAC,CAAA;YACD,IAAI,YAAY,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;gBAC9B,OAAO,iBAAiB,EAAE,CAAA;YAC5B,CAAC;YACD,OAAO,OAAO,CAAC,eAAe,CAC5B,oBAAoB,CAAC,YAAY,CAAC,CAAC,IAAI,CAAC,MAAM,CAAC,OAAO,CAAC,MAAM,CAAC,OAAO,CAAC,iBAAiB,CAAC,CAAC,CAAC,CAC3F,CAAA;QACH,CAAC,CAAC,CAAA;QAEF,MAAM,UAAU,GAAG,GAAgD,EAAE;YACnE,IAAI,SAAS,CAAC,WAAW,EAAE,CAAC;gBAC1B,OAAO,IAAI,CAAA;YACb,CAAC;YACD,MAAM,MAAM,GAAG,SAAS,CAAC,OAAO,CAAA;YAChC,MAAM,oBAAoB,GAAG,MAAM,EAAE,mBAAmB;gBACtD,aAAa,CAAC,0BAA0B,CAAC,OAAO,EAAE,OAAO,CAAC,CAAA;YAC5D,aAAa,GAAG,MAAM,EAAE,aAAa,IAAI,aAAa,CAAC,iBAAiB,CAAC,oBAAoB,CAAC,CAAA;YAC9F,MAAM,QAAQ,GAAG,UAAU,CAAC,QAAQ,CAClC,OAAO,EACP,KAAK,EACL,OAAO,CAAC,aAAa,EACrB,oBAAoB,EACpB,MAAM,EAAE,UAAU,IAAI,aAAa,CAAC,oBAAoB,CAAC,OAAO,EAAE,oBAAoB,CAAC,EACvF,eAAe,CAAC,YAAY,CAC7B,CAAA;YACD,SAAS,CAAC,OAAO,GAAG,SAAS,CAAA;YAC7B,SAAS,CAAC,WAAW,GAAG,IAAI,CAAA;YAC5B,OAAO,QAAQ,KAAK,SAAS,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,QAAQ,CAAC,IAAI,CAAC,MAAM,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC,CAAA;QAC5E,CAAC,CAAA;QACD,OAAO,eAAe,CAAC,qBAAqB,CAAC,MAAM,CAAC,OAAO,CAAC,UAAU,CAAC,EAAE,KAAK,CAAC,CAAA;IACjF,CAAC,CAAA;AACH,CAAC,CAAA;AAED,MAAM,gBAAgB,GAgClB,CAaF,OAA8G,EAC9G,KAAkC,EAClC,EAAE;IACF,MAAM,UAAU,GAAG,mBAAmB,CAAC,OAAO,CAAC,CAAA;IAC/C,MAAM,aAAa,GAAG,aAAa,CAAC,oBAAoB,CAAC,OAAO,CAAC,CAAA;IACjE,MAAM,WAAW,GAAG,KAAK,CAAC,IAAI,KAAK,SAAS,CAAC,CAAC,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAA;IAC9D,MAAM,eAAe,GAAG,KAAK,CAAC,IAAI,KAAK,SAAS,CAAC,CAAC,CAAC,aAAa,CAAC,OAAO,CAAC,CAAC,CAAC,SAAS,CAAA;IACpF,MAAM,mBAAmB,GAAG,eAAe,KAAK,SAAS,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,CACtE,KAA4D,EAC5D,EAAE;QACF,IAAI,CAAC;YACH,MAAM,OAAO,GAAG,eAAe,CAAC,WAAW,EAAE,KAAK,CAAC,CAAA;YACnD,MAAM,MAAM,GAAG;gBACb,KAAK,EAAE,OAAO,CAAC,KAAiC;gBAChD,IAAI,EAAE,OAAO,CAAC,IAAI;gBAClB,MAAM,EAAE,OAAO,CAAC,MAA4B;aAC7C,CAAA;YACD,OAAO,UAAU;gBACf,CAAC,CAAC;oBACA,GAAG,MAAM;oBACT,cAAc,EAAE,IAAI,oBAAoB,CAAC;wBACvC,aAAa,EAAE,OAAO,CAAC,aAAa;wBACpC,mBAAmB,EAAE,OAAO,CAAC,mBAAmB;wBAChD,UAAU,EAAE,OAAO,CAAC,iBAAiB;qBACtC,CAAC;iBACH;gBACD,CAAC,CAAC,MAAM,CAAA;QACZ,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YACf,MAAM,KAAK,YAAY,uBAAuB,IAAI,KAAK,YAAY,wBAAwB;gBACzF,CAAC,CAAC,KAAK;gBACP,CAAC,CAAC,IAAI,YAAY,CAAC,EAAE,KAAK,EAAE,KAAK,CAAC,GAAG,CAAC,KAAK,CAAC,EAAE,CAAC,CAAA;QACnD,CAAC;IACH,CAAC,CAAA;IACD,MAAM,WAAW,GAAG,CAClB,KAA4D,EAC5D,EAAE,CACF,eAAe,KAAK,SAAS;QAC3B,CAAC,CAAC,eAAe,CAAC,qBAAqB,CACrC,eAAe,CAAC,WAAW,CAAC,eAAe,CAAC,cAAc,CAAC,OAAO,EAAE,KAAK,CAAC,EAAE,GAAG,WAAW,CAAC,CAAC,IAAI,CAC9F,MAAM,CAAC,OAAO,CAAC,CAAC,OAAO,EAAE,EAAE;YACzB,MAAM,QAAQ,GAAG,OAAO,CAAC,QAAQ,CAAC,MAAM,KAAK,CAAC;gBAC5C,CAAC,CAAC,SAAS;gBACX,CAAC,CAAC,cAAc,CAAC,WAAW,CAAC,OAAO,CAAC,QAAQ,EAAE,KAAK,CAAC,CAAA;YACvD,MAAM,OAAO,GAAG,OAAO,CAAC,aAAa,CAAC,MAAM,KAAK,CAAC;gBAChD,CAAC,CAAC,SAAS;gBACX,CAAC,CAAC,cAAc,CAAC,gBAAgB,CAC/B,OAAO,CAAC,aAAa,EACrB,cAAc,CAAC,eAAe,CAAiD,OAAO,EAAE,KAAK,CAAC,CAC/F,CAAA;YACH,MAAM,MAAM,GAAG,MAAM,CAAC,OAAO,CAAC;gBAC5B,KAAK,EAAE,OAAO,CAAC,KAAK;gBACpB,IAAI,EAAE,OAAO,CAAC,IAAI;gBAClB,MAAM,EAAE,OAAO,CAAC,MAAM;aACvB,CAAC,CAAA;YACF,OAAO,QAAQ,KAAK,SAAS;gBAC3B,CAAC,CAAC,OAAO,KAAK,SAAS,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,OAAO,CAAC,IAAI,CAAC,MAAM,CAAC,OAAO,CAAC,MAAM,CAAC,CAAC;gBACvE,CAAC,CAAC,OAAO,KAAK,SAAS;oBACvB,CAAC,CAAC,QAAQ,CAAC,IAAI,CAAC,MAAM,CAAC,OAAO,CAAC,MAAM,CAAC,CAAC;oBACvC,CAAC,CAAC,QAAQ,CAAC,IAAI,CAAC,MAAM,CAAC,OAAO,CAAC,OAAO,CAAC,EAAE,MAAM,CAAC,OAAO,CAAC,MAAM,CAAC,CAAC,CAAA;QACpE,CAAC,CAAC,CACH,EACD,KAAK,CACN;QACD,CAAC,CAAC,MAAM,CAAC,GAAG,CAAC,EAAE,GAAG,EAAE,GAAG,EAAE,CAAC,mBAAoB,CAAC,KAAK,CAAC,EAAE,KAAK,EAAE,CAAC,KAAK,EAAE,EAAE,CAAC,KAAY,EAAE,CAAC,CAAA;IAC5F,OAAO,CAAC;QACN,SAAS,EAAE;YACT,IAAI,EAAE,UAAU;YAChB,SAAS,EAAE,CAAC,UAAU;YACtB,OAAO,EAAE,KAAK,CAAC,IAAI,KAAK,SAAS,CAAC,CAAC,CAAC,WAAW,CAAC,CAAC,CAAC,SAAS;YAC3D,WAAW,EAAE,mBAAmB;YAChC,KAAK,EAAE;gBACL,IAAI,EAAE,OAAO;gBACb,GAAG,EAAE,UAAU;oBACb,CAAC,CAAC,yBAAyB,CAAC,OAAO,EAAE,KAAK,CAAC,IAAI,KAAK,QAAQ,CAAC;oBAC7D,CAAC,CAAC,0BAA0B,CAAC,OAAO,EAAE,KAAK,CAAC,IAAI,KAAK,QAAQ,CAAC;aACjE;SACF;QACD,OAAO,EAAE,CAAC,KAAK,EAAE,EAAE,CACjB,KAAK,CAAC,IAAI,KAAK,QAAQ;YACrB,CAAC,CAAC,eAAe,CAAC,qBAAqB,CAAC,aAAa,CAAC,uBAAuB,CAAC,OAAO,EAAE,KAAK,CAAC,QAAQ,CAAC,EAAE,KAAK,CAAC;YAC9G,CAAC,CAAC,WAAW,CAAC,KAAK,CAAC,CAAC,IAAI,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,WAAW,EAAE,EAAE,CAAC,WAAW,CAAC,KAAK,CAAC,CAAC;QAC7E,GAAG,EAAE,CAAC,OAAO,EAAE,EAAE,CACf,eAAe,CAAC,qBAAqB,CACnC,MAAM,CAAC,GAAG,CAAC,QAAQ,CAAC;YAClB,MAAM,EAAE,eAAe,EAAE,WAAW,EAAE,cAAc,EAAE,KAAK,EAAE,QAAQ,EAAE,GAAG,OAAO,CAAA;YACjF,IAAI,eAAe,KAAK,SAAS,IAAI,WAAW,KAAK,SAAS,IAAI,cAAc,KAAK,SAAS,EAAE,CAAC;gBAC/F,OAAO,KAAK,CAAC,CAAC,MAAM,CAAC,GAAG,CAAC,IAAI,KAAK,CAAC,gEAAgE,CAAC,CAAC,CAAA;YACvG,CAAC;YACD,IAAI,QAAiD,CAAA;YAErD,IAAI,OAAO,GAAG,KAAK,CAAC,CAAC,KAAK,CAAA;YAC1B,IAAI,eAAe,CAAC,YAAY,CAAC,OAAO,EAAE,OAAO,CAAC,EAAE,CAAC;gBACnD,OAAO,KAAK,CAAC,CAAC,eAAe,CAAC,oBAAoB,CAChD,OAAO,EACP,OAAO,EACP,eAAe,CAAC,YAAY,CAC7B,CAAA;YACH,CAAC;YAED,IAAI,CAAC,UAAU,EAAE,CAAC;gBAChB,6DAA6D;gBAC7D,8DAA8D;gBAC9D,mEAAmE;gBACnE,kEAAkE;gBAClE,kEAAkE;gBAClE,qEAAqE;gBACrE,IAAI,aAA4D,CAAA;gBAChE,IAAI,cAAc,GAA2E,MAAM,CAAC,IAAI,EAAE,CAAA;gBAC1G,IAAI,WAAgF,CAAA;gBACpF,OAAO,QAAQ,KAAK,SAAS,EAAE,CAAC;oBAC9B,MAAM,OAAO,GAAG,MAAM,CAAC,MAAM,CAAC,cAAc,CAAC,CAAC,CAAC,CAAC,cAAc,CAAC,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,cAAc,CAAA;oBAC5F,cAAc,GAAG,MAAM,CAAC,IAAI,EAAE,CAAA;oBAC9B,MAAM,YAAY,GAAG,eAAe,CAAC,qBAAqB,CAAC,OAAO,CAAC,CAAA;oBACnE,MAAM,KAAK,GAAG,YAAY,CAAC,CAAC,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC,CAAC,OAAO,CAAA;oBACpD,MAAM,MAAM,GAAG,OAAO,CAAA;oBACtB,IAAI,OAAO,CAAA;oBACX,IAAI,CAAC;wBACH,OAAO,GAAG,eAAe,CAAC,iBAAiB,CACzC,OAAO,EACP,aAAa,CAAC,cAAc,CAC1B,aAAa,IAAI,aAAa,CAAC,0BAA0B,CAAC,OAAO,EAAE,OAAO,CAAC,EAC3E,OAAO,CACR,EACD,KAAK,CACN,CAAA;oBACH,CAAC;oBAAC,OAAO,KAAK,EAAE,CAAC;wBACf,IAAI,KAAK,YAAY,uBAAuB,IAAI,KAAK,YAAY,wBAAwB,EAAE,CAAC;4BAC1F,OAAO,KAAK,CAAC,CAAC,KAAK,CAAA;wBACrB,CAAC;wBACD,MAAM,KAAK,CAAA;oBACb,CAAC;oBACD,aAAa,GAAG,OAAO,CAAC,IAAI,CAAA;oBAE5B,IAAI,OAAO,CAAC,UAAU,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;wBAClC,MAAM,IAAI,GAAG,aAAa,CAAC,yBAAyB,CAAS,OAAO,EAAE,OAAO,CAAC,IAAI,CAAC,CAAA;wBACnF,KAAK,CAAC,CAAC,cAAc,CAAC,WAAW,CAAC,OAAO,CAAC,QAAQ,EAAE,OAAO,CAAC,CAAA;wBAC5D,KAAK,CAAC,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAA;wBACrB,OAAO,GAAG,IAAI,CAAA;wBACd,IAAI,OAAO,CAAC,aAAa,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;4BACrC,KAAK,CAAC,CAAC,cAAc,CAAC,gBAAgB,CACpC,OAAO,CAAC,aAAqD,EAC7D,WAAW,KAAK,cAAc,CAAC,eAAe,CAAC,OAAO,EAAE,OAAO,CAAC,CACjE,CAAA;wBACH,CAAC;wBAED,IAAI,OAAO,CAAC,IAAI,EAAE,CAAC;4BACjB,QAAQ,GAAG,EAAE,MAAM,EAAE,OAAO,CAAC,MAAM,EAAE,CAAA;wBACvC,CAAC;oBACH,CAAC;oBAED,IAAI,YAAY,EAAE,CAAC;wBACjB,eAAe,CAAC;4BACd,MAAM;4BACN,IAAI,EAAE,gBAAgB,CACpB,OAAO,EACP,CAAC,KAAK,EAAE,EAAE,CACR,aAAa,CAAC,yBAAyB,CAAC,OAAO,EAAE,KAA0C,CAAC,CAC/F;4BACD,KAAK,EAAE,OAAO;yBACf,CAAC,CAAA;oBACJ,CAAC;oBAED,IAAI,QAAQ,KAAK,SAAS,EAAE,CAAC;wBAC3B,cAAc,GAAG,KAAK,CAAC,CAAC,WAAW,CAAA;wBACnC,IAAI,MAAM,CAAC,MAAM,CAAC,cAAc,CAAC,EAAE,CAAC;4BAClC,aAAa,GAAG,SAAS,CAAA;wBAC3B,CAAC;oBACH,CAAC;gBACH,CAAC;gBAED,IAAI,QAAQ,KAAK,SAAS,EAAE,CAAC;oBAC3B,OAAO,KAAK,CAAC,CAAC,MAAM,CAAC,GAAG,CACtB,IAAI,KAAK,CAAC,mFAAmF,CAAC,CAC/F,CAAA;gBACH,CAAC;gBACD,OAAO,QAAQ,CAAC,MAAM,CAAA;YACxB,CAAC;YAED,qEAAqE;YACrE,iEAAiE;YACjE,sBAAsB;YACtB,MAAM,aAAa,GAAG,OAAO,CAAC,aAAa,CAAA;YAC3C,IAAI,aAAa,KAAK,SAAS,EAAE,CAAC;gBAChC,OAAO,KAAK,CAAC,CAAC,MAAM,CAAC,GAAG,CAAC,IAAI,KAAK,CAAC,4DAA4D,CAAC,CAAC,CAAA;YACnG,CAAC;YACD,MAAM,YAAY,GAI0C,CAAC,aAAa,EAAE,KAAK,EAAE,KAAK,EAAE,EAAE,CAC1F,CAAC,UAAU,CAAC,QAAQ,CAClB,OAAO,EACP,OAAO,EACP,aAAa,EACb,aAAa,EACb,KAAK,EACL,KAAK,CACN,IAAI,MAAM,CAAC,IAAI,CAAyD,CAAA;YAC3E,MAAM,WAAW,GAAG,CAAC,KAA4B,EAAuB,EAAE,CACxE,aAAa,CAAC,SAAS,CAAC,KAAK,CAAC,IAAI,MAAM,CAAC,IAAI,CAAA;YAE/C,OAAO,KAAK,CAAC,CAAC,MAAM,CAAC,GAAG,CAAC,QAAQ,CAAC;gBAChC,IAAI,aAAa,GAAkD,KAAK,CAAC,CAAC,aAAa;qBACpF,4BAA4B,CAC3B,OAAO,EACP,OAAO,CACR,CAAA;gBACH,KAAK,CAAC,CAAC,YAAY,CACjB,aAAa,EACb,aAAa,CAAC,oBAAoB,CAAC,OAAO,EAAE,aAAa,CAAC,EAC1D,eAAe,CAAC,YAAY,CAC7B,CAAA;gBACD,8DAA8D;gBAC9D,wDAAwD;gBACxD,aAAa,GAAG,SAAS,CAAA;gBACzB,IAAI,cAAc,GAA2E,MAAM,CAAC,IAAI,EAAE,CAAA;gBAC1G,IAAI,WAAgF,CAAA;gBAEpF,iEAAiE;gBACjE,8DAA8D;gBAC9D,OAAO,QAAQ,KAAK,SAAS,EAAE,CAAC;oBAC9B,MAAM,OAAO,GAAG,MAAM,CAAC,MAAM,CAAC,cAAc,CAAC,CAAC,CAAC,CAAC,cAAc,CAAC,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,cAAc,CAAA;oBAC5F,cAAc,GAAG,MAAM,CAAC,IAAI,EAAE,CAAA;oBAC9B,MAAM,YAAY,GAAG,eAAe,CAAC,qBAAqB,CAAC,OAAO,CAAC,CAAA;oBACnE,MAAM,KAAK,GAAG,YAAY,CAAC,CAAC,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC,CAAC,OAAO,CAAA;oBACpD,MAAM,MAAM,GAAG,OAAO,CAAA;oBACtB,IAAI,OAAO,CAAA;oBACX,IAAI,CAAC;wBACH,OAAO,GAAG,eAAe,CAAC,iBAAiB,CACzC,OAAO,EACP,aAAa,CAAC,cAAc,CAC1B,aAAa,IAAI,aAAa,CAAC,0BAA0B,CAAC,OAAO,EAAE,OAAO,CAAC,EAC3E,OAAO,CACR,EACD,KAAK,CACN,CAAA;oBACH,CAAC;oBAAC,OAAO,KAAK,EAAE,CAAC;wBACf,IAAI,KAAK,YAAY,uBAAuB,IAAI,KAAK,YAAY,wBAAwB,EAAE,CAAC;4BAC1F,OAAO,KAAK,CAAC,CAAC,KAAK,CAAA;wBACrB,CAAC;wBACD,MAAM,KAAK,CAAA;oBACb,CAAC;oBACD,aAAa,GAAG,OAAO,CAAC,IAAI,CAAA;oBAC5B,IAAI,OAAO,CAAC,UAAU,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;wBAClC,MAAM,OAAO,GAAG,OAAO,CAAC,UAAU,CAAC,IAAI,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,IAAI,CAAC,OAAO,CAAC,CAAA;wBAC/D,MAAM,SAAS,GAAG,OAAO,CAAC,UAAU,CAAC,OAAO,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,IAAI,CAAC,SAAS,CAAC,CAAA;wBACtE,MAAM,WAAW,GAAG,IAAI,GAAG,EAA0C,CAAA;wBACrE,KAAK,MAAM,IAAI,IAAI,OAAO,CAAC,UAAU,EAAE,CAAC;4BACtC,IAAI,IAAI,CAAC,OAAO,EAAE,CAAC;gCACjB,KAAK,MAAM,IAAI,IAAI,IAAI,CAAC,UAAU,EAAE,CAAC;oCACnC,WAAW,CAAC,GAAG,CAAC,IAAI,EAAE,IAAI,CAAC,KAAuC,CAAC,CAAA;gCACrE,CAAC;4BACH,CAAC;wBACH,CAAC;wBAED,MAAM,IAAI,GAAG,aAAa,CAAC,yBAAyB,CAAS,OAAO,EAAE,OAAO,CAAC,IAAI,CAAC,CAAA;wBACnF,KAAK,CAAC,CAAC,cAAc,CAAC,WAAW,CAAC,OAAO,CAAC,QAAQ,EAAE,OAAO,CAAC,CAAA;wBAC5D,IAAI,OAAO,EAAE,CAAC;4BACZ,KAAK,CAAC,CAAC,WAAW,CAAC,SAAS,CAAC,CAAA;wBAC/B,CAAC;wBACD,KAAK,CAAC,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAA;wBACrB,OAAO,GAAG,IAAI,CAAA;wBACd,IAAI,OAAO,CAAC,aAAa,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;4BACrC,KAAK,CAAC,CAAC,cAAc,CAAC,gBAAgB,CACpC,OAAO,CAAC,aAAqD,EAC7D,WAAW,KAAK,cAAc,CAAC,eAAe,CAAC,OAAO,EAAE,OAAO,CAAC,CACjE,CAAA;wBACH,CAAC;wBAED,IAAI,OAAO,CAAC,IAAI,EAAE,CAAC;4BACjB,QAAQ,GAAG,EAAE,MAAM,EAAE,OAAO,CAAC,MAAM,EAAE,CAAA;4BACrC,KAAK,CAAC,CAAC,aAAa,CAAC,OAAO,EAAE,CAAA;wBAChC,CAAC;6BAAM,IAAI,OAAO,EAAE,CAAC;4BACnB,KAAK,MAAM,CAAC,IAAI,EAAE,UAAU,CAAC,IAAI,WAAW,EAAE,CAAC;gCAC7C,KAAK,CAAC,CAAC,YAAY,CAAC,OAAO,CAAC,IAAI,EAAE,CAAC,IAAI,CAAC,EAAE,UAAU,CAAC,CAAA;4BACvD,CAAC;wBACH,CAAC;oBACH,CAAC;oBAED,IAAI,YAAY,EAAE,CAAC;wBACjB,eAAe,CAAC;4BACd,MAAM;4BACN,IAAI,EAAE,gBAAgB,CACpB,OAAO,EACP,CAAC,KAAK,EAAE,EAAE,CACR,aAAa,CAAC,yBAAyB,CAAC,OAAO,EAAE,KAA0C,CAAC,CAC/F;4BACD,KAAK,EAAE,OAAO;yBACf,CAAC,CAAA;oBACJ,CAAC;oBAED,IAAI,QAAQ,KAAK,SAAS,EAAE,CAAC;wBAC3B,cAAc,GAAG,KAAK,CAAC,CAAC,WAAW,CAAA;wBACnC,IAAI,MAAM,CAAC,MAAM,CAAC,cAAc,CAAC,EAAE,CAAC;4BAClC,aAAa,GAAG,SAAS,CAAA;wBAC3B,CAAC;oBACH,CAAC;gBACH,CAAC;gBAED,IAAI,QAAQ,KAAK,SAAS,EAAE,CAAC;oBAC3B,OAAO,KAAK,CAAC,CAAC,MAAM,CAAC,GAAG,CACtB,IAAI,KAAK,CAAC,mFAAmF,CAAC,CAC/F,CAAA;gBACH,CAAC;gBACD,OAAO,QAAQ,CAAC,MAAM,CAAA;YACxB,CAAC,CAAC,CAAC,IAAI,CACL,MAAM,CAAC,MAAM,CAAC,GAAG,EAAE,CAAC,aAAa,CAAC,OAAO,EAAE,CAAC,CAC7C,CAAA;QACH,CAAC,CAAC,EACF,OAAO,CACR;KACJ,CAiBA,CAAA;AACH,CAAC,CAAA;AAED,MAAM,wBAAwB,GAAG,IAAI,OAAO,EAGzC,CAAA;AAEH,MAAM,CAAC,MAAM,cAAc,GAgCvB,CAAC,OAAO,EAAE,GAAG,IAAI,EAAE,EAAE;IACvB,IAAI,IAAI,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;QACpB,OAAO,gBAAgB,CAAC,OAAO,EAAE,EAAE,IAAI,EAAE,SAAS,EAAE,IAAI,EAAE,CAAC,CAAA;IAC7D,CAAC;IACD,wEAAwE;IACxE,0EAA0E;IAC1E,0EAA0E;IAC1E,4EAA4E;IAC5E,8CAA8C;IAC9C,MAAM,MAAM,GAAG,wBAAwB,CAAC,GAAG,CAAC,OAAO,CAAC,CAAA;IACpD,IAAI,MAAM,KAAK,SAAS,EAAE,CAAC;QACzB,OAAO,MAAa,CAAA;IACtB,CAAC;IACD,MAAM,KAAK,GAAG,gBAAgB,CAAC,OAAO,EAAE,EAAE,IAAI,EAAE,SAAS,EAAE,IAAI,EAAE,CAAC,CAAA;IAClE,wBAAwB,CAAC,GAAG,CAAC,OAAO,EAAE,KAAY,CAAC,CAAA;IACnD,OAAO,KAAK,CAAA;AACd,CAAC,CAAA;AAED,MAAM,qBAAqB,GAAG,CAC5B,OAAoB,EACpB,QAA+B,EAC6B,EAAE,CAC7D,gBAAwB,CAAC,OAAO,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE,QAAQ,EAAE,CAAC,CAAA;AAElE,0EAA0E;AAC1E,MAAM,CAAC,MAAM,kCAAkC,GAAG,CAChD,OAAoB,EACpB,QAAgD,EAChD,GAAG,IAA4B,EAC0C,EAAE,CAC3E,eAAe,CAAC,kCAAkC,CAC/C,cAAsB,CAAC,OAAO,EAAE,GAAG,IAAI,CAAC,EACzC,QAAQ,EACR,OAAO,CAAC,EAAE,KAAK,SAAS,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,EAAE,EAAE,EAAE,OAAO,CAAC,EAAE,EAAE,CAC1D,CAAA;AAEH,mFAAmF;AACnF,MAAM,CAAC,MAAM,oCAAoC,GAAG,CAClD,OAAoB,EACpB,QAAgD,EAChD,GAAG,IAA4B,EAC8D,EAAE,CAC/F,eAAe,CAAC,oCAAoC,CACjD,cAAsB,CAAC,OAAO,EAAE,GAAG,IAAI,CAAC,EACzC,QAAQ,EACR,OAAO,CAAC,EAAE,KAAK,SAAS,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,EAAE,EAAE,EAAE,OAAO,CAAC,EAAE,EAAE,CAC1D,CAAA;AAEH,4EAA4E;AAC5E,MAAM,CAAC,MAAM,mCAAmC,GAAG,CACjD,OAAoB,EACpB,QAA+B,EAC/B,QAAgD,EACyB,EAAE,CAC3E,eAAe,CAAC,kCAAkC,CAChD,qBAAqB,CAAC,OAAO,EAAE,QAAQ,CAAC,EACxC,QAAQ,EACR,OAAO,CAAC,EAAE,KAAK,SAAS,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,EAAE,EAAE,EAAE,OAAO,CAAC,EAAE,EAAE,CAC1D,CAAA;AAEH,MAAM,CAAC,MAAM,KAAK,GAsCd,CAAC,OAAO,EAAE,GAAG,IAAI,EAAE,EAAE,CACvB,eAAe,CAAC,YAAY,CAC1B,cAAc,CAAC,OAAO,EAAE,GAAG,IAAI,CAAC,EAChC,OAAO,CAAC,EAAE,KAAK,SAAS,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,EAAE,EAAE,EAAE,OAAO,CAAC,EAAE,EAAE,CACnD,CAAA;AAEV,MAAM,CAAC,MAAM,OAAO,GAuChB,CAAC,OAAO,EAAE,GAAG,IAAI,EAAE,EAAE,CACvB,eAAe,CAAC,cAAc,CAC5B,cAAc,CAAC,OAAO,EAAE,GAAG,IAAI,CAAC,EAChC,OAAO,CAAC,EAAE,KAAK,SAAS,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,EAAE,EAAE,EAAE,OAAO,CAAC,EAAE,EAAE,CACnD,CAAA;AAEV,MAAM,CAAC,MAAM,MAAM,GA4Bf,CAAC,OAAO,EAAE,QAAQ,EAAE,EAAE,CACxB,eAAe,CAAC,YAAY,CAC1B,qBAAqB,CAAC,OAAO,EAAE,QAAQ,CAAC,EACxC,OAAO,CAAC,EAAE,KAAK,SAAS,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,EAAE,EAAE,EAAE,OAAO,CAAC,EAAE,EAAE,CACnD,CAAA"}
|
|
@@ -8,27 +8,22 @@ import * as Schema from "effect/Schema";
|
|
|
8
8
|
import type { Machine } from "../../Machine.js";
|
|
9
9
|
import { MachineSchemaDecodeError } from "./errors.js";
|
|
10
10
|
export interface DecodeBoundaryOptions {
|
|
11
|
-
readonly boundary: "input" | "event" | "
|
|
11
|
+
readonly boundary: "input" | "event" | "emission" | "state" | "output" | "history" | "configuration";
|
|
12
12
|
readonly state?: string;
|
|
13
13
|
readonly event?: string;
|
|
14
14
|
}
|
|
15
15
|
export declare const EventConstructionTypeId: unique symbol;
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
}
|
|
16
|
+
export declare const isEventProtocol: <Kind extends Machine.EventProtocolKind>(value: unknown, kind: Kind) => value is Machine.EventProtocol.Any<Kind>;
|
|
17
|
+
export declare const eventProtocolSchemas: <Schemas extends ReadonlyArray<Machine.TaggedSchema>>(protocol: Machine.EventProtocol<Machine.EventProtocolKind, Schemas>) => Schemas;
|
|
18
|
+
export declare const inputEventSchemas: (machine: Machine.Any) => ReadonlyArray<Machine.TaggedSchema>;
|
|
19
|
+
export declare const internalEventSchemas: (machine: Machine.Any) => ReadonlyArray<Machine.TaggedSchema>;
|
|
20
|
+
export declare const emittedEventSchemas: (machine: Machine.Any) => ReadonlyArray<Machine.TaggedSchema>;
|
|
22
21
|
export declare const setProtocol: (machine: Machine.Any) => void;
|
|
23
22
|
export declare const copyProtocol: (source: Machine.Any, target: Machine.Any) => void;
|
|
24
23
|
export declare const getEventName: (event: unknown) => string | undefined;
|
|
25
|
-
export declare const
|
|
24
|
+
export declare const makeEventProtocol: <Kind extends Machine.EventProtocolKind, Schemas extends ReadonlyArray<Machine.TaggedSchema>>(kind: Kind, schemas: Schemas) => Machine.EventProtocol<Kind, Schemas>;
|
|
26
25
|
export declare const decodeBoundary: <A>(machine: Machine.Any, schema: Schema.Top, value: unknown, options: DecodeBoundaryOptions) => Effect.Effect<A, MachineSchemaDecodeError>;
|
|
27
26
|
export declare const decodeBoundarySync: <A>(machine: Machine.Any, schema: Schema.Top, value: unknown, options: DecodeBoundaryOptions) => A;
|
|
28
|
-
/** Constructs an event through one of the machine protocol's own schemas and
|
|
29
|
-
* records the decoded value as trusted by that protocol. Machine clones share
|
|
30
|
-
* the protocol record, while unrelated machines retain independent trust. */
|
|
31
|
-
export declare const makeEvent: <Schema extends Machine.TaggedSchema>(machine: Machine.Any, schema: Schema, input: unknown) => Schema["Type"];
|
|
32
27
|
export declare const decodeInput: <Input extends Schema.Top>(machine: Machine.Any, schema: Input, value: unknown) => Effect.Effect<Input["Type"], MachineSchemaDecodeError>;
|
|
33
28
|
export declare const decodeEvent: <const Events extends ReadonlyArray<Machine.TaggedSchema>>(machine: Machine.Any, event: unknown) => Effect.Effect<Machine.EventOf<Events>, MachineSchemaDecodeError>;
|
|
34
29
|
export declare const decodeEventSync: <const Events extends ReadonlyArray<Machine.TaggedSchema>>(machine: Machine.Any, event: unknown) => Machine.EventOf<Events>;
|
|
@@ -39,5 +34,4 @@ export declare const decodeStateValue: (machine: Machine.Any, node: Machine.Stat
|
|
|
39
34
|
export declare const decodeStateValueSync: (machine: Machine.Any, node: Machine.StateNode, value: unknown) => unknown;
|
|
40
35
|
export declare const decodeOutputValue: (machine: Machine.Any, node: Machine.StateNode, value: unknown) => Effect.Effect<unknown, MachineSchemaDecodeError>;
|
|
41
36
|
export declare const decodeOutputValueSync: (machine: Machine.Any, node: Machine.StateNode, value: unknown) => unknown;
|
|
42
|
-
export {};
|
|
43
37
|
//# sourceMappingURL=protocol.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"protocol.d.ts","sourceRoot":"","sources":["../../../src/internal/machine/protocol.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAGH,OAAO,KAAK,MAAM,MAAM,eAAe,CAAA;AAGvC,OAAO,KAAK,MAAM,MAAM,eAAe,CAAA;AAEvC,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,kBAAkB,CAAA;AAC/C,OAAO,EAAE,wBAAwB,EAAE,MAAM,aAAa,CAAA;AAGtD,MAAM,WAAW,qBAAqB;IACpC,QAAQ,CAAC,QAAQ,EAAE,OAAO,GAAG,OAAO,GAAG,
|
|
1
|
+
{"version":3,"file":"protocol.d.ts","sourceRoot":"","sources":["../../../src/internal/machine/protocol.ts"],"names":[],"mappings":"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"}
|
|
@@ -11,7 +11,9 @@ import * as Schema from "effect/Schema";
|
|
|
11
11
|
import * as SchemaAST from "effect/SchemaAST";
|
|
12
12
|
import { MachineSchemaDecodeError } from "./errors.js";
|
|
13
13
|
import { getStateNodeSchema, isStateInput } from "./topology.js";
|
|
14
|
+
const eventProtocolDefinitions = new WeakMap();
|
|
14
15
|
export const EventConstructionTypeId = Symbol("effect/Machine/EventConstruction");
|
|
16
|
+
const eventConstructionDefinitions = new WeakMap();
|
|
15
17
|
const boundaryDecoderCache = new WeakMap();
|
|
16
18
|
const boundaryResultDecoderCache = new WeakMap();
|
|
17
19
|
const getBoundaryDecoder = (schema) => {
|
|
@@ -68,25 +70,69 @@ const collectEventConstructors = (schemas) => {
|
|
|
68
70
|
add(schema);
|
|
69
71
|
return constructors;
|
|
70
72
|
};
|
|
73
|
+
const getEventProtocolDefinition = (protocol, expectedKind) => {
|
|
74
|
+
const definition = eventProtocolDefinitions.get(protocol);
|
|
75
|
+
if (definition === undefined) {
|
|
76
|
+
throw new Error("Machine expected an event protocol created with Machine.events, Machine.internalEvents, or Machine.emittedEvents");
|
|
77
|
+
}
|
|
78
|
+
if (expectedKind !== undefined && definition.kind !== expectedKind) {
|
|
79
|
+
throw new Error(`Machine expected a ${expectedKind} event protocol`);
|
|
80
|
+
}
|
|
81
|
+
return definition;
|
|
82
|
+
};
|
|
83
|
+
export const isEventProtocol = (value, kind) => typeof value === "object" && value !== null && eventProtocolDefinitions.get(value)?.kind === kind;
|
|
84
|
+
export const eventProtocolSchemas = (protocol) => getEventProtocolDefinition(protocol).schemas;
|
|
85
|
+
export const inputEventSchemas = (machine) => getEventProtocolDefinition(machine.events, "public").schemas;
|
|
86
|
+
export const internalEventSchemas = (machine) => getEventProtocolDefinition(machine.internalEvents, "internal").schemas;
|
|
87
|
+
export const emittedEventSchemas = (machine) => getEventProtocolDefinition(machine.emittedEvents, "emitted").schemas;
|
|
71
88
|
export const setProtocol = (machine) => {
|
|
72
|
-
const
|
|
89
|
+
const inputEvents = inputEventSchemas(machine);
|
|
90
|
+
const localEvents = internalEventSchemas(machine);
|
|
91
|
+
const emittedEvents = emittedEventSchemas(machine);
|
|
92
|
+
const publicTags = new Set(Reflect.ownKeys(machine.events));
|
|
93
|
+
for (const tag of Reflect.ownKeys(machine.internalEvents)) {
|
|
94
|
+
if (publicTags.has(tag)) {
|
|
95
|
+
throw new Error(`Public and internal machine event tags must be disjoint: ${String(tag)}`);
|
|
96
|
+
}
|
|
97
|
+
}
|
|
98
|
+
const events = [...inputEvents, ...localEvents];
|
|
73
99
|
setProtocolSchemas(machine, {
|
|
74
100
|
event: Schema.Union(events),
|
|
75
|
-
emit: Schema.Union(
|
|
101
|
+
emit: Schema.Union(emittedEvents),
|
|
76
102
|
eventConstructors: collectEventConstructors(events),
|
|
77
|
-
trustedEvents: new WeakSet()
|
|
103
|
+
trustedEvents: new WeakSet(),
|
|
104
|
+
emissionConstructors: collectEventConstructors(emittedEvents),
|
|
105
|
+
trustedEmissions: new WeakSet()
|
|
78
106
|
});
|
|
79
107
|
};
|
|
80
108
|
export const copyProtocol = (source, target) => setProtocolSchemas(target, getProtocolSchemas(source));
|
|
81
109
|
export const getEventName = (event) => hasProperty(event, "_tag") ? String(event._tag) : undefined;
|
|
82
|
-
const makeEventConstruction = (schema, tag, input) =>
|
|
83
|
-
|
|
84
|
-
|
|
85
|
-
|
|
86
|
-
|
|
87
|
-
}
|
|
88
|
-
|
|
89
|
-
|
|
110
|
+
const makeEventConstruction = (kind, schema, tag, input) => {
|
|
111
|
+
let ownedInput = input;
|
|
112
|
+
let inputError;
|
|
113
|
+
if (typeof input === "object" && input !== null) {
|
|
114
|
+
try {
|
|
115
|
+
ownedInput = { ...input };
|
|
116
|
+
}
|
|
117
|
+
catch (cause) {
|
|
118
|
+
ownedInput = undefined;
|
|
119
|
+
inputError = cause;
|
|
120
|
+
}
|
|
121
|
+
}
|
|
122
|
+
const construction = {
|
|
123
|
+
[EventConstructionTypeId]: EventConstructionTypeId,
|
|
124
|
+
_tag: tag
|
|
125
|
+
};
|
|
126
|
+
eventConstructionDefinitions.set(construction, {
|
|
127
|
+
kind,
|
|
128
|
+
schema,
|
|
129
|
+
input: ownedInput,
|
|
130
|
+
...(inputError === undefined ? {} : { inputError })
|
|
131
|
+
});
|
|
132
|
+
return Object.freeze(construction);
|
|
133
|
+
};
|
|
134
|
+
const isEventConstruction = (value) => typeof value === "object" && value !== null && eventConstructionDefinitions.has(value);
|
|
135
|
+
const eventConstructors = (kind, schemas) => {
|
|
90
136
|
const leaves = [];
|
|
91
137
|
const collect = (schema) => {
|
|
92
138
|
if (hasProperty(schema, "cases") && typeof schema.cases === "object" && schema.cases !== null) {
|
|
@@ -137,26 +183,26 @@ export const eventConstructors = (schemas) => {
|
|
|
137
183
|
for (const schema of leaves) {
|
|
138
184
|
const discriminants = schemaTags(schema);
|
|
139
185
|
if (discriminants.length === 0) {
|
|
140
|
-
|
|
186
|
+
continue;
|
|
141
187
|
}
|
|
142
188
|
for (const tag of discriminants) {
|
|
143
189
|
if (hasProperty(constructors, tag)) {
|
|
144
190
|
throw new Error(`Duplicate machine event constructor tag: ${String(tag)}`);
|
|
145
191
|
}
|
|
146
192
|
Object.defineProperty(constructors, tag, {
|
|
147
|
-
value: (...args) => {
|
|
148
|
-
const fields = args.length === 0 ? {} : args[0];
|
|
149
|
-
const input = typeof fields === "object" && fields !== null
|
|
150
|
-
? { ...fields, _tag: tag }
|
|
151
|
-
: { _tag: tag };
|
|
152
|
-
return makeEventConstruction(schema, tag, input);
|
|
153
|
-
},
|
|
193
|
+
value: (...args) => makeEventConstruction(kind, schema, tag, args.length === 0 ? {} : args[0]),
|
|
154
194
|
enumerable: true
|
|
155
195
|
});
|
|
156
196
|
}
|
|
157
197
|
}
|
|
158
198
|
return constructors;
|
|
159
199
|
};
|
|
200
|
+
export const makeEventProtocol = (kind, schemas) => {
|
|
201
|
+
const ownedSchemas = Object.freeze(Array.from(schemas));
|
|
202
|
+
const protocol = eventConstructors(kind, ownedSchemas);
|
|
203
|
+
eventProtocolDefinitions.set(protocol, { kind, schemas: ownedSchemas });
|
|
204
|
+
return Object.freeze(protocol);
|
|
205
|
+
};
|
|
160
206
|
export const decodeBoundary = (machine, schema, value, options) => getBoundaryDecoder(schema)(value).pipe(Effect.mapError((cause) => new MachineSchemaDecodeError({
|
|
161
207
|
machineId: machine.id,
|
|
162
208
|
boundary: options.boundary,
|
|
@@ -196,45 +242,63 @@ const makeBoundarySync = (machine, schema, input, options) => {
|
|
|
196
242
|
});
|
|
197
243
|
}
|
|
198
244
|
};
|
|
199
|
-
|
|
200
|
-
|
|
201
|
-
|
|
202
|
-
|
|
203
|
-
|
|
204
|
-
|
|
205
|
-
|
|
206
|
-
|
|
207
|
-
|
|
208
|
-
|
|
209
|
-
|
|
210
|
-
|
|
245
|
+
const eventConstructionProtocolError = (machine, construction, boundary) => new MachineSchemaDecodeError({
|
|
246
|
+
machineId: machine.id,
|
|
247
|
+
boundary,
|
|
248
|
+
event: String(construction._tag),
|
|
249
|
+
cause: Cause.die(new Error(`Constructed ${boundary} schema does not belong to the machine ${boundary} protocol`))
|
|
250
|
+
});
|
|
251
|
+
const eventConstructionInput = (construction, definition) => {
|
|
252
|
+
if (definition.inputError !== undefined)
|
|
253
|
+
throw definition.inputError;
|
|
254
|
+
return typeof definition.input === "object" && definition.input !== null
|
|
255
|
+
? { ...definition.input, _tag: construction._tag }
|
|
256
|
+
: { _tag: construction._tag };
|
|
211
257
|
};
|
|
212
|
-
const
|
|
258
|
+
const eventConstructionInputError = (machine, construction, boundary, cause) => new MachineSchemaDecodeError({
|
|
213
259
|
machineId: machine.id,
|
|
214
|
-
boundary
|
|
260
|
+
boundary,
|
|
215
261
|
event: String(construction._tag),
|
|
216
|
-
cause: Cause.die(
|
|
262
|
+
cause: Cause.die(cause)
|
|
217
263
|
});
|
|
218
|
-
const decodeEventConstruction = (machine, protocol, construction) => {
|
|
219
|
-
|
|
220
|
-
|
|
264
|
+
const decodeEventConstruction = (machine, protocol, construction, boundary) => {
|
|
265
|
+
const definition = eventConstructionDefinitions.get(construction);
|
|
266
|
+
const constructors = boundary === "event" ? protocol.eventConstructors : protocol.emissionConstructors;
|
|
267
|
+
if (definition === undefined ||
|
|
268
|
+
(boundary === "emission" ? definition.kind !== "emitted" : definition.kind === "emitted") ||
|
|
269
|
+
!constructors.has(definition.schema)) {
|
|
270
|
+
return Effect.fail(eventConstructionProtocolError(machine, construction, boundary));
|
|
221
271
|
}
|
|
222
|
-
return
|
|
272
|
+
return Effect.try({
|
|
273
|
+
try: () => eventConstructionInput(construction, definition),
|
|
274
|
+
catch: (cause) => eventConstructionInputError(machine, construction, boundary, cause)
|
|
275
|
+
}).pipe(Effect.flatMap((input) => definition.schema.makeEffect(input).pipe(Effect.mapError((cause) => new MachineSchemaDecodeError({
|
|
223
276
|
machineId: machine.id,
|
|
224
|
-
boundary
|
|
277
|
+
boundary,
|
|
225
278
|
event: String(construction._tag),
|
|
226
279
|
cause: new Schema.SchemaError(cause)
|
|
227
|
-
})), Effect.tap((event) => Effect.sync(() => protocol.trustedEvents.add(event))));
|
|
280
|
+
})))), Effect.tap((event) => Effect.sync(() => (boundary === "event" ? protocol.trustedEvents : protocol.trustedEmissions).add(event))));
|
|
228
281
|
};
|
|
229
|
-
const decodeEventConstructionSync = (machine, protocol, construction) => {
|
|
230
|
-
|
|
231
|
-
|
|
282
|
+
const decodeEventConstructionSync = (machine, protocol, construction, boundary) => {
|
|
283
|
+
const definition = eventConstructionDefinitions.get(construction);
|
|
284
|
+
const constructors = boundary === "event" ? protocol.eventConstructors : protocol.emissionConstructors;
|
|
285
|
+
if (definition === undefined ||
|
|
286
|
+
(boundary === "emission" ? definition.kind !== "emitted" : definition.kind === "emitted") ||
|
|
287
|
+
!constructors.has(definition.schema)) {
|
|
288
|
+
throw eventConstructionProtocolError(machine, construction, boundary);
|
|
289
|
+
}
|
|
290
|
+
let input;
|
|
291
|
+
try {
|
|
292
|
+
input = eventConstructionInput(construction, definition);
|
|
232
293
|
}
|
|
233
|
-
|
|
234
|
-
boundary
|
|
294
|
+
catch (cause) {
|
|
295
|
+
throw eventConstructionInputError(machine, construction, boundary, cause);
|
|
296
|
+
}
|
|
297
|
+
const event = makeBoundarySync(machine, definition.schema, input, {
|
|
298
|
+
boundary,
|
|
235
299
|
event: String(construction._tag)
|
|
236
300
|
});
|
|
237
|
-
protocol.trustedEvents.add(event);
|
|
301
|
+
(boundary === "event" ? protocol.trustedEvents : protocol.trustedEmissions).add(event);
|
|
238
302
|
return event;
|
|
239
303
|
};
|
|
240
304
|
const isTrustedEvent = (protocol, event) => typeof event === "object" && event !== null && protocol.trustedEvents.has(event);
|
|
@@ -242,7 +306,7 @@ export const decodeInput = (machine, schema, value) => decodeBoundary(machine, s
|
|
|
242
306
|
export const decodeEvent = (machine, event) => {
|
|
243
307
|
const protocol = getProtocolSchemas(machine);
|
|
244
308
|
if (isEventConstruction(event)) {
|
|
245
|
-
return decodeEventConstruction(machine, protocol, event);
|
|
309
|
+
return decodeEventConstruction(machine, protocol, event, "event");
|
|
246
310
|
}
|
|
247
311
|
if (isTrustedEvent(protocol, event)) {
|
|
248
312
|
return Effect.succeed(event);
|
|
@@ -253,7 +317,7 @@ export const decodeEvent = (machine, event) => {
|
|
|
253
317
|
export const decodeEventSync = (machine, event) => {
|
|
254
318
|
const protocol = getProtocolSchemas(machine);
|
|
255
319
|
if (isEventConstruction(event)) {
|
|
256
|
-
return decodeEventConstructionSync(machine, protocol, event);
|
|
320
|
+
return decodeEventConstructionSync(machine, protocol, event, "event");
|
|
257
321
|
}
|
|
258
322
|
if (isTrustedEvent(protocol, event)) {
|
|
259
323
|
return event;
|
|
@@ -262,12 +326,26 @@ export const decodeEventSync = (machine, event) => {
|
|
|
262
326
|
return decodeBoundarySync(machine, protocol.event, event, eventName === undefined ? { boundary: "event" } : { boundary: "event", event: eventName });
|
|
263
327
|
};
|
|
264
328
|
export const decodeEmit = (machine, event) => {
|
|
329
|
+
const protocol = getProtocolSchemas(machine);
|
|
330
|
+
if (isEventConstruction(event)) {
|
|
331
|
+
return decodeEventConstruction(machine, protocol, event, "emission");
|
|
332
|
+
}
|
|
333
|
+
if (typeof event === "object" && event !== null && protocol.trustedEmissions.has(event)) {
|
|
334
|
+
return Effect.succeed(event);
|
|
335
|
+
}
|
|
265
336
|
const eventName = getEventName(event);
|
|
266
|
-
return decodeBoundary(machine,
|
|
337
|
+
return decodeBoundary(machine, protocol.emit, event, eventName === undefined ? { boundary: "emission" } : { boundary: "emission", event: eventName });
|
|
267
338
|
};
|
|
268
339
|
export const decodeEmitSync = (machine, event) => {
|
|
340
|
+
const protocol = getProtocolSchemas(machine);
|
|
341
|
+
if (isEventConstruction(event)) {
|
|
342
|
+
return decodeEventConstructionSync(machine, protocol, event, "emission");
|
|
343
|
+
}
|
|
344
|
+
if (typeof event === "object" && event !== null && protocol.trustedEmissions.has(event)) {
|
|
345
|
+
return event;
|
|
346
|
+
}
|
|
269
347
|
const eventName = getEventName(event);
|
|
270
|
-
return decodeBoundarySync(machine,
|
|
348
|
+
return decodeBoundarySync(machine, protocol.emit, event, eventName === undefined ? { boundary: "emission" } : { boundary: "emission", event: eventName });
|
|
271
349
|
};
|
|
272
350
|
export const decodeInputSync = (machine, schema, value) => decodeBoundarySync(machine, schema, value, { boundary: "input" });
|
|
273
351
|
export const decodeStateValue = (machine, node, value) => isStateInput(value)
|