ihsm 0.0.21 → 0.0.23
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 +161 -8
- package/lib/cjs/index.d.ts +521 -58
- package/lib/cjs/index.js +279 -5
- package/lib/cjs/index.js.map +1 -1
- package/lib/cjs/internal/defs.private.d.ts +10 -0
- package/lib/cjs/internal/dispatch.debug.js +4 -2
- package/lib/cjs/internal/dispatch.debug.js.map +1 -1
- package/lib/cjs/internal/dispatch.production.js +4 -2
- package/lib/cjs/internal/dispatch.production.js.map +1 -1
- package/lib/cjs/internal/dispatch.trace.js +10 -2
- package/lib/cjs/internal/dispatch.trace.js.map +1 -1
- package/lib/cjs/internal/hsm.d.ts +7 -1
- package/lib/cjs/internal/hsm.js +36 -3
- package/lib/cjs/internal/hsm.js.map +1 -1
- package/lib/cjs/internal/lookup.d.ts +15 -0
- package/lib/cjs/internal/lookup.js +32 -0
- package/lib/cjs/internal/lookup.js.map +1 -0
- package/lib/cjs/internal/utils.d.ts +8 -0
- package/lib/cjs/internal/utils.js +12 -0
- package/lib/cjs/internal/utils.js.map +1 -1
- package/lib/cjs/testing.d.ts +279 -0
- package/lib/cjs/testing.js +392 -0
- package/lib/cjs/testing.js.map +1 -0
- package/lib/esm/index.d.ts +521 -58
- package/lib/esm/index.js +275 -5
- package/lib/esm/index.js.map +1 -1
- package/lib/esm/internal/defs.private.d.ts +10 -0
- package/lib/esm/internal/dispatch.debug.js +5 -3
- package/lib/esm/internal/dispatch.debug.js.map +1 -1
- package/lib/esm/internal/dispatch.production.js +5 -3
- package/lib/esm/internal/dispatch.production.js.map +1 -1
- package/lib/esm/internal/dispatch.trace.js +11 -3
- package/lib/esm/internal/dispatch.trace.js.map +1 -1
- package/lib/esm/internal/hsm.d.ts +7 -1
- package/lib/esm/internal/hsm.js +36 -3
- package/lib/esm/internal/hsm.js.map +1 -1
- package/lib/esm/internal/lookup.d.ts +15 -0
- package/lib/esm/internal/lookup.js +29 -0
- package/lib/esm/internal/lookup.js.map +1 -0
- package/lib/esm/internal/utils.d.ts +8 -0
- package/lib/esm/internal/utils.js +11 -0
- package/lib/esm/internal/utils.js.map +1 -1
- package/lib/esm/testing.d.ts +279 -0
- package/lib/esm/testing.js +370 -0
- package/lib/esm/testing.js.map +1 -0
- package/package.json +20 -4
package/lib/esm/index.js
CHANGED
|
@@ -27,6 +27,154 @@ export var TraceLevel;
|
|
|
27
27
|
*/
|
|
28
28
|
TraceLevel[TraceLevel["VERBOSE_DEBUG"] = 2] = "VERBOSE_DEBUG";
|
|
29
29
|
})(TraceLevel || (TraceLevel = {}));
|
|
30
|
+
/**
|
|
31
|
+
* Abstract base class for **any** port — production or test.
|
|
32
|
+
*
|
|
33
|
+
* It takes the machine's root {@link TopState} as its single type argument and derives the
|
|
34
|
+
* context and internal protocol from it (via {@link MachineContext} / {@link MachineInternal}),
|
|
35
|
+
* so the `TopState` is the one place those types are declared. Extend {@link Port} (not `BasePort`
|
|
36
|
+
* directly) for production ports so timer and random services are available.
|
|
37
|
+
*
|
|
38
|
+
* The {@link BasePort.actor | actor} link is **bound lazily** by the runtime: construct the port
|
|
39
|
+
* with no arguments and pass the instance to a factory, which wires the actor in afterwards.
|
|
40
|
+
*
|
|
41
|
+
* @typeParam T - The machine's root {@link TopState} subclass (e.g. `ConnTop`)
|
|
42
|
+
*
|
|
43
|
+
* @category Port
|
|
44
|
+
*/
|
|
45
|
+
export class BasePort {
|
|
46
|
+
/**
|
|
47
|
+
* @inheritdoc PortHandle.actor
|
|
48
|
+
*
|
|
49
|
+
* Set once by the runtime right after the machine is built; `undefined` before binding.
|
|
50
|
+
*/
|
|
51
|
+
actor;
|
|
52
|
+
/** @inheritdoc PortHandle.hsm */
|
|
53
|
+
hsm() {
|
|
54
|
+
return this.actor;
|
|
55
|
+
}
|
|
56
|
+
/**
|
|
57
|
+
* Post an internal event inward through the bound {@link BasePort.actor | actor}.
|
|
58
|
+
*
|
|
59
|
+
* This is the one channel a port (or a test driving the port) uses to feed the machine its
|
|
60
|
+
* internal protocol. Because emission is explicit — never a side effect of the outbound call
|
|
61
|
+
* the machine made — a single mock works across many tests: the test decides *when* (and
|
|
62
|
+
* whether) to push each internal event.
|
|
63
|
+
*
|
|
64
|
+
* @param eventName - Internal event to post
|
|
65
|
+
* @param payload - Arguments for the event
|
|
66
|
+
* @throws If called before the actor has been bound by a factory
|
|
67
|
+
*/
|
|
68
|
+
send(eventName, ...payload) {
|
|
69
|
+
if (this.actor === undefined) {
|
|
70
|
+
throw new Error('ihsm: port.send called before the actor was bound — pass the port to makeActor/makeHsm/makeTestActor first');
|
|
71
|
+
}
|
|
72
|
+
this.actor.post(eventName, ...payload);
|
|
73
|
+
}
|
|
74
|
+
}
|
|
75
|
+
/**
|
|
76
|
+
* Production port base with standard JavaScript timer and random services.
|
|
77
|
+
*
|
|
78
|
+
* Extend this class for domain ports in production code. It inherits the lazily-bound
|
|
79
|
+
* {@link BasePort.actor | actor}, {@link BasePort.hsm | hsm}, and {@link BasePort.send | send}
|
|
80
|
+
* from {@link BasePort}, and adds {@link Port.setTimeout | setTimeout} /
|
|
81
|
+
* {@link Port.setInterval | setInterval} / {@link Port.clearTimeout | clearTimeout} /
|
|
82
|
+
* {@link Port.clearInterval | clearInterval} plus the {@link RandomService} methods
|
|
83
|
+
* ({@link Port.random | random}, {@link Port.cryptoRandom | cryptoRandom},
|
|
84
|
+
* {@link Port.randomUUID | randomUUID}, {@link Port.getRandomValues | getRandomValues}).
|
|
85
|
+
*
|
|
86
|
+
* {@link State.deferredPost} delegates to {@link Port.setTimeout}. When no custom port is
|
|
87
|
+
* supplied the runtime instantiates a plain `Port` for that purpose.
|
|
88
|
+
*
|
|
89
|
+
* @typeParam T - The machine's root {@link TopState} subclass (e.g. `ConnTop`)
|
|
90
|
+
*
|
|
91
|
+
* @example A minimal domain port
|
|
92
|
+
* ```ts
|
|
93
|
+
* class ConnPortImpl extends ihsm.Port<ConnTop> implements ConnPort {
|
|
94
|
+
* private nextId = 1;
|
|
95
|
+
* connect(host: string): ihsm.ResultWithSubscription<number> {
|
|
96
|
+
* const id = this.nextId++;
|
|
97
|
+
* return { value: id, subscription: { dispose: () => {} } };
|
|
98
|
+
* }
|
|
99
|
+
* disconnect(id: number): void {}
|
|
100
|
+
* }
|
|
101
|
+
* const port = new ConnPortImpl();
|
|
102
|
+
* const conn = ihsm.makeActor(ConnTop, ctx, port); // binds port.actor
|
|
103
|
+
* ```
|
|
104
|
+
*
|
|
105
|
+
* @category Port
|
|
106
|
+
*/
|
|
107
|
+
export class Port extends BasePort {
|
|
108
|
+
_timerSeq = 0;
|
|
109
|
+
_timeoutHandles = new Map();
|
|
110
|
+
_intervalHandles = new Map();
|
|
111
|
+
/**
|
|
112
|
+
* Schedule `callback` after `millis` milliseconds — same argument order as `globalThis.setTimeout`.
|
|
113
|
+
*
|
|
114
|
+
* @returns An opaque handle for {@link Port.clearTimeout}
|
|
115
|
+
*/
|
|
116
|
+
setTimeout(callback, millis) {
|
|
117
|
+
const id = ++this._timerSeq;
|
|
118
|
+
const handle = globalThis.setTimeout(() => {
|
|
119
|
+
this._timeoutHandles.delete(id);
|
|
120
|
+
callback();
|
|
121
|
+
}, Math.max(0, millis ?? 0));
|
|
122
|
+
this._timeoutHandles.set(id, handle);
|
|
123
|
+
return id;
|
|
124
|
+
}
|
|
125
|
+
/** Cancel a pending {@link Port.setTimeout} handle. No-op when `id` is `undefined` or unknown. */
|
|
126
|
+
clearTimeout(id) {
|
|
127
|
+
if (id === undefined) {
|
|
128
|
+
return;
|
|
129
|
+
}
|
|
130
|
+
const handle = this._timeoutHandles.get(id);
|
|
131
|
+
if (handle !== undefined) {
|
|
132
|
+
globalThis.clearTimeout(handle);
|
|
133
|
+
this._timeoutHandles.delete(id);
|
|
134
|
+
}
|
|
135
|
+
}
|
|
136
|
+
/**
|
|
137
|
+
* Schedule `callback` every `millis` milliseconds — same argument order as `globalThis.setInterval`.
|
|
138
|
+
*
|
|
139
|
+
* @returns An opaque handle for {@link Port.clearInterval}
|
|
140
|
+
*/
|
|
141
|
+
setInterval(callback, millis) {
|
|
142
|
+
const id = ++this._timerSeq;
|
|
143
|
+
const handle = globalThis.setInterval(callback, Math.max(0, millis ?? 0));
|
|
144
|
+
this._intervalHandles.set(id, handle);
|
|
145
|
+
return id;
|
|
146
|
+
}
|
|
147
|
+
/** Cancel a pending {@link Port.setInterval} handle. No-op when `id` is `undefined` or unknown. */
|
|
148
|
+
clearInterval(id) {
|
|
149
|
+
if (id === undefined) {
|
|
150
|
+
return;
|
|
151
|
+
}
|
|
152
|
+
const handle = this._intervalHandles.get(id);
|
|
153
|
+
if (handle !== undefined) {
|
|
154
|
+
globalThis.clearInterval(handle);
|
|
155
|
+
this._intervalHandles.delete(id);
|
|
156
|
+
}
|
|
157
|
+
}
|
|
158
|
+
/** @inheritdoc RandomService.random */
|
|
159
|
+
random() {
|
|
160
|
+
return Math.random();
|
|
161
|
+
}
|
|
162
|
+
/** @inheritdoc RandomService.cryptoRandom */
|
|
163
|
+
cryptoRandom() {
|
|
164
|
+
const crypto = globalThis.crypto;
|
|
165
|
+
return crypto.random?.() ?? Math.random();
|
|
166
|
+
}
|
|
167
|
+
/** @inheritdoc RandomService.randomUUID */
|
|
168
|
+
randomUUID() {
|
|
169
|
+
return globalThis.crypto.randomUUID();
|
|
170
|
+
}
|
|
171
|
+
/** @inheritdoc RandomService.getRandomValues */
|
|
172
|
+
getRandomValues(array) {
|
|
173
|
+
// crypto.getRandomValues accepts a narrower union than ArrayBufferView; the runtime call is safe.
|
|
174
|
+
globalThis.crypto.getRandomValues(array);
|
|
175
|
+
return array;
|
|
176
|
+
}
|
|
177
|
+
}
|
|
30
178
|
/**
|
|
31
179
|
* Abstract root class for every state in the hierarchy.
|
|
32
180
|
*
|
|
@@ -46,6 +194,17 @@ export class TopState {
|
|
|
46
194
|
constructor() {
|
|
47
195
|
throw new Error('Fatal error: States cannot be instantiated');
|
|
48
196
|
}
|
|
197
|
+
/**
|
|
198
|
+
* Outbound boundary — the `port` instance passed to {@link makeActor} / {@link testing!makeTestActor};
|
|
199
|
+
* all impure I/O flows through here.
|
|
200
|
+
*
|
|
201
|
+
* Typed `undefined` for machines created without a port (the default), so existing
|
|
202
|
+
* port-less machines are unaffected. At runtime a {@link Port} always backs such
|
|
203
|
+
* machines — it is what {@link State.deferredPost} uses for its timer service.
|
|
204
|
+
*/
|
|
205
|
+
get port() {
|
|
206
|
+
return this.hsm.port;
|
|
207
|
+
}
|
|
49
208
|
/** @inheritdoc Properties.eventName */
|
|
50
209
|
get eventName() {
|
|
51
210
|
return this.hsm.eventName;
|
|
@@ -118,7 +277,7 @@ export class TopState {
|
|
|
118
277
|
post(eventName, ...eventPayload) {
|
|
119
278
|
this.hsm.post(eventName, ...eventPayload);
|
|
120
279
|
}
|
|
121
|
-
/** @inheritdoc
|
|
280
|
+
/** @inheritdoc State.deferredPost */
|
|
122
281
|
deferredPost(millis, eventName, ...eventPayload) {
|
|
123
282
|
this.hsm.deferredPost(millis, eventName, ...eventPayload);
|
|
124
283
|
}
|
|
@@ -415,15 +574,18 @@ class ConsoleTraceWriter {
|
|
|
415
574
|
}
|
|
416
575
|
}
|
|
417
576
|
}
|
|
418
|
-
|
|
577
|
+
/** @internal — shared by the core factories and (via re-export) the `ihsm/testing` factories. */
|
|
578
|
+
export function defaultDispatchErrorCallback(hsm, err) {
|
|
419
579
|
const writer = hsm.traceWriter;
|
|
420
580
|
writer.write(hsm, `An event dispatch has failed; error ${err.name}: ${err.message} has not been managed`);
|
|
421
581
|
writer.write(hsm, err);
|
|
422
582
|
throw err;
|
|
423
583
|
}
|
|
424
|
-
|
|
584
|
+
/** @internal */
|
|
585
|
+
export const defaultTraceWriter = new ConsoleTraceWriter();
|
|
425
586
|
const defaultTraceLevel = TraceLevel.DEBUG;
|
|
426
|
-
|
|
587
|
+
/** @internal */
|
|
588
|
+
export const defaultInitialize = true;
|
|
427
589
|
/**
|
|
428
590
|
* Creates and optionally initializes a hierarchical state machine **actor** bound to `ctx`.
|
|
429
591
|
*
|
|
@@ -464,13 +626,121 @@ const defaultInitialize = true;
|
|
|
464
626
|
*
|
|
465
627
|
* @category Factory
|
|
466
628
|
*/
|
|
467
|
-
export function makeHsm(topState, ctx, initialize = defaultInitialize, traceLevel = defaultTraceLevel, traceWriter = defaultTraceWriter, dispatchErrorCallback = defaultDispatchErrorCallback) {
|
|
629
|
+
export function makeHsm(topState, ctx, initialize = defaultInitialize, traceLevel = defaultTraceLevel, traceWriter = defaultTraceWriter, dispatchErrorCallback = defaultDispatchErrorCallback, port) {
|
|
630
|
+
return instantiate(topState, ctx, initialize, traceLevel, traceWriter, dispatchErrorCallback, port);
|
|
631
|
+
}
|
|
632
|
+
/** @internal — single construction path shared by {@link makeHsm}, {@link makeActor}, {@link testing!makeTestActor}. */
|
|
633
|
+
function instantiate(topState, ctx, initialize, traceLevel, traceWriter, dispatchErrorCallback, port) {
|
|
468
634
|
const instance = {
|
|
469
635
|
hsm: undefined,
|
|
470
636
|
ctx: ctx,
|
|
471
637
|
};
|
|
472
638
|
Object.setPrototypeOf(instance, topState.prototype);
|
|
473
639
|
instance.hsm = new HsmObject(topState, instance, traceWriter, traceLevel, dispatchErrorCallback, initialize);
|
|
640
|
+
// A port is always present: the supplied instance, otherwise a Port that backs
|
|
641
|
+
// `deferredPost`'s timer service. Its `actor` is bound here, lazily — synchronously, before
|
|
642
|
+
// the queued initialization walk, so `this.port` is available inside the first `onEntry`.
|
|
643
|
+
const boundPort = port ?? new Port();
|
|
644
|
+
boundPort.actor = instance.hsm;
|
|
645
|
+
instance.portRef = boundPort;
|
|
474
646
|
return instance.hsm;
|
|
475
647
|
}
|
|
648
|
+
/**
|
|
649
|
+
* @internal
|
|
650
|
+
*
|
|
651
|
+
* Wrap a live machine in a **structural, public-only** {@link Actor} facade (proposal T5).
|
|
652
|
+
*
|
|
653
|
+
* Replaces the old `hsm as unknown as Actor<…>` double cast. The returned object is annotated
|
|
654
|
+
* `Actor<Context, Public>`, so the compiler verifies it implements **exactly** the public surface —
|
|
655
|
+
* a regression that leaked an internal member would fail to compile, and if {@link Hsm} gains a
|
|
656
|
+
* member this factory stops compiling until the facade forwards it. Each forwarded `post` / `call`
|
|
657
|
+
* is narrowed from the merged-protocol instance down to the public protocol with a single local
|
|
658
|
+
* cast; properties delegate through get/set accessors so reads and writes still hit the live machine.
|
|
659
|
+
*/
|
|
660
|
+
function narrowToActor(hsm) {
|
|
661
|
+
const actor = {
|
|
662
|
+
get ctx() {
|
|
663
|
+
return hsm.ctx;
|
|
664
|
+
},
|
|
665
|
+
get currentState() {
|
|
666
|
+
return hsm.currentState;
|
|
667
|
+
},
|
|
668
|
+
get currentStateName() {
|
|
669
|
+
return hsm.currentStateName;
|
|
670
|
+
},
|
|
671
|
+
get topState() {
|
|
672
|
+
return hsm.topState;
|
|
673
|
+
},
|
|
674
|
+
get topStateName() {
|
|
675
|
+
return hsm.topStateName;
|
|
676
|
+
},
|
|
677
|
+
get ctxTypeName() {
|
|
678
|
+
return hsm.ctxTypeName;
|
|
679
|
+
},
|
|
680
|
+
get traceHeader() {
|
|
681
|
+
return hsm.traceHeader;
|
|
682
|
+
},
|
|
683
|
+
get eventName() {
|
|
684
|
+
return hsm.eventName;
|
|
685
|
+
},
|
|
686
|
+
get eventPayload() {
|
|
687
|
+
return hsm.eventPayload;
|
|
688
|
+
},
|
|
689
|
+
get traceLevel() {
|
|
690
|
+
return hsm.traceLevel;
|
|
691
|
+
},
|
|
692
|
+
set traceLevel(level) {
|
|
693
|
+
hsm.traceLevel = level;
|
|
694
|
+
},
|
|
695
|
+
get traceWriter() {
|
|
696
|
+
return hsm.traceWriter;
|
|
697
|
+
},
|
|
698
|
+
set traceWriter(writer) {
|
|
699
|
+
hsm.traceWriter = writer;
|
|
700
|
+
},
|
|
701
|
+
get dispatchErrorCallback() {
|
|
702
|
+
return hsm.dispatchErrorCallback;
|
|
703
|
+
},
|
|
704
|
+
set dispatchErrorCallback(cb) {
|
|
705
|
+
hsm.dispatchErrorCallback = cb;
|
|
706
|
+
},
|
|
707
|
+
post: hsm.post.bind(hsm),
|
|
708
|
+
call: hsm.call.bind(hsm),
|
|
709
|
+
sync: hsm.sync.bind(hsm),
|
|
710
|
+
restore: hsm.restore.bind(hsm),
|
|
711
|
+
};
|
|
712
|
+
return actor;
|
|
713
|
+
}
|
|
714
|
+
/**
|
|
715
|
+
* Creates an actor exposing only its **public** protocol, with an optional outbound {@link Port}.
|
|
716
|
+
*
|
|
717
|
+
* Like {@link makeHsm} but separates the public, client-callable protocol from an
|
|
718
|
+
* `InternalProtocol` that only the port may post inward. The returned {@link Actor} surfaces
|
|
719
|
+
* just the public events; handlers (and the port) may post the merged {@link Dispatch} protocol.
|
|
720
|
+
*
|
|
721
|
+
* The trailing `Disjoint` guard is a compile-time gate: if `Public` and `Internal` share an event
|
|
722
|
+
* name, the call fails to type-check, pointing at the overlapping keys.
|
|
723
|
+
*
|
|
724
|
+
* @typeParam Context - Domain context type
|
|
725
|
+
* @typeParam Public - Public, client-callable protocol
|
|
726
|
+
* @typeParam Internal - Internal protocol — only postable by the port / handlers
|
|
727
|
+
* @typeParam P - Concrete {@link Port} type assigned to `this.port`
|
|
728
|
+
* @param topState - Root state class; `Context` / `Public` / `Internal` are inferred from it (see {@link TopStateArg})
|
|
729
|
+
* @param ctx - Mutable domain object shared by all states
|
|
730
|
+
* @param port - Outbound port instance (its `actor` is bound by the factory; use {@link Port} if none)
|
|
731
|
+
* @param options - Optional tuning: `initialize` / `traceLevel` / `traceWriter` / … (see {@link ActorOptions})
|
|
732
|
+
* @returns A public-only {@link Actor} handle
|
|
733
|
+
*
|
|
734
|
+
* @example
|
|
735
|
+
* ```ts
|
|
736
|
+
* const conn = makeActor(ConnTop, new ConnCtx(), port, { traceLevel: TraceLevel.PRODUCTION });
|
|
737
|
+
* ```
|
|
738
|
+
*
|
|
739
|
+
* @category Factory
|
|
740
|
+
*/
|
|
741
|
+
export function makeActor(topState, ctx, port, options = {}, ..._disjointGuard) {
|
|
742
|
+
const { initialize = defaultInitialize, traceLevel = defaultTraceLevel, traceWriter = defaultTraceWriter, dispatchErrorCallback = defaultDispatchErrorCallback } = options;
|
|
743
|
+
const hsm = instantiate(topState, ctx, initialize, traceLevel, traceWriter, dispatchErrorCallback, port);
|
|
744
|
+
return narrowToActor(hsm);
|
|
745
|
+
}
|
|
476
746
|
//# sourceMappingURL=index.js.map
|
package/lib/esm/index.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/index.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/index.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,SAAS,EAAE,MAAM,gBAAgB,CAAC;AAC3C,OAAO,EAAE,eAAe,EAAE,UAAU,EAAE,eAAe,IAAI,uBAAuB,EAAE,YAAY,EAAE,MAAM,kBAAkB,CAAC;AA2EzH,6JAA6J;AAE7J;;;;;;;GAOG;AACH,MAAM,CAAN,IAAY,UAgBX;AAhBD,WAAY,UAAU;IACrB;;;OAGG;IACH,uDAAU,CAAA;IACV;;;OAGG;IACH,6CAAK,CAAA;IACL;;;OAGG;IACH,6DAAa,CAAA;AACd,CAAC,EAhBW,UAAU,KAAV,UAAU,QAgBrB;AA8rBD;;;;;;;;;;;;;;GAcG;AACH,MAAM,OAAgB,QAAQ;IAO7B;;;;OAIG;IACH,KAAK,CAAmE;IAExE,iCAAiC;IACjC,GAAG;QACF,OAAO,IAAI,CAAC,KAAK,CAAC;IACnB,CAAC;IAED;;;;;;;;;;;OAWG;IACH,IAAI,CAA6C,SAAqD,EAAE,GAAG,OAAoD;QAC9J,IAAI,IAAI,CAAC,KAAK,KAAK,SAAS,EAAE,CAAC;YAC9B,MAAM,IAAI,KAAK,CAAC,4GAA4G,CAAC,CAAC;QAC/H,CAAC;QACD,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,SAAS,EAAE,GAAG,OAAO,CAAC,CAAC;IACxC,CAAC;CACD;AAED;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA+BG;AACH,MAAM,OAAO,IAAc,SAAQ,QAAW;IACrC,SAAS,GAAG,CAAC,CAAC;IACL,eAAe,GAAG,IAAI,GAAG,EAA8C,CAAC;IACxE,gBAAgB,GAAG,IAAI,GAAG,EAA+C,CAAC;IAE3F;;;;OAIG;IACH,UAAU,CAAC,QAAoB,EAAE,MAAe;QAC/C,MAAM,EAAE,GAAG,EAAE,IAAI,CAAC,SAAS,CAAC;QAC5B,MAAM,MAAM,GAAG,UAAU,CAAC,UAAU,CACnC,GAAG,EAAE;YACJ,IAAI,CAAC,eAAe,CAAC,MAAM,CAAC,EAAE,CAAC,CAAC;YAChC,QAAQ,EAAE,CAAC;QACZ,CAAC,EACD,IAAI,CAAC,GAAG,CAAC,CAAC,EAAE,MAAM,IAAI,CAAC,CAAC,CACxB,CAAC;QACF,IAAI,CAAC,eAAe,CAAC,GAAG,CAAC,EAAE,EAAE,MAAM,CAAC,CAAC;QACrC,OAAO,EAAE,CAAC;IACX,CAAC;IAED,kGAAkG;IAClG,YAAY,CAAC,EAA2B;QACvC,IAAI,EAAE,KAAK,SAAS,EAAE,CAAC;YACtB,OAAO;QACR,CAAC;QACD,MAAM,MAAM,GAAG,IAAI,CAAC,eAAe,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC;QAC5C,IAAI,MAAM,KAAK,SAAS,EAAE,CAAC;YAC1B,UAAU,CAAC,YAAY,CAAC,MAAM,CAAC,CAAC;YAChC,IAAI,CAAC,eAAe,CAAC,MAAM,CAAC,EAAE,CAAC,CAAC;QACjC,CAAC;IACF,CAAC;IAED;;;;OAIG;IACH,WAAW,CAAC,QAAoB,EAAE,MAAe;QAChD,MAAM,EAAE,GAAG,EAAE,IAAI,CAAC,SAAS,CAAC;QAC5B,MAAM,MAAM,GAAG,UAAU,CAAC,WAAW,CAAC,QAAQ,EAAE,IAAI,CAAC,GAAG,CAAC,CAAC,EAAE,MAAM,IAAI,CAAC,CAAC,CAAC,CAAC;QAC1E,IAAI,CAAC,gBAAgB,CAAC,GAAG,CAAC,EAAE,EAAE,MAAM,CAAC,CAAC;QACtC,OAAO,EAAE,CAAC;IACX,CAAC;IAED,mGAAmG;IACnG,aAAa,CAAC,EAA2B;QACxC,IAAI,EAAE,KAAK,SAAS,EAAE,CAAC;YACtB,OAAO;QACR,CAAC;QACD,MAAM,MAAM,GAAG,IAAI,CAAC,gBAAgB,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC;QAC7C,IAAI,MAAM,KAAK,SAAS,EAAE,CAAC;YAC1B,UAAU,CAAC,aAAa,CAAC,MAAM,CAAC,CAAC;YACjC,IAAI,CAAC,gBAAgB,CAAC,MAAM,CAAC,EAAE,CAAC,CAAC;QAClC,CAAC;IACF,CAAC;IAED,uCAAuC;IACvC,MAAM;QACL,OAAO,IAAI,CAAC,MAAM,EAAE,CAAC;IACtB,CAAC;IAED,6CAA6C;IAC7C,YAAY;QACX,MAAM,MAAM,GAAG,UAAU,CAAC,MAA4C,CAAC;QACvE,OAAO,MAAM,CAAC,MAAM,EAAE,EAAE,IAAI,IAAI,CAAC,MAAM,EAAE,CAAC;IAC3C,CAAC;IAED,2CAA2C;IAC3C,UAAU;QACT,OAAO,UAAU,CAAC,MAAM,CAAC,UAAU,EAAE,CAAC;IACvC,CAAC;IAED,gDAAgD;IAChD,eAAe,CAA4B,KAAQ;QAClD,kGAAkG;QAClG,UAAU,CAAC,MAAM,CAAC,eAAe,CAAC,KAAc,CAAC,CAAC;QAClD,OAAO,KAAK,CAAC;IACd,CAAC;CACD;AAmJD;;;;;;;;;;GAUG;AACH,MAAM,OAAgB,QAAQ;IAC7B,4EAA4E;IACnE,GAAG,CAAW;IACvB,8FAA8F;IACrF,GAAG,CAAwD;IAUpE;QACC,MAAM,IAAI,KAAK,CAAC,4CAA4C,CAAC,CAAC;IAC/D,CAAC;IACD;;;;;;;OAOG;IACH,IAAI,IAAI;QACP,OAAQ,IAAI,CAAC,GAAiC,CAAC,IAAI,CAAC;IACrD,CAAC;IACD,uCAAuC;IACvC,IAAI,SAAS;QACZ,OAAO,IAAI,CAAC,GAAG,CAAC,SAAS,CAAC;IAC3B,CAAC;IACD,0CAA0C;IAC1C,IAAI,YAAY;QACf,OAAO,IAAI,CAAC,GAAG,CAAC,YAAY,CAAC;IAC9B,CAAC;IACD,yCAAyC;IACzC,IAAI,WAAW;QACd,OAAO,IAAI,CAAC,GAAG,CAAC,WAAW,CAAC;IAC7B,CAAC;IACD,sCAAsC;IACtC,IAAI,QAAQ;QACX,OAAO,IAAI,CAAC,GAAG,CAAC,QAAQ,CAAC;IAC1B,CAAC;IACD,8CAA8C;IAC9C,IAAI,gBAAgB;QACnB,OAAO,IAAI,CAAC,GAAG,CAAC,gBAAgB,CAAC;IAClC,CAAC;IACD,0CAA0C;IAC1C,IAAI,YAAY;QACf,OAAO,IAAI,CAAC,GAAG,CAAC,YAAY,CAAC;IAC9B,CAAC;IACD,yCAAyC;IACzC,IAAI,WAAW;QACd,OAAO,IAAI,CAAC,GAAG,CAAC,WAAW,CAAC;IAC7B,CAAC;IACD,wCAAwC;IACxC,IAAI,UAAU,CAAC,KAAiB;QAC/B,IAAI,CAAC,GAAG,CAAC,UAAU,GAAG,KAAK,CAAC;IAC7B,CAAC;IACD,wCAAwC;IACxC,IAAI,UAAU;QACb,OAAO,IAAI,CAAC,GAAG,CAAC,UAAU,CAAC;IAC5B,CAAC;IACD,0CAA0C;IAC1C,IAAI,YAAY;QACf,OAAO,IAAI,CAAC,GAAG,CAAC,YAAY,CAAC;IAC9B,CAAC;IACD,yCAAyC;IACzC,IAAI,WAAW;QACd,OAAO,IAAI,CAAC,GAAG,CAAC,WAAW,CAAC;IAC7B,CAAC;IACD,yCAAyC;IACzC,IAAI,WAAW,CAAC,KAAK;QACpB,IAAI,CAAC,GAAG,CAAC,WAAW,GAAG,KAAK,CAAC;IAC9B,CAAC;IAED,mDAAmD;IACnD,IAAI,qBAAqB;QACxB,OAAO,IAAI,CAAC,GAAG,CAAC,qBAAqB,CAAC;IACvC,CAAC;IACD,mDAAmD;IACnD,IAAI,qBAAqB,CAAC,KAAK;QAC9B,IAAI,CAAC,GAAG,CAAC,qBAAqB,GAAG,KAAK,CAAC;IACxC,CAAC;IACD,mCAAmC;IACnC,UAAU,CAAC,SAAoE;QAC9E,IAAI,CAAC,GAAG,CAAC,UAAU,CAAC,SAAS,CAAC,CAAC;IAChC,CAAC;IACD,kCAAkC;IAClC,SAAS;QACR,IAAI,CAAC,GAAG,CAAC,SAAS,EAAE,CAAC;IACtB,CAAC;IACD,8BAA8B;IAC9B,KAAK,CAAC,MAAc;QACnB,OAAO,IAAI,CAAC,GAAG,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC;IAC/B,CAAC;IACD,4BAA4B;IAC5B,IAAI,CAA+D,SAAuE,EAAE,GAAG,YAA2E;QACzN,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,SAAS,EAAE,GAAG,YAAY,CAAC,CAAC;IAC3C,CAAC;IACD,qCAAqC;IACrC,YAAY,CAA+D,MAAc,EAAE,SAAuE,EAAE,GAAG,YAA2E;QACjP,IAAI,CAAC,GAAG,CAAC,YAAY,CAAC,MAAM,EAAE,SAAS,EAAE,GAAG,YAAY,CAAC,CAAC;IAC3D,CAAC;IACD,gCAAgC;IAChC,OAAO,CAA+D,SAAuE,EAAE,GAAG,YAA2E;QAC5N,IAAI,CAAC,GAAG,CAAC,OAAO,CAAC,SAAS,EAAE,GAAG,YAAY,CAAC,CAAC;IAC9C,CAAC;IAED,qCAAqC;IACrC,MAAM,KAA0B,CAAC;IAEjC,sCAAsC;IACtC,OAAO,KAA0B,CAAC;IAElC,sCAAsC;IACtC,OAAO,CAA+D,KAA6E;QAClJ,MAAM,KAAK,CAAC;IACb,CAAC;IAED,0CAA0C;IAC1C,WAAW,CAA+D,KAAoF;QAC7J,MAAM,KAAK,CAAC;IACb,CAAC;CACD;AAED;;;;;;;GAOG;AACH,MAAM,OAAgB,QAAmD,SAAQ,KAAK;IACrF,yEAAyE;IACzE,IAAI,CAAS;IACb,sEAAsE;IACtE,YAAY,CAAS;IACrB,0EAA0E;IAC1E,SAAS,CAAS;IAClB,oEAAoE;IACpE,OAAO,CAAU;IACjB,kFAAkF;IAClF,KAAK,CAAS;IAEd,YAAsB,IAAY,EAAE,GAA6B,EAAE,OAAe,EAAE,KAAa;QAChG,KAAK,CAAC,OAAO,CAAC,CAAC;QACf,IAAI,CAAC,IAAI,GAAG,IAAI,CAAC;QACjB,IAAI,CAAC,YAAY,GAAG,GAAG,CAAC,YAAY,CAAC;QACrC,IAAI,CAAC,SAAS,GAAG,GAAG,CAAC,gBAAgB,CAAC;QACtC,IAAI,CAAC,OAAO,GAAG,GAAG,CAAC,GAAG,CAAC;QACvB,IAAI,CAAC,KAAK,GAAG,KAAK,CAAC;IACpB,CAAC;CACD;AAED;;;;;;;;GAQG;AACH,MAAM,OAAgB,YAAyF,SAAQ,QAA2B;IACjJ,uEAAuE;IACvE,SAAS,CAAmC;IAC5C,yEAAyE;IACzE,YAAY,CAAoC;IAEhD,YAAsB,SAAiB,EAAE,GAA6B,EAAE,OAAe,EAAE,KAAa;QACrG,KAAK,CAAC,SAAS,EAAE,GAAG,EAAE,OAAO,EAAE,KAAK,CAAC,CAAC;QACtC,IAAI,CAAC,SAAS,GAAG,GAAG,CAAC,SAA6C,CAAC;QACnE,IAAI,CAAC,YAAY,GAAG,GAAG,CAAC,YAAiD,CAAC;IAC3E,CAAC;CACD;AAED;;;;GAIG;AACH,MAAM,OAAO,eAA4F,SAAQ,YAA0C;IAYlJ;IACA;IACA;IACA;IAdR;;;;;;;OAOG;IACH,YACC,GAA6B,EAC7B,KAAY,EACL,eAAuB,EACvB,cAAoC,EACpC,aAAqB,EACrB,WAAmB;QAE1B,KAAK,CAAC,iBAAiB,EAAE,GAAG,EAAE,GAAG,eAAe,IAAI,cAAc,mDAAmD,aAAa,OAAO,WAAW,EAAE,EAAE,KAAK,CAAC,CAAC;QALxJ,oBAAe,GAAf,eAAe,CAAQ;QACvB,mBAAc,GAAd,cAAc,CAAsB;QACpC,kBAAa,GAAb,aAAa,CAAQ;QACrB,gBAAW,GAAX,WAAW,CAAQ;IAG3B,CAAC;CACD;AAED;;;;GAIG;AACH,MAAM,OAAO,iBAA8F,SAAQ,YAA0C;IAC5J;;;OAGG;IACH,YAAY,GAA6B,EAAE,KAAY;QACtD,KAAK,CAAC,mBAAmB,EAAE,GAAG,EAAE,sDAAsD,GAAG,CAAC,SAAS,aAAa,GAAG,CAAC,gBAAgB,EAAE,EAAE,KAAK,CAAC,CAAC;IAChJ,CAAC;CACD;AAED;;;;GAIG;AACH,MAAM,OAAO,mBAAgG,SAAQ,YAA0C;IAC9J,qEAAqE;IACrE,YAAY,GAA6B;QACxC,KAAK,CAAC,qBAAqB,EAAE,GAAG,EAAE,UAAU,GAAG,CAAC,SAAS,2BAA2B,GAAG,CAAC,gBAAgB,EAAE,CAAC,CAAC;IAC7G,CAAC;CACD;AAED;;;;GAIG;AACH,MAAM,OAAO,iBAA4D,SAAQ,KAAK;IACrF,mFAAmF;IACnF,eAAe,CAAS;IAExB,wFAAwF;IACxF,YAAY,WAA0C;QACrD,KAAK,CAAC,UAAU,YAAY,CAAC,MAAM,CAAC,cAAc,CAAC,WAAW,CAAC,SAAS,CAAC,CAAC,WAA4C,CAAC,6CAA6C,CAAC,CAAC;QACtK,IAAI,CAAC,IAAI,GAAG,mBAAmB,CAAC;QAChC,IAAI,CAAC,eAAe,GAAG,YAAY,CAAC,WAAW,CAAC,CAAC;IAClD,CAAC;CACD;AAED;;;;GAIG;AACH,MAAM,OAAO,UAAuF,SAAQ,YAA0C;IACrJ;;;OAGG;IACH,YAAY,GAA6B,EAAE,KAAY;QACtD,KAAK,CAAC,YAAY,EAAE,GAAG,EAAE,wBAAwB,UAAU,CAAC,KAAK,CAAC,EAAE,EAAE,KAAK,CAAC,CAAC;IAC9E,CAAC;CACD;AAED;;;;GAIG;AACH,MAAM,OAAO,mBAA8D,SAAQ,QAA2B;IAQrG;IAPR;;;;OAIG;IACH,YACC,GAA6B,EACtB,WAA0C,EACjD,KAAY;QAEZ,KAAK,CAAC,qBAAqB,EAAE,GAAG,EAAE,SAAS,YAAY,CAAC,WAAW,CAAC,eAAe,UAAU,CAAC,KAAK,CAAC,wBAAwB,EAAE,KAAK,CAAC,CAAC;QAH9H,gBAAW,GAAX,WAAW,CAA+B;IAIlD,CAAC;CACD;AAED;;;;;;;GAOG;AACH,MAAM,OAAO,eAA0D,SAAQ,QAA2B;CAAG;AAE7G,uBAAuB,CAAC,QAAQ,EAAE,UAAU,CAAC,CAAC;AAC9C,uBAAuB,CAAC,eAAe,EAAE,iBAAiB,CAAC,CAAC;AAE5D;;;;;;;;;;;;;;;;;;;;;;;GAuBG;AACH,MAAM,UAAU,YAAY,CAA2C,WAA0C;IAChH,MAAM,mBAAmB,GAAG,MAAM,CAAC,cAAc,CAAC,WAAW,CAAC,SAAS,CAAC,CAAC,WAAW,CAAC;IACrF,IAAI,eAAe,CAAC,mBAAmB,CAAC;QAAE,MAAM,IAAI,iBAAiB,CAAC,WAAW,CAAC,CAAC;IACnF,MAAM,CAAC,cAAc,CAAC,WAAW,EAAE,iBAAiB,EAAE;QACrD,KAAK,EAAE,IAAI;QACX,QAAQ,EAAE,KAAK;QACf,YAAY,EAAE,KAAK;QACnB,UAAU,EAAE,KAAK;KACjB,CAAC,CAAC;IACH,MAAM,CAAC,cAAc,CAAC,mBAAmB,EAAE,eAAe,EAAE;QAC3D,KAAK,EAAE,WAAW;QAClB,QAAQ,EAAE,KAAK;QACf,YAAY,EAAE,KAAK;QACnB,UAAU,EAAE,KAAK;KACjB,CAAC,CAAC;AACJ,CAAC;AAED;;;;;;;;;;;;;;;;;;;;;;GAsBG;AACH,MAAM,UAAU,eAAe,CAA2C,KAAoC,EAAE,IAAY;IAC3H,uBAAuB,CAAC,KAAK,EAAE,IAAI,CAAC,CAAC;AACtC,CAAC;AAED;;;;;;;;;;;;;;;;;;;;;;;;;;GA0BG;AACH,MAAM,UAAU,kBAAkB,CAAC,OAAgC;IAClE,KAAK,MAAM,CAAC,UAAU,EAAE,KAAK,CAAC,IAAI,MAAM,CAAC,OAAO,CAAC,OAAO,CAAC,EAAE,CAAC;QAC3D,IAAI,YAAY,CAAC,KAAK,CAAC,EAAE,CAAC;YACzB,uBAAuB,CAAC,KAAK,EAAE,UAAU,CAAC,CAAC;QAC5C,CAAC;IACF,CAAC;AACF,CAAC;AAED,iGAAiG;AACjG,SAAS,YAAY,CAAC,KAAc;IACnC,IAAI,OAAO,KAAK,KAAK,UAAU;QAAE,OAAO,KAAK,CAAC;IAC9C,MAAM,SAAS,GAAI,KAAkB,CAAC,SAAS,CAAC;IAChD,OAAO,OAAO,SAAS,KAAK,QAAQ,IAAI,SAAS,KAAK,IAAI,IAAI,QAAQ,CAAC,SAAS,CAAC,aAAa,CAAC,SAAS,CAAC,CAAC;AAC3G,CAAC;AAED,gBAAgB;AAChB,MAAM,kBAAkB;IACvB,KAAK,CAA2C,GAAkC,EAAE,OAAY;QAC/F,IAAI,OAAO,OAAO,IAAI,QAAQ,EAAE,CAAC;YAChC,OAAO,CAAC,GAAG,CAAC,GAAG,GAAG,CAAC,WAAW,GAAG,GAAG,CAAC,gBAAgB,KAAK,OAAO,EAAE,CAAC,CAAC;QACtE,CAAC;aAAM,CAAC;YACP,OAAO,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC;QACtB,CAAC;IACF,CAAC;CACD;AAED,iGAAiG;AACjG,MAAM,UAAU,4BAA4B,CAA2C,GAA4B,EAAE,GAAU;IAC9H,MAAM,MAAM,GAAG,GAAG,CAAC,WAAW,CAAC;IAC/B,MAAM,CAAC,KAAK,CAAC,GAAG,EAAE,uCAAuC,GAAG,CAAC,IAAI,KAAK,GAAG,CAAC,OAAO,uBAAuB,CAAC,CAAC;IAC1G,MAAM,CAAC,KAAK,CAAC,GAAG,EAAE,GAAG,CAAC,CAAC;IACvB,MAAM,GAAG,CAAC;AACX,CAAC;AAED,gBAAgB;AAChB,MAAM,CAAC,MAAM,kBAAkB,GAAgB,IAAI,kBAAkB,EAAE,CAAC;AACxE,MAAM,iBAAiB,GAAG,UAAU,CAAC,KAAK,CAAC;AAC3C,gBAAgB;AAChB,MAAM,CAAC,MAAM,iBAAiB,GAAG,IAAI,CAAC;AAEtC;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAuCG;AACH,MAAM,UAAU,OAAO,CAA2C,QAAuC,EAAE,GAAY,EAAE,aAAsB,iBAAiB,EAAE,aAAyB,iBAAiB,EAAE,cAA2B,kBAAkB,EAAE,wBAAkE,4BAA4B,EAAE,IAAoC;IAChY,OAAO,WAAW,CAAC,QAAQ,EAAE,GAAG,EAAE,UAAU,EAAE,UAAU,EAAE,WAAW,EAAE,qBAAqB,EAAE,IAAI,CAAC,CAAC;AACrG,CAAC;AAED,wHAAwH;AACxH,SAAS,WAAW,CAA2C,QAAuC,EAAE,GAAY,EAAE,UAAmB,EAAE,UAAsB,EAAE,WAAwB,EAAE,qBAA+D,EAAE,IAAoC;IACjS,MAAM,QAAQ,GAAgC;QAC7C,GAAG,EAAE,SAAyD;QAC9D,GAAG,EAAE,GAAG;KACR,CAAC;IACF,MAAM,CAAC,cAAc,CAAC,QAAQ,EAAE,QAAQ,CAAC,SAAS,CAAC,CAAC;IACpD,QAAQ,CAAC,GAAG,GAAG,IAAI,SAAS,CAAC,QAAQ,EAAE,QAAQ,EAAE,WAAW,EAAE,UAAU,EAAE,qBAAqB,EAAE,UAAU,CAAC,CAAC;IAC7G,+EAA+E;IAC/E,4FAA4F;IAC5F,0FAA0F;IAC1F,MAAM,SAAS,GAAkC,IAAI,IAAI,IAAI,IAAI,EAAE,CAAC;IACpE,SAAS,CAAC,KAAK,GAAG,QAAQ,CAAC,GAAG,CAAC;IAC/B,QAAQ,CAAC,OAAO,GAAG,SAAS,CAAC;IAC7B,OAAO,QAAQ,CAAC,GAAG,CAAC;AACrB,CAAC;AAwCD;;;;;;;;;;;GAWG;AACH,SAAS,aAAa,CAAyC,GAAwC;IACtG,MAAM,KAAK,GAA2B;QACrC,IAAI,GAAG;YACN,OAAO,GAAG,CAAC,GAAG,CAAC;QAChB,CAAC;QACD,IAAI,YAAY;YACf,OAAO,GAAG,CAAC,YAAsD,CAAC;QACnE,CAAC;QACD,IAAI,gBAAgB;YACnB,OAAO,GAAG,CAAC,gBAAgB,CAAC;QAC7B,CAAC;QACD,IAAI,QAAQ;YACX,OAAO,GAAG,CAAC,QAAkD,CAAC;QAC/D,CAAC;QACD,IAAI,YAAY;YACf,OAAO,GAAG,CAAC,YAAY,CAAC;QACzB,CAAC;QACD,IAAI,WAAW;YACd,OAAO,GAAG,CAAC,WAAW,CAAC;QACxB,CAAC;QACD,IAAI,WAAW;YACd,OAAO,GAAG,CAAC,WAAW,CAAC;QACxB,CAAC;QACD,IAAI,SAAS;YACZ,OAAO,GAAG,CAAC,SAAS,CAAC;QACtB,CAAC;QACD,IAAI,YAAY;YACf,OAAO,GAAG,CAAC,YAAY,CAAC;QACzB,CAAC;QACD,IAAI,UAAU;YACb,OAAO,GAAG,CAAC,UAAU,CAAC;QACvB,CAAC;QACD,IAAI,UAAU,CAAC,KAAiB;YAC/B,GAAG,CAAC,UAAU,GAAG,KAAK,CAAC;QACxB,CAAC;QACD,IAAI,WAAW;YACd,OAAO,GAAG,CAAC,WAAW,CAAC;QACxB,CAAC;QACD,IAAI,WAAW,CAAC,MAAmB;YAClC,GAAG,CAAC,WAAW,GAAG,MAAM,CAAC;QAC1B,CAAC;QACD,IAAI,qBAAqB;YACxB,OAAO,GAAG,CAAC,qBAA0E,CAAC;QACvF,CAAC;QACD,IAAI,qBAAqB,CAAC,EAA0C;YACnE,GAAG,CAAC,qBAAqB,GAAG,EAAsE,CAAC;QACpG,CAAC;QACD,IAAI,EAAE,GAAG,CAAC,IAAI,CAAC,IAAI,CAAC,GAAG,CAAmC;QAC1D,IAAI,EAAE,GAAG,CAAC,IAAI,CAAC,IAAI,CAAC,GAAG,CAAmC;QAC1D,IAAI,EAAE,GAAG,CAAC,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC;QACxB,OAAO,EAAE,GAAG,CAAC,OAAO,CAAC,IAAI,CAAC,GAAG,CAAsC;KACnE,CAAC;IACF,OAAO,KAAK,CAAC;AACd,CAAC;AAED;;;;;;;;;;;;;;;;;;;;;;;;;;GA0BG;AACH,MAAM,UAAU,SAAS,CAAmH,QAAgD,EAAE,GAAY,EAAE,IAAO,EAAE,UAAmD,EAAE,EAAE,GAAG,cAAkG;IAChX,MAAM,EAAE,UAAU,GAAG,iBAAiB,EAAE,UAAU,GAAG,iBAAiB,EAAE,WAAW,GAAG,kBAAkB,EAAE,qBAAqB,GAAG,4BAA4B,EAAE,GAAG,OAAO,CAAC;IAC3K,MAAM,GAAG,GAAG,WAAW,CAAC,QAAQ,EAAE,GAAG,EAAE,UAAU,EAAE,UAAU,EAAE,WAAW,EAAE,qBAAqB,EAAE,IAAkE,CAAC,CAAC;IACvK,OAAO,aAAa,CAAkB,GAAqD,CAAC,CAAC;AAC9F,CAAC"}
|
|
@@ -3,6 +3,16 @@ import { PostedEvent, EventPayload, Hsm, StateClass, State } from '../index.js';
|
|
|
3
3
|
export interface Instance<Context, Protocol extends {} | undefined> {
|
|
4
4
|
ctx: Context;
|
|
5
5
|
hsm: HsmWithTracing<Context, Protocol>;
|
|
6
|
+
/**
|
|
7
|
+
* Outbound boundary surfaced as `this.port`. Always set by `instantiate`: the supplied port
|
|
8
|
+
* instance (whose `actor` is bound lazily by the runtime), or a `Port` (which also
|
|
9
|
+
* provides the timer service used by `deferredPost`) when none is supplied.
|
|
10
|
+
*
|
|
11
|
+
* Stored under `portRef` (not `port`) because the instance's prototype is a `TopState`
|
|
12
|
+
* subclass whose `port` accessor would otherwise shadow this slot. Optional on the type only
|
|
13
|
+
* because it is assigned just after the instance literal is created.
|
|
14
|
+
*/
|
|
15
|
+
portRef?: unknown;
|
|
6
16
|
}
|
|
7
17
|
/** @internal */
|
|
8
18
|
export interface Transition<Context, Protocol extends {} | undefined> {
|
|
@@ -1,5 +1,6 @@
|
|
|
1
1
|
import { TopState, EventHandlerError, FatalError, FatalErrorState, InitializationError, TransitionError, UnhandledEventError } from '../index.js';
|
|
2
|
-
import {
|
|
2
|
+
import { lookupEventHandler } from './lookup.js';
|
|
3
|
+
import { asError, getInitialState, getTransitionKey, hasInitialState, quoteUnknown, getStateName, adoptStateBeforeOnEntry } from './utils.js';
|
|
3
4
|
function finishEventDispatch(hsm) {
|
|
4
5
|
hsm._traceWrite(`end event dispatch`);
|
|
5
6
|
hsm._currentEventName = undefined;
|
|
@@ -40,6 +41,7 @@ class DebugTransition {
|
|
|
40
41
|
for (const state of this.entryList) {
|
|
41
42
|
const statePrototype = state.prototype;
|
|
42
43
|
const stateName = getStateName(state);
|
|
44
|
+
adoptStateBeforeOnEntry(hsm, state);
|
|
43
45
|
if (Object.prototype.hasOwnProperty.call(statePrototype, 'onEntry')) {
|
|
44
46
|
try {
|
|
45
47
|
const res = statePrototype.onEntry.call(hsm._instance);
|
|
@@ -201,6 +203,7 @@ async function executeInit(hsm) {
|
|
|
201
203
|
hsm._tracePush(`initialize`, `started initialization from ${getStateName(hsm.topState)}`);
|
|
202
204
|
try {
|
|
203
205
|
while (true) {
|
|
206
|
+
adoptStateBeforeOnEntry(hsm, currState);
|
|
204
207
|
if (Object.prototype.hasOwnProperty.call(currState.prototype, 'onEntry')) {
|
|
205
208
|
currState.prototype['onEntry'].call(hsm._instance);
|
|
206
209
|
}
|
|
@@ -212,7 +215,6 @@ async function executeInit(hsm) {
|
|
|
212
215
|
}
|
|
213
216
|
}
|
|
214
217
|
hsm._tracePopDone(`final state is ${getStateName(currState)}`);
|
|
215
|
-
hsm.currentState = currState;
|
|
216
218
|
}
|
|
217
219
|
catch (cause) {
|
|
218
220
|
if (cause instanceof TransitionError) {
|
|
@@ -235,7 +237,7 @@ async function dispatchEvent(hsm, eventName, ...eventPayload) {
|
|
|
235
237
|
hsm._currentEventName = eventLabel;
|
|
236
238
|
hsm._currentEventPayload = eventPayload;
|
|
237
239
|
try {
|
|
238
|
-
const eventHandler = hsm
|
|
240
|
+
const eventHandler = lookupEventHandler(hsm, eventName);
|
|
239
241
|
if (!eventHandler) {
|
|
240
242
|
try {
|
|
241
243
|
await doUnhandledEvent(hsm, new UnhandledEventError(hsm), () => {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"dispatch.debug.js","sourceRoot":"","sources":["../../../src/internal/dispatch.debug.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"dispatch.debug.js","sourceRoot":"","sources":["../../../src/internal/dispatch.debug.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,QAAQ,EAAE,iBAAiB,EAA6B,UAAU,EAAE,eAAe,EAAE,mBAAmB,EAAc,eAAe,EAAE,mBAAmB,EAAE,MAAM,KAAK,CAAC;AAGjL,OAAO,EAAE,kBAAkB,EAAE,MAAM,UAAU,CAAC;AAC9C,OAAO,EAAE,OAAO,EAAE,eAAe,EAAE,gBAAgB,EAAE,eAAe,EAAE,YAAY,EAAE,YAAY,EAAE,uBAAuB,EAAE,MAAM,SAAS,CAAC;AAE3I,SAAS,mBAAmB,CAA2C,GAAsC;IAC5G,GAAG,CAAC,WAAW,CAAC,oBAAoB,CAAC,CAAC;IACtC,GAAG,CAAC,iBAAiB,GAAG,SAAS,CAAC;IAClC,GAAG,CAAC,oBAAoB,GAAG,SAAS,CAAC;AACtC,CAAC;AAED,KAAK,UAAU,0BAA0B,CAA2C,GAAsC,EAAE,UAAsB;IACjJ,MAAM,YAAY,CAAC,GAAG,CAAC,CAAC;IACxB,UAAU,EAAE,CAAC;AACd,CAAC;AAED,gBAAgB;AAChB,MAAM,eAAe;IAEX;IACA;IACA;IAHT,YACS,QAA8C,EAC9C,SAA+C,EAC/C,UAA0C;QAF1C,aAAQ,GAAR,QAAQ,CAAsC;QAC9C,cAAS,GAAT,SAAS,CAAsC;QAC/C,eAAU,GAAV,UAAU,CAAgC;IAChD,CAAC;IAEJ,KAAK,CAAC,OAAO,CAAC,GAAsC,EAAE,QAAuC,EAAE,QAAuC;QACrI,GAAG,CAAC,UAAU,CAAC,mBAAmB,YAAY,CAAC,QAAQ,CAAC,OAAO,YAAY,CAAC,QAAQ,CAAC,EAAE,EAAE,2BAA2B,YAAY,CAAC,QAAQ,CAAC,OAAO,YAAY,CAAC,QAAQ,CAAC,GAAG,CAAC,CAAC;QAE5K,KAAK,MAAM,KAAK,IAAI,IAAI,CAAC,QAAQ,EAAE,CAAC;YACnC,MAAM,cAAc,GAAG,KAAK,CAAC,SAAS,CAAC;YACvC,MAAM,SAAS,GAAG,YAAY,CAAC,KAAK,CAAC,CAAC;YACtC,IAAI,MAAM,CAAC,SAAS,CAAC,cAAc,CAAC,IAAI,CAAC,cAAc,EAAE,QAAQ,CAAC,EAAE,CAAC;gBACpE,IAAI,CAAC;oBACJ,MAAM,GAAG,GAAG,cAAc,CAAC,MAAM,CAAC,IAAI,CAAC,GAAG,CAAC,SAAS,CAAC,CAAC;oBACtD,IAAI,GAAG,EAAE,CAAC;wBACT,MAAM,GAAG,CAAC;oBACX,CAAC;gBACF,CAAC;gBAAC,OAAO,KAAK,EAAE,CAAC;oBAChB,GAAG,CAAC,cAAc,CAAC,GAAG,SAAS,wBAAwB,YAAY,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC;oBAC9E,MAAM,IAAI,eAAe,CAAC,GAAG,EAAE,OAAO,CAAC,KAAK,CAAC,EAAE,SAAS,EAAE,QAAQ,EAAE,YAAY,CAAC,QAAQ,CAAC,EAAE,YAAY,CAAC,QAAQ,CAAC,CAAC,CAAC;gBACrH,CAAC;YACF,CAAC;QACF,CAAC;QAED,KAAK,MAAM,KAAK,IAAI,IAAI,CAAC,SAAS,EAAE,CAAC;YACpC,MAAM,cAAc,GAAG,KAAK,CAAC,SAAS,CAAC;YACvC,MAAM,SAAS,GAAG,YAAY,CAAC,KAAK,CAAC,CAAC;YACtC,uBAAuB,CAAC,GAAG,EAAE,KAAK,CAAC,CAAC;YACpC,IAAI,MAAM,CAAC,SAAS,CAAC,cAAc,CAAC,IAAI,CAAC,cAAc,EAAE,SAAS,CAAC,EAAE,CAAC;gBACrE,IAAI,CAAC;oBACJ,MAAM,GAAG,GAAG,cAAc,CAAC,OAAO,CAAC,IAAI,CAAC,GAAG,CAAC,SAAS,CAAC,CAAC;oBACvD,IAAI,GAAG,EAAE,CAAC;wBACT,MAAM,GAAG,CAAC;oBACX,CAAC;gBACF,CAAC;gBAAC,OAAO,KAAK,EAAE,CAAC;oBAChB,GAAG,CAAC,cAAc,CAAC,GAAG,SAAS,yBAAyB,YAAY,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC;oBAC/E,MAAM,IAAI,eAAe,CAAC,GAAG,EAAE,OAAO,CAAC,KAAK,CAAC,EAAE,SAAS,EAAE,SAAS,EAAE,YAAY,CAAC,QAAQ,CAAC,EAAE,YAAY,CAAC,QAAQ,CAAC,CAAC,CAAC;gBACtH,CAAC;YACF,CAAC;QACF,CAAC;QACD,IAAI,IAAI,CAAC,UAAU,EAAE,CAAC;YACrB,GAAG,CAAC,aAAa,CAAC,kBAAkB,YAAY,CAAC,IAAI,CAAC,UAAU,CAAC,EAAE,CAAC,CAAC;YACrE,GAAG,CAAC,YAAY,GAAG,IAAI,CAAC,UAAU,CAAC;QACpC,CAAC;IACF,CAAC;CACD;AAED,gBAAgB;AAChB,SAAS,gBAAgB,CAA2C,QAAuC,EAAE,SAAwC;IACpJ,MAAM,GAAG,GAAkC,QAAQ,CAAC;IACpD,IAAI,GAAG,GAAkC,SAAS,CAAC;IACnD,IAAI,OAAO,GAAoC,EAAE,CAAC;IAClD,MAAM,GAAG,GAAkC,QAAQ,CAAC;IACpD,MAAM,QAAQ,GAA+C,IAAI,GAAG,EAAE,CAAC;IACvE,IAAI,OAAO,GAAoC,EAAE,CAAC;IAClD,IAAI,GAAG,GAAkC,GAAG,CAAC;IAC7C,IAAI,CAAC,GAAG,CAAC,CAAC;IAEV,OAAO,GAAG,KAAK,GAAG,EAAE,CAAC;QACpB,OAAO,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;QAClB,QAAQ,CAAC,GAAG,CAAC,GAAG,EAAE,CAAC,CAAC,CAAC;QACrB,GAAG,GAAG,MAAM,CAAC,cAAc,CAAC,GAAG,CAAC,CAAC;QACjC,EAAE,CAAC,CAAC;IACL,CAAC;IACD,GAAG,GAAG,GAAG,CAAC;IAEV,OAAO,GAAG,KAAK,GAAG,EAAE,CAAC;QACpB,MAAM,CAAC,GAAG,QAAQ,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC;QAC5B,IAAI,CAAC,KAAK,SAAS,EAAE,CAAC;YACrB,OAAO,GAAG,OAAO,CAAC,KAAK,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC;YAC9B,MAAM;QACP,CAAC;QACD,OAAO,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC;QACrB,GAAG,GAAG,MAAM,CAAC,cAAc,CAAC,GAAG,CAAC,CAAC;IAClC,CAAC;IAED,OAAO,eAAe,CAAC,GAAG,CAAC,EAAE,CAAC;QAC7B,GAAG,GAAG,eAAe,CAAC,GAAG,CAAC,CAAC;QAC3B,OAAO,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;IACnB,CAAC;IAED,IAAI,UAAqD,CAAC;IAC1D,IAAI,OAAO,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;QAC1B,UAAU,GAAG,OAAO,CAAC,OAAO,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC;IAC1C,CAAC;SAAM,IAAI,OAAO,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;QACjC,UAAU,GAAG,MAAM,CAAC,cAAc,CAAC,OAAO,CAAC,OAAO,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,CAAC;IACjE,CAAC;SAAM,CAAC;QACP,UAAU,GAAG,SAAS,CAAC;IACxB,CAAC;IAED,OAAO,GAAG,OAAO,CAAC,MAAM,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,KAAK,CAAC,cAAc,CAAC,QAAQ,CAAC,CAAC,CAAC;IACnE,OAAO,GAAG,OAAO,CAAC,MAAM,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,KAAK,CAAC,cAAc,CAAC,SAAS,CAAC,CAAC,CAAC;IAEpE,OAAO,IAAI,eAAe,CAAoB,OAAO,EAAE,OAAO,EAAE,UAAU,CAAC,CAAC;AAC7E,CAAC;AAED,gBAAgB;AAChB,KAAK,UAAU,YAAY,CAA2C,GAAsC;IAC3G,IAAI,GAAG,CAAC,gBAAgB,EAAE,CAAC;QAC1B,IAAI,CAAC;YACJ,MAAM,QAAQ,GAAG,GAAG,CAAC,YAAY,CAAC;YAClC,MAAM,SAAS,GAAG,GAAG,CAAC,gBAAgB,CAAC;YACvC,MAAM,aAAa,GAAG,gBAAgB,CAAC,QAAQ,EAAE,SAAS,CAAC,CAAC;YAC5D,IAAI,EAAE,GAA8C,GAAG,CAAC,gBAAgB,CAAC,GAAG,CAAC,aAAa,CAAC,CAAC;YAC5F,IAAI,CAAC,EAAE,EAAE,CAAC;gBACT,EAAE,GAAG,gBAAgB,CAAC,QAAQ,EAAE,SAAS,CAAC,CAAC;gBAC3C,GAAG,CAAC,gBAAgB,CAAC,GAAG,CAAC,aAAa,EAAE,EAAE,CAAC,CAAC;YAC7C,CAAC;YACD,IAAI,CAAC;gBACJ,MAAM,EAAE,CAAC,OAAO,CAAC,GAAG,EAAE,QAAQ,EAAE,SAAS,CAAC,CAAC;YAC5C,CAAC;YAAC,OAAO,eAAe,EAAE,CAAC;gBAC1B,GAAG,CAAC,YAAY,GAAG,eAAe,CAAC;gBACnC,MAAM,eAAe,CAAC;YACvB,CAAC;QACF,CAAC;gBAAS,CAAC;YACV,GAAG,CAAC,gBAAgB,GAAG,SAAS,CAAC;QAClC,CAAC;IACF,CAAC;AACF,CAAC;AAED,gBAAgB;AAChB,KAAK,UAAU,OAAO,CAA2C,GAAsC,EAAE,GAAU,EAAE,UAAsB;IAC1I,GAAG,CAAC,gBAAgB,GAAG,SAAS,CAAC;IACjC,GAAG,CAAC,UAAU,CAAC,gBAAgB,EAAE,wBAAwB,CAAC,CAAC;IAC3D,IAAI,CAAC;QACJ,GAAG,CAAC,UAAU,CAAC,SAAS,EAAE,oCAAoC,CAAC,CAAC;QAChE,MAAM,MAAM,GAAG,GAAG,CAAC,YAAY,CAAC,SAAS,CAAC,OAAO,CAAC,IAAI,CAAC,GAAG,CAAC,SAAS,EAAE,IAAI,iBAAiB,CAAC,GAAG,EAAE,GAAG,CAAC,CAAC,CAAC;QACvG,IAAI,MAAM,EAAE,CAAC;YACZ,MAAM,MAAM,CAAC;QACd,CAAC;QACD,GAAG,CAAC,aAAa,CAAC,oCAAoC,CAAC,CAAC;QACxD,MAAM,0BAA0B,CAAC,GAAG,EAAE,GAAG,EAAE;YAC1C,GAAG,CAAC,aAAa,CAAC,2BAA2B,CAAC,CAAC;YAC/C,UAAU,EAAE,CAAC;QACd,CAAC,CAAC,CAAC;IACJ,CAAC;IAAC,OAAO,WAAW,EAAE,CAAC;QACtB,GAAG,CAAC,cAAc,CAAC,oCAAoC,YAAY,CAAC,WAAW,CAAC,EAAE,CAAC,CAAC;QACpF,IAAI,WAAW,YAAY,eAAe,EAAE,CAAC;YAC5C,GAAG,CAAC,cAAc,CAAC,2BAA2B,YAAY,CAAC,WAAW,CAAC,EAAE,CAAC,CAAC;YAC3E,MAAM,IAAI,UAAU,CAAC,GAAG,EAAE,WAAW,CAAC,CAAC;QACxC,CAAC;QACD,MAAM,GAAG,GAAG,OAAO,CAAC,WAAW,CAAC,CAAC;QACjC,GAAG,CAAC,UAAU,CAAC,eAAe,CAAC,CAAC;QAChC,MAAM,0BAA0B,CAAC,GAAG,EAAE,GAAG,EAAE;YAC1C,GAAG,CAAC,cAAc,CAAC,2BAA2B,YAAY,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC;YACnE,UAAU,EAAE,CAAC;QACd,CAAC,CAAC,CAAC;QACH,MAAM,IAAI,UAAU,CAAC,GAAG,EAAE,GAAG,CAAC,CAAC;IAChC,CAAC;AACF,CAAC;AAED,gBAAgB;AAChB,KAAK,UAAU,gBAAgB,CAA6E,GAAsC,EAAE,KAAwD,EAAE,UAAsB;IACnO,GAAG,CAAC,UAAU,CAAC,oBAAoB,EAAE,kCAAkC,CAAC,CAAC;IACzE,IAAI,CAAC;QACJ,GAAG,CAAC,UAAU,CAAC,SAAS,EAAE,wCAAwC,CAAC,CAAC;QACpE,MAAM,MAAM,GAAG,GAAG,CAAC,YAAY,CAAC,SAAS,CAAC,WAAW,CAAC,IAAI,CAAC,GAAG,CAAC,SAAS,EAAE,KAAK,CAAC,CAAC;QACjF,IAAI,MAAM,EAAE,CAAC;YACZ,MAAM,MAAM,CAAC;QACd,CAAC;QACD,GAAG,CAAC,aAAa,CAAC,wCAAwC,CAAC,CAAC;QAC5D,MAAM,0BAA0B,CAAC,GAAG,EAAE,GAAG,EAAE;YAC1C,GAAG,CAAC,aAAa,CAAC,qCAAqC,CAAC,CAAC;YACzD,UAAU,EAAE,CAAC;QACd,CAAC,CAAC,CAAC;IACJ,CAAC;IAAC,OAAO,WAAW,EAAE,CAAC;QACtB,GAAG,CAAC,cAAc,CAAC,qCAAqC,YAAY,CAAC,WAAW,CAAC,EAAE,CAAC,CAAC;QAErF,IAAI,WAAW,YAAY,eAAe,EAAE,CAAC;YAC5C,GAAG,CAAC,YAAY,GAAG,eAAe,CAAC;YACnC,GAAG,CAAC,cAAc,CAAC,qCAAqC,YAAY,CAAC,WAAW,CAAC,EAAE,CAAC,CAAC;YACrF,MAAM,WAAW,CAAC;QACnB,CAAC;QAED,IAAI,CAAC;YACJ,MAAM,OAAO,CAAC,GAAG,EAAE,OAAO,CAAC,WAAW,CAAC,EAAE,GAAG,EAAE;gBAC7C,GAAG,CAAC,aAAa,CAAC,qCAAqC,CAAC,CAAC;gBACzD,UAAU,EAAE,CAAC;YACd,CAAC,CAAC,CAAC;QACJ,CAAC;QAAC,OAAO,SAAS,EAAE,CAAC;YACpB,GAAG,CAAC,cAAc,CAAC,qCAAqC,YAAY,CAAC,SAAS,CAAC,EAAE,CAAC,CAAC;YACnF,MAAM,SAAS,CAAC;QACjB,CAAC;IACF,CAAC;AACF,CAAC;AAED,gBAAgB;AAChB,KAAK,UAAU,WAAW,CAA2C,GAAsC;IAC1G,GAAG,CAAC,WAAW,CAAC,sBAAsB,CAAC,CAAC;IACxC,IAAI,CAAC;QACJ,IAAI,SAAS,GAAkC,GAAG,CAAC,QAAQ,CAAC;QAC5D,GAAG,CAAC,UAAU,CAAC,YAAY,EAAE,+BAA+B,YAAY,CAAC,GAAG,CAAC,QAAQ,CAAC,EAAE,CAAC,CAAC;QAC1F,IAAI,CAAC;YACJ,OAAO,IAAI,EAAE,CAAC;gBACb,uBAAuB,CAAC,GAAG,EAAE,SAAS,CAAC,CAAC;gBACxC,IAAI,MAAM,CAAC,SAAS,CAAC,cAAc,CAAC,IAAI,CAAC,SAAS,CAAC,SAAS,EAAE,SAAS,CAAC,EAAE,CAAC;oBAC1E,SAAS,CAAC,SAAS,CAAC,SAAS,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,SAAS,CAAC,CAAC;gBACpD,CAAC;gBACD,IAAI,eAAe,CAAC,SAAS,CAAC,EAAE,CAAC;oBAChC,SAAS,GAAG,eAAe,CAAC,SAAS,CAAC,CAAC;gBACxC,CAAC;qBAAM,CAAC;oBACP,MAAM;gBACP,CAAC;YACF,CAAC;YACD,GAAG,CAAC,aAAa,CAAC,kBAAkB,YAAY,CAAC,SAAS,CAAC,EAAE,CAAC,CAAC;QAChE,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YAChB,IAAI,KAAK,YAAY,eAAe,EAAE,CAAC;gBACtC,MAAM,KAAK,CAAC;YACb,CAAC;YACD,GAAG,CAAC,cAAc,CAAC,yCAAyC,YAAY,CAAC,GAAG,CAAC,QAAQ,CAAC,QAAQ,YAAY,CAAC,SAAS,CAAC,iCAAiC,YAAY,CAAC,KAAK,CAAC,oBAAoB,YAAY,CAAC,eAAe,CAAC,EAAE,CAAC,CAAC;YAC9N,GAAG,CAAC,YAAY,GAAG,eAAe,CAAC;YACnC,MAAM,IAAI,mBAAmB,CAAC,GAAG,EAAE,SAAS,EAAE,OAAO,CAAC,KAAK,CAAC,CAAC,CAAC;QAC/D,CAAC;IACF,CAAC;YAAS,CAAC;QACV,GAAG,CAAC,WAAW,CAAC,oBAAoB,CAAC,CAAC;IACvC,CAAC;AACF,CAAC;AAED,gBAAgB;AAChB,KAAK,UAAU,aAAa,CAA6E,GAAsC,EAAE,SAA2C,EAAE,GAAG,YAA+C;IAC/O,MAAM,UAAU,GAAG,MAAM,CAAC,SAAS,CAAC,CAAC;IACrC,GAAG,CAAC,WAAW,CAAC,4BAA4B,UAAU,EAAE,CAAC,CAAC;IAC1D,GAAG,CAAC,UAAU,CAAC,IAAI,UAAU,EAAE,EAAE,wBAAwB,CAAC,CAAC;IAC3D,GAAG,CAAC,iBAAiB,GAAG,UAAU,CAAC;IACnC,GAAG,CAAC,oBAAoB,GAAG,YAAY,CAAC;IACxC,IAAI,CAAC;QACJ,MAAM,YAAY,GAAG,kBAAkB,CAAC,GAAG,EAAE,SAAS,CAAC,CAAC;QAExD,IAAI,CAAC,YAAY,EAAE,CAAC;YACnB,IAAI,CAAC;gBACJ,MAAM,gBAAgB,CAAC,GAAG,EAAE,IAAI,mBAAmB,CAAC,GAAG,CAAC,EAAE,GAAG,EAAE;oBAC9D,GAAG,CAAC,aAAa,CAAC,2BAA2B,CAAC,CAAC;oBAC/C,mBAAmB,CAAC,GAAG,CAAC,CAAC;gBAC1B,CAAC,CAAC,CAAC;gBACH,OAAO;YACR,CAAC;YAAC,OAAO,WAAW,EAAE,CAAC;gBACtB,GAAG,CAAC,cAAc,CAAC,0BAA0B,YAAY,CAAC,WAAW,CAAC,EAAE,CAAC,CAAC;gBAC1E,mBAAmB,CAAC,GAAG,CAAC,CAAC;gBACzB,MAAM,WAAW,CAAC;YACnB,CAAC;QACF,CAAC;QAED,IAAI,CAAC;YACJ,GAAG,CAAC,UAAU,CAAC,SAAS,EAAE,iCAAiC,CAAC,CAAC;YAC7D,MAAM,MAAM,GAAG,YAAY,CAAC,IAAI,CAAC,GAAG,CAAC,SAAS,EAAE,GAAG,YAAY,CAAC,CAAC;YACjE,IAAI,MAAM,EAAE,CAAC;gBACZ,MAAM,MAAM,CAAC;YACd,CAAC;YACD,GAAG,CAAC,aAAa,CAAC,oCAAoC,CAAC,CAAC;YACxD,MAAM,0BAA0B,CAAC,GAAG,EAAE,GAAG,EAAE;gBAC1C,GAAG,CAAC,aAAa,CAAC,2BAA2B,CAAC,CAAC;gBAC/C,mBAAmB,CAAC,GAAG,CAAC,CAAC;YAC1B,CAAC,CAAC,CAAC;QACJ,CAAC;QAAC,OAAO,WAAW,EAAE,CAAC;YACtB,GAAG,CAAC,cAAc,CAAC,YAAY,CAAC,WAAW,CAAC,CAAC,CAAC;YAC9C,IAAI,WAAW,YAAY,mBAAmB,EAAE,CAAC;gBAChD,IAAI,CAAC;oBACJ,MAAM,gBAAgB,CAAC,GAAG,EAAE,WAAW,EAAE,GAAG,EAAE;wBAC7C,GAAG,CAAC,aAAa,CAAC,2BAA2B,CAAC,CAAC;wBAC/C,mBAAmB,CAAC,GAAG,CAAC,CAAC;oBAC1B,CAAC,CAAC,CAAC;oBACH,OAAO;gBACR,CAAC;gBAAC,OAAO,SAAS,EAAE,CAAC;oBACpB,GAAG,CAAC,cAAc,CAAC,0BAA0B,YAAY,CAAC,SAAS,CAAC,EAAE,CAAC,CAAC;oBACxE,mBAAmB,CAAC,GAAG,CAAC,CAAC;oBACzB,MAAM,SAAS,CAAC;gBACjB,CAAC;YACF,CAAC;iBAAM,IAAI,WAAW,YAAY,eAAe,EAAE,CAAC;gBACnD,GAAG,CAAC,cAAc,CAAC,0BAA0B,YAAY,CAAC,WAAW,CAAC,EAAE,CAAC,CAAC;gBAC1E,mBAAmB,CAAC,GAAG,CAAC,CAAC;gBACzB,MAAM,WAAW,CAAC;YACnB,CAAC;iBAAM,CAAC;gBACP,IAAI,CAAC;oBACJ,MAAM,OAAO,CAAC,GAAG,EAAE,OAAO,CAAC,WAAW,CAAC,EAAE,GAAG,EAAE;wBAC7C,GAAG,CAAC,aAAa,CAAC,2BAA2B,CAAC,CAAC;wBAC/C,mBAAmB,CAAC,GAAG,CAAC,CAAC;oBAC1B,CAAC,CAAC,CAAC;gBACJ,CAAC;gBAAC,OAAO,SAAS,EAAE,CAAC;oBACpB,GAAG,CAAC,cAAc,CAAC,0BAA0B,YAAY,CAAC,SAAS,CAAC,EAAE,CAAC,CAAC;oBACxE,mBAAmB,CAAC,GAAG,CAAC,CAAC;oBACzB,MAAM,SAAS,CAAC;gBACjB,CAAC;YACF,CAAC;QACF,CAAC;IACF,CAAC;IAAC,OAAO,GAAG,EAAE,CAAC;QACd,mBAAmB,CAAC,GAAG,CAAC,CAAC;QACzB,MAAM,GAAG,CAAC;IACX,CAAC;AACF,CAAC;AAED,MAAM,UAAU,cAAc,CAA2D,GAAsD;IAC9I,OAAO,CAAC,IAAkB,EAAQ,EAAE;QACnC,WAAW,CAAC,GAAG,CAAC;aACd,IAAI,CAAC,KAAK,IAAI,EAAE;YAChB,MAAM,YAAY,CAAC,GAAG,CAAC,CAAC;YACxB,IAAI,EAAE,CAAC;QACR,CAAC,CAAC;aACD,KAAK,CAAC,CAAC,GAAY,EAAE,EAAE;YACvB,GAAG,CAAC,qBAAqB,CAAC,GAAG,EAAE,OAAO,CAAC,GAAG,CAAC,CAAC,CAAC;YAC7C,IAAI,EAAE,CAAC;QACR,CAAC,CAAC,CAAC;IACL,CAAC,CAAC;AACH,CAAC;AAED,MAAM,UAAU,uBAAuB,CAAqG,GAAsD,EAAE,SAAmD,EAAE,GAAG,YAAuD;IAClT,OAAO,CAAC,IAAkB,EAAQ,EAAE;QACnC,aAAa,CAAC,GAAG,EAAE,SAAS,EAAE,GAAG,YAAY,CAAC;aAC5C,KAAK,CAAC,CAAC,GAAY,EAAE,EAAE,CAAC,GAAG,CAAC,qBAAqB,CAAC,GAAG,EAAE,OAAO,CAAC,GAAG,CAAC,CAAC,CAAC;aACrE,OAAO,CAAC,GAAG,EAAE,CAAC,IAAI,EAAE,CAAC,CAAC;IACzB,CAAC,CAAC;AACH,CAAC"}
|
|
@@ -1,5 +1,6 @@
|
|
|
1
1
|
import { TopState, EventHandlerError, FatalErrorState, InitializationError, FatalError, TransitionError, UnhandledEventError } from '../index.js';
|
|
2
|
-
import {
|
|
2
|
+
import { lookupEventHandler } from './lookup.js';
|
|
3
|
+
import { getInitialState, getTransitionKey, hasInitialState, asError, getStateName, adoptStateBeforeOnEntry } from './utils.js';
|
|
3
4
|
class ProductionTransition {
|
|
4
5
|
exitList;
|
|
5
6
|
entryList;
|
|
@@ -25,6 +26,7 @@ class ProductionTransition {
|
|
|
25
26
|
// Execute entry
|
|
26
27
|
for (const state of this.entryList) {
|
|
27
28
|
try {
|
|
29
|
+
adoptStateBeforeOnEntry(hsm, state);
|
|
28
30
|
const res = state.prototype.onEntry.call(hsm._instance);
|
|
29
31
|
if (res) {
|
|
30
32
|
await res;
|
|
@@ -150,6 +152,7 @@ async function executeInit(hsm) {
|
|
|
150
152
|
let currState = hsm.topState;
|
|
151
153
|
try {
|
|
152
154
|
while (true) {
|
|
155
|
+
adoptStateBeforeOnEntry(hsm, currState);
|
|
153
156
|
const proto = currState.prototype;
|
|
154
157
|
if (proto.hasOwnProperty('onEntry')) {
|
|
155
158
|
proto.onEntry.call(hsm._instance);
|
|
@@ -160,7 +163,6 @@ async function executeInit(hsm) {
|
|
|
160
163
|
else
|
|
161
164
|
break;
|
|
162
165
|
}
|
|
163
|
-
hsm.currentState = currState;
|
|
164
166
|
}
|
|
165
167
|
catch (cause) {
|
|
166
168
|
if (cause instanceof TransitionError) {
|
|
@@ -178,7 +180,7 @@ async function dispatchEvent(hsm, eventName, ...eventPayload) {
|
|
|
178
180
|
hsm._currentEventName = String(eventName);
|
|
179
181
|
hsm._currentEventPayload = eventPayload;
|
|
180
182
|
try {
|
|
181
|
-
const eventHandler = hsm
|
|
183
|
+
const eventHandler = lookupEventHandler(hsm, eventName);
|
|
182
184
|
if (!eventHandler) {
|
|
183
185
|
await doUnhandledEvent(hsm, new UnhandledEventError(hsm), () => finishEventDispatch(hsm));
|
|
184
186
|
return;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"dispatch.production.js","sourceRoot":"","sources":["../../../src/internal/dispatch.production.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,QAAQ,EAAE,iBAAiB,EAA6B,eAAe,EAAE,mBAAmB,EAAE,UAAU,EAAc,eAAe,EAAE,mBAAmB,EAAE,MAAM,KAAK,CAAC;AAGjL,OAAO,EAAE,eAAe,EAAE,gBAAgB,EAAE,eAAe,EAAE,OAAO,EAAE,YAAY,EAAE,MAAM,SAAS,CAAC;
|
|
1
|
+
{"version":3,"file":"dispatch.production.js","sourceRoot":"","sources":["../../../src/internal/dispatch.production.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,QAAQ,EAAE,iBAAiB,EAA6B,eAAe,EAAE,mBAAmB,EAAE,UAAU,EAAc,eAAe,EAAE,mBAAmB,EAAE,MAAM,KAAK,CAAC;AAGjL,OAAO,EAAE,kBAAkB,EAAE,MAAM,UAAU,CAAC;AAC9C,OAAO,EAAE,eAAe,EAAE,gBAAgB,EAAE,eAAe,EAAE,OAAO,EAAE,YAAY,EAAE,uBAAuB,EAAE,MAAM,SAAS,CAAC;AAE7H,MAAM,oBAAoB;IAEhB;IACA;IACA;IAHT,YACS,QAA8C,EAC9C,SAA+C,EAC/C,UAA0C;QAF1C,aAAQ,GAAR,QAAQ,CAAsC;QAC9C,cAAS,GAAT,SAAS,CAAsC;QAC/C,eAAU,GAAV,UAAU,CAAgC;IAChD,CAAC;IAEJ,KAAK,CAAC,OAAO,CAAC,GAAsC,EAAE,QAAuC,EAAE,QAAuC;QACrI,eAAe;QACf,KAAK,MAAM,KAAK,IAAI,IAAI,CAAC,QAAQ,EAAE,CAAC;YACnC,IAAI,CAAC;gBACJ,MAAM,GAAG,GAAG,KAAK,CAAC,SAAS,CAAC,MAAM,CAAC,IAAI,CAAC,GAAG,CAAC,SAAS,CAAC,CAAC;gBACvD,IAAI,GAAG,EAAE,CAAC;oBACT,MAAM,GAAG,CAAC;gBACX,CAAC;YACF,CAAC;YAAC,OAAO,KAAK,EAAE,CAAC;gBAChB,MAAM,IAAI,eAAe,CAAC,GAAG,EAAE,OAAO,CAAC,KAAK,CAAC,EAAE,YAAY,CAAC,KAAK,CAAC,EAAE,QAAQ,EAAE,YAAY,CAAC,QAAQ,CAAC,EAAE,YAAY,CAAC,QAAQ,CAAC,CAAC,CAAC;YAC/H,CAAC;QACF,CAAC;QAED,gBAAgB;QAChB,KAAK,MAAM,KAAK,IAAI,IAAI,CAAC,SAAS,EAAE,CAAC;YACpC,IAAI,CAAC;gBACJ,uBAAuB,CAAC,GAAG,EAAE,KAAK,CAAC,CAAC;gBACpC,MAAM,GAAG,GAAG,KAAK,CAAC,SAAS,CAAC,OAAO,CAAC,IAAI,CAAC,GAAG,CAAC,SAAS,CAAC,CAAC;gBACxD,IAAI,GAAG,EAAE,CAAC;oBACT,MAAM,GAAG,CAAC;gBACX,CAAC;YACF,CAAC;YAAC,OAAO,KAAK,EAAE,CAAC;gBAChB,MAAM,IAAI,eAAe,CAAC,GAAG,EAAE,OAAO,CAAC,KAAK,CAAC,EAAE,YAAY,CAAC,KAAK,CAAC,EAAE,SAAS,EAAE,YAAY,CAAC,QAAQ,CAAC,EAAE,YAAY,CAAC,QAAQ,CAAC,CAAC,CAAC;YAChI,CAAC;QACF,CAAC;QAED,IAAI,IAAI,CAAC,UAAU,EAAE,CAAC;YACrB,GAAG,CAAC,YAAY,GAAG,IAAI,CAAC,UAAU,CAAC;QACpC,CAAC;IACF,CAAC;CACD;AAED,SAAS,gBAAgB,CAA2C,QAAuC,EAAE,SAAwC;IACpJ,MAAM,GAAG,GAAkC,QAAQ,CAAC;IACpD,IAAI,GAAG,GAAkC,SAAS,CAAC;IACnD,IAAI,OAAO,GAAoC,EAAE,CAAC;IAClD,MAAM,GAAG,GAAkC,QAAQ,CAAC;IACpD,MAAM,QAAQ,GAA+C,IAAI,GAAG,EAAE,CAAC;IACvE,IAAI,OAAO,GAAoC,EAAE,CAAC;IAClD,IAAI,GAAG,GAAkC,GAAG,CAAC;IAC7C,IAAI,CAAC,GAAG,CAAC,CAAC;IAEV,OAAO,GAAG,KAAK,GAAG,EAAE,CAAC;QACpB,OAAO,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;QAClB,QAAQ,CAAC,GAAG,CAAC,GAAG,EAAE,CAAC,CAAC,CAAC;QACrB,GAAG,GAAG,MAAM,CAAC,cAAc,CAAC,GAAG,CAAC,CAAC;QACjC,EAAE,CAAC,CAAC;IACL,CAAC;IACD,GAAG,GAAG,GAAG,CAAC;IAEV,OAAO,GAAG,KAAK,GAAG,EAAE,CAAC;QACpB,MAAM,CAAC,GAAG,QAAQ,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC;QAC5B,IAAI,CAAC,KAAK,SAAS,EAAE,CAAC;YACrB,OAAO,GAAG,OAAO,CAAC,KAAK,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC;YAC9B,MAAM;QACP,CAAC;QACD,OAAO,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC;QACrB,GAAG,GAAG,MAAM,CAAC,cAAc,CAAC,GAAG,CAAC,CAAC;IAClC,CAAC;IAED,OAAO,eAAe,CAAC,GAAG,CAAC,EAAE,CAAC;QAC7B,GAAG,GAAG,eAAe,CAAC,GAAG,CAAC,CAAC;QAC3B,OAAO,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;IACnB,CAAC;IAED,IAAI,UAAqD,CAAC;IAC1D,IAAI,OAAO,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;QAC1B,UAAU,GAAG,OAAO,CAAC,OAAO,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC;IAC1C,CAAC;SAAM,IAAI,OAAO,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;QACjC,UAAU,GAAG,MAAM,CAAC,cAAc,CAAC,OAAO,CAAC,OAAO,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,CAAC;IACjE,CAAC;SAAM,CAAC;QACP,UAAU,GAAG,SAAS,CAAC;IACxB,CAAC;IAED,OAAO,GAAG,OAAO,CAAC,MAAM,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,KAAK,CAAC,cAAc,CAAC,QAAQ,CAAC,CAAC,CAAC;IACnE,OAAO,GAAG,OAAO,CAAC,MAAM,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,KAAK,CAAC,cAAc,CAAC,SAAS,CAAC,CAAC,CAAC;IAEpE,OAAO,IAAI,oBAAoB,CAAoB,OAAO,EAAE,OAAO,EAAE,UAAU,CAAC,CAAC;AAClF,CAAC;AAED,KAAK,UAAU,YAAY,CAA2C,GAAsC;IAC3G,IAAI,GAAG,CAAC,gBAAgB,EAAE,CAAC;QAC1B,IAAI,CAAC;YACJ,MAAM,QAAQ,GAAG,GAAG,CAAC,YAAY,CAAC;YAClC,MAAM,SAAS,GAAG,GAAG,CAAC,gBAAgB,CAAC;YACvC,MAAM,aAAa,GAAG,gBAAgB,CAAC,QAAQ,EAAE,SAAS,CAAC,CAAC;YAC5D,IAAI,EAAE,GAA8C,GAAG,CAAC,gBAAgB,CAAC,GAAG,CAAC,aAAa,CAAC,CAAC;YAC5F,IAAI,CAAC,EAAE,EAAE,CAAC;gBACT,EAAE,GAAG,gBAAgB,CAAC,QAAQ,EAAE,SAAS,CAAC,CAAC;gBAC3C,GAAG,CAAC,gBAAgB,CAAC,GAAG,CAAC,aAAa,EAAE,EAAE,CAAC,CAAC;YAC7C,CAAC;YACD,IAAI,CAAC;gBACJ,MAAM,EAAE,CAAC,OAAO,CAAC,GAAG,EAAE,QAAQ,EAAE,SAAS,CAAC,CAAC;YAC5C,CAAC;YAAC,OAAO,eAAe,EAAE,CAAC;gBAC1B,GAAG,CAAC,YAAY,GAAG,eAAe,CAAC;gBACnC,MAAM,eAAe,CAAC;YACvB,CAAC;QACF,CAAC;gBAAS,CAAC;YACV,GAAG,CAAC,gBAAgB,GAAG,SAAS,CAAC;QAClC,CAAC;IACF,CAAC;AACF,CAAC;AAED,KAAK,UAAU,0BAA0B,CAA2C,GAAsC,EAAE,UAAsB;IACjJ,MAAM,YAAY,CAAC,GAAG,CAAC,CAAC;IACxB,UAAU,EAAE,CAAC;AACd,CAAC;AAED,KAAK,UAAU,OAAO,CAA2C,GAAsC,EAAE,GAAU,EAAE,UAAsB;IAC1I,GAAG,CAAC,gBAAgB,GAAG,SAAS,CAAC,CAAC,mBAAmB;IACrD,MAAM,cAAc,GAAG,GAAG,CAAC,YAAY,CAAC,SAAS,CAAC,OAAO,CAAC;IAC1D,IAAI,CAAC;QACJ,MAAM,MAAM,GAAG,cAAc,CAAC,IAAI,CAAC,GAAG,CAAC,SAAS,EAAE,IAAI,iBAAiB,CAAC,GAAG,EAAE,GAAG,CAAC,CAAC,CAAC;QACnF,IAAI,MAAM,EAAE,CAAC;YACZ,MAAM,MAAM,CAAC;QACd,CAAC;QACD,MAAM,0BAA0B,CAAC,GAAG,EAAE,UAAU,CAAC,CAAC;IACnD,CAAC;IAAC,OAAO,WAAW,EAAE,CAAC;QACtB,IAAI,WAAW,YAAY,eAAe,EAAE,CAAC;YAC5C,MAAM,IAAI,UAAU,CAAC,GAAG,EAAE,WAAW,CAAC,CAAC;QACxC,CAAC;QACD,MAAM,GAAG,GAAG,OAAO,CAAC,WAAW,CAAC,CAAC;QACjC,GAAG,CAAC,UAAU,CAAC,eAAe,CAAC,CAAC;QAChC,MAAM,0BAA0B,CAAC,GAAG,EAAE,UAAU,CAAC,CAAC;QAClD,MAAM,IAAI,UAAU,CAAC,GAAG,EAAE,GAAG,CAAC,CAAC;IAChC,CAAC;AACF,CAAC;AAED,KAAK,UAAU,gBAAgB,CAA6E,GAAsC,EAAE,KAAwD,EAAE,UAAsB;IACnO,IAAI,CAAC;QACJ,MAAM,MAAM,GAAG,GAAG,CAAC,YAAY,CAAC,SAAS,CAAC,WAAW,CAAC,IAAI,CAAC,GAAG,CAAC,SAAS,EAAE,KAAK,CAAC,CAAC;QACjF,IAAI,MAAM,EAAE,CAAC;YACZ,MAAM,MAAM,CAAC;QACd,CAAC;QACD,MAAM,0BAA0B,CAAC,GAAG,EAAE,UAAU,CAAC,CAAC;IACnD,CAAC;IAAC,OAAO,WAAW,EAAE,CAAC;QACtB,IAAI,WAAW,YAAY,eAAe,EAAE,CAAC;YAC5C,GAAG,CAAC,YAAY,GAAG,eAAe,CAAC;YACnC,MAAM,WAAW,CAAC;QACnB,CAAC;QACD,MAAM,OAAO,CAAC,GAAG,EAAE,OAAO,CAAC,WAAW,CAAC,EAAE,UAAU,CAAC,CAAC;IACtD,CAAC;AACF,CAAC;AAED,KAAK,UAAU,WAAW,CAA2C,GAAsC;IAC1G,IAAI,SAAS,GAAkC,GAAG,CAAC,QAAQ,CAAC;IAC5D,IAAI,CAAC;QACJ,OAAO,IAAI,EAAE,CAAC;YACb,uBAAuB,CAAC,GAAG,EAAE,SAAS,CAAC,CAAC;YACxC,MAAM,KAAK,GAAG,SAAS,CAAC,SAAS,CAAC;YAClC,IAAI,KAAK,CAAC,cAAc,CAAC,SAAS,CAAC,EAAE,CAAC;gBACrC,KAAK,CAAC,OAAO,CAAC,IAAI,CAAC,GAAG,CAAC,SAAS,CAAC,CAAC;YACnC,CAAC;YACD,IAAI,eAAe,CAAC,SAAS,CAAC,EAAE,CAAC;gBAChC,SAAS,GAAG,eAAe,CAAC,SAAS,CAAC,CAAC;YACxC,CAAC;;gBAAM,MAAM;QACd,CAAC;IACF,CAAC;IAAC,OAAO,KAAK,EAAE,CAAC;QAChB,IAAI,KAAK,YAAY,eAAe,EAAE,CAAC;YACtC,MAAM,KAAK,CAAC;QACb,CAAC;QACD,GAAG,CAAC,YAAY,GAAG,eAAe,CAAC;QACnC,MAAM,IAAI,mBAAmB,CAAC,GAAG,EAAE,SAAS,EAAE,OAAO,CAAC,KAAK,CAAC,CAAC,CAAC;IAC/D,CAAC;AACF,CAAC;AAED,SAAS,mBAAmB,CAA2C,GAAsC;IAC5G,GAAG,CAAC,iBAAiB,GAAG,SAAS,CAAC;IAClC,GAAG,CAAC,oBAAoB,GAAG,SAAS,CAAC;AACtC,CAAC;AAED,KAAK,UAAU,aAAa,CAA6E,GAAsC,EAAE,SAA2C,EAAE,GAAG,YAA+C;IAC/O,GAAG,CAAC,iBAAiB,GAAG,MAAM,CAAC,SAAS,CAAC,CAAC;IAC1C,GAAG,CAAC,oBAAoB,GAAG,YAAY,CAAC;IACxC,IAAI,CAAC;QACJ,MAAM,YAAY,GAAG,kBAAkB,CAAC,GAAG,EAAE,SAAS,CAAC,CAAC;QACxD,IAAI,CAAC,YAAY,EAAE,CAAC;YACnB,MAAM,gBAAgB,CAAC,GAAG,EAAE,IAAI,mBAAmB,CAAC,GAAG,CAAC,EAAE,GAAG,EAAE,CAAC,mBAAmB,CAAC,GAAG,CAAC,CAAC,CAAC;YAC1F,OAAO;QACR,CAAC;QACD,IAAI,CAAC;YACJ,MAAM,MAAM,GAAG,YAAY,CAAC,IAAI,CAAC,GAAG,CAAC,SAAS,EAAE,GAAG,YAAY,CAAC,CAAC;YACjE,IAAI,MAAM;gBAAE,MAAM,MAAM,CAAC;YACzB,MAAM,0BAA0B,CAAC,GAAG,EAAE,GAAG,EAAE,CAAC,mBAAmB,CAAC,GAAG,CAAC,CAAC,CAAC;QACvE,CAAC;QAAC,OAAO,WAAW,EAAE,CAAC;YACtB,IAAI,WAAW,YAAY,mBAAmB,EAAE,CAAC;gBAChD,MAAM,gBAAgB,CAAC,GAAG,EAAE,WAAW,EAAE,GAAG,EAAE,CAAC,mBAAmB,CAAC,GAAG,CAAC,CAAC,CAAC;YAC1E,CAAC;iBAAM,IAAI,WAAW,YAAY,eAAe,EAAE,CAAC;gBACnD,mBAAmB,CAAC,GAAG,CAAC,CAAC;gBACzB,MAAM,WAAW,CAAC;YACnB,CAAC;iBAAM,CAAC;gBACP,MAAM,OAAO,CAAC,GAAG,EAAE,OAAO,CAAC,WAAW,CAAC,EAAE,GAAG,EAAE,CAAC,mBAAmB,CAAC,GAAG,CAAC,CAAC,CAAC;YAC1E,CAAC;QACF,CAAC;IACF,CAAC;IAAC,OAAO,GAAG,EAAE,CAAC;QACd,mBAAmB,CAAC,GAAG,CAAC,CAAC;QACzB,MAAM,GAAG,CAAC;IACX,CAAC;AACF,CAAC;AAED,wHAAwH;AACxH,oDAAoD;AACpD,wHAAwH;AAExH,gBAAgB;AAChB,MAAM,UAAU,cAAc,CAA2D,GAAsD;IAC9I,OAAO,CAAC,IAAkB,EAAQ,EAAE;QACnC,WAAW,CAAC,GAAG,CAAC;aACd,IAAI,CAAC,KAAK,IAAI,EAAE;YAChB,MAAM,YAAY,CAAC,GAAG,CAAC,CAAC;YACxB,IAAI,EAAE,CAAC;QACR,CAAC,CAAC;aACD,KAAK,CAAC,CAAC,GAAY,EAAE,EAAE;YACvB,GAAG,CAAC,qBAAqB,CAAC,GAAG,EAAE,OAAO,CAAC,GAAG,CAAC,CAAC,CAAC;YAC7C,IAAI,EAAE,CAAC;QACR,CAAC,CAAC,CAAC;IACL,CAAC,CAAC;AACH,CAAC;AAED,gBAAgB;AAChB,MAAM,UAAU,uBAAuB,CAAqG,GAAsD,EAAE,SAAmD,EAAE,GAAG,YAAuD;IAClT,OAAO,CAAC,IAAkB,EAAQ,EAAE;QACnC,aAAa,CAAC,GAAG,EAAE,SAAS,EAAE,GAAG,YAAY,CAAC;aAC5C,KAAK,CAAC,CAAC,GAAY,EAAE,EAAE,CAAC,GAAG,CAAC,qBAAqB,CAAC,GAAG,EAAE,OAAO,CAAC,GAAG,CAAC,CAAC,CAAC;aACrE,OAAO,CAAC,GAAG,EAAE,CAAC,IAAI,EAAE,CAAC,CAAC;IACzB,CAAC,CAAC;AACH,CAAC"}
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import { TopState, EventHandlerError, FatalErrorState, InitializationError, FatalError, TransitionError, UnhandledEventError } from '../index.js';
|
|
2
|
-
import { asError, getInitialState, getTransitionKey, hasInitialState, quoteUnknown, getStateName } from './utils.js';
|
|
2
|
+
import { asError, getInitialState, getTransitionKey, hasInitialState, quoteUnknown, getStateName, adoptStateBeforeOnEntry } from './utils.js';
|
|
3
3
|
function finishEventDispatch(hsm) {
|
|
4
4
|
hsm._traceWrite(`end event dispatch`);
|
|
5
5
|
hsm._currentEventName = undefined;
|
|
@@ -42,6 +42,7 @@ class TraceTransition {
|
|
|
42
42
|
for (const state of this.entryList) {
|
|
43
43
|
const statePrototype = state.prototype;
|
|
44
44
|
const stateName = getStateName(state);
|
|
45
|
+
adoptStateBeforeOnEntry(hsm, state);
|
|
45
46
|
if (Object.prototype.hasOwnProperty.call(statePrototype, 'onEntry')) {
|
|
46
47
|
try {
|
|
47
48
|
const res = statePrototype.onEntry.call(hsm._instance);
|
|
@@ -243,7 +244,14 @@ async function doUnhandledEvent(hsm, error, onComplete) {
|
|
|
243
244
|
}
|
|
244
245
|
}
|
|
245
246
|
}
|
|
246
|
-
/**
|
|
247
|
+
/**
|
|
248
|
+
* @internal
|
|
249
|
+
*
|
|
250
|
+
* Verbose-mode event-handler lookup. This narrates, step by step, the **same** canonical algorithm
|
|
251
|
+
* implemented (without tracing) by `lookupEventHandler` in `./lookup` and shared by the production /
|
|
252
|
+
* debug dispatchers (proposal T6): walk the constructor chain from `currentState` up to and
|
|
253
|
+
* including {@link TopState}, returning the first state that owns `eventName`. Keep the two in sync.
|
|
254
|
+
*/
|
|
247
255
|
function lookupEventHandler(hsm, eventName) {
|
|
248
256
|
const eventLabel = String(eventName);
|
|
249
257
|
let state = hsm.currentState;
|
|
@@ -272,6 +280,7 @@ async function executeInit(hsm) {
|
|
|
272
280
|
hsm._tracePush(`initialize`, `started initialization from ${getStateName(hsm.topState)}`);
|
|
273
281
|
try {
|
|
274
282
|
while (true) {
|
|
283
|
+
adoptStateBeforeOnEntry(hsm, currState);
|
|
275
284
|
if (Object.prototype.hasOwnProperty.call(currState.prototype, 'onEntry')) {
|
|
276
285
|
currState.prototype['onEntry'].call(hsm._instance);
|
|
277
286
|
hsm._traceWrite(`${getStateName(currState)}.onEntry() done`);
|
|
@@ -290,7 +299,6 @@ async function executeInit(hsm) {
|
|
|
290
299
|
}
|
|
291
300
|
}
|
|
292
301
|
hsm._tracePopDone(`final state is ${getStateName(currState)}`);
|
|
293
|
-
hsm.currentState = currState;
|
|
294
302
|
}
|
|
295
303
|
catch (cause) {
|
|
296
304
|
if (cause instanceof TransitionError) {
|