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.
Files changed (46) hide show
  1. package/README.md +161 -8
  2. package/lib/cjs/index.d.ts +521 -58
  3. package/lib/cjs/index.js +279 -5
  4. package/lib/cjs/index.js.map +1 -1
  5. package/lib/cjs/internal/defs.private.d.ts +10 -0
  6. package/lib/cjs/internal/dispatch.debug.js +4 -2
  7. package/lib/cjs/internal/dispatch.debug.js.map +1 -1
  8. package/lib/cjs/internal/dispatch.production.js +4 -2
  9. package/lib/cjs/internal/dispatch.production.js.map +1 -1
  10. package/lib/cjs/internal/dispatch.trace.js +10 -2
  11. package/lib/cjs/internal/dispatch.trace.js.map +1 -1
  12. package/lib/cjs/internal/hsm.d.ts +7 -1
  13. package/lib/cjs/internal/hsm.js +36 -3
  14. package/lib/cjs/internal/hsm.js.map +1 -1
  15. package/lib/cjs/internal/lookup.d.ts +15 -0
  16. package/lib/cjs/internal/lookup.js +32 -0
  17. package/lib/cjs/internal/lookup.js.map +1 -0
  18. package/lib/cjs/internal/utils.d.ts +8 -0
  19. package/lib/cjs/internal/utils.js +12 -0
  20. package/lib/cjs/internal/utils.js.map +1 -1
  21. package/lib/cjs/testing.d.ts +279 -0
  22. package/lib/cjs/testing.js +392 -0
  23. package/lib/cjs/testing.js.map +1 -0
  24. package/lib/esm/index.d.ts +521 -58
  25. package/lib/esm/index.js +275 -5
  26. package/lib/esm/index.js.map +1 -1
  27. package/lib/esm/internal/defs.private.d.ts +10 -0
  28. package/lib/esm/internal/dispatch.debug.js +5 -3
  29. package/lib/esm/internal/dispatch.debug.js.map +1 -1
  30. package/lib/esm/internal/dispatch.production.js +5 -3
  31. package/lib/esm/internal/dispatch.production.js.map +1 -1
  32. package/lib/esm/internal/dispatch.trace.js +11 -3
  33. package/lib/esm/internal/dispatch.trace.js.map +1 -1
  34. package/lib/esm/internal/hsm.d.ts +7 -1
  35. package/lib/esm/internal/hsm.js +36 -3
  36. package/lib/esm/internal/hsm.js.map +1 -1
  37. package/lib/esm/internal/lookup.d.ts +15 -0
  38. package/lib/esm/internal/lookup.js +29 -0
  39. package/lib/esm/internal/lookup.js.map +1 -0
  40. package/lib/esm/internal/utils.d.ts +8 -0
  41. package/lib/esm/internal/utils.js +11 -0
  42. package/lib/esm/internal/utils.js.map +1 -1
  43. package/lib/esm/testing.d.ts +279 -0
  44. package/lib/esm/testing.js +370 -0
  45. package/lib/esm/testing.js.map +1 -0
  46. package/package.json +20 -4
package/lib/cjs/index.js CHANGED
@@ -1,10 +1,12 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.FatalErrorState = exports.InitializationError = exports.FatalError = exports.InitialStateError = exports.UnhandledEventError = exports.EventHandlerError = exports.TransitionError = exports.RuntimeError = exports.HsmError = exports.TopState = exports.TraceLevel = void 0;
3
+ exports.defaultInitialize = exports.defaultTraceWriter = exports.FatalErrorState = exports.InitializationError = exports.FatalError = exports.InitialStateError = exports.UnhandledEventError = exports.EventHandlerError = exports.TransitionError = exports.RuntimeError = exports.HsmError = exports.TopState = exports.Port = exports.BasePort = exports.TraceLevel = void 0;
4
4
  exports.InitialState = InitialState;
5
5
  exports.defineStateName = defineStateName;
6
6
  exports.registerStateNames = registerStateNames;
7
+ exports.defaultDispatchErrorCallback = defaultDispatchErrorCallback;
7
8
  exports.makeHsm = makeHsm;
9
+ exports.makeActor = makeActor;
8
10
  const hsm_1 = require("./internal/hsm");
9
11
  const utils_1 = require("./internal/utils");
10
12
  // export type DispatchErrorCallback<Context, Protocol extends {} | undefined> = (hsm: Hsm<Context, Protocol>, traceWriter: TraceWriter, err: Error) => void;
@@ -34,6 +36,156 @@ var TraceLevel;
34
36
  */
35
37
  TraceLevel[TraceLevel["VERBOSE_DEBUG"] = 2] = "VERBOSE_DEBUG";
36
38
  })(TraceLevel || (exports.TraceLevel = TraceLevel = {}));
39
+ /**
40
+ * Abstract base class for **any** port — production or test.
41
+ *
42
+ * It takes the machine's root {@link TopState} as its single type argument and derives the
43
+ * context and internal protocol from it (via {@link MachineContext} / {@link MachineInternal}),
44
+ * so the `TopState` is the one place those types are declared. Extend {@link Port} (not `BasePort`
45
+ * directly) for production ports so timer and random services are available.
46
+ *
47
+ * The {@link BasePort.actor | actor} link is **bound lazily** by the runtime: construct the port
48
+ * with no arguments and pass the instance to a factory, which wires the actor in afterwards.
49
+ *
50
+ * @typeParam T - The machine's root {@link TopState} subclass (e.g. `ConnTop`)
51
+ *
52
+ * @category Port
53
+ */
54
+ class BasePort {
55
+ /**
56
+ * @inheritdoc PortHandle.actor
57
+ *
58
+ * Set once by the runtime right after the machine is built; `undefined` before binding.
59
+ */
60
+ actor;
61
+ /** @inheritdoc PortHandle.hsm */
62
+ hsm() {
63
+ return this.actor;
64
+ }
65
+ /**
66
+ * Post an internal event inward through the bound {@link BasePort.actor | actor}.
67
+ *
68
+ * This is the one channel a port (or a test driving the port) uses to feed the machine its
69
+ * internal protocol. Because emission is explicit — never a side effect of the outbound call
70
+ * the machine made — a single mock works across many tests: the test decides *when* (and
71
+ * whether) to push each internal event.
72
+ *
73
+ * @param eventName - Internal event to post
74
+ * @param payload - Arguments for the event
75
+ * @throws If called before the actor has been bound by a factory
76
+ */
77
+ send(eventName, ...payload) {
78
+ if (this.actor === undefined) {
79
+ throw new Error('ihsm: port.send called before the actor was bound — pass the port to makeActor/makeHsm/makeTestActor first');
80
+ }
81
+ this.actor.post(eventName, ...payload);
82
+ }
83
+ }
84
+ exports.BasePort = BasePort;
85
+ /**
86
+ * Production port base with standard JavaScript timer and random services.
87
+ *
88
+ * Extend this class for domain ports in production code. It inherits the lazily-bound
89
+ * {@link BasePort.actor | actor}, {@link BasePort.hsm | hsm}, and {@link BasePort.send | send}
90
+ * from {@link BasePort}, and adds {@link Port.setTimeout | setTimeout} /
91
+ * {@link Port.setInterval | setInterval} / {@link Port.clearTimeout | clearTimeout} /
92
+ * {@link Port.clearInterval | clearInterval} plus the {@link RandomService} methods
93
+ * ({@link Port.random | random}, {@link Port.cryptoRandom | cryptoRandom},
94
+ * {@link Port.randomUUID | randomUUID}, {@link Port.getRandomValues | getRandomValues}).
95
+ *
96
+ * {@link State.deferredPost} delegates to {@link Port.setTimeout}. When no custom port is
97
+ * supplied the runtime instantiates a plain `Port` for that purpose.
98
+ *
99
+ * @typeParam T - The machine's root {@link TopState} subclass (e.g. `ConnTop`)
100
+ *
101
+ * @example A minimal domain port
102
+ * ```ts
103
+ * class ConnPortImpl extends ihsm.Port<ConnTop> implements ConnPort {
104
+ * private nextId = 1;
105
+ * connect(host: string): ihsm.ResultWithSubscription<number> {
106
+ * const id = this.nextId++;
107
+ * return { value: id, subscription: { dispose: () => {} } };
108
+ * }
109
+ * disconnect(id: number): void {}
110
+ * }
111
+ * const port = new ConnPortImpl();
112
+ * const conn = ihsm.makeActor(ConnTop, ctx, port); // binds port.actor
113
+ * ```
114
+ *
115
+ * @category Port
116
+ */
117
+ class Port extends BasePort {
118
+ _timerSeq = 0;
119
+ _timeoutHandles = new Map();
120
+ _intervalHandles = new Map();
121
+ /**
122
+ * Schedule `callback` after `millis` milliseconds — same argument order as `globalThis.setTimeout`.
123
+ *
124
+ * @returns An opaque handle for {@link Port.clearTimeout}
125
+ */
126
+ setTimeout(callback, millis) {
127
+ const id = ++this._timerSeq;
128
+ const handle = globalThis.setTimeout(() => {
129
+ this._timeoutHandles.delete(id);
130
+ callback();
131
+ }, Math.max(0, millis ?? 0));
132
+ this._timeoutHandles.set(id, handle);
133
+ return id;
134
+ }
135
+ /** Cancel a pending {@link Port.setTimeout} handle. No-op when `id` is `undefined` or unknown. */
136
+ clearTimeout(id) {
137
+ if (id === undefined) {
138
+ return;
139
+ }
140
+ const handle = this._timeoutHandles.get(id);
141
+ if (handle !== undefined) {
142
+ globalThis.clearTimeout(handle);
143
+ this._timeoutHandles.delete(id);
144
+ }
145
+ }
146
+ /**
147
+ * Schedule `callback` every `millis` milliseconds — same argument order as `globalThis.setInterval`.
148
+ *
149
+ * @returns An opaque handle for {@link Port.clearInterval}
150
+ */
151
+ setInterval(callback, millis) {
152
+ const id = ++this._timerSeq;
153
+ const handle = globalThis.setInterval(callback, Math.max(0, millis ?? 0));
154
+ this._intervalHandles.set(id, handle);
155
+ return id;
156
+ }
157
+ /** Cancel a pending {@link Port.setInterval} handle. No-op when `id` is `undefined` or unknown. */
158
+ clearInterval(id) {
159
+ if (id === undefined) {
160
+ return;
161
+ }
162
+ const handle = this._intervalHandles.get(id);
163
+ if (handle !== undefined) {
164
+ globalThis.clearInterval(handle);
165
+ this._intervalHandles.delete(id);
166
+ }
167
+ }
168
+ /** @inheritdoc RandomService.random */
169
+ random() {
170
+ return Math.random();
171
+ }
172
+ /** @inheritdoc RandomService.cryptoRandom */
173
+ cryptoRandom() {
174
+ const crypto = globalThis.crypto;
175
+ return crypto.random?.() ?? Math.random();
176
+ }
177
+ /** @inheritdoc RandomService.randomUUID */
178
+ randomUUID() {
179
+ return globalThis.crypto.randomUUID();
180
+ }
181
+ /** @inheritdoc RandomService.getRandomValues */
182
+ getRandomValues(array) {
183
+ // crypto.getRandomValues accepts a narrower union than ArrayBufferView; the runtime call is safe.
184
+ globalThis.crypto.getRandomValues(array);
185
+ return array;
186
+ }
187
+ }
188
+ exports.Port = Port;
37
189
  /**
38
190
  * Abstract root class for every state in the hierarchy.
39
191
  *
@@ -53,6 +205,17 @@ class TopState {
53
205
  constructor() {
54
206
  throw new Error('Fatal error: States cannot be instantiated');
55
207
  }
208
+ /**
209
+ * Outbound boundary — the `port` instance passed to {@link makeActor} / {@link testing!makeTestActor};
210
+ * all impure I/O flows through here.
211
+ *
212
+ * Typed `undefined` for machines created without a port (the default), so existing
213
+ * port-less machines are unaffected. At runtime a {@link Port} always backs such
214
+ * machines — it is what {@link State.deferredPost} uses for its timer service.
215
+ */
216
+ get port() {
217
+ return this.hsm.port;
218
+ }
56
219
  /** @inheritdoc Properties.eventName */
57
220
  get eventName() {
58
221
  return this.hsm.eventName;
@@ -125,7 +288,7 @@ class TopState {
125
288
  post(eventName, ...eventPayload) {
126
289
  this.hsm.post(eventName, ...eventPayload);
127
290
  }
128
- /** @inheritdoc Base.deferredPost */
291
+ /** @inheritdoc State.deferredPost */
129
292
  deferredPost(millis, eventName, ...eventPayload) {
130
293
  this.hsm.deferredPost(millis, eventName, ...eventPayload);
131
294
  }
@@ -432,15 +595,18 @@ class ConsoleTraceWriter {
432
595
  }
433
596
  }
434
597
  }
598
+ /** @internal — shared by the core factories and (via re-export) the `ihsm/testing` factories. */
435
599
  function defaultDispatchErrorCallback(hsm, err) {
436
600
  const writer = hsm.traceWriter;
437
601
  writer.write(hsm, `An event dispatch has failed; error ${err.name}: ${err.message} has not been managed`);
438
602
  writer.write(hsm, err);
439
603
  throw err;
440
604
  }
441
- const defaultTraceWriter = new ConsoleTraceWriter();
605
+ /** @internal */
606
+ exports.defaultTraceWriter = new ConsoleTraceWriter();
442
607
  const defaultTraceLevel = TraceLevel.DEBUG;
443
- const defaultInitialize = true;
608
+ /** @internal */
609
+ exports.defaultInitialize = true;
444
610
  /**
445
611
  * Creates and optionally initializes a hierarchical state machine **actor** bound to `ctx`.
446
612
  *
@@ -481,13 +647,121 @@ const defaultInitialize = true;
481
647
  *
482
648
  * @category Factory
483
649
  */
484
- function makeHsm(topState, ctx, initialize = defaultInitialize, traceLevel = defaultTraceLevel, traceWriter = defaultTraceWriter, dispatchErrorCallback = defaultDispatchErrorCallback) {
650
+ function makeHsm(topState, ctx, initialize = exports.defaultInitialize, traceLevel = defaultTraceLevel, traceWriter = exports.defaultTraceWriter, dispatchErrorCallback = defaultDispatchErrorCallback, port) {
651
+ return instantiate(topState, ctx, initialize, traceLevel, traceWriter, dispatchErrorCallback, port);
652
+ }
653
+ /** @internal — single construction path shared by {@link makeHsm}, {@link makeActor}, {@link testing!makeTestActor}. */
654
+ function instantiate(topState, ctx, initialize, traceLevel, traceWriter, dispatchErrorCallback, port) {
485
655
  const instance = {
486
656
  hsm: undefined,
487
657
  ctx: ctx,
488
658
  };
489
659
  Object.setPrototypeOf(instance, topState.prototype);
490
660
  instance.hsm = new hsm_1.HsmObject(topState, instance, traceWriter, traceLevel, dispatchErrorCallback, initialize);
661
+ // A port is always present: the supplied instance, otherwise a Port that backs
662
+ // `deferredPost`'s timer service. Its `actor` is bound here, lazily — synchronously, before
663
+ // the queued initialization walk, so `this.port` is available inside the first `onEntry`.
664
+ const boundPort = port ?? new Port();
665
+ boundPort.actor = instance.hsm;
666
+ instance.portRef = boundPort;
491
667
  return instance.hsm;
492
668
  }
669
+ /**
670
+ * @internal
671
+ *
672
+ * Wrap a live machine in a **structural, public-only** {@link Actor} facade (proposal T5).
673
+ *
674
+ * Replaces the old `hsm as unknown as Actor<…>` double cast. The returned object is annotated
675
+ * `Actor<Context, Public>`, so the compiler verifies it implements **exactly** the public surface —
676
+ * a regression that leaked an internal member would fail to compile, and if {@link Hsm} gains a
677
+ * member this factory stops compiling until the facade forwards it. Each forwarded `post` / `call`
678
+ * is narrowed from the merged-protocol instance down to the public protocol with a single local
679
+ * cast; properties delegate through get/set accessors so reads and writes still hit the live machine.
680
+ */
681
+ function narrowToActor(hsm) {
682
+ const actor = {
683
+ get ctx() {
684
+ return hsm.ctx;
685
+ },
686
+ get currentState() {
687
+ return hsm.currentState;
688
+ },
689
+ get currentStateName() {
690
+ return hsm.currentStateName;
691
+ },
692
+ get topState() {
693
+ return hsm.topState;
694
+ },
695
+ get topStateName() {
696
+ return hsm.topStateName;
697
+ },
698
+ get ctxTypeName() {
699
+ return hsm.ctxTypeName;
700
+ },
701
+ get traceHeader() {
702
+ return hsm.traceHeader;
703
+ },
704
+ get eventName() {
705
+ return hsm.eventName;
706
+ },
707
+ get eventPayload() {
708
+ return hsm.eventPayload;
709
+ },
710
+ get traceLevel() {
711
+ return hsm.traceLevel;
712
+ },
713
+ set traceLevel(level) {
714
+ hsm.traceLevel = level;
715
+ },
716
+ get traceWriter() {
717
+ return hsm.traceWriter;
718
+ },
719
+ set traceWriter(writer) {
720
+ hsm.traceWriter = writer;
721
+ },
722
+ get dispatchErrorCallback() {
723
+ return hsm.dispatchErrorCallback;
724
+ },
725
+ set dispatchErrorCallback(cb) {
726
+ hsm.dispatchErrorCallback = cb;
727
+ },
728
+ post: hsm.post.bind(hsm),
729
+ call: hsm.call.bind(hsm),
730
+ sync: hsm.sync.bind(hsm),
731
+ restore: hsm.restore.bind(hsm),
732
+ };
733
+ return actor;
734
+ }
735
+ /**
736
+ * Creates an actor exposing only its **public** protocol, with an optional outbound {@link Port}.
737
+ *
738
+ * Like {@link makeHsm} but separates the public, client-callable protocol from an
739
+ * `InternalProtocol` that only the port may post inward. The returned {@link Actor} surfaces
740
+ * just the public events; handlers (and the port) may post the merged {@link Dispatch} protocol.
741
+ *
742
+ * The trailing `Disjoint` guard is a compile-time gate: if `Public` and `Internal` share an event
743
+ * name, the call fails to type-check, pointing at the overlapping keys.
744
+ *
745
+ * @typeParam Context - Domain context type
746
+ * @typeParam Public - Public, client-callable protocol
747
+ * @typeParam Internal - Internal protocol — only postable by the port / handlers
748
+ * @typeParam P - Concrete {@link Port} type assigned to `this.port`
749
+ * @param topState - Root state class; `Context` / `Public` / `Internal` are inferred from it (see {@link TopStateArg})
750
+ * @param ctx - Mutable domain object shared by all states
751
+ * @param port - Outbound port instance (its `actor` is bound by the factory; use {@link Port} if none)
752
+ * @param options - Optional tuning: `initialize` / `traceLevel` / `traceWriter` / … (see {@link ActorOptions})
753
+ * @returns A public-only {@link Actor} handle
754
+ *
755
+ * @example
756
+ * ```ts
757
+ * const conn = makeActor(ConnTop, new ConnCtx(), port, { traceLevel: TraceLevel.PRODUCTION });
758
+ * ```
759
+ *
760
+ * @category Factory
761
+ */
762
+ function makeActor(topState, ctx, port, options = {}, ..._disjointGuard) {
763
+ const { initialize = exports.defaultInitialize, traceLevel = defaultTraceLevel, traceWriter = exports.defaultTraceWriter, dispatchErrorCallback = defaultDispatchErrorCallback } = options;
764
+ const hsm = instantiate(topState, ctx, initialize, traceLevel, traceWriter, dispatchErrorCallback, port);
765
+ return narrowToActor(hsm);
766
+ }
493
767
  //# sourceMappingURL=index.js.map
@@ -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":"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"}
@@ -3,6 +3,16 @@ import { PostedEvent, EventPayload, Hsm, StateClass, State } from '../';
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> {
@@ -3,6 +3,7 @@ Object.defineProperty(exports, "__esModule", { value: true });
3
3
  exports.createInitTask = createInitTask;
4
4
  exports.createEventDispatchTask = createEventDispatchTask;
5
5
  const __1 = require("../");
6
+ const lookup_1 = require("./lookup");
6
7
  const utils_1 = require("./utils");
7
8
  function finishEventDispatch(hsm) {
8
9
  hsm._traceWrite(`end event dispatch`);
@@ -44,6 +45,7 @@ class DebugTransition {
44
45
  for (const state of this.entryList) {
45
46
  const statePrototype = state.prototype;
46
47
  const stateName = (0, utils_1.getStateName)(state);
48
+ (0, utils_1.adoptStateBeforeOnEntry)(hsm, state);
47
49
  if (Object.prototype.hasOwnProperty.call(statePrototype, 'onEntry')) {
48
50
  try {
49
51
  const res = statePrototype.onEntry.call(hsm._instance);
@@ -205,6 +207,7 @@ async function executeInit(hsm) {
205
207
  hsm._tracePush(`initialize`, `started initialization from ${(0, utils_1.getStateName)(hsm.topState)}`);
206
208
  try {
207
209
  while (true) {
210
+ (0, utils_1.adoptStateBeforeOnEntry)(hsm, currState);
208
211
  if (Object.prototype.hasOwnProperty.call(currState.prototype, 'onEntry')) {
209
212
  currState.prototype['onEntry'].call(hsm._instance);
210
213
  }
@@ -216,7 +219,6 @@ async function executeInit(hsm) {
216
219
  }
217
220
  }
218
221
  hsm._tracePopDone(`final state is ${(0, utils_1.getStateName)(currState)}`);
219
- hsm.currentState = currState;
220
222
  }
221
223
  catch (cause) {
222
224
  if (cause instanceof __1.TransitionError) {
@@ -239,7 +241,7 @@ async function dispatchEvent(hsm, eventName, ...eventPayload) {
239
241
  hsm._currentEventName = eventLabel;
240
242
  hsm._currentEventPayload = eventPayload;
241
243
  try {
242
- const eventHandler = hsm.currentState.prototype[eventName];
244
+ const eventHandler = (0, lookup_1.lookupEventHandler)(hsm, eventName);
243
245
  if (!eventHandler) {
244
246
  try {
245
247
  await doUnhandledEvent(hsm, new __1.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":"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"}
@@ -3,6 +3,7 @@ Object.defineProperty(exports, "__esModule", { value: true });
3
3
  exports.createInitTask = createInitTask;
4
4
  exports.createEventDispatchTask = createEventDispatchTask;
5
5
  const __1 = require("../");
6
+ const lookup_1 = require("./lookup");
6
7
  const utils_1 = require("./utils");
7
8
  class ProductionTransition {
8
9
  exitList;
@@ -29,6 +30,7 @@ class ProductionTransition {
29
30
  // Execute entry
30
31
  for (const state of this.entryList) {
31
32
  try {
33
+ (0, utils_1.adoptStateBeforeOnEntry)(hsm, state);
32
34
  const res = state.prototype.onEntry.call(hsm._instance);
33
35
  if (res) {
34
36
  await res;
@@ -154,6 +156,7 @@ async function executeInit(hsm) {
154
156
  let currState = hsm.topState;
155
157
  try {
156
158
  while (true) {
159
+ (0, utils_1.adoptStateBeforeOnEntry)(hsm, currState);
157
160
  const proto = currState.prototype;
158
161
  if (proto.hasOwnProperty('onEntry')) {
159
162
  proto.onEntry.call(hsm._instance);
@@ -164,7 +167,6 @@ async function executeInit(hsm) {
164
167
  else
165
168
  break;
166
169
  }
167
- hsm.currentState = currState;
168
170
  }
169
171
  catch (cause) {
170
172
  if (cause instanceof __1.TransitionError) {
@@ -182,7 +184,7 @@ async function dispatchEvent(hsm, eventName, ...eventPayload) {
182
184
  hsm._currentEventName = String(eventName);
183
185
  hsm._currentEventPayload = eventPayload;
184
186
  try {
185
- const eventHandler = hsm.currentState.prototype[eventName];
187
+ const eventHandler = (0, lookup_1.lookupEventHandler)(hsm, eventName);
186
188
  if (!eventHandler) {
187
189
  await doUnhandledEvent(hsm, new __1.UnhandledEventError(hsm), () => finishEventDispatch(hsm));
188
190
  return;
@@ -1 +1 @@
1
- {"version":3,"file":"dispatch.production.js","sourceRoot":"","sources":["../../../src/internal/dispatch.production.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"dispatch.production.js","sourceRoot":"","sources":["../../../src/internal/dispatch.production.ts"],"names":[],"mappings":"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"}
@@ -46,6 +46,7 @@ class TraceTransition {
46
46
  for (const state of this.entryList) {
47
47
  const statePrototype = state.prototype;
48
48
  const stateName = (0, utils_1.getStateName)(state);
49
+ (0, utils_1.adoptStateBeforeOnEntry)(hsm, state);
49
50
  if (Object.prototype.hasOwnProperty.call(statePrototype, 'onEntry')) {
50
51
  try {
51
52
  const res = statePrototype.onEntry.call(hsm._instance);
@@ -247,7 +248,14 @@ async function doUnhandledEvent(hsm, error, onComplete) {
247
248
  }
248
249
  }
249
250
  }
250
- /** @internal */
251
+ /**
252
+ * @internal
253
+ *
254
+ * Verbose-mode event-handler lookup. This narrates, step by step, the **same** canonical algorithm
255
+ * implemented (without tracing) by `lookupEventHandler` in `./lookup` and shared by the production /
256
+ * debug dispatchers (proposal T6): walk the constructor chain from `currentState` up to and
257
+ * including {@link TopState}, returning the first state that owns `eventName`. Keep the two in sync.
258
+ */
251
259
  function lookupEventHandler(hsm, eventName) {
252
260
  const eventLabel = String(eventName);
253
261
  let state = hsm.currentState;
@@ -276,6 +284,7 @@ async function executeInit(hsm) {
276
284
  hsm._tracePush(`initialize`, `started initialization from ${(0, utils_1.getStateName)(hsm.topState)}`);
277
285
  try {
278
286
  while (true) {
287
+ (0, utils_1.adoptStateBeforeOnEntry)(hsm, currState);
279
288
  if (Object.prototype.hasOwnProperty.call(currState.prototype, 'onEntry')) {
280
289
  currState.prototype['onEntry'].call(hsm._instance);
281
290
  hsm._traceWrite(`${(0, utils_1.getStateName)(currState)}.onEntry() done`);
@@ -294,7 +303,6 @@ async function executeInit(hsm) {
294
303
  }
295
304
  }
296
305
  hsm._tracePopDone(`final state is ${(0, utils_1.getStateName)(currState)}`);
297
- hsm.currentState = currState;
298
306
  }
299
307
  catch (cause) {
300
308
  if (cause instanceof __1.TransitionError) {