ihsm 0.0.26 → 0.1.21
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 +105 -113
- package/lib/cjs/index.d.ts +8 -1394
- package/lib/cjs/index.js +65 -764
- package/lib/cjs/index.js.map +1 -1
- package/lib/cjs/internal/console-instrumentation.d.ts +34 -0
- package/lib/cjs/internal/console-instrumentation.js +71 -0
- package/lib/cjs/internal/console-instrumentation.js.map +1 -0
- package/lib/cjs/internal/identity.d.ts +16 -0
- package/lib/cjs/internal/identity.js +170 -0
- package/lib/cjs/internal/identity.js.map +1 -0
- package/lib/cjs/internal/instrumentation.d.ts +47 -0
- package/lib/cjs/internal/instrumentation.js +201 -0
- package/lib/cjs/internal/instrumentation.js.map +1 -0
- package/lib/cjs/internal/runtime.d.ts +376 -0
- package/lib/cjs/internal/runtime.js +2530 -0
- package/lib/cjs/internal/runtime.js.map +1 -0
- package/lib/cjs/internal/types.d.ts +515 -0
- package/lib/cjs/internal/types.js +9 -0
- package/lib/cjs/internal/types.js.map +1 -0
- package/lib/cjs/test-only.d.ts +5 -0
- package/lib/cjs/test-only.js +21 -0
- package/lib/cjs/test-only.js.map +1 -0
- package/lib/cjs/testing.d.ts +120 -88
- package/lib/cjs/testing.js +126 -38
- package/lib/cjs/testing.js.map +1 -1
- package/lib/cjs/transition-routines.d.ts +3 -0
- package/lib/cjs/transition-routines.js +11 -0
- package/lib/cjs/transition-routines.js.map +1 -0
- package/lib/cjs/types.d.ts +5 -0
- package/lib/cjs/{internal/defs.private.js → types.js} +1 -1
- package/lib/cjs/types.js.map +1 -0
- package/lib/esm/index.d.ts +8 -1394
- package/lib/esm/index.js +5 -742
- package/lib/esm/index.js.map +1 -1
- package/lib/esm/internal/console-instrumentation.d.ts +34 -0
- package/lib/esm/internal/console-instrumentation.js +68 -0
- package/lib/esm/internal/console-instrumentation.js.map +1 -0
- package/lib/esm/internal/identity.d.ts +16 -0
- package/lib/esm/internal/identity.js +159 -0
- package/lib/esm/internal/identity.js.map +1 -0
- package/lib/esm/internal/instrumentation.d.ts +47 -0
- package/lib/esm/internal/instrumentation.js +178 -0
- package/lib/esm/internal/instrumentation.js.map +1 -0
- package/lib/esm/internal/runtime.d.ts +376 -0
- package/lib/esm/internal/runtime.js +2462 -0
- package/lib/esm/internal/runtime.js.map +1 -0
- package/lib/esm/internal/types.d.ts +515 -0
- package/lib/esm/internal/types.js +6 -0
- package/lib/esm/internal/types.js.map +1 -0
- package/lib/esm/test-only.d.ts +5 -0
- package/lib/esm/test-only.js +15 -0
- package/lib/esm/test-only.js.map +1 -0
- package/lib/esm/testing.d.ts +120 -88
- package/lib/esm/testing.js +125 -38
- package/lib/esm/testing.js.map +1 -1
- package/lib/esm/transition-routines.d.ts +3 -0
- package/lib/esm/transition-routines.js +3 -0
- package/lib/esm/transition-routines.js.map +1 -0
- package/lib/esm/types.d.ts +5 -0
- package/lib/esm/types.js +2 -0
- package/lib/esm/types.js.map +1 -0
- package/package.json +22 -4
- package/lib/cjs/internal/defs.private.d.ts +0 -41
- package/lib/cjs/internal/defs.private.js.map +0 -1
- package/lib/cjs/internal/dispatch.debug.d.ts +0 -4
- package/lib/cjs/internal/dispatch.debug.js +0 -332
- package/lib/cjs/internal/dispatch.debug.js.map +0 -1
- package/lib/cjs/internal/dispatch.production.d.ts +0 -6
- package/lib/cjs/internal/dispatch.production.js +0 -241
- package/lib/cjs/internal/dispatch.production.js.map +0 -1
- package/lib/cjs/internal/dispatch.trace.d.ts +0 -4
- package/lib/cjs/internal/dispatch.trace.js +0 -418
- package/lib/cjs/internal/dispatch.trace.js.map +0 -1
- package/lib/cjs/internal/hsm.d.ts +0 -60
- package/lib/cjs/internal/hsm.js +0 -215
- package/lib/cjs/internal/hsm.js.map +0 -1
- package/lib/cjs/internal/lookup.d.ts +0 -15
- package/lib/cjs/internal/lookup.js +0 -32
- package/lib/cjs/internal/lookup.js.map +0 -1
- package/lib/cjs/internal/utils.d.ts +0 -26
- package/lib/cjs/internal/utils.js +0 -63
- package/lib/cjs/internal/utils.js.map +0 -1
- package/lib/esm/internal/defs.private.d.ts +0 -41
- package/lib/esm/internal/defs.private.js +0 -2
- package/lib/esm/internal/defs.private.js.map +0 -1
- package/lib/esm/internal/dispatch.debug.d.ts +0 -4
- package/lib/esm/internal/dispatch.debug.js +0 -328
- package/lib/esm/internal/dispatch.debug.js.map +0 -1
- package/lib/esm/internal/dispatch.production.d.ts +0 -6
- package/lib/esm/internal/dispatch.production.js +0 -237
- package/lib/esm/internal/dispatch.production.js.map +0 -1
- package/lib/esm/internal/dispatch.trace.d.ts +0 -4
- package/lib/esm/internal/dispatch.trace.js +0 -414
- package/lib/esm/internal/dispatch.trace.js.map +0 -1
- package/lib/esm/internal/hsm.d.ts +0 -60
- package/lib/esm/internal/hsm.js +0 -211
- package/lib/esm/internal/hsm.js.map +0 -1
- package/lib/esm/internal/lookup.d.ts +0 -15
- package/lib/esm/internal/lookup.js +0 -29
- package/lib/esm/internal/lookup.js.map +0 -1
- package/lib/esm/internal/utils.d.ts +0 -26
- package/lib/esm/internal/utils.js +0 -52
- package/lib/esm/internal/utils.js.map +0 -1
package/package.json
CHANGED
|
@@ -7,7 +7,7 @@
|
|
|
7
7
|
"contributors": [
|
|
8
8
|
"Roberto Boati"
|
|
9
9
|
],
|
|
10
|
-
"description": "Class-based hierarchical state machines and run-to-completion actors for TypeScript, designed for Deterministic Simulation Testing (DST) —
|
|
10
|
+
"description": "Class-based hierarchical state machines and run-to-completion actors for TypeScript, designed for Deterministic Simulation Testing (DST) — Config, generated handles, promise services, zero dependencies",
|
|
11
11
|
"files": [
|
|
12
12
|
"lib"
|
|
13
13
|
],
|
|
@@ -91,6 +91,26 @@
|
|
|
91
91
|
"default": "./lib/cjs/testing.js"
|
|
92
92
|
}
|
|
93
93
|
},
|
|
94
|
+
"./transition-routines": {
|
|
95
|
+
"import": {
|
|
96
|
+
"types": "./lib/esm/transition-routines.d.ts",
|
|
97
|
+
"default": "./lib/esm/transition-routines.js"
|
|
98
|
+
},
|
|
99
|
+
"require": {
|
|
100
|
+
"types": "./lib/cjs/transition-routines.d.ts",
|
|
101
|
+
"default": "./lib/cjs/transition-routines.js"
|
|
102
|
+
}
|
|
103
|
+
},
|
|
104
|
+
"./types": {
|
|
105
|
+
"import": {
|
|
106
|
+
"types": "./lib/esm/types.d.ts",
|
|
107
|
+
"default": "./lib/esm/types.js"
|
|
108
|
+
},
|
|
109
|
+
"require": {
|
|
110
|
+
"types": "./lib/cjs/types.d.ts",
|
|
111
|
+
"default": "./lib/cjs/types.js"
|
|
112
|
+
}
|
|
113
|
+
},
|
|
94
114
|
"./package.json": "./package.json"
|
|
95
115
|
},
|
|
96
116
|
"name": "ihsm",
|
|
@@ -116,8 +136,6 @@
|
|
|
116
136
|
"predist": "npm run clean",
|
|
117
137
|
"prettier": "prettier --write 'src/**/*.ts' 'examples/**/*.ts' 'website/**/*.{ts,tsx}'",
|
|
118
138
|
"release:check": "npm run test:all && npm run lint && npm run build && npm run doc && npm run verify:doc",
|
|
119
|
-
"check:nix-hash": "bash scripts/check-npm-deps-hash.sh",
|
|
120
|
-
"hooks:install": "bash scripts/install-local-hooks.sh",
|
|
121
139
|
"prepublishOnly": "npm run test:all && npm run build",
|
|
122
140
|
"test:node": "TS_NODE_PROJECT=tsconfig.lib.json nyc mocha",
|
|
123
141
|
"test:browser": "node scripts/run-browser-tests.mjs",
|
|
@@ -134,5 +152,5 @@
|
|
|
134
152
|
"pretypecheck": "npm run prepare:ide"
|
|
135
153
|
},
|
|
136
154
|
"types": "./lib/cjs/index.d.ts",
|
|
137
|
-
"version": "0.
|
|
155
|
+
"version": "0.1.21"
|
|
138
156
|
}
|
|
@@ -1,41 +0,0 @@
|
|
|
1
|
-
import { PostedEvent, EventPayload, Hsm, StateClass, State } from '../';
|
|
2
|
-
/** @internal */
|
|
3
|
-
export interface Instance<Context, Protocol extends {} | undefined> {
|
|
4
|
-
ctx: Context;
|
|
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;
|
|
16
|
-
}
|
|
17
|
-
/** @internal */
|
|
18
|
-
export interface Transition<Context, Protocol extends {} | undefined> {
|
|
19
|
-
execute(hsm: HsmWithTracing<Context, Protocol>, srcState: StateClass<Context, Protocol>, dstState: StateClass<Context, Protocol>): Promise<void>;
|
|
20
|
-
}
|
|
21
|
-
/** @internal */
|
|
22
|
-
export type DoneCallback = () => void;
|
|
23
|
-
/** @internal */
|
|
24
|
-
export type Task = (done: DoneCallback) => void;
|
|
25
|
-
/** @internal */
|
|
26
|
-
export interface HsmWithTracing<Context, Protocol extends {} | undefined> extends Hsm<Context, Protocol>, State<Context, Protocol> {
|
|
27
|
-
_transitionCache: Map<string, Transition<Context, Protocol>>;
|
|
28
|
-
_createInitTask: <DispatchContext, DispatchProtocol extends {} | undefined>(hsm: HsmWithTracing<DispatchContext, DispatchProtocol>) => Task;
|
|
29
|
-
_createEventDispatchTask: <DispatchContext, DispatchProtocol extends {} | undefined, EventName extends keyof DispatchProtocol>(hsm: HsmWithTracing<DispatchContext, DispatchProtocol>, eventName: PostedEvent<DispatchProtocol, EventName>, ...eventPayload: EventPayload<DispatchProtocol, EventName>) => Task;
|
|
30
|
-
_instance: Instance<Context, Protocol>;
|
|
31
|
-
_transitionState?: StateClass<Context, Protocol>;
|
|
32
|
-
_currentEventName?: string;
|
|
33
|
-
_currentEventPayload?: any[];
|
|
34
|
-
currentState: StateClass<Context, Protocol>;
|
|
35
|
-
_tracePush(domain: string, msg: string): void;
|
|
36
|
-
_tracePopDone(msg: string): void;
|
|
37
|
-
_tracePopError(msg: string): void;
|
|
38
|
-
_traceWrite(msg: any): void;
|
|
39
|
-
unshiftHiPriorityTask(t: Task): void;
|
|
40
|
-
pushHiPriorityTask(t: Task): void;
|
|
41
|
-
}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"defs.private.js","sourceRoot":"","sources":["../../../src/internal/defs.private.ts"],"names":[],"mappings":""}
|
|
@@ -1,4 +0,0 @@
|
|
|
1
|
-
import { PostedEvent, EventPayload } from '../';
|
|
2
|
-
import { HsmWithTracing, Task } from './defs.private';
|
|
3
|
-
export declare function createInitTask<DispatchContext, DispatchProtocol extends {} | undefined>(hsm: HsmWithTracing<DispatchContext, DispatchProtocol>): Task;
|
|
4
|
-
export declare function createEventDispatchTask<DispatchContext, DispatchProtocol extends {} | undefined, EventName extends keyof DispatchProtocol>(hsm: HsmWithTracing<DispatchContext, DispatchProtocol>, eventName: PostedEvent<DispatchProtocol, EventName>, ...eventPayload: EventPayload<DispatchProtocol, EventName>): Task;
|
|
@@ -1,332 +0,0 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
-
exports.createInitTask = createInitTask;
|
|
4
|
-
exports.createEventDispatchTask = createEventDispatchTask;
|
|
5
|
-
const __1 = require("../");
|
|
6
|
-
const lookup_1 = require("./lookup");
|
|
7
|
-
const utils_1 = require("./utils");
|
|
8
|
-
function finishEventDispatch(hsm) {
|
|
9
|
-
hsm._traceWrite(`end event dispatch`);
|
|
10
|
-
hsm._currentEventName = undefined;
|
|
11
|
-
hsm._currentEventPayload = undefined;
|
|
12
|
-
}
|
|
13
|
-
async function completePendingTransitions(hsm, onComplete) {
|
|
14
|
-
await doTransition(hsm);
|
|
15
|
-
onComplete();
|
|
16
|
-
}
|
|
17
|
-
/** @internal */
|
|
18
|
-
class DebugTransition {
|
|
19
|
-
exitList;
|
|
20
|
-
entryList;
|
|
21
|
-
finalState;
|
|
22
|
-
constructor(exitList, entryList, finalState) {
|
|
23
|
-
this.exitList = exitList;
|
|
24
|
-
this.entryList = entryList;
|
|
25
|
-
this.finalState = finalState;
|
|
26
|
-
}
|
|
27
|
-
async execute(hsm, srcState, dstState) {
|
|
28
|
-
hsm._tracePush(`transition from ${(0, utils_1.getStateName)(srcState)} to ${(0, utils_1.getStateName)(dstState)}`, `started transition from ${(0, utils_1.getStateName)(srcState)} to ${(0, utils_1.getStateName)(dstState)} `);
|
|
29
|
-
for (const state of this.exitList) {
|
|
30
|
-
const statePrototype = state.prototype;
|
|
31
|
-
const stateName = (0, utils_1.getStateName)(state);
|
|
32
|
-
if (Object.prototype.hasOwnProperty.call(statePrototype, 'onExit')) {
|
|
33
|
-
try {
|
|
34
|
-
const res = statePrototype.onExit.call(hsm._instance);
|
|
35
|
-
if (res) {
|
|
36
|
-
await res;
|
|
37
|
-
}
|
|
38
|
-
}
|
|
39
|
-
catch (cause) {
|
|
40
|
-
hsm._tracePopError(`${stateName}.onExit() has thrown ${(0, utils_1.quoteUnknown)(cause)}`);
|
|
41
|
-
throw new __1.TransitionError(hsm, (0, utils_1.asError)(cause), stateName, 'onExit', (0, utils_1.getStateName)(srcState), (0, utils_1.getStateName)(dstState));
|
|
42
|
-
}
|
|
43
|
-
}
|
|
44
|
-
}
|
|
45
|
-
for (const state of this.entryList) {
|
|
46
|
-
const statePrototype = state.prototype;
|
|
47
|
-
const stateName = (0, utils_1.getStateName)(state);
|
|
48
|
-
(0, utils_1.adoptStateBeforeOnEntry)(hsm, state);
|
|
49
|
-
if (Object.prototype.hasOwnProperty.call(statePrototype, 'onEntry')) {
|
|
50
|
-
try {
|
|
51
|
-
const res = statePrototype.onEntry.call(hsm._instance);
|
|
52
|
-
if (res) {
|
|
53
|
-
await res;
|
|
54
|
-
}
|
|
55
|
-
}
|
|
56
|
-
catch (cause) {
|
|
57
|
-
hsm._tracePopError(`${stateName}.onEntry() has thrown ${(0, utils_1.quoteUnknown)(cause)}`);
|
|
58
|
-
throw new __1.TransitionError(hsm, (0, utils_1.asError)(cause), stateName, 'onEntry', (0, utils_1.getStateName)(srcState), (0, utils_1.getStateName)(dstState));
|
|
59
|
-
}
|
|
60
|
-
}
|
|
61
|
-
}
|
|
62
|
-
if (this.finalState) {
|
|
63
|
-
hsm._tracePopDone(`final state is ${(0, utils_1.getStateName)(this.finalState)}`);
|
|
64
|
-
hsm.currentState = this.finalState;
|
|
65
|
-
}
|
|
66
|
-
}
|
|
67
|
-
}
|
|
68
|
-
/** @internal */
|
|
69
|
-
function createTransition(srcState, destState) {
|
|
70
|
-
const src = srcState;
|
|
71
|
-
let dst = destState;
|
|
72
|
-
let srcPath = [];
|
|
73
|
-
const end = __1.TopState;
|
|
74
|
-
const srcIndex = new Map();
|
|
75
|
-
let dstPath = [];
|
|
76
|
-
let cur = src;
|
|
77
|
-
let i = 0;
|
|
78
|
-
while (cur !== end) {
|
|
79
|
-
srcPath.push(cur);
|
|
80
|
-
srcIndex.set(cur, i);
|
|
81
|
-
cur = Object.getPrototypeOf(cur);
|
|
82
|
-
++i;
|
|
83
|
-
}
|
|
84
|
-
cur = dst;
|
|
85
|
-
while (cur !== end) {
|
|
86
|
-
const i = srcIndex.get(cur);
|
|
87
|
-
if (i !== undefined) {
|
|
88
|
-
srcPath = srcPath.slice(0, i);
|
|
89
|
-
break;
|
|
90
|
-
}
|
|
91
|
-
dstPath.unshift(cur);
|
|
92
|
-
cur = Object.getPrototypeOf(cur);
|
|
93
|
-
}
|
|
94
|
-
while ((0, utils_1.hasInitialState)(dst)) {
|
|
95
|
-
dst = (0, utils_1.getInitialState)(dst);
|
|
96
|
-
dstPath.push(dst);
|
|
97
|
-
}
|
|
98
|
-
let finalState;
|
|
99
|
-
if (dstPath.length !== 0) {
|
|
100
|
-
finalState = dstPath[dstPath.length - 1];
|
|
101
|
-
}
|
|
102
|
-
else if (srcPath.length !== 0) {
|
|
103
|
-
finalState = Object.getPrototypeOf(srcPath[srcPath.length - 1]);
|
|
104
|
-
}
|
|
105
|
-
else {
|
|
106
|
-
finalState = undefined;
|
|
107
|
-
}
|
|
108
|
-
srcPath = srcPath.filter(value => !value.hasOwnProperty('onExit'));
|
|
109
|
-
dstPath = dstPath.filter(value => !value.hasOwnProperty('onEntry'));
|
|
110
|
-
return new DebugTransition(srcPath, dstPath, finalState);
|
|
111
|
-
}
|
|
112
|
-
/** @internal */
|
|
113
|
-
async function doTransition(hsm) {
|
|
114
|
-
if (hsm._transitionState) {
|
|
115
|
-
try {
|
|
116
|
-
const srcState = hsm.currentState;
|
|
117
|
-
const destState = hsm._transitionState;
|
|
118
|
-
const transitionKey = (0, utils_1.getTransitionKey)(srcState, destState);
|
|
119
|
-
let tr = hsm._transitionCache.get(transitionKey);
|
|
120
|
-
if (!tr) {
|
|
121
|
-
tr = createTransition(srcState, destState);
|
|
122
|
-
hsm._transitionCache.set(transitionKey, tr);
|
|
123
|
-
}
|
|
124
|
-
try {
|
|
125
|
-
await tr.execute(hsm, srcState, destState);
|
|
126
|
-
}
|
|
127
|
-
catch (transitionError) {
|
|
128
|
-
hsm.currentState = __1.FatalErrorState;
|
|
129
|
-
throw transitionError;
|
|
130
|
-
}
|
|
131
|
-
}
|
|
132
|
-
finally {
|
|
133
|
-
hsm._transitionState = undefined;
|
|
134
|
-
}
|
|
135
|
-
}
|
|
136
|
-
}
|
|
137
|
-
/** @internal */
|
|
138
|
-
async function doError(hsm, err, onComplete) {
|
|
139
|
-
hsm._transitionState = undefined;
|
|
140
|
-
hsm._tracePush(`error recovery`, `started error recovery`);
|
|
141
|
-
try {
|
|
142
|
-
hsm._tracePush('execute', 'started #onError handler execution');
|
|
143
|
-
const result = hsm.currentState.prototype.onError.call(hsm._instance, new __1.EventHandlerError(hsm, err));
|
|
144
|
-
if (result) {
|
|
145
|
-
await result;
|
|
146
|
-
}
|
|
147
|
-
hsm._tracePopDone('error handler execution successful');
|
|
148
|
-
await completePendingTransitions(hsm, () => {
|
|
149
|
-
hsm._tracePopDone('error recovery successful');
|
|
150
|
-
onComplete();
|
|
151
|
-
});
|
|
152
|
-
}
|
|
153
|
-
catch (recoveryErr) {
|
|
154
|
-
hsm._tracePopError(`error handler execution failure: ${(0, utils_1.quoteUnknown)(recoveryErr)}`);
|
|
155
|
-
if (recoveryErr instanceof __1.TransitionError) {
|
|
156
|
-
hsm._tracePopError(`error recovery failure: ${(0, utils_1.quoteUnknown)(recoveryErr)}`);
|
|
157
|
-
throw new __1.FatalError(hsm, recoveryErr);
|
|
158
|
-
}
|
|
159
|
-
const err = (0, utils_1.asError)(recoveryErr);
|
|
160
|
-
hsm.transition(__1.FatalErrorState);
|
|
161
|
-
await completePendingTransitions(hsm, () => {
|
|
162
|
-
hsm._tracePopError(`error recovery failure: ${(0, utils_1.quoteUnknown)(err)}`);
|
|
163
|
-
onComplete();
|
|
164
|
-
});
|
|
165
|
-
throw new __1.FatalError(hsm, err);
|
|
166
|
-
}
|
|
167
|
-
}
|
|
168
|
-
/** @internal */
|
|
169
|
-
async function doUnhandledEvent(hsm, error, onComplete) {
|
|
170
|
-
hsm._tracePush('unhandled recovery', `started unhandled event recovery`);
|
|
171
|
-
try {
|
|
172
|
-
hsm._tracePush('execute', 'started #onUnhandled handler execution');
|
|
173
|
-
const result = hsm.currentState.prototype.onUnhandled.call(hsm._instance, error);
|
|
174
|
-
if (result) {
|
|
175
|
-
await result;
|
|
176
|
-
}
|
|
177
|
-
hsm._tracePopDone('unhandled handler execution successful');
|
|
178
|
-
await completePendingTransitions(hsm, () => {
|
|
179
|
-
hsm._tracePopDone('unhandled event recovery successful');
|
|
180
|
-
onComplete();
|
|
181
|
-
});
|
|
182
|
-
}
|
|
183
|
-
catch (recoveryErr) {
|
|
184
|
-
hsm._tracePopError(`unhandled event recovery failure: ${(0, utils_1.quoteUnknown)(recoveryErr)}`);
|
|
185
|
-
if (recoveryErr instanceof __1.TransitionError) {
|
|
186
|
-
hsm.currentState = __1.FatalErrorState;
|
|
187
|
-
hsm._tracePopError(`unhandled event recovery failure: ${(0, utils_1.quoteUnknown)(recoveryErr)}`);
|
|
188
|
-
throw recoveryErr;
|
|
189
|
-
}
|
|
190
|
-
try {
|
|
191
|
-
await doError(hsm, (0, utils_1.asError)(recoveryErr), () => {
|
|
192
|
-
hsm._tracePopDone('unhandled event recovery successful');
|
|
193
|
-
onComplete();
|
|
194
|
-
});
|
|
195
|
-
}
|
|
196
|
-
catch (nestedErr) {
|
|
197
|
-
hsm._tracePopError(`unhandled event recovery failure: ${(0, utils_1.quoteUnknown)(nestedErr)}`);
|
|
198
|
-
throw nestedErr;
|
|
199
|
-
}
|
|
200
|
-
}
|
|
201
|
-
}
|
|
202
|
-
/** @internal */
|
|
203
|
-
async function executeInit(hsm) {
|
|
204
|
-
hsm._traceWrite('begin initialization');
|
|
205
|
-
try {
|
|
206
|
-
let currState = hsm.topState;
|
|
207
|
-
hsm._tracePush(`initialize`, `started initialization from ${(0, utils_1.getStateName)(hsm.topState)}`);
|
|
208
|
-
try {
|
|
209
|
-
while (true) {
|
|
210
|
-
(0, utils_1.adoptStateBeforeOnEntry)(hsm, currState);
|
|
211
|
-
if (Object.prototype.hasOwnProperty.call(currState.prototype, 'onEntry')) {
|
|
212
|
-
currState.prototype['onEntry'].call(hsm._instance);
|
|
213
|
-
}
|
|
214
|
-
if ((0, utils_1.hasInitialState)(currState)) {
|
|
215
|
-
currState = (0, utils_1.getInitialState)(currState);
|
|
216
|
-
}
|
|
217
|
-
else {
|
|
218
|
-
break;
|
|
219
|
-
}
|
|
220
|
-
}
|
|
221
|
-
hsm._tracePopDone(`final state is ${(0, utils_1.getStateName)(currState)}`);
|
|
222
|
-
}
|
|
223
|
-
catch (cause) {
|
|
224
|
-
if (cause instanceof __1.TransitionError) {
|
|
225
|
-
throw cause;
|
|
226
|
-
}
|
|
227
|
-
hsm._tracePopError(`initialization failed from top state '${(0, utils_1.getStateName)(hsm.topState)}' as ${(0, utils_1.getStateName)(currState)}.onEntry() handler has raised ${(0, utils_1.quoteUnknown)(cause)}; final state is ${(0, utils_1.getStateName)(__1.FatalErrorState)}`);
|
|
228
|
-
hsm.currentState = __1.FatalErrorState;
|
|
229
|
-
throw new __1.InitializationError(hsm, currState, (0, utils_1.asError)(cause));
|
|
230
|
-
}
|
|
231
|
-
}
|
|
232
|
-
finally {
|
|
233
|
-
hsm._traceWrite('end initialization');
|
|
234
|
-
}
|
|
235
|
-
}
|
|
236
|
-
/** @internal */
|
|
237
|
-
async function dispatchEvent(hsm, eventName, ...eventPayload) {
|
|
238
|
-
const eventLabel = String(eventName);
|
|
239
|
-
hsm._traceWrite(`begin event dispatch of #${eventLabel}`);
|
|
240
|
-
hsm._tracePush(`#${eventLabel}`, `started event dispatch`);
|
|
241
|
-
hsm._currentEventName = eventLabel;
|
|
242
|
-
hsm._currentEventPayload = eventPayload;
|
|
243
|
-
try {
|
|
244
|
-
const eventHandler = (0, lookup_1.lookupEventHandler)(hsm, eventName);
|
|
245
|
-
if (!eventHandler) {
|
|
246
|
-
try {
|
|
247
|
-
await doUnhandledEvent(hsm, new __1.UnhandledEventError(hsm), () => {
|
|
248
|
-
hsm._tracePopDone('event dispatch successful');
|
|
249
|
-
finishEventDispatch(hsm);
|
|
250
|
-
});
|
|
251
|
-
return;
|
|
252
|
-
}
|
|
253
|
-
catch (recoveryErr) {
|
|
254
|
-
hsm._tracePopError(`event dispatch failed: ${(0, utils_1.quoteUnknown)(recoveryErr)}`);
|
|
255
|
-
finishEventDispatch(hsm);
|
|
256
|
-
throw recoveryErr;
|
|
257
|
-
}
|
|
258
|
-
}
|
|
259
|
-
try {
|
|
260
|
-
hsm._tracePush('execute', 'started event handler execution');
|
|
261
|
-
const result = eventHandler.call(hsm._instance, ...eventPayload);
|
|
262
|
-
if (result) {
|
|
263
|
-
await result;
|
|
264
|
-
}
|
|
265
|
-
hsm._tracePopDone('event handler execution successful');
|
|
266
|
-
await completePendingTransitions(hsm, () => {
|
|
267
|
-
hsm._tracePopDone(`event dispatch successful`);
|
|
268
|
-
finishEventDispatch(hsm);
|
|
269
|
-
});
|
|
270
|
-
}
|
|
271
|
-
catch (recoveryErr) {
|
|
272
|
-
hsm._tracePopError((0, utils_1.quoteUnknown)(recoveryErr));
|
|
273
|
-
if (recoveryErr instanceof __1.UnhandledEventError) {
|
|
274
|
-
try {
|
|
275
|
-
await doUnhandledEvent(hsm, recoveryErr, () => {
|
|
276
|
-
hsm._tracePopDone('event dispatch successful');
|
|
277
|
-
finishEventDispatch(hsm);
|
|
278
|
-
});
|
|
279
|
-
return;
|
|
280
|
-
}
|
|
281
|
-
catch (nestedErr) {
|
|
282
|
-
hsm._tracePopError(`event dispatch failed: ${(0, utils_1.quoteUnknown)(nestedErr)}`);
|
|
283
|
-
finishEventDispatch(hsm);
|
|
284
|
-
throw nestedErr;
|
|
285
|
-
}
|
|
286
|
-
}
|
|
287
|
-
else if (recoveryErr instanceof __1.TransitionError) {
|
|
288
|
-
hsm._tracePopError(`event dispatch failed: ${(0, utils_1.quoteUnknown)(recoveryErr)}`);
|
|
289
|
-
finishEventDispatch(hsm);
|
|
290
|
-
throw recoveryErr;
|
|
291
|
-
}
|
|
292
|
-
else {
|
|
293
|
-
try {
|
|
294
|
-
await doError(hsm, (0, utils_1.asError)(recoveryErr), () => {
|
|
295
|
-
hsm._tracePopDone('event dispatch successful');
|
|
296
|
-
finishEventDispatch(hsm);
|
|
297
|
-
});
|
|
298
|
-
}
|
|
299
|
-
catch (nestedErr) {
|
|
300
|
-
hsm._tracePopError(`event dispatch failed: ${(0, utils_1.quoteUnknown)(nestedErr)}`);
|
|
301
|
-
finishEventDispatch(hsm);
|
|
302
|
-
throw nestedErr;
|
|
303
|
-
}
|
|
304
|
-
}
|
|
305
|
-
}
|
|
306
|
-
}
|
|
307
|
-
catch (err) {
|
|
308
|
-
finishEventDispatch(hsm);
|
|
309
|
-
throw err;
|
|
310
|
-
}
|
|
311
|
-
}
|
|
312
|
-
function createInitTask(hsm) {
|
|
313
|
-
return (done) => {
|
|
314
|
-
executeInit(hsm)
|
|
315
|
-
.then(async () => {
|
|
316
|
-
await doTransition(hsm);
|
|
317
|
-
done();
|
|
318
|
-
})
|
|
319
|
-
.catch((err) => {
|
|
320
|
-
hsm.dispatchErrorCallback(hsm, (0, utils_1.asError)(err));
|
|
321
|
-
done();
|
|
322
|
-
});
|
|
323
|
-
};
|
|
324
|
-
}
|
|
325
|
-
function createEventDispatchTask(hsm, eventName, ...eventPayload) {
|
|
326
|
-
return (done) => {
|
|
327
|
-
dispatchEvent(hsm, eventName, ...eventPayload)
|
|
328
|
-
.catch((err) => hsm.dispatchErrorCallback(hsm, (0, utils_1.asError)(err)))
|
|
329
|
-
.finally(() => done());
|
|
330
|
-
};
|
|
331
|
-
}
|
|
332
|
-
//# sourceMappingURL=dispatch.debug.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"dispatch.debug.js","sourceRoot":"","sources":["../../../src/internal/dispatch.debug.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,6 +0,0 @@
|
|
|
1
|
-
import { PostedEvent, EventPayload } from '../';
|
|
2
|
-
import { HsmWithTracing, Task } from './defs.private';
|
|
3
|
-
/** @internal */
|
|
4
|
-
export declare function createInitTask<DispatchContext, DispatchProtocol extends {} | undefined>(hsm: HsmWithTracing<DispatchContext, DispatchProtocol>): Task;
|
|
5
|
-
/** @internal */
|
|
6
|
-
export declare function createEventDispatchTask<DispatchContext, DispatchProtocol extends {} | undefined, EventName extends keyof DispatchProtocol>(hsm: HsmWithTracing<DispatchContext, DispatchProtocol>, eventName: PostedEvent<DispatchProtocol, EventName>, ...eventPayload: EventPayload<DispatchProtocol, EventName>): Task;
|