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/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 Base.deferredPost */
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
- function defaultDispatchErrorCallback(hsm, err) {
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
- const defaultTraceWriter = new ConsoleTraceWriter();
584
+ /** @internal */
585
+ export const defaultTraceWriter = new ConsoleTraceWriter();
425
586
  const defaultTraceLevel = TraceLevel.DEBUG;
426
- const defaultInitialize = true;
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
@@ -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 '../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 { asError, getInitialState, getTransitionKey, hasInitialState, quoteUnknown, getStateName } from './utils.js';
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.currentState.prototype[eventName];
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":"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"}
@@ -1,5 +1,6 @@
1
1
  import { TopState, EventHandlerError, FatalErrorState, InitializationError, FatalError, TransitionError, UnhandledEventError } from '../index.js';
2
- import { getInitialState, getTransitionKey, hasInitialState, asError, getStateName } from './utils.js';
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.currentState.prototype[eventName];
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":"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"}
1
+ {"version":3,"file":"dispatch.production.js","sourceRoot":"","sources":["../../../src/internal/dispatch.production.ts"],"names":[],"mappings":"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"}
@@ -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
- /** @internal */
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) {