state-machine-cat 10.1.11 → 11.0.4
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/LICENSE +1 -1
- package/README.md +24 -33
- package/bin/smcat.mjs +3 -2
- package/dist/esm/cli/actions.mjs +1 -1
- package/dist/esm/render/dot/index.mjs +1 -1
- package/dist/esm/render/dot/{render-dot-from-ast.js → render-dot-from-ast.mjs} +5 -7
- package/dist/esm/render/index-node.mjs +2 -2
- package/dist/esm/render/index.mjs +2 -2
- package/dist/esm/render/scxml/index.mjs +1 -1
- package/dist/esm/render/scxml/render-from-scjson.mjs +7 -0
- package/dist/esm/render/smcat/{index.js → index.mjs} +5 -7
- package/dist/esm/render/vector/vector-native-dot-with-fallback.mjs +10 -13
- package/dist/esm/render/vector/vector-with-wasm.mjs +17 -0
- package/dist/esm/version.mjs +1 -1
- package/package.json +38 -43
- package/types/state-machine-cat.d.ts +6 -1
- package/dist/commonjs/bundle.js +0 -79
- package/dist/commonjs/index.js +0 -1
- package/dist/esm/cli/make-description.mjs +0 -21
- package/dist/esm/render/scxml/render-from-scjson.js +0 -9
- package/dist/esm/render/vector/vector-with-viz-js.mjs +0 -13
package/LICENSE
CHANGED
package/README.md
CHANGED
|
@@ -2,8 +2,8 @@
|
|
|
2
2
|
|
|
3
3
|
_write beautiful state charts_
|
|
4
4
|
|
|
5
|
-
[](https://github.com/sverweij/state-machine-cat/actions/workflows/ci.yml)
|
|
6
|
+
[](https://gitlab.com/sverweij/state-machine-cat/builds)
|
|
7
7
|
[](https://snyk.io/test/github/sverweij/state-machine-cat?targetFile=package.json)
|
|
8
8
|
[](https://codeclimate.com/github/sverweij/state-machine-cat/maintainability)
|
|
9
9
|
[](https://npmjs.com/package/state-machine-cat)
|
|
@@ -14,7 +14,7 @@ _write beautiful state charts_
|
|
|
14
14
|
|
|
15
15
|
Makes this
|
|
16
16
|
|
|
17
|
-
<img width="853" alt="docs/pics/sample.png" src="https://raw.githubusercontent.com/sverweij/state-machine-cat/
|
|
17
|
+
<img width="853" alt="docs/pics/sample.png" src="https://raw.githubusercontent.com/sverweij/state-machine-cat/main/docs/pics/sample.png">
|
|
18
18
|
|
|
19
19
|
from this
|
|
20
20
|
|
|
@@ -96,14 +96,6 @@ Options:
|
|
|
96
96
|
bin/smcat docs/sample.smcat
|
|
97
97
|
```
|
|
98
98
|
|
|
99
|
-
> <details>
|
|
100
|
-
> <summary>note for when GraphViz `dot` isn't installed</summary>
|
|
101
|
-
> You might see a warning message on stderr:
|
|
102
|
-
> <code>Invalid asm.js: Function definition doesn't match use</code>.
|
|
103
|
-
> It's generated by viz.js that serves as a fully functional fallback
|
|
104
|
-
> for GraphViz `dot` . See <a href="docs/faq.md#viz">the FAQ</a> for details.
|
|
105
|
-
> </details>
|
|
106
|
-
|
|
107
99
|
Or, if you'd rather pull dot output through GraphViz dot yourself:
|
|
108
100
|
|
|
109
101
|
```sh
|
|
@@ -142,7 +134,7 @@ of thing you can read all about it in [State Machine Cat and SCXML](./docs/SCXML
|
|
|
142
134
|
After you `npm i` 'd `state-machine-cat`:
|
|
143
135
|
|
|
144
136
|
```javascript
|
|
145
|
-
|
|
137
|
+
import smcat from "state-machine-cat";
|
|
146
138
|
|
|
147
139
|
try {
|
|
148
140
|
const lSVGInAString = smcat.render(
|
|
@@ -177,7 +169,7 @@ tags like `<script type="text/x-smcat"></script>`. Documentation for that
|
|
|
177
169
|
on => off;
|
|
178
170
|
```
|
|
179
171
|
|
|
180
|
-
<img width="206" alt="rendition" src="https://raw.githubusercontent.com/sverweij/state-machine-cat/
|
|
172
|
+
<img width="206" alt="rendition" src="https://raw.githubusercontent.com/sverweij/state-machine-cat/main/docs/pics/00simplest.png">
|
|
181
173
|
|
|
182
174
|
- _smcat_ automatically declares the states. You _can_ explicitly declare
|
|
183
175
|
them if you want them to have more than a name only - see _state
|
|
@@ -189,7 +181,7 @@ on => off;
|
|
|
189
181
|
on => off: switch;
|
|
190
182
|
```
|
|
191
183
|
|
|
192
|
-
<img width="251" alt="rendition" src="https://raw.githubusercontent.com/sverweij/state-machine-cat/
|
|
184
|
+
<img width="251" alt="rendition" src="https://raw.githubusercontent.com/sverweij/state-machine-cat/main/docs/pics/01labels.png">
|
|
193
185
|
|
|
194
186
|
UML prescribes to place _conditions_ after _events_, to place
|
|
195
187
|
_conditions_ within squares and to place _actions_
|
|
@@ -206,7 +198,7 @@ off => on: switch flicked/
|
|
|
206
198
|
light on;
|
|
207
199
|
```
|
|
208
200
|
|
|
209
|
-
<img width="202" alt="rendition" src="https://raw.githubusercontent.com/sverweij/state-machine-cat/
|
|
201
|
+
<img width="202" alt="rendition" src="https://raw.githubusercontent.com/sverweij/state-machine-cat/main/docs/pics/01labels_better.png">
|
|
210
202
|
|
|
211
203
|
> You note that smcat rendered the states in this chart _top down_ instead of
|
|
212
204
|
> _left to right_. It did that because we told it so. You can do that too
|
|
@@ -219,7 +211,7 @@ off => on: switch flicked/
|
|
|
219
211
|
on => off;
|
|
220
212
|
```
|
|
221
213
|
|
|
222
|
-
<img width="233" alt="rendition" src="https://raw.githubusercontent.com/sverweij/state-machine-cat/
|
|
214
|
+
<img width="233" alt="rendition" src="https://raw.githubusercontent.com/sverweij/state-machine-cat/main/docs/pics/02notes.png">
|
|
223
215
|
|
|
224
216
|
#### state declarations
|
|
225
217
|
|
|
@@ -237,7 +229,7 @@ doing:
|
|
|
237
229
|
...;
|
|
238
230
|
```
|
|
239
231
|
|
|
240
|
-
<img width="478" alt="rendition" src="https://raw.githubusercontent.com/sverweij/state-machine-cat/
|
|
232
|
+
<img width="478" alt="rendition" src="https://raw.githubusercontent.com/sverweij/state-machine-cat/main/docs/pics/04explicit_state_declarations.png">
|
|
241
233
|
|
|
242
234
|
_smcat_ recognizes the `entry/` and `exit/` keywords and treats
|
|
243
235
|
everything after it on the same line to be the 'body' of the
|
|
@@ -261,7 +253,7 @@ off => on: on pushed;
|
|
|
261
253
|
on => off: off pushed;
|
|
262
254
|
```
|
|
263
255
|
|
|
264
|
-
<img width="296" alt="rendition" src="https://raw.githubusercontent.com/sverweij/state-machine-cat/
|
|
256
|
+
<img width="296" alt="rendition" src="https://raw.githubusercontent.com/sverweij/state-machine-cat/main/docs/pics/09labeled_states.png">
|
|
265
257
|
|
|
266
258
|
#### `initial` and `final`
|
|
267
259
|
|
|
@@ -275,7 +267,7 @@ doing => done;
|
|
|
275
267
|
done => final;
|
|
276
268
|
```
|
|
277
269
|
|
|
278
|
-
<img width="375" alt="rendition" src="https://raw.githubusercontent.com/sverweij/state-machine-cat/
|
|
270
|
+
<img width="375" alt="rendition" src="https://raw.githubusercontent.com/sverweij/state-machine-cat/main/docs/pics/03initial_and_final.png">
|
|
279
271
|
|
|
280
272
|
#### `history`
|
|
281
273
|
|
|
@@ -298,7 +290,7 @@ running => "power off": power out;
|
|
|
298
290
|
"power off" => running.history: restore power;
|
|
299
291
|
```
|
|
300
292
|
|
|
301
|
-
<img width="735" alt="rendition" src="https://raw.githubusercontent.com/sverweij/state-machine-cat/
|
|
293
|
+
<img width="735" alt="rendition" src="https://raw.githubusercontent.com/sverweij/state-machine-cat/main/docs/pics/07history.png">
|
|
302
294
|
|
|
303
295
|
History states are _shallow_ by default. If you want a history state to
|
|
304
296
|
be _deep_ just put that somewhere in the name (e.g. `"running deep history"`
|
|
@@ -324,7 +316,7 @@ ticketed -> final;
|
|
|
324
316
|
removed -> final;
|
|
325
317
|
```
|
|
326
318
|
|
|
327
|
-
<img width="710" alt="rendition" src="https://raw.githubusercontent.com/sverweij/state-machine-cat/
|
|
319
|
+
<img width="710" alt="rendition" src="https://raw.githubusercontent.com/sverweij/state-machine-cat/main/docs/pics/03achoice.png">
|
|
328
320
|
|
|
329
321
|
#### Forks, joins and junctions - `]`
|
|
330
322
|
|
|
@@ -342,7 +334,7 @@ b => ]join;
|
|
|
342
334
|
]join => c;
|
|
343
335
|
```
|
|
344
336
|
|
|
345
|
-
<img width="224" alt="rendition" src="https://raw.githubusercontent.com/sverweij/state-machine-cat/
|
|
337
|
+
<img width="224" alt="rendition" src="https://raw.githubusercontent.com/sverweij/state-machine-cat/main/docs/pics/03bforkjoin.png">
|
|
346
338
|
|
|
347
339
|
> State machine cat automatically derives which of the three types
|
|
348
340
|
> you meant by counting the number of incoming and the number of
|
|
@@ -362,7 +354,7 @@ b => ]junction;
|
|
|
362
354
|
]junction => d;
|
|
363
355
|
```
|
|
364
356
|
|
|
365
|
-
<img width="224" alt="rendition" src="https://raw.githubusercontent.com/sverweij/state-machine-cat/
|
|
357
|
+
<img width="224" alt="rendition" src="https://raw.githubusercontent.com/sverweij/state-machine-cat/main/docs/pics/03cjunction.png">
|
|
366
358
|
|
|
367
359
|
#### Terminate
|
|
368
360
|
|
|
@@ -376,7 +368,7 @@ Aahnohd [type=terminate label="Terminated"];
|
|
|
376
368
|
a => Aahnohd: [hit by meteorite];
|
|
377
369
|
```
|
|
378
370
|
|
|
379
|
-
<img width="321" alt="rendition" src="https://raw.githubusercontent.com/sverweij/state-machine-cat/
|
|
371
|
+
<img width="321" alt="rendition" src="https://raw.githubusercontent.com/sverweij/state-machine-cat/main/docs/pics/03dterminate.png">
|
|
380
372
|
|
|
381
373
|
> For proper exits you'd typically use the _final_ state.
|
|
382
374
|
|
|
@@ -431,7 +423,7 @@ initial => "tape player off";
|
|
|
431
423
|
"tape player on" => "tape player off" : power;
|
|
432
424
|
```
|
|
433
425
|
|
|
434
|
-
<img width="653" alt="tape player rendition" src="https://raw.githubusercontent.com/sverweij/state-machine-cat/
|
|
426
|
+
<img width="653" alt="tape player rendition" src="https://raw.githubusercontent.com/sverweij/state-machine-cat/main/docs/pics/05tape_player.png">
|
|
435
427
|
|
|
436
428
|
#### parallel states
|
|
437
429
|
|
|
@@ -459,7 +451,7 @@ second.thang -> ]merge;
|
|
|
459
451
|
]merge -> final;
|
|
460
452
|
```
|
|
461
453
|
|
|
462
|
-
<img width="482" alt="parallel" src="https://raw.githubusercontent.com/sverweij/state-machine-cat/
|
|
454
|
+
<img width="482" alt="parallel" src="https://raw.githubusercontent.com/sverweij/state-machine-cat/main/docs/pics/08parallel.png">
|
|
463
455
|
|
|
464
456
|
#### `internal` and `external` transitions
|
|
465
457
|
|
|
@@ -498,7 +490,7 @@ act -> plan;
|
|
|
498
490
|
|
|
499
491
|
which will result in
|
|
500
492
|
|
|
501
|
-
<img width="424" alt="active states" src="https://raw.githubusercontent.com/sverweij/state-machine-cat/
|
|
493
|
+
<img width="424" alt="active states" src="https://raw.githubusercontent.com/sverweij/state-machine-cat/main/docs/pics/11active_state.png">
|
|
502
494
|
|
|
503
495
|
#### colors and line width
|
|
504
496
|
|
|
@@ -523,7 +515,7 @@ eat -> sleep [color="blue" width=3.5] : belly full;
|
|
|
523
515
|
|
|
524
516
|
... would yield this diagram:
|
|
525
517
|
|
|
526
|
-
<img width="659" alt="colored states and transitions" src="https://raw.githubusercontent.com/sverweij/state-machine-cat/
|
|
518
|
+
<img width="659" alt="colored states and transitions" src="https://raw.githubusercontent.com/sverweij/state-machine-cat/main/docs/pics/10colored_states_and_transitions.png">
|
|
527
519
|
|
|
528
520
|
What does 'experimental' mean?
|
|
529
521
|
|
|
@@ -623,7 +615,7 @@ running => stopped;
|
|
|
623
615
|
stopped => final;
|
|
624
616
|
```
|
|
625
617
|
|
|
626
|
-
<img width="520" alt="colored states and transitions" src="https://raw.githubusercontent.com/sverweij/state-machine-cat/
|
|
618
|
+
<img width="520" alt="colored states and transitions" src="https://raw.githubusercontent.com/sverweij/state-machine-cat/main/docs/pics/12state_type_overrides.png">
|
|
627
619
|
|
|
628
620
|
The values you can use for the `type` of a state:
|
|
629
621
|
|
|
@@ -651,11 +643,10 @@ I made the parser with peggy - you can find it at
|
|
|
651
643
|
|
|
652
644
|
- Thoroughly tested and good enough for public use.
|
|
653
645
|
- Despite this you might bump into the occasional issue - don't hesitate to
|
|
654
|
-
report it
|
|
655
|
-
|
|
656
|
-
- Runs on latest versions of firefox, safari and chrome and node versions >= 14.13.1.
|
|
646
|
+
report it on [GitHub](https://github.com/sverweij/state-machine-cat/issues).
|
|
647
|
+
- Runs on latest versions of firefox, safari and chrome and node versions >= 16.14.0
|
|
657
648
|
Although it might run on other environments, it's not tested there. I will
|
|
658
649
|
reject issues on these other environments, unless they're accompanied with
|
|
659
650
|
sufficient enticement to make it worth my while.
|
|
660
651
|
|
|
661
|
-
<img width="640" alt="colored states and transitions" src="https://raw.githubusercontent.com/sverweij/state-machine-cat/
|
|
652
|
+
<img width="640" alt="colored states and transitions" src="https://raw.githubusercontent.com/sverweij/state-machine-cat/main/docs/pics/state-machine-cat-social-sharing-picture.png">
|
package/bin/smcat.mjs
CHANGED
|
@@ -4,7 +4,6 @@ import { readFileSync } from "node:fs";
|
|
|
4
4
|
import { program } from "commander";
|
|
5
5
|
import satisfies from "semver/functions/satisfies.js";
|
|
6
6
|
import actions from "../dist/esm/cli/actions.mjs";
|
|
7
|
-
import makeDescription from "../dist/esm/cli/make-description.mjs";
|
|
8
7
|
import normalize from "../dist/esm/cli/normalize.mjs";
|
|
9
8
|
import validations from "../dist/esm/cli/validations.mjs";
|
|
10
9
|
|
|
@@ -41,7 +40,9 @@ function presentError(pError) {
|
|
|
41
40
|
try {
|
|
42
41
|
program
|
|
43
42
|
.version($package.version)
|
|
44
|
-
.description(
|
|
43
|
+
.description(
|
|
44
|
+
"Write beautiful state charts - https://github.com/sverweij/state-machine-cat"
|
|
45
|
+
)
|
|
45
46
|
.option(
|
|
46
47
|
"-T --output-type <type>",
|
|
47
48
|
validations.validOutputTypeRE,
|
package/dist/esm/cli/actions.mjs
CHANGED
|
@@ -6,7 +6,7 @@ const LICENSE = `
|
|
|
6
6
|
|
|
7
7
|
The MIT License (MIT)
|
|
8
8
|
|
|
9
|
-
Copyright (c) 2016-
|
|
9
|
+
Copyright (c) 2016-2023 Sander Verweij
|
|
10
10
|
|
|
11
11
|
Permission is hereby granted, free of charge, to any person obtaining
|
|
12
12
|
a copy of this software and associated documentation files (the
|
|
@@ -5,7 +5,7 @@ import attributebuilder from "./attributebuilder.mjs";
|
|
|
5
5
|
import stateTransformers from "./state-transformers.mjs";
|
|
6
6
|
import transitionTransformers from "./transition-transformers.mjs";
|
|
7
7
|
import Counter from "./counter.mjs";
|
|
8
|
-
import renderDotFromAST from "./render-dot-from-ast.
|
|
8
|
+
import renderDotFromAST from "./render-dot-from-ast.mjs";
|
|
9
9
|
import utl from "./utl.mjs";
|
|
10
10
|
function addExternalSelfTransitions(pStateMachineModel) {
|
|
11
11
|
return (pState) => {
|
|
@@ -1,8 +1,6 @@
|
|
|
1
|
-
|
|
2
|
-
|
|
3
|
-
|
|
4
|
-
require("./dot.template.js");
|
|
5
|
-
require("./dot.states.template.js");
|
|
1
|
+
import Handlebars from "handlebars/dist/handlebars.runtime.js";
|
|
2
|
+
await import("./dot.template.js");
|
|
3
|
+
await import("./dot.states.template.js");
|
|
6
4
|
Handlebars.registerPartial("dot.states.template.hbs", Handlebars.templates["dot.states.template.hbs"]);
|
|
7
5
|
Handlebars.registerHelper("stateSection", (pStateMachine) => Handlebars.templates["dot.states.template.hbs"](splitStates(pStateMachine)));
|
|
8
6
|
function isType(pString) {
|
|
@@ -24,6 +22,6 @@ function splitStates(pStateMachine) {
|
|
|
24
22
|
pStateMachine.compositeStates = pStateMachine.states.filter((pState) => pState.statemachine);
|
|
25
23
|
return pStateMachine;
|
|
26
24
|
}
|
|
27
|
-
|
|
25
|
+
export default function renderDotFromAST(pStateMachine) {
|
|
28
26
|
return Handlebars.templates["dot.template.hbs"](pStateMachine);
|
|
29
|
-
}
|
|
27
|
+
}
|
|
@@ -1,8 +1,8 @@
|
|
|
1
1
|
import has from "lodash/has.js";
|
|
2
|
-
import smcatRendererAsImported from "./smcat/index.
|
|
2
|
+
import smcatRendererAsImported from "./smcat/index.mjs";
|
|
3
3
|
import renderDot from "./dot/index.mjs";
|
|
4
4
|
import vector from "./vector/vector-native-dot-with-fallback.mjs";
|
|
5
|
-
import oldVector from "./vector/vector-with-
|
|
5
|
+
import oldVector from "./vector/vector-with-wasm.mjs";
|
|
6
6
|
import scjson from "./scjson/index.mjs";
|
|
7
7
|
import scxml from "./scxml/index.mjs";
|
|
8
8
|
const smcat = smcatRendererAsImported;
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
import has from "lodash/has.js";
|
|
2
|
-
import smcatRendererAsImported from "./smcat/index.
|
|
2
|
+
import smcatRendererAsImported from "./smcat/index.mjs";
|
|
3
3
|
import renderDot from "./dot/index.mjs";
|
|
4
|
-
import svg from "./vector/vector-with-
|
|
4
|
+
import svg from "./vector/vector-with-wasm.mjs";
|
|
5
5
|
import scjson from "./scjson/index.mjs";
|
|
6
6
|
import scxml from "./scxml/index.mjs";
|
|
7
7
|
const smcat = smcatRendererAsImported;
|
|
@@ -1,4 +1,4 @@
|
|
|
1
1
|
import ast2scjson from "../scjson/index.mjs";
|
|
2
|
-
import renderFomSCJSON from "./render-from-scjson.
|
|
2
|
+
import renderFomSCJSON from "./render-from-scjson.mjs";
|
|
3
3
|
const renderSCXML = (pStateMachine) => renderFomSCJSON(ast2scjson(pStateMachine));
|
|
4
4
|
export default renderSCXML;
|
|
@@ -0,0 +1,7 @@
|
|
|
1
|
+
import Handlebars from "handlebars/dist/handlebars.runtime.js";
|
|
2
|
+
await import("./scxml.template.js");
|
|
3
|
+
await import("./scxml.states.template.js");
|
|
4
|
+
Handlebars.registerPartial("scxml.states.template.hbs", Handlebars.templates["scxml.states.template.hbs"]);
|
|
5
|
+
export default function renderSCXML(pSCJSON) {
|
|
6
|
+
return Handlebars.templates["scxml.template.hbs"](pSCJSON);
|
|
7
|
+
}
|
|
@@ -1,8 +1,6 @@
|
|
|
1
|
-
|
|
2
|
-
|
|
3
|
-
|
|
4
|
-
const cloneDeep = require("lodash/cloneDeep.js");
|
|
5
|
-
require("./smcat.template.js");
|
|
1
|
+
import Handlebars from "handlebars/dist/handlebars.runtime.js";
|
|
2
|
+
import cloneDeep from "lodash/cloneDeep.js";
|
|
3
|
+
await import("./smcat.template.js");
|
|
6
4
|
const NAME_QUOTABLE = /;|,|{| |\[/;
|
|
7
5
|
const ACTIONS_QUOTABLE = /;|,|{/;
|
|
8
6
|
const LABEL_QUOTABLE = /;|{/;
|
|
@@ -54,10 +52,10 @@ function transformTransitions(pTransitions) {
|
|
|
54
52
|
Handlebars.registerHelper("quotifyState", (pItem) => quoteIfNecessary(NAME_QUOTABLE, pItem));
|
|
55
53
|
Handlebars.registerHelper("quotifyLabel", (pItem) => quoteIfNecessary(LABEL_QUOTABLE, pItem));
|
|
56
54
|
Handlebars.registerHelper("quotifyActions", (pItem) => quoteIfNecessary(ACTIONS_QUOTABLE, pItem));
|
|
57
|
-
|
|
55
|
+
export default function renderSmcat(pStateMachine) {
|
|
58
56
|
return Handlebars.templates["smcat.template.hbs"]({
|
|
59
57
|
...pStateMachine,
|
|
60
58
|
states: transformStates(cloneDeep(pStateMachine.states)),
|
|
61
59
|
transitions: transformTransitions(cloneDeep(pStateMachine.transitions || [])),
|
|
62
60
|
});
|
|
63
|
-
}
|
|
61
|
+
}
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import
|
|
1
|
+
import { Graphviz } from "@hpcc-js/wasm/graphviz";
|
|
2
2
|
import indentString from "indent-string";
|
|
3
3
|
import wrapAnsi from "wrap-ansi";
|
|
4
4
|
import chalk from "chalk";
|
|
@@ -8,6 +8,7 @@ import dotToVectorNative from "./dot-to-vector-native.mjs";
|
|
|
8
8
|
const DEFAULT_INDENT = 2;
|
|
9
9
|
const DOGMATIC_CONSOLE_WIDTH = 78;
|
|
10
10
|
const VIZ_JS_UNSUPPORTED_OUTPUT_FORMATS = ["pdf", "png"];
|
|
11
|
+
const gGraphViz = await Graphviz.load();
|
|
11
12
|
const renderVector = (pStateMachine, pOptions) => {
|
|
12
13
|
const lDotProgram = ast2dot(pStateMachine, pOptions);
|
|
13
14
|
const lDotOptions = {
|
|
@@ -19,19 +20,15 @@ const renderVector = (pStateMachine, pOptions) => {
|
|
|
19
20
|
}
|
|
20
21
|
else {
|
|
21
22
|
if (VIZ_JS_UNSUPPORTED_OUTPUT_FORMATS.includes(lDotOptions.format)) {
|
|
22
|
-
throw new Error("GraphViz 'dot' executable not found. Falling back to
|
|
23
|
-
"
|
|
24
|
-
"select a format that it does
|
|
25
|
-
"(recommended), which has support for
|
|
23
|
+
throw new Error("GraphViz 'dot' executable not found. Falling back to wasm.\n\n" +
|
|
24
|
+
"The compiled-to-wasm version of GraphViz we use doesn't support the " +
|
|
25
|
+
"'pdf' and 'png' output formats. Either select a format that it does " +
|
|
26
|
+
"support or install GraphViz (recommended), which has support for " +
|
|
27
|
+
"both formats.\n");
|
|
26
28
|
}
|
|
27
|
-
|
|
28
|
-
"
|
|
29
|
-
|
|
30
|
-
"It's harmless and the svg will generate just fine. However, if " +
|
|
31
|
-
"you want to avoid the warning install GraphViz and make sure it's " +
|
|
32
|
-
"available in your path." +
|
|
33
|
-
"\n\n", DOGMATIC_CONSOLE_WIDTH), DEFAULT_INDENT));
|
|
34
|
-
return dotToSvgJs(lDotProgram, lDotOptions);
|
|
29
|
+
if (!pOptions?.noDotNativeWarning)
|
|
30
|
+
process.stderr.write(indentString(wrapAnsi(`\n${chalk.yellow("warning:")} GraphViz 'dot' executable not found. Falling back to wasm.\n\n`, DOGMATIC_CONSOLE_WIDTH), DEFAULT_INDENT));
|
|
31
|
+
return gGraphViz.layout(lDotProgram, lDotOptions.format, lDotOptions.engine);
|
|
35
32
|
}
|
|
36
33
|
};
|
|
37
34
|
export default renderVector;
|
|
@@ -0,0 +1,17 @@
|
|
|
1
|
+
import { Graphviz } from "@hpcc-js/wasm/graphviz";
|
|
2
|
+
import options from "../../options.mjs";
|
|
3
|
+
import ast2dot from "../dot/index.mjs";
|
|
4
|
+
const OUTPUT_TYPE2FORMAT = {
|
|
5
|
+
oldsvg: "svg",
|
|
6
|
+
oldps2: "ps2",
|
|
7
|
+
oldeps: "eps",
|
|
8
|
+
};
|
|
9
|
+
const gGraphViz = await Graphviz.load();
|
|
10
|
+
function getFormat(pOptions) {
|
|
11
|
+
return (OUTPUT_TYPE2FORMAT[options.getOptionValue(pOptions, "outputType")] || "svg");
|
|
12
|
+
}
|
|
13
|
+
function getEngine(pOptions) {
|
|
14
|
+
return options.getOptionValue(pOptions, "engine");
|
|
15
|
+
}
|
|
16
|
+
const renderVectorWithWasm = (pStateMachine, pOptions) => gGraphViz.layout(ast2dot(pStateMachine, pOptions), getFormat(pOptions), getEngine(pOptions));
|
|
17
|
+
export default renderVectorWithWasm;
|
package/dist/esm/version.mjs
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
export const version = "
|
|
1
|
+
export const version = "11.0.4";
|
package/package.json
CHANGED
|
@@ -1,16 +1,14 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "state-machine-cat",
|
|
3
|
-
"version": "
|
|
3
|
+
"version": "11.0.4",
|
|
4
4
|
"description": "write beautiful state charts",
|
|
5
|
-
"main": "./dist/
|
|
5
|
+
"main": "./dist/esm/index.mjs",
|
|
6
6
|
"module": "./dist/esm/index.mjs",
|
|
7
7
|
"exports": {
|
|
8
8
|
".": [
|
|
9
9
|
{
|
|
10
|
-
"import": "./dist/esm/index.mjs"
|
|
11
|
-
|
|
12
|
-
},
|
|
13
|
-
"./dist/commonjs/index.js"
|
|
10
|
+
"import": "./dist/esm/index.mjs"
|
|
11
|
+
}
|
|
14
12
|
]
|
|
15
13
|
},
|
|
16
14
|
"sideEffects": [
|
|
@@ -23,17 +21,17 @@
|
|
|
23
21
|
"scripts": {
|
|
24
22
|
"build": "make clean dist pages cli-build && rm -rf dist/esm && tsc",
|
|
25
23
|
"check": "run-s depcruise lint test:cover",
|
|
26
|
-
"depcruise": "dependency-cruise bin src test types tools --config config/dependency-cruiser",
|
|
24
|
+
"depcruise": "dependency-cruise bin src test types tools --config config/dependency-cruiser/base.mjs",
|
|
27
25
|
"depcruise:graph": "run-s depcruise:graph:doc:archi depcruise:graph:doc:deps depcruise:graph:doc:flat-deps",
|
|
28
|
-
"depcruise:graph:doc:archi": "dependency-cruise bin src --config config/dependency-cruiser/graph.
|
|
29
|
-
"depcruise:graph:doc:deps": "dependency-cruise bin src --config config/dependency-cruiser/graph.
|
|
30
|
-
"depcruise:graph:doc:flat-deps": "dependency-cruise bin src --config config/dependency-cruiser/graph.
|
|
31
|
-
"depcruise:graph:dev": "dependency-cruise bin src --config config/dependency-cruiser/graph.
|
|
32
|
-
"depcruise:graph:dev:flat": "dependency-cruise bin src --config config/dependency-cruiser/graph.
|
|
33
|
-
"depcruise:view-report": "dependency-cruise bin src test types tools --config config/dependency-cruiser --output-type err-html --prefix vscode://file/$(pwd)/ | browser",
|
|
34
|
-
"depcruise:github-actions:markdown": "dependency-cruise bin src test types tools --config config/dependency-cruiser --output-type markdown",
|
|
35
|
-
"depcruise:github-actions:mermaid": "dependency-cruise bin src --config config/dependency-cruiser/graph.
|
|
36
|
-
"depcruise:github-actions:mermaid:affected": "dependency-cruise bin src test types tools --no-cache --config config/dependency-cruiser --output-type mermaid --reaches \"$(watskeburt $SHA -T regex)\"",
|
|
26
|
+
"depcruise:graph:doc:archi": "dependency-cruise bin src --config config/dependency-cruiser/graph.mjs --output-type archi | dot -T svg | tee docs/dependency-cruiser-archi-graph.svg | depcruise-wrap-stream-in-html > docs/dependency-cruiser-archi-graph.html",
|
|
27
|
+
"depcruise:graph:doc:deps": "dependency-cruise bin src --config config/dependency-cruiser/graph.mjs --output-type dot | dot -T svg | tee docs/dependency-cruiser-graph.svg | depcruise-wrap-stream-in-html > docs/dependency-cruiser-graph.html",
|
|
28
|
+
"depcruise:graph:doc:flat-deps": "dependency-cruise bin src --config config/dependency-cruiser/graph.mjs --output-type flat | dot -T svg | tee docs/dependency-cruiser-graph-flat-dot.svg | depcruise-wrap-stream-in-html > docs/dependency-cruiser-graph-flat-dot.html",
|
|
29
|
+
"depcruise:graph:dev": "dependency-cruise bin src --config config/dependency-cruiser/graph.mjs --output-type dot --prefix vscode://file/$(pwd)/ --highlight \"$(watskeburt main)\"| dot -Tsvg | depcruise-wrap-stream-in-html | browser",
|
|
30
|
+
"depcruise:graph:dev:flat": "dependency-cruise bin src --config config/dependency-cruiser/graph.mjs --output-type flat --prefix vscode://file/$(pwd)/ --highlight \"$(watskeburt main)\"| twopi -Tsvg | depcruise-wrap-stream-in-html | browser",
|
|
31
|
+
"depcruise:view-report": "dependency-cruise bin src test types tools --config config/dependency-cruiser/base.mjs --output-type err-html --prefix vscode://file/$(pwd)/ | browser",
|
|
32
|
+
"depcruise:github-actions:markdown": "dependency-cruise bin src test types tools --config config/dependency-cruiser/base.mjs --output-type markdown",
|
|
33
|
+
"depcruise:github-actions:mermaid": "dependency-cruise bin src --config config/dependency-cruiser/graph.mjs --output-type mermaid",
|
|
34
|
+
"depcruise:github-actions:mermaid:affected": "dependency-cruise bin src test types tools --no-cache --config config/dependency-cruiser/base.mjs --output-type mermaid --reaches \"$(watskeburt $SHA -T regex)\"",
|
|
37
35
|
"format": "prettier --cache --loglevel warn --write \"bin/*.mjs\" \"{src,test}/**/*.{js,mjs}\" \"{config,test}/**/*.{js,json}\" \"tools/*.{js,mjs,json}\" \"{src,types}/**/*.{ts,mts}\" \"*.{json,yml,md}\" \"docs/{smcat-online-interpreter.js,*.md}\"",
|
|
38
36
|
"format:check": "prettier --cache --check \"bin/*.mjs\" \"{src,test}/**/*.{js,mjs}\" \"{config,test}/**/*.{js,json}\" \"tools/*.{js,mjs,json}\" \"{src,types}/**/*.{ts,mts}\" \"*.{json,yml,md}\" \"docs/{smcat-online-interpreter.js,*.md}\"",
|
|
39
37
|
"lint": "run-p lint:eslint format:check lint:types",
|
|
@@ -73,15 +71,6 @@
|
|
|
73
71
|
"README.md",
|
|
74
72
|
"LICENSE"
|
|
75
73
|
],
|
|
76
|
-
"upem": {
|
|
77
|
-
"policies": [
|
|
78
|
-
{
|
|
79
|
-
"package": "viz.js",
|
|
80
|
-
"policy": "pin",
|
|
81
|
-
"because": "viz.js >=2 ditched its async interface, which we use. Will need some code reshuffling which is not worth it a.t.m."
|
|
82
|
-
}
|
|
83
|
-
]
|
|
84
|
-
},
|
|
85
74
|
"keywords": [
|
|
86
75
|
"state",
|
|
87
76
|
"state chart",
|
|
@@ -101,36 +90,36 @@
|
|
|
101
90
|
"state-machine-cat": "bin/smcat.mjs"
|
|
102
91
|
},
|
|
103
92
|
"dependencies": {
|
|
93
|
+
"@hpcc-js/wasm": "2.13.0",
|
|
104
94
|
"ajv": "8.12.0",
|
|
105
95
|
"chalk": "5.2.0",
|
|
106
|
-
"commander": "10.0.
|
|
107
|
-
"fast-xml-parser": "4.
|
|
96
|
+
"commander": "10.0.1",
|
|
97
|
+
"fast-xml-parser": "4.2.2",
|
|
108
98
|
"get-stream": "6.0.1",
|
|
109
99
|
"handlebars": "4.7.7",
|
|
110
100
|
"he": "1.2.0",
|
|
111
101
|
"indent-string": "5.0.0",
|
|
112
102
|
"lodash": "4.17.21",
|
|
113
|
-
"semver": "^7.
|
|
103
|
+
"semver": "^7.5.1",
|
|
114
104
|
"traverse": "0.6.7",
|
|
115
|
-
"viz.js": "1.8.2",
|
|
116
105
|
"wrap-ansi": "8.1.0"
|
|
117
106
|
},
|
|
118
107
|
"devDependencies": {
|
|
119
|
-
"@types/chai": "4.3.
|
|
108
|
+
"@types/chai": "4.3.5",
|
|
120
109
|
"@types/chai-xml": "0.3.2",
|
|
121
110
|
"@types/he": "1.2.0",
|
|
122
|
-
"@types/lodash": "4.14.
|
|
111
|
+
"@types/lodash": "4.14.194",
|
|
123
112
|
"@types/mocha": "10.0.1",
|
|
124
|
-
"@typescript-eslint/eslint-plugin": "5.
|
|
125
|
-
"@typescript-eslint/parser": "5.
|
|
113
|
+
"@typescript-eslint/eslint-plugin": "5.59.6",
|
|
114
|
+
"@typescript-eslint/parser": "5.59.6",
|
|
126
115
|
"c8": "7.13.0",
|
|
127
116
|
"chai": "4.3.7",
|
|
128
117
|
"chai-as-promised": "7.1.1",
|
|
129
118
|
"chai-json-schema": "1.5.1",
|
|
130
|
-
"chai-xml": "0.4.
|
|
131
|
-
"dependency-cruiser": "
|
|
132
|
-
"esbuild": "0.17.
|
|
133
|
-
"eslint": "8.
|
|
119
|
+
"chai-xml": "0.4.1",
|
|
120
|
+
"dependency-cruiser": "13.0.0",
|
|
121
|
+
"esbuild": "0.17.19",
|
|
122
|
+
"eslint": "8.40.0",
|
|
134
123
|
"eslint-config-moving-meadow": "4.0.2",
|
|
135
124
|
"eslint-config-prettier": "8.8.0",
|
|
136
125
|
"eslint-plugin-budapestian": "5.0.1",
|
|
@@ -139,24 +128,30 @@
|
|
|
139
128
|
"eslint-plugin-mocha": "10.1.0",
|
|
140
129
|
"eslint-plugin-node": "11.1.0",
|
|
141
130
|
"eslint-plugin-security": "1.7.1",
|
|
142
|
-
"eslint-plugin-unicorn": "
|
|
131
|
+
"eslint-plugin-unicorn": "47.0.0",
|
|
143
132
|
"husky": "8.0.3",
|
|
144
133
|
"is-pdf": "1.0.0",
|
|
145
134
|
"is-png": "3.0.1",
|
|
146
|
-
"lint-staged": "13.2.
|
|
135
|
+
"lint-staged": "13.2.2",
|
|
147
136
|
"mocha": "10.2.0",
|
|
148
137
|
"npm-run-all": "4.1.5",
|
|
149
138
|
"peggy": "3.0.2",
|
|
150
|
-
"prettier": "2.8.
|
|
139
|
+
"prettier": "2.8.8",
|
|
151
140
|
"query-string": "8.1.0",
|
|
152
141
|
"ts-node": "10.9.1",
|
|
153
|
-
"typescript": "5.0.
|
|
142
|
+
"typescript": "5.0.4",
|
|
154
143
|
"upem": "7.3.2",
|
|
155
|
-
"watskeburt": "0.
|
|
144
|
+
"watskeburt": "0.11.2",
|
|
156
145
|
"xml-name-validator": "4.0.0"
|
|
157
146
|
},
|
|
147
|
+
"overrides": {
|
|
148
|
+
"xml2js": "^0.5.0"
|
|
149
|
+
},
|
|
150
|
+
"resolutions": {
|
|
151
|
+
"xml2js": "^0.5.0"
|
|
152
|
+
},
|
|
158
153
|
"engines": {
|
|
159
|
-
"node": "^14
|
|
154
|
+
"node": "^16.14||>=18"
|
|
160
155
|
},
|
|
161
156
|
"types": "types/state-machine-cat.d.ts",
|
|
162
157
|
"browserslist": [
|
|
@@ -236,7 +236,7 @@ export interface IBaseRenderOptions {
|
|
|
236
236
|
* (choice, forks and junctions) with their equivalent meaning
|
|
237
237
|
* (defaults to false).
|
|
238
238
|
*
|
|
239
|
-
* For details: https://github.com/sverweij/state-machine-cat/blob/
|
|
239
|
+
* For details: https://github.com/sverweij/state-machine-cat/blob/main/docs/desugar.md
|
|
240
240
|
*/
|
|
241
241
|
desugar?: boolean;
|
|
242
242
|
}
|
|
@@ -254,6 +254,11 @@ export interface IRenderOptions extends IBaseRenderOptions {
|
|
|
254
254
|
* For the 'dot' renderer: Edge attributes to the engine
|
|
255
255
|
*/
|
|
256
256
|
dotEdgeAttrs?: dotAttributesType;
|
|
257
|
+
/**
|
|
258
|
+
* On nodejs don't display the warning that GraphViz 'dot'
|
|
259
|
+
* can't be found and we're falling back to wasm
|
|
260
|
+
*/
|
|
261
|
+
noDotNativeWarning?: boolean;
|
|
257
262
|
}
|
|
258
263
|
|
|
259
264
|
export type StringRenderFunctionType = (
|
package/dist/commonjs/bundle.js
DELETED
|
@@ -1,79 +0,0 @@
|
|
|
1
|
-
"use strict";var Ul=Object.create;var ve=Object.defineProperty;var Jl=Object.getOwnPropertyDescriptor;var Xl=Object.getOwnPropertyNames;var Gl=Object.getPrototypeOf,Wl=Object.prototype.hasOwnProperty;var q=(t,e)=>()=>(e||t((e={exports:{}}).exports,e),e.exports),Ql=(t,e)=>{for(var n in e)ve(t,n,{get:e[n],enumerable:!0})},rn=(t,e,n,m)=>{if(e&&typeof e=="object"||typeof e=="function")for(let a of Xl(e))!Wl.call(t,a)&&a!==n&&ve(t,a,{get:()=>e[a],enumerable:!(m=Jl(e,a))||m.enumerable});return t};var F=(t,e,n)=>(n=t!=null?Ul(Gl(t)):{},rn(e||!t||!t.__esModule?ve(n,"default",{value:t,enumerable:!0}):n,t)),Yl=t=>rn(ve({},"__esModule",{value:!0}),t);var $n=q((fs,xn)=>{"use strict";function ee(t){return Object.prototype.toString.call(t)}function po(t){return ee(t)==="[object Date]"}function mo(t){return ee(t)==="[object RegExp]"}function ho(t){return ee(t)==="[object Error]"}function go(t){return ee(t)==="[object Boolean]"}function yo(t){return ee(t)==="[object Number]"}function vo(t){return ee(t)==="[object String]"}var gn=Array.isArray||function(e){return Object.prototype.toString.call(e)==="[object Array]"};function be(t,e){if(t.forEach)return t.forEach(e);for(var n=0;n<t.length;n++)e(t[n],n,t)}var xe=Object.keys||function(e){var n=[];for(var m in e)n.push(m);return n},$e=Object.prototype.hasOwnProperty||function(t,e){return e in t};function yn(t){if(typeof t=="object"&&t!==null){var e;if(gn(t))e=[];else if(po(t))e=new Date(t.getTime?t.getTime():t);else if(mo(t))e=new RegExp(t);else if(ho(t))e={message:t.message};else if(go(t)||yo(t)||vo(t))e=Object(t);else if(Object.create&&Object.getPrototypeOf)e=Object.create(Object.getPrototypeOf(t));else if(t.constructor===Object)e={};else{var n=t.constructor&&t.constructor.prototype||t.__proto__||{},m=function(){};m.prototype=n,e=new m}return be(xe(t),function(a){e[a]=t[a]}),e}return t}function vn(t,e,n){var m=[],a=[],c=!0;return function i(f){var g=n?yn(f):f,p={},d=!0,l={node:g,node_:f,path:[].concat(m),parent:a[a.length-1],parents:a,key:m[m.length-1],isRoot:m.length===0,level:m.length,circular:null,update:function(I,x){l.isRoot||(l.parent.node[l.key]=I),l.node=I,x&&(d=!1)},delete:function(I){delete l.parent.node[l.key],I&&(d=!1)},remove:function(I){gn(l.parent.node)?l.parent.node.splice(l.key,1):delete l.parent.node[l.key],I&&(d=!1)},keys:null,before:function(I){p.before=I},after:function(I){p.after=I},pre:function(I){p.pre=I},post:function(I){p.post=I},stop:function(){c=!1},block:function(){d=!1}};if(!c)return l;function b(){if(typeof l.node=="object"&&l.node!==null){(!l.keys||l.node_!==l.node)&&(l.keys=xe(l.node)),l.isLeaf=l.keys.length===0;for(var I=0;I<a.length;I++)if(a[I].node_===f){l.circular=a[I];break}}else l.isLeaf=!0,l.keys=null;l.notLeaf=!l.isLeaf,l.notRoot=!l.isRoot}b();var u=e.call(l,l.node);return u!==void 0&&l.update&&l.update(u),p.before&&p.before.call(l,l.node),d&&(typeof l.node=="object"&&l.node!==null&&!l.circular&&(a.push(l),b(),be(l.keys,function(I,x){m.push(I),p.pre&&p.pre.call(l,l.node[I],I);var _=i(l.node[I]);n&&$e.call(l.node,I)&&(l.node[I]=_.node),_.isLast=x===l.keys.length-1,_.isFirst=x===0,p.post&&p.post.call(l,_),m.pop()}),a.pop()),p.after&&p.after.call(l,l.node)),l}(t).node}function V(t){this.value=t}V.prototype.get=function(t){for(var e=this.value,n=0;n<t.length;n++){var m=t[n];if(!e||!$e.call(e,m))return;e=e[m]}return e};V.prototype.has=function(t){for(var e=this.value,n=0;n<t.length;n++){var m=t[n];if(!e||!$e.call(e,m))return!1;e=e[m]}return!0};V.prototype.set=function(t,e){for(var n=this.value,m=0;m<t.length-1;m++){var a=t[m];$e.call(n,a)||(n[a]={}),n=n[a]}return n[t[m]]=e,e};V.prototype.map=function(t){return vn(this.value,t,!0)};V.prototype.forEach=function(t){return this.value=vn(this.value,t,!1),this.value};V.prototype.reduce=function(t,e){var n=arguments.length===1,m=n?this.value:e;return this.forEach(function(a){(!this.isRoot||!n)&&(m=t.call(this,m,a))}),m};V.prototype.paths=function(){var t=[];return this.forEach(function(){t.push(this.path)}),t};V.prototype.nodes=function(){var t=[];return this.forEach(function(){t.push(this.node)}),t};V.prototype.clone=function(){var t=[],e=[];return function n(m){for(var a=0;a<t.length;a++)if(t[a]===m)return e[a];if(typeof m=="object"&&m!==null){var c=yn(m);return t.push(m),e.push(c),be(xe(m),function(i){c[i]=n(m[i])}),t.pop(),e.pop(),c}return m}(this.value)};function bn(t){return new V(t)}be(xe(V.prototype),function(t){bn[t]=function(e){var n=[].slice.call(arguments,1),m=new V(e);return m[t].apply(m,n)}});xn.exports=bn});var Rn=q(()=>{"use strict";var Le=require("handlebars/dist/handlebars.runtime"),Ro=Le.template,No=Le.templates=Le.templates||{};No["smcat.template.hbs"]=Ro({1:function(t,e,n,m,a){var c=e??(t.nullContext||{}),i=t.hooks.helperMissing,f="function",g=t.hooks.blockHelperMissing,p=t.lookupProperty||function(I,x){if(Object.prototype.hasOwnProperty.call(I,x))return I[x]},d="",l=(l=p(n,"note")||(e!=null?p(e,"note"):e))!=null?l:i,b={name:"note",hash:{},fn:t.program(2,a,0),inverse:t.noop,data:a,loc:{start:{line:2,column:0},end:{line:4,column:9}}},u=typeof l==f?l.call(c,b):l;return(u=p(n,"note")?u:g.call(e,u,b))!=null&&(d+=u),d+=(u=(p(n,"quotifyState")||e&&p(e,"quotifyState")||i).call(c,e!=null?p(e,"name"):e,{name:"quotifyState",hash:{},fn:t.program(4,a,0),inverse:t.noop,data:a,loc:{start:{line:5,column:0},end:{line:5,column:40}}}))!=null?u:"",l=(l=p(n,"hasExtendedAttributes")||(e!=null?p(e,"hasExtendedAttributes"):e))!=null?l:i,b={name:"hasExtendedAttributes",hash:{},fn:t.program(6,a,0),inverse:t.noop,data:a,loc:{start:{line:6,column:4},end:{line:6,column:270}}},u=typeof l==f?l.call(c,b):l,(u=p(n,"hasExtendedAttributes")?u:g.call(e,u,b))!=null&&(d+=u),d+=(u=p(n,"if").call(c,e!=null?p(e,"actions"):e,{name:"if",hash:{},fn:t.program(18,a,0),inverse:t.noop,data:a,loc:{start:{line:7,column:4},end:{line:7,column:28}}}))!=null?u:"",l=(l=p(n,"actions")||(e!=null?p(e,"actions"):e))!=null?l:i,b={name:"actions",hash:{},fn:t.program(20,a,0),inverse:t.noop,data:a,loc:{start:{line:7,column:28},end:{line:7,column:93}}},u=typeof l==f?l.call(c,b):l,(u=p(n,"actions")?u:g.call(e,u,b))!=null&&(d+=u),l=(l=p(n,"statemachine")||(e!=null?p(e,"statemachine"):e))!=null?l:i,b={name:"statemachine",hash:{},fn:t.program(22,a,0),inverse:t.noop,data:a,loc:{start:{line:8,column:4},end:{line:10,column:19}}},u=typeof l==f?l.call(c,b):l,(u=p(n,"statemachine")?u:g.call(e,u,b))!=null&&(d+=u),d+((u=p(n,"if").call(c,a&&p(a,"last"),{name:"if",hash:{},fn:t.program(24,a,0),inverse:t.program(26,a,0),data:a,loc:{start:{line:11,column:0},end:{line:11,column:30}}}))!=null?u:"")+`
|
|
2
|
-
`},2:function(t,e,n,m,a){return"# "+((t=t.lambda(e,e))!=null?t:"")+`
|
|
3
|
-
`},4:function(t,e,n,m,a){return""},6:function(t,e,n,m,a){var c=e??(t.nullContext||{}),i=t.hooks.helperMissing,f="function",g=t.hooks.blockHelperMissing,p=t.lookupProperty||function(I,x){if(Object.prototype.hasOwnProperty.call(I,x))return I[x]},d=" [",l=(l=p(n,"typeExplicitlySet")||(e!=null?p(e,"typeExplicitlySet"):e))!=null?l:i,b={name:"typeExplicitlySet",hash:{},fn:t.program(7,a,0),inverse:t.noop,data:a,loc:{start:{line:6,column:32},end:{line:6,column:107}}},u=typeof l==f?l.call(c,b):l;return(u=p(n,"typeExplicitlySet")?u:g.call(e,u,b))!=null&&(d+=u),l=(l=p(n,"label")||(e!=null?p(e,"label"):e))!=null?l:i,b={name:"label",hash:{},fn:t.program(10,a,0),inverse:t.noop,data:a,loc:{start:{line:6,column:107},end:{line:6,column:142}}},u=typeof l==f?l.call(c,b):l,(u=p(n,"label")?u:g.call(e,u,b))!=null&&(d+=u),l=(l=p(n,"color")||(e!=null?p(e,"color"):e))!=null?l:i,b={name:"color",hash:{},fn:t.program(12,a,0),inverse:t.noop,data:a,loc:{start:{line:6,column:142},end:{line:6,column:178}}},u=typeof l==f?l.call(c,b):l,(u=p(n,"color")?u:g.call(e,u,b))!=null&&(d+=u),l=(l=p(n,"class")||(e!=null?p(e,"class"):e))!=null?l:i,b={name:"class",hash:{},fn:t.program(14,a,0),inverse:t.noop,data:a,loc:{start:{line:6,column:178},end:{line:6,column:214}}},u=typeof l==f?l.call(c,b):l,(u=p(n,"class")?u:g.call(e,u,b))!=null&&(d+=u),d+((u=p(n,"if").call(c,e!=null?p(e,"active"):e,{name:"if",hash:{},fn:t.program(16,a,0),inverse:t.noop,data:a,loc:{start:{line:6,column:214},end:{line:6,column:242}}}))!=null?u:"")+"]"},7:function(t,e,n,m,i){var c=t.lookupProperty||function(g,p){if(Object.prototype.hasOwnProperty.call(g,p))return g[p]},f=(f=c(n,"type")||(e!=null?c(e,"type"):e))!=null?f:t.hooks.helperMissing,i={name:"type",hash:{},fn:t.program(8,i,0),inverse:t.noop,data:i,loc:{start:{line:6,column:54},end:{line:6,column:85}}},f=typeof f=="function"?f.call(e??(t.nullContext||{}),i):f;return(f=c(n,"type")?f:t.hooks.blockHelperMissing.call(e,f,i))!=null?f:""},8:function(t,e,n,m,a){return"type="+((t=t.lambda(e,e))!=null?t:"")+" "},10:function(t,e,n,m,a){return'label="'+((t=t.lambda(e,e))!=null?t:"")+'"'},12:function(t,e,n,m,a){return' color="'+((t=t.lambda(e,e))!=null?t:"")+'"'},14:function(t,e,n,m,a){return' class="'+((t=t.lambda(e,e))!=null?t:"")+'"'},16:function(t,e,n,m,a){return" active"},18:function(t,e,n,m,a){return": "},20:function(t,e,n,m,a){var c=t.lookupProperty||function(i,f){if(Object.prototype.hasOwnProperty.call(i,f))return i[f]};return(n=(c(n,"quotifyActions")||e&&c(e,"quotifyActions")||t.hooks.helperMissing).call(e??(t.nullContext||{}),e,{name:"quotifyActions",hash:{},fn:t.program(4,a,0),inverse:t.noop,data:a,loc:{start:{line:7,column:40},end:{line:7,column:80}}}))!=null?n:""},22:function(t,e,n,m,a){var c=t.lookupProperty||function(i,f){if(Object.prototype.hasOwnProperty.call(i,f))return i[f]};return` {
|
|
4
|
-
`+((c=t.invokePartial(c(m,"smcat.template.hbs"),e,{name:"smcat.template.hbs",data:a,indent:" ",helpers:n,partials:m,decorators:t.decorators}))!=null?c:"")+"}"},24:function(t,e,n,m,a){return";"},26:function(t,e,n,m,a){return","},28:function(t,e,n,m,a){var c=e??(t.nullContext||{}),i=t.hooks.helperMissing,f="function",g=t.hooks.blockHelperMissing,p=t.lookupProperty||function(I,x){if(Object.prototype.hasOwnProperty.call(I,x))return I[x]},d="",l=(l=p(n,"note")||(e!=null?p(e,"note"):e))!=null?l:i,b={name:"note",hash:{},fn:t.program(2,a,0),inverse:t.noop,data:a,loc:{start:{line:15,column:0},end:{line:17,column:9}}},u=typeof l==f?l.call(c,b):l;return(u=p(n,"note")?u:g.call(e,u,b))!=null&&(d+=u),d+=((u=(p(n,"quotifyState")||e&&p(e,"quotifyState")||i).call(c,e!=null?p(e,"from"):e,{name:"quotifyState",hash:{},fn:t.program(4,a,0),inverse:t.noop,data:a,loc:{start:{line:18,column:0},end:{line:18,column:39}}}))!=null?u:"")+" => "+((u=(p(n,"quotifyState")||e&&p(e,"quotifyState")||i).call(c,e!=null?p(e,"to"):e,{name:"quotifyState",hash:{},fn:t.program(4,a,0),inverse:t.noop,data:a,loc:{start:{line:18,column:43},end:{line:18,column:81}}}))!=null?u:""),l=(l=p(n,"hasExtendedAttributes")||(e!=null?p(e,"hasExtendedAttributes"):e))!=null?l:i,b={name:"hasExtendedAttributes",hash:{},fn:t.program(29,a,0),inverse:t.noop,data:a,loc:{start:{line:19,column:4},end:{line:19,column:130}}},u=typeof l==f?l.call(c,b):l,(u=p(n,"hasExtendedAttributes")?u:g.call(e,u,b))!=null&&(d+=u),l=(l=p(n,"label")||(e!=null?p(e,"label"):e))!=null?l:i,b={name:"label",hash:{},fn:t.program(34,a,0),inverse:t.noop,data:a,loc:{start:{line:20,column:4},end:{line:20,column:62}}},u=typeof l==f?l.call(c,b):l,(u=p(n,"label")?u:g.call(e,u,b))!=null&&(d+=u),d+`;
|
|
5
|
-
`},29:function(t,e,n,m,a){var c=e??(t.nullContext||{}),i=t.hooks.helperMissing,f="function",g=t.hooks.blockHelperMissing,p=t.lookupProperty||function(I,x){if(Object.prototype.hasOwnProperty.call(I,x))return I[x]},d=" [",l=(l=p(n,"color")||(e!=null?p(e,"color"):e))!=null?l:i,b={name:"color",hash:{},fn:t.program(30,a,0),inverse:t.noop,data:a,loc:{start:{line:19,column:32},end:{line:19,column:68}}},u=typeof l==f?l.call(c,b):l;return(u=p(n,"color")?u:g.call(e,u,b))!=null&&(d+=u),l=(l=p(n,"type")||(e!=null?p(e,"type"):e))!=null?l:i,b={name:"type",hash:{},fn:t.program(32,a,0),inverse:t.noop,data:a,loc:{start:{line:19,column:69},end:{line:19,column:102}}},u=typeof l==f?l.call(c,b):l,(u=p(n,"type")?u:g.call(e,u,b))!=null&&(d+=u),d+"]"},30:function(t,e,n,m,a){return'color="'+((t=t.lambda(e,e))!=null?t:"")+'"'},32:function(t,e,n,m,a){return" type="+((t=t.lambda(e,e))!=null?t:"")},34:function(t,e,n,m,a){var c=t.lookupProperty||function(i,f){if(Object.prototype.hasOwnProperty.call(i,f))return i[f]};return": "+((n=(c(n,"quotifyLabel")||e&&c(e,"quotifyLabel")||t.hooks.helperMissing).call(e??(t.nullContext||{}),e,{name:"quotifyLabel",hash:{},fn:t.program(4,a,0),inverse:t.noop,data:a,loc:{start:{line:20,column:16},end:{line:20,column:52}}}))!=null?n:"")},compiler:[8,">= 4.3.0"],main:function(t,e,n,m,p){var c=e??(t.nullContext||{}),i=t.lookupProperty||function(l,b){if(Object.prototype.hasOwnProperty.call(l,b))return l[b]},f=((d=i(n,"each").call(c,e!=null?i(e,"states"):e,{name:"each",hash:{},fn:t.program(1,p,0),inverse:t.noop,data:p,loc:{start:{line:1,column:0},end:{line:12,column:9}}}))!=null?d:"")+`
|
|
6
|
-
`,g=(g=i(n,"transitions")||(e!=null?i(e,"transitions"):e))!=null?g:t.hooks.helperMissing,p={name:"transitions",hash:{},fn:t.program(28,p,0),inverse:t.noop,data:p,loc:{start:{line:14,column:0},end:{line:21,column:16}}},d=typeof g=="function"?g.call(c,p):g;return(d=i(n,"transitions")?d:t.hooks.blockHelperMissing.call(e,d,p))!=null&&(f+=d),f},usePartial:!0,useData:!0})});var Bn=q((Os,Ln)=>{"use strict";var te=require("handlebars/dist/handlebars.runtime.js"),Nn=require("lodash/cloneDeep.js");Rn();var Vo=/;|,|{| |\[/,Lo=/;|,|{/,Bo=/;|{/;function Be(t,e){return t.test(e)?`"${e}"`:e}te.registerPartial("smcat.template.hbs",te.templates["smcat.template.hbs"]);function Do(t){return t==="activity"?"":`${t}/ `}function Ho(t){return{...t,actions:(t.actions||[]).map(e=>`${Do(e.type)}${e.body}`).join(`
|
|
7
|
-
`)}}function qo(t){return(Object.prototype.hasOwnProperty.call(t,"label")||Object.prototype.hasOwnProperty.call(t,"typeExplicitlySet")||Object.prototype.hasOwnProperty.call(t,"color")||Object.prototype.hasOwnProperty.call(t,"active")||Object.prototype.hasOwnProperty.call(t,"class"))&&(t.hasExtendedAttributes=!0),t}function Vn(t){return t.map(qo).filter(e=>e.statemachine).forEach(e=>{e.statemachine.states=Vn(e.statemachine.states)}),t.map(Ho)}function Mo(t){return(Object.prototype.hasOwnProperty.call(t,"type")||Object.prototype.hasOwnProperty.call(t,"color")||Object.prototype.hasOwnProperty.call(t,"class"))&&(t.hasExtendedAttributes=!0),t}function zo(t){return t.map(Mo)}te.registerHelper("quotifyState",t=>Be(Vo,t));te.registerHelper("quotifyLabel",t=>Be(Bo,t));te.registerHelper("quotifyActions",t=>Be(Lo,t));Ln.exports=function(e){return te.templates["smcat.template.hbs"]({...e,states:Vn(Nn(e.states)),transitions:zo(Nn(e.transitions||[]))})}});var qn=q(()=>{"use strict";var qe=require("handlebars/dist/handlebars.runtime"),mi=qe.template,di=qe.templates=qe.templates||{};di["dot.template.hbs"]=mi({1:function(t,e,n,m,a,c,i){var f=e??(t.nullContext||{}),g=t.hooks.helperMissing,p="function",d=t.hooks.blockHelperMissing,l=t.lookupProperty||function(_,B){if(Object.prototype.hasOwnProperty.call(_,B))return _[B]},b="",u=(u=l(n,"noteName")||(e!=null?l(e,"noteName"):e))!=null?u:g,I={name:"noteName",hash:{},fn:t.noop,inverse:t.program(2,a,0,c,i),data:a,loc:{start:{line:9,column:2},end:{line:26,column:15}}},x=typeof u==p?u.call(f,I):u;return(x=l(n,"noteName")?x:d.call(e,x,I))!=null&&(b+=x),u=(u=l(n,"noteName")||(e!=null?l(e,"noteName"):e))!=null?u:g,I={name:"noteName",hash:{},fn:t.program(19,a,0,c,i),inverse:t.noop,data:a,loc:{start:{line:27,column:2},end:{line:37,column:15}}},x=typeof u==p?u.call(f,I):u,(x=l(n,"noteName")?x:d.call(e,x,I))!=null&&(b+=x),b},2:function(t,e,n,m,a){var c=e??(t.nullContext||{}),i=t.hooks.helperMissing,f="function",g=t.hooks.blockHelperMissing,p=t.lookupProperty||function(I,x){if(Object.prototype.hasOwnProperty.call(I,x))return I[x]},d="",l=(l=p(n,"isCompositeSelf")||(e!=null?p(e,"isCompositeSelf"):e))!=null?l:i,b={name:"isCompositeSelf",hash:{},fn:t.noop,inverse:t.program(3,a,0),data:a,loc:{start:{line:10,column:4},end:{line:16,column:24}}},u=typeof l==f?l.call(c,b):l;return(u=p(n,"isCompositeSelf")?u:g.call(e,u,b))!=null&&(d+=u),l=(l=p(n,"isCompositeSelf")||(e!=null?p(e,"isCompositeSelf"):e))!=null?l:i,b={name:"isCompositeSelf",hash:{},fn:t.program(14,a,0),inverse:t.noop,data:a,loc:{start:{line:17,column:4},end:{line:25,column:24}}},u=typeof l==f?l.call(c,b):l,(u=p(n,"isCompositeSelf")?u:g.call(e,u,b))!=null&&(d+=u),d},3:function(t,e,n,m,a){var c=e??(t.nullContext||{}),i=t.hooks.helperMissing,f="function",g=t.hooks.blockHelperMissing,p=t.lookupProperty||function(I,x){if(Object.prototype.hasOwnProperty.call(I,x))return I[x]},d=' "'+((u=typeof(l=(l=p(n,"from")||(e!=null?p(e,"from"):e))!=null?l:i)==f?l.call(c,{name:"from",hash:{},data:a,loc:{start:{line:11,column:5},end:{line:11,column:15}}}):l)!=null?u:"")+'" -> "'+((u=typeof(l=(l=p(n,"to")||(e!=null?p(e,"to"):e))!=null?l:i)==f?l.call(c,{name:"to",hash:{},data:a,loc:{start:{line:11,column:21},end:{line:11,column:29}}}):l)!=null?u:"")+'" [label="',l=(l=p(n,"label")||(e!=null?p(e,"label"):e))!=null?l:i,b={name:"label",hash:{},fn:t.noop,inverse:t.program(4,a,0),data:a,loc:{start:{line:11,column:39},end:{line:11,column:60}}},u=typeof l==f?l.call(c,b):l;return(u=p(n,"label")?u:g.call(e,u,b))!=null&&(d+=u),d+=((u=typeof(l=(l=p(n,"label")||(e!=null?p(e,"label"):e))!=null?l:i)==f?l.call(c,{name:"label",hash:{},data:a,loc:{start:{line:11,column:60},end:{line:11,column:71}}}):l)!=null?u:"")+'"',l=(l=p(n,"fromComposite")||(e!=null?p(e,"fromComposite"):e))!=null?l:i,b={name:"fromComposite",hash:{},fn:t.program(6,a,0),inverse:t.noop,data:a,loc:{start:{line:12,column:28},end:{line:12,column:92}}},u=typeof l==f?l.call(c,b):l,(u=p(n,"fromComposite")?u:g.call(e,u,b))!=null&&(d+=u),l=(l=p(n,"toComposite")||(e!=null?p(e,"toComposite"):e))!=null?l:i,b={name:"toComposite",hash:{},fn:t.program(8,a,0),inverse:t.noop,data:a,loc:{start:{line:13,column:28},end:{line:13,column:86}}},u=typeof l==f?l.call(c,b):l,(u=p(n,"toComposite")?u:g.call(e,u,b))!=null&&(d+=u),l=(l=p(n,"color")||(e!=null?p(e,"color"):e))!=null?l:i,b={name:"color",hash:{},fn:t.program(10,a,0),inverse:t.noop,data:a,loc:{start:{line:14,column:28},end:{line:14,column:85}}},u=typeof l==f?l.call(c,b):l,(u=p(n,"color")?u:g.call(e,u,b))!=null&&(d+=u),l=(l=p(n,"width")||(e!=null?p(e,"width"):e))!=null?l:i,b={name:"width",hash:{},fn:t.program(12,a,0),inverse:t.noop,data:a,loc:{start:{line:15,column:28},end:{line:15,column:68}}},u=typeof l==f?l.call(c,b):l,(u=p(n,"width")?u:g.call(e,u,b))!=null&&(d+=u),d+' class="'+((u=typeof(l=(l=p(n,"class")||(e!=null?p(e,"class"):e))!=null?l:i)==f?l.call(c,{name:"class",hash:{},data:a,loc:{start:{line:15,column:76},end:{line:15,column:87}}}):l)!=null?u:"")+`"]
|
|
8
|
-
`},4:function(t,e,n,m,a){return" "},6:function(t,e,n,m,a){var c=t.lookupProperty||function(i,f){if(Object.prototype.hasOwnProperty.call(i,f))return i[f]};return' ltail="cluster_'+((c=typeof(n=(n=c(n,"from")||(e!=null?c(e,"from"):e))!=null?n:t.hooks.helperMissing)=="function"?n.call(e??(t.nullContext||{}),{name:"from",hash:{},data:a,loc:{start:{line:12,column:63},end:{line:12,column:73}}}):n)!=null?c:"")+'"'},8:function(t,e,n,m,a){var c=t.lookupProperty||function(i,f){if(Object.prototype.hasOwnProperty.call(i,f))return i[f]};return' lhead="cluster_'+((c=typeof(n=(n=c(n,"to")||(e!=null?c(e,"to"):e))!=null?n:t.hooks.helperMissing)=="function"?n.call(e??(t.nullContext||{}),{name:"to",hash:{},data:a,loc:{start:{line:13,column:61},end:{line:13,column:69}}}):n)!=null?c:"")+'"'},10:function(i,e,n,m,a){var c,i=i.lambda;return' color="'+((c=i(e,e))!=null?c:"")+'" fontcolor="'+((c=i(e,e))!=null?c:"")+'"'},12:function(t,e,n,m,a){return' penwidth="'+((t=t.lambda(e,e))!=null?t:"")+'"'},14:function(t,e,n,m,a){var c=e??(t.nullContext||{}),i=t.hooks.helperMissing,f="function",g=t.hooks.blockHelperMissing,p=t.lookupProperty||function(I,x){if(Object.prototype.hasOwnProperty.call(I,x))return I[x]},d=' "'+((u=typeof(l=(l=p(n,"from")||(e!=null?p(e,"from"):e))!=null?l:i)==f?l.call(c,{name:"from",hash:{},data:a,loc:{start:{line:18,column:7},end:{line:18,column:17}}}):l)!=null?u:"")+'" -> "self_'+((u=typeof(l=(l=p(n,"name")||(e!=null?p(e,"name"):e))!=null?l:i)==f?l.call(c,{name:"name",hash:{},data:a,loc:{start:{line:18,column:28},end:{line:18,column:38}}}):l)!=null?u:"")+'" [label="',l=(l=p(n,"label")||(e!=null?p(e,"label"):e))!=null?l:i,b={name:"label",hash:{},fn:t.noop,inverse:t.program(4,a,0),data:a,loc:{start:{line:18,column:48},end:{line:18,column:69}}},u=typeof l==f?l.call(c,b):l;return(u=p(n,"label")?u:g.call(e,u,b))!=null&&(d+=u),d+=((u=typeof(l=(l=p(n,"label")||(e!=null?p(e,"label"):e))!=null?l:i)==f?l.call(c,{name:"label",hash:{},data:a,loc:{start:{line:18,column:69},end:{line:18,column:80}}}):l)!=null?u:"")+'" arrowhead=none',l=(l=p(n,"tailportflags")||(e!=null?p(e,"tailportflags"):e))!=null?l:i,b={name:"tailportflags",hash:{},fn:t.program(15,a,0),inverse:t.noop,data:a,loc:{start:{line:19,column:28},end:{line:19,column:73}}},u=typeof l==f?l.call(c,b):l,(u=p(n,"tailportflags")?u:g.call(e,u,b))!=null&&(d+=u),d+=' ltail="cluster_'+((u=typeof(l=(l=p(n,"from")||(e!=null?p(e,"from"):e))!=null?l:i)==f?l.call(c,{name:"from",hash:{},data:a,loc:{start:{line:19,column:89},end:{line:19,column:99}}}):l)!=null?u:"")+'"',l=(l=p(n,"color")||(e!=null?p(e,"color"):e))!=null?l:i,b={name:"color",hash:{},fn:t.program(10,a,0),inverse:t.noop,data:a,loc:{start:{line:20,column:28},end:{line:20,column:85}}},u=typeof l==f?l.call(c,b):l,(u=p(n,"color")?u:g.call(e,u,b))!=null&&(d+=u),d+=' class="'+((u=typeof(l=(l=p(n,"class")||(e!=null?p(e,"class"):e))!=null?l:i)==f?l.call(c,{name:"class",hash:{},data:a,loc:{start:{line:20,column:93},end:{line:20,column:104}}}):l)!=null?u:"")+`"]
|
|
9
|
-
"self_`+((u=typeof(l=(l=p(n,"name")||(e!=null?p(e,"name"):e))!=null?l:i)==f?l.call(c,{name:"name",hash:{},data:a,loc:{start:{line:21,column:12},end:{line:21,column:22}}}):l)!=null?u:"")+'" -> "'+((u=typeof(l=(l=p(n,"from")||(e!=null?p(e,"from"):e))!=null?l:i)==f?l.call(c,{name:"from",hash:{},data:a,loc:{start:{line:21,column:28},end:{line:21,column:38}}}):l)!=null?u:"")+'" [lhead="cluster_'+((u=typeof(l=(l=p(n,"from")||(e!=null?p(e,"from"):e))!=null?l:i)==f?l.call(c,{name:"from",hash:{},data:a,loc:{start:{line:21,column:56},end:{line:21,column:66}}}):l)!=null?u:"")+'"',l=(l=p(n,"headportflags")||(e!=null?p(e,"headportflags"):e))!=null?l:i,b={name:"headportflags",hash:{},fn:t.program(15,a,0),inverse:t.noop,data:a,loc:{start:{line:22,column:28},end:{line:22,column:73}}},u=typeof l==f?l.call(c,b):l,(u=p(n,"headportflags")?u:g.call(e,u,b))!=null&&(d+=u),l=(l=p(n,"color")||(e!=null?p(e,"color"):e))!=null?l:i,b={name:"color",hash:{},fn:t.program(17,a,0),inverse:t.noop,data:a,loc:{start:{line:23,column:28},end:{line:23,column:65}}},u=typeof l==f?l.call(c,b):l,(u=p(n,"color")?u:g.call(e,u,b))!=null&&(d+=u),l=(l=p(n,"width")||(e!=null?p(e,"width"):e))!=null?l:i,b={name:"width",hash:{},fn:t.program(12,a,0),inverse:t.noop,data:a,loc:{start:{line:24,column:28},end:{line:24,column:68}}},u=typeof l==f?l.call(c,b):l,(u=p(n,"width")?u:g.call(e,u,b))!=null&&(d+=u),d+' class="'+((u=typeof(l=(l=p(n,"class")||(e!=null?p(e,"class"):e))!=null?l:i)==f?l.call(c,{name:"class",hash:{},data:a,loc:{start:{line:24,column:76},end:{line:24,column:87}}}):l)!=null?u:"")+`"]
|
|
10
|
-
`},15:function(t,e,n,m,a){return" "+((t=t.lambda(e,e))!=null?t:"")},17:function(t,e,n,m,a){return' color="'+((t=t.lambda(e,e))!=null?t:"")+'"'},19:function(t,e,n,m,a,c,i){var f,g=t.lambda,p=t.hooks.blockHelperMissing,d=t.lookupProperty||function(l,b){if(Object.prototype.hasOwnProperty.call(l,b))return l[b]};return' "i_'+((f=g(e,e))!=null?f:"")+`" [shape=point style=invis margin=0 width=0 height=0 fixedsize=true]
|
|
11
|
-
"`+((f=g(i[1]!=null?d(i[1],"from"):i[1],e))!=null?f:"")+'" -> "i_'+((f=g(e,e))!=null?f:"")+'" [arrowhead=none'+((f=p.call(e,g(i[1]!=null?d(i[1],"fromComposite"):i[1],e),{name:"../fromComposite",hash:{},fn:t.program(20,a,0,c,i),inverse:t.noop,data:a,loc:{start:{line:30,column:32},end:{line:30,column:105}}}))!=null?f:"")+((f=p.call(e,g(i[1]!=null?d(i[1],"color"):i[1],e),{name:"../color",hash:{},fn:t.program(17,a,0,c,i),inverse:t.noop,data:a,loc:{start:{line:31,column:32},end:{line:31,column:75}}}))!=null?f:"")+`]
|
|
12
|
-
"i_`+((f=g(e,e))!=null?f:"")+'" -> "'+((f=g(i[1]!=null?d(i[1],"to"):i[1],e))!=null?f:"")+'" [label="'+((f=p.call(e,g(i[1]!=null?d(i[1],"label"):i[1],e),{name:"../label",hash:{},fn:t.noop,inverse:t.program(4,a,0,c,i),data:a,loc:{start:{line:32,column:43},end:{line:32,column:70}}}))!=null?f:"")+((f=g(i[1]!=null?d(i[1],"label"):i[1],e))!=null?f:"")+'"'+((f=p.call(e,g(i[1]!=null?d(i[1],"toComposite"):i[1],e),{name:"../toComposite",hash:{},fn:t.program(22,a,0,c,i),inverse:t.noop,data:a,loc:{start:{line:33,column:32},end:{line:33,column:99}}}))!=null?f:"")+((f=p.call(e,g(i[1]!=null?d(i[1],"color"):i[1],e),{name:"../color",hash:{},fn:t.program(10,a,0,c,i),inverse:t.noop,data:a,loc:{start:{line:34,column:32},end:{line:34,column:95}}}))!=null?f:"")+`]
|
|
13
|
-
"i_`+((f=g(e,e))!=null?f:"")+'" -> "'+((f=g(e,e))!=null?f:"")+`" [style=dashed arrowtail=none arrowhead=none weight=0]
|
|
14
|
-
"`+((f=g(e,e))!=null?f:"")+'" [label="'+((f=g(i[1]!=null?d(i[1],"noteFlattened"):i[1],e))!=null?f:"")+`" shape=note fontsize=10 color=black fontcolor=black fillcolor="#ffffcc" penwidth=1.0]
|
|
15
|
-
`},20:function(t,e,n,m,a,c,i){var f=t.lookupProperty||function(g,p){if(Object.prototype.hasOwnProperty.call(g,p))return g[p]};return' ltail="cluster_'+((t=t.lambda(i[1]!=null?f(i[1],"from"):i[1],e))!=null?t:"")+'"'},22:function(t,e,n,m,a,c,i){var f=t.lookupProperty||function(g,p){if(Object.prototype.hasOwnProperty.call(g,p))return g[p]};return' lhead="cluster_'+((t=t.lambda(i[1]!=null?f(i[1],"to"):i[1],e))!=null?t:"")+'"'},compiler:[8,">= 4.3.0"],main:function(t,e,n,d,a,c,i){var f=e??(t.nullContext||{}),b=t.hooks.helperMissing,g="function",p=t.lookupProperty||function(I,x){if(Object.prototype.hasOwnProperty.call(I,x))return I[x]},d=`digraph "state transitions" {
|
|
16
|
-
`+((u=typeof(l=(l=p(n,"graphAttributes")||(e!=null?p(e,"graphAttributes"):e))!=null?l:b)==g?l.call(f,{name:"graphAttributes",hash:{},data:a,loc:{start:{line:2,column:2},end:{line:2,column:23}}}):l)!=null?u:"")+`
|
|
17
|
-
node [`+((u=typeof(l=(l=p(n,"nodeAttributes")||(e!=null?p(e,"nodeAttributes"):e))!=null?l:b)==g?l.call(f,{name:"nodeAttributes",hash:{},data:a,loc:{start:{line:3,column:8},end:{line:3,column:28}}}):l)!=null?u:"")+`]
|
|
18
|
-
edge [`+((u=typeof(l=(l=p(n,"edgeAttributes")||(e!=null?p(e,"edgeAttributes"):e))!=null?l:b)==g?l.call(f,{name:"edgeAttributes",hash:{},data:a,loc:{start:{line:4,column:8},end:{line:4,column:28}}}):l)!=null?u:"")+`]
|
|
19
|
-
|
|
20
|
-
`+((u=t.invokePartial(p(d,"dot.states.template.hbs"),e,{name:"dot.states.template.hbs",data:a,indent:" ",helpers:n,partials:d,decorators:t.decorators}))!=null?u:"")+`
|
|
21
|
-
`,l=(l=p(n,"transitions")||(e!=null?p(e,"transitions"):e))!=null?l:b,b={name:"transitions",hash:{},fn:t.program(1,a,0,c,i),inverse:t.noop,data:a,loc:{start:{line:8,column:2},end:{line:38,column:18}}},u=typeof l==g?l.call(f,b):l;return(u=p(n,"transitions")?u:t.hooks.blockHelperMissing.call(e,u,b))!=null&&(d+=u),d+`}
|
|
22
|
-
`},usePartial:!0,useData:!0,useDepths:!0})});var Mn=q(()=>{"use strict";var Me=require("handlebars/dist/handlebars.runtime"),hi=Me.template,gi=Me.templates=Me.templates||{};gi["dot.states.template.hbs"]=hi({1:function(t,e,n,m,f){var c=t.lookupProperty||function(p,d){if(Object.prototype.hasOwnProperty.call(p,d))return p[d]},i="",g=(g=c(n,"nestedExternalSelfTransitions")||(e!=null?c(e,"nestedExternalSelfTransitions"):e))!=null?g:t.hooks.helperMissing,f={name:"nestedExternalSelfTransitions",hash:{},fn:t.program(2,f,0),inverse:t.noop,data:f,loc:{start:{line:2,column:2},end:{line:4,column:36}}},g=typeof g=="function"?g.call(e??(t.nullContext||{}),f):g;return(g=c(n,"nestedExternalSelfTransitions")?g:t.hooks.blockHelperMissing.call(e,g,f))!=null&&(i+=g),i},2:function(t,e,n,m,a){return' "self_'+((t=t.lambda(e,e))!=null?t:"")+`" [shape=point style=invis width=0 height=0 fixedsize=true]
|
|
23
|
-
`},4:function(t,e,n,m,a){var c,i,f=e??(t.nullContext||{}),g=t.hooks.helperMissing,p="function",d=t.lookupProperty||function(l,b){if(Object.prototype.hasOwnProperty.call(l,b))return l[b]};return' "'+((c=typeof(i=(i=d(n,"name")||(e!=null?d(e,"name"):e))!=null?i:g)==p?i.call(f,{name:"name",hash:{},data:a,loc:{start:{line:7,column:3},end:{line:7,column:13}}}):i)!=null?c:"")+'" [shape=circle style=filled class="'+((c=typeof(i=(i=d(n,"class")||(e!=null?d(e,"class"):e))!=null?i:g)==p?i.call(f,{name:"class",hash:{},data:a,loc:{start:{line:7,column:49},end:{line:7,column:60}}}):i)!=null?c:"")+'" '+((c=d(n,"if").call(f,e!=null?d(e,"color"):e,{name:"if",hash:{},fn:t.program(5,a,0),inverse:t.program(7,a,0),data:a,loc:{start:{line:7,column:62},end:{line:7,column:150}}}))!=null?c:"")+((c=d(n,"if").call(f,e!=null?d(e,"active"):e,{name:"if",hash:{},fn:t.program(9,a,0),inverse:t.noop,data:a,loc:{start:{line:7,column:150},end:{line:7,column:184}}}))!=null?c:"")+`fixedsize=true height=0.15 label=""]
|
|
24
|
-
`},5:function(d,e,n,m,a){var c,i,f=e??(d.nullContext||{}),g=d.hooks.helperMissing,p="function",d=d.lookupProperty||function(l,b){if(Object.prototype.hasOwnProperty.call(l,b))return l[b]};return'color="'+((c=typeof(i=(i=d(n,"color")||(e!=null?d(e,"color"):e))!=null?i:g)==p?i.call(f,{name:"color",hash:{},data:a,loc:{start:{line:7,column:82},end:{line:7,column:93}}}):i)!=null?c:"")+'" fillcolor="'+((c=typeof(i=(i=d(n,"color")||(e!=null?d(e,"color"):e))!=null?i:g)==p?i.call(f,{name:"color",hash:{},data:a,loc:{start:{line:7,column:106},end:{line:7,column:117}}}):i)!=null?c:"")+'" '},7:function(t,e,n,m,a){return"fillcolor=black "},9:function(t,e,n,m,a){return"penwidth=3.0 "},11:function(t,e,n,m,a){var c=e??(t.nullContext||{}),d=t.hooks.helperMissing,i="function",f=t.lookupProperty||function(b,u){if(Object.prototype.hasOwnProperty.call(b,u))return b[u]},g=' "'+((l=typeof(p=(p=f(n,"name")||(e!=null?f(e,"name"):e))!=null?p:d)==i?p.call(c,{name:"name",hash:{},data:a,loc:{start:{line:10,column:3},end:{line:10,column:13}}}):p)!=null?l:"")+'" [margin=0 class="'+((l=typeof(p=(p=f(n,"class")||(e!=null?f(e,"class"):e))!=null?p:d)==i?p.call(c,{name:"class",hash:{},data:a,loc:{start:{line:10,column:32},end:{line:10,column:43}}}):p)!=null?l:"")+'" '+((l=f(n,"if").call(c,e!=null?f(e,"color"):e,{name:"if",hash:{},fn:t.program(12,a,0),inverse:t.noop,data:a,loc:{start:{line:10,column:45},end:{line:10,column:85}}}))!=null?l:"")+((l=f(n,"if").call(c,e!=null?f(e,"active"):e,{name:"if",hash:{},fn:t.program(14,a,0),inverse:t.noop,data:a,loc:{start:{line:10,column:85},end:{line:10,column:134}}}))!=null?l:"")+`label= <
|
|
25
|
-
<table align="center" cellborder="0" border="2" style="rounded" width="48">
|
|
26
|
-
<tr><td width="48"`+((l=f(n,"if").call(c,e!=null?f(e,"actionStrings"):e,{name:"if",hash:{},fn:t.program(16,a,0),inverse:t.program(18,a,0),data:a,loc:{start:{line:12,column:24},end:{line:12,column:92}}}))!=null?l:"")+">"+((l=f(n,"if").call(c,e!=null?f(e,"active"):e,{name:"if",hash:{},fn:t.program(20,a,0),inverse:t.program(22,a,0),data:a,loc:{start:{line:12,column:93},end:{line:12,column:147}}}))!=null?l:"")+`</td></tr>
|
|
27
|
-
`,p=(p=f(n,"actionStrings")||(e!=null?f(e,"actionStrings"):e))!=null?p:d,d={name:"actionStrings",hash:{},fn:t.program(24,a,0),inverse:t.noop,data:a,loc:{start:{line:13,column:6},end:{line:16,column:24}}},l=typeof p==i?p.call(c,d):p;return(l=f(n,"actionStrings")?l:t.hooks.blockHelperMissing.call(e,l,d))!=null&&(g+=l),g+` </table>
|
|
28
|
-
>]
|
|
29
|
-
`},12:function(t,e,n,m,a){var c=t.lookupProperty||function(i,f){if(Object.prototype.hasOwnProperty.call(i,f))return i[f]};return'color="'+((c=typeof(n=(n=c(n,"color")||(e!=null?c(e,"color"):e))!=null?n:t.hooks.helperMissing)=="function"?n.call(e??(t.nullContext||{}),{name:"color",hash:{},data:a,loc:{start:{line:10,column:65},end:{line:10,column:76}}}):n)!=null?c:"")+'" '},14:function(t,e,n,m,a){return"peripheries=1 style=rounded "},16:function(t,e,n,m,a){return' cellpadding="2"'},18:function(t,e,n,m,a){return' cellpadding="7"'},20:function(t,e,n,m,a){var c=t.lookupProperty||function(i,f){if(Object.prototype.hasOwnProperty.call(i,f))return i[f]};return"<i>"+t.escapeExpression(typeof(n=(n=c(n,"label")||(e!=null?c(e,"label"):e))!=null?n:t.hooks.helperMissing)=="function"?n.call(e??(t.nullContext||{}),{name:"label",hash:{},data:a,loc:{start:{line:12,column:110},end:{line:12,column:119}}}):n)+"</i>"},22:function(t,e,n,m,a){var c=t.lookupProperty||function(i,f){if(Object.prototype.hasOwnProperty.call(i,f))return i[f]};return t.escapeExpression(typeof(n=(n=c(n,"label")||(e!=null?c(e,"label"):e))!=null?n:t.hooks.helperMissing)=="function"?n.call(e??(t.nullContext||{}),{name:"label",hash:{},data:a,loc:{start:{line:12,column:131},end:{line:12,column:140}}}):n)},24:function(t,e,n,m,a){var c=t.lookupProperty||function(i,f){if(Object.prototype.hasOwnProperty.call(i,f))return i[f]};return" "+((n=c(n,"if").call(e??(t.nullContext||{}),a&&c(a,"first"),{name:"if",hash:{},fn:t.program(25,a,0),inverse:t.noop,data:a,loc:{start:{line:14,column:8},end:{line:14,column:34}}}))!=null?n:"")+`
|
|
30
|
-
<tr><td align="left" cellpadding="2">`+t.escapeExpression(t.lambda(e,e))+`</td></tr>
|
|
31
|
-
`},25:function(t,e,n,m,a){return"<hr/>"},27:function(t,e,n,m,a){var c,i,f=e??(t.nullContext||{}),g=t.hooks.helperMissing,p="function",d=t.lookupProperty||function(l,b){if(Object.prototype.hasOwnProperty.call(l,b))return l[b]};return' "'+((c=typeof(i=(i=d(n,"name")||(e!=null?d(e,"name"):e))!=null?i:g)==p?i.call(f,{name:"name",hash:{},data:a,loc:{start:{line:21,column:3},end:{line:21,column:13}}}):i)!=null?c:"")+'" [shape=circle class="'+((c=typeof(i=(i=d(n,"class")||(e!=null?d(e,"class"):e))!=null?i:g)==p?i.call(f,{name:"class",hash:{},data:a,loc:{start:{line:21,column:36},end:{line:21,column:47}}}):i)!=null?c:"")+'" '+((c=d(n,"if").call(f,e!=null?d(e,"color"):e,{name:"if",hash:{},fn:t.program(12,a,0),inverse:t.noop,data:a,loc:{start:{line:21,column:49},end:{line:21,column:89}}}))!=null?c:"")+((c=d(n,"if").call(f,e!=null?d(e,"active"):e,{name:"if",hash:{},fn:t.program(9,a,0),inverse:t.noop,data:a,loc:{start:{line:21,column:89},end:{line:21,column:123}}}))!=null?c:"")+`label="H"]
|
|
32
|
-
`},29:function(t,e,n,m,a){var c,i,f=e??(t.nullContext||{}),g=t.hooks.helperMissing,p="function",d=t.lookupProperty||function(l,b){if(Object.prototype.hasOwnProperty.call(l,b))return l[b]};return' "'+((c=typeof(i=(i=d(n,"name")||(e!=null?d(e,"name"):e))!=null?i:g)==p?i.call(f,{name:"name",hash:{},data:a,loc:{start:{line:24,column:3},end:{line:24,column:13}}}):i)!=null?c:"")+'" [shape=circle class="'+((c=typeof(i=(i=d(n,"class")||(e!=null?d(e,"class"):e))!=null?i:g)==p?i.call(f,{name:"class",hash:{},data:a,loc:{start:{line:24,column:36},end:{line:24,column:47}}}):i)!=null?c:"")+'" '+((c=d(n,"if").call(f,e!=null?d(e,"color"):e,{name:"if",hash:{},fn:t.program(12,a,0),inverse:t.noop,data:a,loc:{start:{line:24,column:49},end:{line:24,column:89}}}))!=null?c:"")+((c=d(n,"if").call(f,e!=null?d(e,"active"):e,{name:"if",hash:{},fn:t.program(9,a,0),inverse:t.noop,data:a,loc:{start:{line:24,column:89},end:{line:24,column:123}}}))!=null?c:"")+`label="H*"]
|
|
33
|
-
`},31:function(t,e,n,m,a,c,i){var f=e??(t.nullContext||{}),g=t.hooks.helperMissing,p="function",d=t.hooks.blockHelperMissing,l=t.lookupProperty||function(_,B){if(Object.prototype.hasOwnProperty.call(_,B))return _[B]},b=' "'+((x=typeof(u=(u=l(n,"name")||(e!=null?l(e,"name"):e))!=null?u:g)==p?u.call(f,{name:"name",hash:{},data:a,loc:{start:{line:27,column:3},end:{line:27,column:13}}}):u)!=null?x:"")+'" [shape=diamond fixedsize=true width=0.35 height=0.35 fontsize=10 class="'+((x=typeof(u=(u=l(n,"class")||(e!=null?l(e,"class"):e))!=null?u:g)==p?u.call(f,{name:"class",hash:{},data:a,loc:{start:{line:27,column:87},end:{line:27,column:98}}}):u)!=null?x:"")+'" '+((x=l(n,"if").call(f,e!=null?l(e,"color"):e,{name:"if",hash:{},fn:t.program(12,a,0,c,i),inverse:t.noop,data:a,loc:{start:{line:27,column:100},end:{line:27,column:140}}}))!=null?x:"")+((x=l(n,"if").call(f,e!=null?l(e,"active"):e,{name:"if",hash:{},fn:t.program(9,a,0,c,i),inverse:t.noop,data:a,loc:{start:{line:27,column:140},end:{line:27,column:174}}}))!=null?x:"")+`label=" "]
|
|
34
|
-
"`+((x=typeof(u=(u=l(n,"name")||(e!=null?l(e,"name"):e))!=null?u:g)==p?u.call(f,{name:"name",hash:{},data:a,loc:{start:{line:28,column:3},end:{line:28,column:13}}}):u)!=null?x:"")+'" -> "'+((x=typeof(u=(u=l(n,"name")||(e!=null?l(e,"name"):e))!=null?u:g)==p?u.call(f,{name:"name",hash:{},data:a,loc:{start:{line:28,column:19},end:{line:28,column:29}}}):u)!=null?x:"")+'" [label=<',u=(u=l(n,"actionStrings")||(e!=null?l(e,"actionStrings"):e))!=null?u:g,I={name:"actionStrings",hash:{},fn:t.program(32,a,0,c,i),inverse:t.noop,data:a,loc:{start:{line:28,column:39},end:{line:28,column:156}}},x=typeof u==p?u.call(f,I):u;return(x=l(n,"actionStrings")?x:d.call(e,x,I))!=null&&(b+=x),b+='> color="#FFFFFF01"',u=(u=l(n,"color")||(e!=null?l(e,"color"):e))!=null?u:g,I={name:"color",hash:{},fn:t.program(41,a,0,c,i),inverse:t.noop,data:a,loc:{start:{line:28,column:175},end:{line:28,column:215}}},x=typeof u==p?u.call(f,I):u,(x=l(n,"color")?x:d.call(e,x,I))!=null&&(b+=x),b+' class="'+((x=typeof(u=(u=l(n,"class")||(e!=null?l(e,"class"):e))!=null?u:g)==p?u.call(f,{name:"class",hash:{},data:a,loc:{start:{line:28,column:223},end:{line:28,column:234}}}):u)!=null?x:"")+`"];
|
|
35
|
-
`},32:function(t,g,n,m,a,c,i){var f,g=g??(t.nullContext||{}),p=t.lookupProperty||function(d,l){if(Object.prototype.hasOwnProperty.call(d,l))return d[l]};return((f=p(n,"if").call(g,a&&p(a,"first"),{name:"if",hash:{},fn:t.program(33,a,0,c,i),inverse:t.program(35,a,0,c,i),data:a,loc:{start:{line:28,column:57},end:{line:28,column:88}}}))!=null?f:"")+((f=p(n,"if").call(g,i[1]!=null?p(i[1],"active"):i[1],{name:"if",hash:{},fn:t.program(37,a,0,c,i),inverse:t.program(39,a,0,c,i),data:a,loc:{start:{line:28,column:88},end:{line:28,column:137}}}))!=null?f:"")},33:function(t,e,n,m,a){return""},35:function(t,e,n,m,a){return"\\n"},37:function(t,e,n,m,a){return"<i>"+t.escapeExpression(t.lambda(e,e))+"</i>"},39:function(t,e,n,m,a){return t.escapeExpression(t.lambda(e,e))},41:function(t,e,n,m,a){return' fontcolor="'+((t=t.lambda(e,e))!=null?t:"")+'"'},43:function(t,e,n,m,a){var c,i,f=e??(t.nullContext||{}),g=t.hooks.helperMissing,p="function",d=t.lookupProperty||function(l,b){if(Object.prototype.hasOwnProperty.call(l,b))return l[b]};return' "'+((c=typeof(i=(i=d(n,"name")||(e!=null?d(e,"name"):e))!=null?i:g)==p?i.call(f,{name:"name",hash:{},data:a,loc:{start:{line:31,column:3},end:{line:31,column:13}}}):i)!=null?c:"")+'" [shape=rect class="'+((c=typeof(i=(i=d(n,"class")||(e!=null?d(e,"class"):e))!=null?i:g)==p?i.call(f,{name:"class",hash:{},data:a,loc:{start:{line:31,column:34},end:{line:31,column:45}}}):i)!=null?c:"")+'" '+((c=d(n,"if").call(f,e!=null?d(e,"color"):e,{name:"if",hash:{},fn:t.program(5,a,0),inverse:t.program(7,a,0),data:a,loc:{start:{line:31,column:47},end:{line:31,column:135}}}))!=null?c:"")+((c=d(n,"if").call(f,e!=null?d(e,"active"):e,{name:"if",hash:{},fn:t.program(9,a,0),inverse:t.noop,data:a,loc:{start:{line:31,column:135},end:{line:31,column:169}}}))!=null?c:"")+'label=" " fixedsize=true style=filled '+((c=typeof(i=(i=d(n,"sizingExtras")||(e!=null?d(e,"sizingExtras"):e))!=null?i:g)==p?i.call(f,{name:"sizingExtras",hash:{},data:a,loc:{start:{line:31,column:207},end:{line:31,column:225}}}):i)!=null?c:"")+`]
|
|
36
|
-
`},45:function(t,e,n,m,a){var c,i,f=e??(t.nullContext||{}),g=t.hooks.helperMissing,p="function",d=t.lookupProperty||function(l,b){if(Object.prototype.hasOwnProperty.call(l,b))return l[b]};return' "'+((c=typeof(i=(i=d(n,"name")||(e!=null?d(e,"name"):e))!=null?i:g)==p?i.call(f,{name:"name",hash:{},data:a,loc:{start:{line:37,column:3},end:{line:37,column:13}}}):i)!=null?c:"")+`" [label= <
|
|
37
|
-
<table align="center" cellborder="0" border="0">
|
|
38
|
-
<tr><td cellpadding="0"><font `+((c=d(n,"if").call(f,e!=null?d(e,"color"):e,{name:"if",hash:{},fn:t.program(12,a,0),inverse:t.noop,data:a,loc:{start:{line:39,column:38},end:{line:39,column:78}}}))!=null?c:"")+`point-size="20">X</font></td></tr>
|
|
39
|
-
<tr><td cellpadding="0"><font `+((c=d(n,"if").call(f,e!=null?d(e,"color"):e,{name:"if",hash:{},fn:t.program(46,a,0),inverse:t.noop,data:a,loc:{start:{line:40,column:38},end:{line:40,column:77}}}))!=null?c:"")+">"+t.escapeExpression(typeof(i=(i=d(n,"label")||(e!=null?d(e,"label"):e))!=null?i:g)==p?i.call(f,{name:"label",hash:{},data:a,loc:{start:{line:40,column:78},end:{line:40,column:87}}}):i)+`</font></td></tr>
|
|
40
|
-
</table>
|
|
41
|
-
> class="`+((c=typeof(i=(i=d(n,"class")||(e!=null?d(e,"class"):e))!=null?i:g)==p?i.call(f,{name:"class",hash:{},data:a,loc:{start:{line:42,column:13},end:{line:42,column:24}}}):i)!=null?c:"")+`"]
|
|
42
|
-
`},46:function(t,e,n,m,a){var c=t.lookupProperty||function(i,f){if(Object.prototype.hasOwnProperty.call(i,f))return i[f]};return'color="'+((c=typeof(n=(n=c(n,"color")||(e!=null?c(e,"color"):e))!=null?n:t.hooks.helperMissing)=="function"?n.call(e??(t.nullContext||{}),{name:"color",hash:{},data:a,loc:{start:{line:40,column:58},end:{line:40,column:69}}}):n)!=null?c:"")+'"'},48:function(t,e,n,m,a){var c,i,f=e??(t.nullContext||{}),g=t.hooks.helperMissing,p="function",d=t.lookupProperty||function(l,b){if(Object.prototype.hasOwnProperty.call(l,b))return l[b]};return' "'+((c=typeof(i=(i=d(n,"name")||(e!=null?d(e,"name"):e))!=null?i:g)==p?i.call(f,{name:"name",hash:{},data:a,loc:{start:{line:45,column:3},end:{line:45,column:13}}}):i)!=null?c:"")+'" [shape=circle style=filled class="'+((c=typeof(i=(i=d(n,"class")||(e!=null?d(e,"class"):e))!=null?i:g)==p?i.call(f,{name:"class",hash:{},data:a,loc:{start:{line:45,column:49},end:{line:45,column:60}}}):i)!=null?c:"")+'" '+((c=d(n,"if").call(f,e!=null?d(e,"color"):e,{name:"if",hash:{},fn:t.program(5,a,0),inverse:t.program(7,a,0),data:a,loc:{start:{line:45,column:62},end:{line:45,column:150}}}))!=null?c:"")+"fixedsize=true height=0.15 peripheries=2 "+((c=d(n,"if").call(f,e!=null?d(e,"active"):e,{name:"if",hash:{},fn:t.program(9,a,0),inverse:t.noop,data:a,loc:{start:{line:45,column:191},end:{line:45,column:225}}}))!=null?c:"")+`label=""]
|
|
43
|
-
`},50:function(t,e,n,m,a){var c=e??(t.nullContext||{}),i=t.hooks.helperMissing,f="function",g=t.lookupProperty||function(u,I){if(Object.prototype.hasOwnProperty.call(u,I))return u[I]},p=' subgraph "cluster_'+((b=typeof(d=(d=g(n,"name")||(e!=null?g(e,"name"):e))!=null?d:i)==f?d.call(c,{name:"name",hash:{},data:a,loc:{start:{line:48,column:20},end:{line:48,column:30}}}):d)!=null?b:"")+`" {
|
|
44
|
-
class="`+((b=typeof(d=(d=g(n,"class")||(e!=null?g(e,"class"):e))!=null?d:i)==f?d.call(c,{name:"class",hash:{},data:a,loc:{start:{line:49,column:11},end:{line:49,column:22}}}):d)!=null?b:"")+'" '+((b=g(n,"if").call(c,e!=null?g(e,"color"):e,{name:"if",hash:{},fn:t.program(12,a,0),inverse:t.noop,data:a,loc:{start:{line:49,column:24},end:{line:49,column:64}}}))!=null?b:"")+`label= <
|
|
45
|
-
<table cellborder="0" border="0">
|
|
46
|
-
<tr><td>`+((b=g(n,"if").call(c,e!=null?g(e,"active"):e,{name:"if",hash:{},fn:t.program(20,a,0),inverse:t.program(22,a,0),data:a,loc:{start:{line:51,column:14},end:{line:51,column:68}}}))!=null?b:"")+`</td></tr>
|
|
47
|
-
`,d=(d=g(n,"actionStrings")||(e!=null?g(e,"actionStrings"):e))!=null?d:i,l={name:"actionStrings",hash:{},fn:t.program(51,a,0),inverse:t.noop,data:a,loc:{start:{line:52,column:6},end:{line:55,column:24}}},b=typeof d==f?d.call(c,l):d;return(b=g(n,"actionStrings")?b:t.hooks.blockHelperMissing.call(e,b,l))!=null&&(p+=b),p+` </table>
|
|
48
|
-
> `+((b=g(n,"if").call(c,e!=null?g(e,"parentIsParallel"):e,{name:"if",hash:{},fn:t.program(53,a,0),inverse:t.program(55,a,0),data:a,loc:{start:{line:57,column:6},end:{line:57,column:137}}}))!=null?b:"")+`
|
|
49
|
-
"`+((b=typeof(d=(d=g(n,"name")||(e!=null?g(e,"name"):e))!=null?d:i)==f?d.call(c,{name:"name",hash:{},data:a,loc:{start:{line:58,column:5},end:{line:58,column:15}}}):d)!=null?b:"")+`" [shape=point style=invis margin=0 width=0 height=0 fixedsize=true]
|
|
50
|
-
`+((b=(g(n,"stateSection")||e&&g(e,"stateSection")||i).call(c,e!=null?g(e,"statemachine"):e,{name:"stateSection",hash:{},fn:t.program(33,a,0),inverse:t.noop,data:a,loc:{start:{line:59,column:4},end:{line:59,column:51}}}))!=null?b:"")+`
|
|
51
|
-
}
|
|
52
|
-
`},51:function(t,e,n,m,a){var c=t.lookupProperty||function(i,f){if(Object.prototype.hasOwnProperty.call(i,f))return i[f]};return" "+((n=c(n,"if").call(e??(t.nullContext||{}),a&&c(a,"first"),{name:"if",hash:{},fn:t.program(25,a,0),inverse:t.noop,data:a,loc:{start:{line:53,column:8},end:{line:53,column:34}}}))!=null?n:"")+`
|
|
53
|
-
<tr><td align="left">`+t.escapeExpression(t.lambda(e,e))+`</td></tr>
|
|
54
|
-
`},53:function(t,e,n,m,a){return'style="dashed" penwidth=1'},55:function(t,e,n,m,a){var c=t.lookupProperty||function(i,f){if(Object.prototype.hasOwnProperty.call(i,f))return i[f]};return"style=rounded "+((n=c(n,"if").call(e??(t.nullContext||{}),e!=null?c(e,"active"):e,{name:"if",hash:{},fn:t.program(56,a,0),inverse:t.program(58,a,0),data:a,loc:{start:{line:57,column:77},end:{line:57,column:130}}}))!=null?n:"")},56:function(t,e,n,m,a){return"penwidth=3.0"},58:function(t,e,n,m,a){return"penwidth=2.0"},60:function(t,e,n,m,a,d,l){var f=t.lookupProperty||function(b,u){if(Object.prototype.hasOwnProperty.call(b,u))return b[u]},g="",p=(p=f(n,"noteName")||(e!=null?f(e,"noteName"):e))!=null?p:t.hooks.helperMissing,d={name:"noteName",hash:{},fn:t.program(61,a,0,d,l),inverse:t.noop,data:a,loc:{start:{line:63,column:4},end:{line:66,column:17}}},l=typeof p=="function"?p.call(e??(t.nullContext||{}),d):p;return(l=f(n,"noteName")?l:t.hooks.blockHelperMissing.call(e,l,d))!=null&&(g+=l),g},61:function(p,e,n,m,a,c,i){var f,g=p.lambda,p=p.lookupProperty||function(d,l){if(Object.prototype.hasOwnProperty.call(d,l))return d[l]};return' "'+((f=g(e,e))!=null?f:"")+'" [color=black fontcolor=black label="'+((f=g(i[1]!=null?p(i[1],"noteFlattened"):i[1],e))!=null?f:"")+`" shape=note fontsize=10 fillcolor="#ffffcc" penwidth=1.0]
|
|
55
|
-
"`+((f=g(i[1]!=null?p(i[1],"name"):i[1],e))!=null?f:"")+'" -> "'+((f=g(e,e))!=null?f:"")+`" [style=dashed arrowtail=none arrowhead=none]
|
|
56
|
-
`},compiler:[8,">= 4.3.0"],main:function(t,e,n,m,a,c,i){var f=e??(t.nullContext||{}),g=t.hooks.helperMissing,p="function",d=t.hooks.blockHelperMissing,l=t.lookupProperty||function(_,B){if(Object.prototype.hasOwnProperty.call(_,B))return _[B]},b="",u=(u=l(n,"compositeStates")||(e!=null?l(e,"compositeStates"):e))!=null?u:g,I={name:"compositeStates",hash:{},fn:t.program(1,a,0,c,i),inverse:t.noop,data:a,loc:{start:{line:1,column:0},end:{line:5,column:20}}},x=typeof u==p?u.call(f,I):u;return(x=l(n,"compositeStates")?x:d.call(e,x,I))!=null&&(b+=x),u=(u=l(n,"initialStates")||(e!=null?l(e,"initialStates"):e))!=null?u:g,I={name:"initialStates",hash:{},fn:t.program(4,a,0,c,i),inverse:t.noop,data:a,loc:{start:{line:6,column:0},end:{line:8,column:18}}},x=typeof u==p?u.call(f,I):u,(x=l(n,"initialStates")?x:d.call(e,x,I))!=null&&(b+=x),u=(u=l(n,"regularStates")||(e!=null?l(e,"regularStates"):e))!=null?u:g,I={name:"regularStates",hash:{},fn:t.program(11,a,0,c,i),inverse:t.noop,data:a,loc:{start:{line:9,column:0},end:{line:19,column:18}}},x=typeof u==p?u.call(f,I):u,(x=l(n,"regularStates")?x:d.call(e,x,I))!=null&&(b+=x),u=(u=l(n,"historyStates")||(e!=null?l(e,"historyStates"):e))!=null?u:g,I={name:"historyStates",hash:{},fn:t.program(27,a,0,c,i),inverse:t.noop,data:a,loc:{start:{line:20,column:0},end:{line:22,column:18}}},x=typeof u==p?u.call(f,I):u,(x=l(n,"historyStates")?x:d.call(e,x,I))!=null&&(b+=x),u=(u=l(n,"deepHistoryStates")||(e!=null?l(e,"deepHistoryStates"):e))!=null?u:g,I={name:"deepHistoryStates",hash:{},fn:t.program(29,a,0,c,i),inverse:t.noop,data:a,loc:{start:{line:23,column:0},end:{line:25,column:22}}},x=typeof u==p?u.call(f,I):u,(x=l(n,"deepHistoryStates")?x:d.call(e,x,I))!=null&&(b+=x),u=(u=l(n,"choiceStates")||(e!=null?l(e,"choiceStates"):e))!=null?u:g,I={name:"choiceStates",hash:{},fn:t.program(31,a,0,c,i),inverse:t.noop,data:a,loc:{start:{line:26,column:0},end:{line:29,column:17}}},x=typeof u==p?u.call(f,I):u,(x=l(n,"choiceStates")?x:d.call(e,x,I))!=null&&(b+=x),u=(u=l(n,"forkjoinStates")||(e!=null?l(e,"forkjoinStates"):e))!=null?u:g,I={name:"forkjoinStates",hash:{},fn:t.program(43,a,0,c,i),inverse:t.noop,data:a,loc:{start:{line:30,column:0},end:{line:32,column:19}}},x=typeof u==p?u.call(f,I):u,(x=l(n,"forkjoinStates")?x:d.call(e,x,I))!=null&&(b+=x),u=(u=l(n,"junctionStates")||(e!=null?l(e,"junctionStates"):e))!=null?u:g,I={name:"junctionStates",hash:{},fn:t.program(4,a,0,c,i),inverse:t.noop,data:a,loc:{start:{line:33,column:0},end:{line:35,column:19}}},x=typeof u==p?u.call(f,I):u,(x=l(n,"junctionStates")?x:d.call(e,x,I))!=null&&(b+=x),u=(u=l(n,"terminateStates")||(e!=null?l(e,"terminateStates"):e))!=null?u:g,I={name:"terminateStates",hash:{},fn:t.program(45,a,0,c,i),inverse:t.noop,data:a,loc:{start:{line:36,column:0},end:{line:43,column:20}}},x=typeof u==p?u.call(f,I):u,(x=l(n,"terminateStates")?x:d.call(e,x,I))!=null&&(b+=x),u=(u=l(n,"finalStates")||(e!=null?l(e,"finalStates"):e))!=null?u:g,I={name:"finalStates",hash:{},fn:t.program(48,a,0,c,i),inverse:t.noop,data:a,loc:{start:{line:44,column:0},end:{line:46,column:16}}},x=typeof u==p?u.call(f,I):u,(x=l(n,"finalStates")?x:d.call(e,x,I))!=null&&(b+=x),u=(u=l(n,"compositeStates")||(e!=null?l(e,"compositeStates"):e))!=null?u:g,I={name:"compositeStates",hash:{},fn:t.program(50,a,0,c,i),inverse:t.noop,data:a,loc:{start:{line:47,column:0},end:{line:61,column:20}}},x=typeof u==p?u.call(f,I):u,(x=l(n,"compositeStates")?x:d.call(e,x,I))!=null&&(b+=x),u=(u=l(n,"states")||(e!=null?l(e,"states"):e))!=null?u:g,I={name:"states",hash:{},fn:t.program(60,a,0,c,i),inverse:t.noop,data:a,loc:{start:{line:62,column:0},end:{line:67,column:11}}},x=typeof u==p?u.call(f,I):u,(x=l(n,"states")?x:d.call(e,x,I))!=null&&(b+=x),b},useData:!0,useDepths:!0})});var Un=q((Hs,zn)=>{"use strict";var ue=require("handlebars/dist/handlebars.runtime.js");qn();Mn();ue.registerPartial("dot.states.template.hbs",ue.templates["dot.states.template.hbs"]);ue.registerHelper("stateSection",t=>ue.templates["dot.states.template.hbs"](vi(t)));function J(t){return e=>e.type===t}function yi(t){return e=>t.includes(e.type)}function vi(t){return t.initialStates=t.states.filter(J("initial")),t.regularStates=t.states.filter(e=>J("regular")(e)&&!e.statemachine),t.historyStates=t.states.filter(J("history")),t.deepHistoryStates=t.states.filter(J("deephistory")),t.choiceStates=t.states.filter(J("choice")),t.forkjoinStates=t.states.filter(yi(["fork","join","forkjoin"])),t.junctionStates=t.states.filter(J("junction")),t.terminateStates=t.states.filter(J("terminate")),t.finalStates=t.states.filter(J("final")),t.compositeStates=t.states.filter(e=>e.statemachine),t}zn.exports=function(e){return ue.templates["dot.template.hbs"](e)}});var Kn=q(()=>{"use strict";var Je=require("handlebars/dist/handlebars.runtime"),zi=Je.template,Ui=Je.templates=Je.templates||{};Ui["scxml.template.hbs"]=zi({1:function(t,e,n,m,a){var c=t.lookupProperty||function(i,f){if(Object.prototype.hasOwnProperty.call(i,f))return i[f]};return'initial="'+t.escapeExpression(typeof(n=(n=c(n,"initial")||(e!=null?c(e,"initial"):e))!=null?n:t.hooks.helperMissing)=="function"?n.call(e??(t.nullContext||{}),{name:"initial",hash:{},data:a,loc:{start:{line:2,column:71},end:{line:2,column:82}}}):n)+'" '},compiler:[8,">= 4.3.0"],main:function(t,e,n,m,a){var c,i=t.lookupProperty||function(f,g){if(Object.prototype.hasOwnProperty.call(f,g))return f[g]};return`<?xml version="1.0" encoding="UTF-8"?>
|
|
57
|
-
<scxml xmlns="http://www.w3.org/2005/07/scxml" `+((c=i(n,"if").call(e??(t.nullContext||{}),e!=null?i(e,"initial"):e,{name:"if",hash:{},fn:t.program(1,a,0),inverse:t.noop,data:a,loc:{start:{line:2,column:47},end:{line:2,column:91}}}))!=null?c:"")+`version="1.0">
|
|
58
|
-
`+((c=t.invokePartial(i(m,"scxml.states.template.hbs"),e,{name:"scxml.states.template.hbs",data:a,helpers:n,partials:m,decorators:t.decorators}))!=null?c:"")+`</scxml>
|
|
59
|
-
`},usePartial:!0,useData:!0})});var er=q(()=>{"use strict";var Xe=require("handlebars/dist/handlebars.runtime"),Ji=Xe.template,Xi=Xe.templates=Xe.templates||{};Xi["scxml.states.template.hbs"]=Ji({1:function(t,e,n,m,a){var c,i,f=e??(t.nullContext||{}),g=t.hooks.helperMissing,p="function",d=t.escapeExpression,l=t.lookupProperty||function(b,u){if(Object.prototype.hasOwnProperty.call(b,u))return b[u]};return" <"+d(typeof(i=(i=l(n,"kind")||(e!=null?l(e,"kind"):e))!=null?i:g)==p?i.call(f,{name:"kind",hash:{},data:a,loc:{start:{line:2,column:5},end:{line:2,column:13}}}):i)+' id="'+d(typeof(i=(i=l(n,"id")||(e!=null?l(e,"id"):e))!=null?i:g)==p?i.call(f,{name:"id",hash:{},data:a,loc:{start:{line:2,column:18},end:{line:2,column:24}}}):i)+'"'+((c=l(n,"if").call(f,e!=null?l(e,"initial"):e,{name:"if",hash:{},fn:t.program(2,a,0),inverse:t.noop,data:a,loc:{start:{line:2,column:25},end:{line:2,column:69}}}))!=null?c:"")+((c=l(n,"if").call(f,e!=null?l(e,"type"):e,{name:"if",hash:{},fn:t.program(4,a,0),inverse:t.noop,data:a,loc:{start:{line:2,column:69},end:{line:2,column:104}}}))!=null?c:"")+`>
|
|
60
|
-
`+((c=t.invokePartial(l(m,"scxml.states.template.hbs"),e,{name:"scxml.states.template.hbs",data:a,indent:" ",helpers:n,partials:m,decorators:t.decorators}))!=null?c:"")+((c=l(n,"each").call(f,e!=null?l(e,"onentries"):e,{name:"each",hash:{},fn:t.program(6,a,0),inverse:t.noop,data:a,loc:{start:{line:4,column:4},end:{line:6,column:13}}}))!=null?c:"")+((c=l(n,"each").call(f,e!=null?l(e,"onexits"):e,{name:"each",hash:{},fn:t.program(8,a,0),inverse:t.noop,data:a,loc:{start:{line:7,column:4},end:{line:9,column:13}}}))!=null?c:"")+((c=l(n,"each").call(f,e!=null?l(e,"transitions"):e,{name:"each",hash:{},fn:t.program(10,a,0),inverse:t.noop,data:a,loc:{start:{line:10,column:4},end:{line:18,column:13}}}))!=null?c:"")+" </"+d(typeof(i=(i=l(n,"kind")||(e!=null?l(e,"kind"):e))!=null?i:g)==p?i.call(f,{name:"kind",hash:{},data:a,loc:{start:{line:19,column:6},end:{line:19,column:14}}}):i)+`>
|
|
61
|
-
`},2:function(t,e,n,m,a){var c=t.lookupProperty||function(i,f){if(Object.prototype.hasOwnProperty.call(i,f))return i[f]};return' initial="'+t.escapeExpression(typeof(n=(n=c(n,"initial")||(e!=null?c(e,"initial"):e))!=null?n:t.hooks.helperMissing)=="function"?n.call(e??(t.nullContext||{}),{name:"initial",hash:{},data:a,loc:{start:{line:2,column:50},end:{line:2,column:61}}}):n)+'"'},4:function(t,e,n,m,a){var c=t.lookupProperty||function(i,f){if(Object.prototype.hasOwnProperty.call(i,f))return i[f]};return' type="'+t.escapeExpression(typeof(n=(n=c(n,"type")||(e!=null?c(e,"type"):e))!=null?n:t.hooks.helperMissing)=="function"?n.call(e??(t.nullContext||{}),{name:"type",hash:{},data:a,loc:{start:{line:2,column:88},end:{line:2,column:96}}}):n)+'"'},6:function(t,e,n,m,a){return" <onentry>"+t.escapeExpression(t.lambda(e,e))+`</onentry>
|
|
62
|
-
`},8:function(t,e,n,m,a){return" <onexit>"+t.escapeExpression(t.lambda(e,e))+`</onexit>
|
|
63
|
-
`},10:function(t,e,n,m,a){var c=t.lookupProperty||function(i,f){if(Object.prototype.hasOwnProperty.call(i,f))return i[f]};return(n=c(n,"if").call(e??(t.nullContext||{}),e!=null?c(e,"action"):e,{name:"if",hash:{},fn:t.program(11,a,0),inverse:t.program(18,a,0),data:a,loc:{start:{line:11,column:8},end:{line:17,column:15}}}))!=null?n:""},11:function(t,e,n,m,a){var c,i=e??(t.nullContext||{}),f=t.hooks.helperMissing,g="function",p=t.escapeExpression,d=t.lookupProperty||function(l,b){if(Object.prototype.hasOwnProperty.call(l,b))return l[b]};return" <transition "+((c=d(n,"if").call(i,e!=null?d(e,"event"):e,{name:"if",hash:{},fn:t.program(12,a,0),inverse:t.noop,data:a,loc:{start:{line:12,column:20},end:{line:12,column:58}}}))!=null?c:"")+((c=d(n,"if").call(i,e!=null?d(e,"cond"):e,{name:"if",hash:{},fn:t.program(14,a,0),inverse:t.noop,data:a,loc:{start:{line:12,column:58},end:{line:12,column:93}}}))!=null?c:"")+((c=d(n,"if").call(i,e!=null?d(e,"type"):e,{name:"if",hash:{},fn:t.program(16,a,0),inverse:t.noop,data:a,loc:{start:{line:12,column:93},end:{line:12,column:128}}}))!=null?c:"")+'target="'+p(typeof(t=(t=d(n,"target")||(e!=null?d(e,"target"):e))!=null?t:f)==g?t.call(i,{name:"target",hash:{},data:a,loc:{start:{line:12,column:136},end:{line:12,column:146}}}):t)+`">
|
|
64
|
-
`+p(typeof(t=(t=d(n,"action")||(e!=null?d(e,"action"):e))!=null?t:f)==g?t.call(i,{name:"action",hash:{},data:a,loc:{start:{line:13,column:12},end:{line:13,column:22}}}):t)+`
|
|
65
|
-
</transition>
|
|
66
|
-
`},12:function(t,e,n,m,a){var c=t.lookupProperty||function(i,f){if(Object.prototype.hasOwnProperty.call(i,f))return i[f]};return'event="'+t.escapeExpression(typeof(n=(n=c(n,"event")||(e!=null?c(e,"event"):e))!=null?n:t.hooks.helperMissing)=="function"?n.call(e??(t.nullContext||{}),{name:"event",hash:{},data:a,loc:{start:{line:12,column:40},end:{line:12,column:49}}}):n)+'" '},14:function(t,e,n,m,a){var c=t.lookupProperty||function(i,f){if(Object.prototype.hasOwnProperty.call(i,f))return i[f]};return'cond="'+t.escapeExpression(typeof(n=(n=c(n,"cond")||(e!=null?c(e,"cond"):e))!=null?n:t.hooks.helperMissing)=="function"?n.call(e??(t.nullContext||{}),{name:"cond",hash:{},data:a,loc:{start:{line:12,column:76},end:{line:12,column:84}}}):n)+'" '},16:function(t,e,n,m,a){var c=t.lookupProperty||function(i,f){if(Object.prototype.hasOwnProperty.call(i,f))return i[f]};return'type="'+t.escapeExpression(typeof(n=(n=c(n,"type")||(e!=null?c(e,"type"):e))!=null?n:t.hooks.helperMissing)=="function"?n.call(e??(t.nullContext||{}),{name:"type",hash:{},data:a,loc:{start:{line:12,column:111},end:{line:12,column:119}}}):n)+'" '},18:function(t,e,n,m,a){var c,i=e??(t.nullContext||{}),f=t.lookupProperty||function(g,p){if(Object.prototype.hasOwnProperty.call(g,p))return g[p]};return" <transition "+((c=f(n,"if").call(i,e!=null?f(e,"event"):e,{name:"if",hash:{},fn:t.program(12,a,0),inverse:t.noop,data:a,loc:{start:{line:16,column:20},end:{line:16,column:58}}}))!=null?c:"")+((c=f(n,"if").call(i,e!=null?f(e,"cond"):e,{name:"if",hash:{},fn:t.program(14,a,0),inverse:t.noop,data:a,loc:{start:{line:16,column:58},end:{line:16,column:93}}}))!=null?c:"")+((c=f(n,"if").call(i,e!=null?f(e,"type"):e,{name:"if",hash:{},fn:t.program(16,a,0),inverse:t.noop,data:a,loc:{start:{line:16,column:93},end:{line:16,column:128}}}))!=null?c:"")+'target="'+t.escapeExpression(typeof(c=(c=f(n,"target")||(e!=null?f(e,"target"):e))!=null?c:t.hooks.helperMissing)=="function"?c.call(i,{name:"target",hash:{},data:a,loc:{start:{line:16,column:136},end:{line:16,column:146}}}):c)+`"/>
|
|
67
|
-
`},compiler:[8,">= 4.3.0"],main:function(t,e,n,m,a){var c=t.lookupProperty||function(i,f){if(Object.prototype.hasOwnProperty.call(i,f))return i[f]};return(n=c(n,"each").call(e??(t.nullContext||{}),e!=null?c(e,"states"):e,{name:"each",hash:{},fn:t.program(1,a,0),inverse:t.noop,data:a,loc:{start:{line:1,column:0},end:{line:20,column:9}}}))!=null?n:""},usePartial:!0,useData:!0})});var nr=q((cc,tr)=>{"use strict";var Ge=require("handlebars/dist/handlebars.runtime.js");Kn();er();Ge.registerPartial("scxml.states.template.hbs",Ge.templates["scxml.states.template.hbs"]);tr.exports=function(e){return Ge.templates["scxml.template.hbs"](e)}});var Yi={};Ql(Yi,{default:()=>Qi,getAllowedValues:()=>ur,render:()=>sr,version:()=>cr});module.exports=Yl(Yi);var an=Object.freeze({inputType:{default:"smcat",values:[{name:"smcat"},{name:"json"},{name:"scxml"}]},outputType:{default:"svg",values:[{name:"ast"},{name:"dot"},{name:"eps"},{name:"json"},{name:"oldeps"},{name:"oldps"},{name:"oldps2"},{name:"oldsvg"},{name:"pdf"},{name:"png"},{name:"ps"},{name:"ps2"},{name:"scjson"},{name:"scxml"},{name:"smcat"},{name:"svg"}]},engine:{default:"dot",values:[{name:"dot"},{name:"circo"},{name:"fdp"},{name:"neato"},{name:"osage"},{name:"twopi"}]},direction:{default:"top-down",values:[{name:"top-down"},{name:"bottom-top"},{name:"left-right"},{name:"right-left"}]},desugar:{default:!1,values:[{name:!0},{name:!1}]}});function Zl(t,e){return(t==null?void 0:t[e])??an[e].default}function Kl(){return an}var N={getAllowedValues:Kl,getOptionValue:Zl};var Cn=F(require("ajv"),1);function ln(t,e=!1){let n=[];return t.filter(m=>!!m.statemachine).forEach(m=>{Object.prototype.hasOwnProperty.call(m.statemachine,"states")&&(n=n.concat(ln(m.statemachine.states,!0)))}),n.concat(t.map(m=>({name:m.name,type:m.type,statemachine:!!m.statemachine,hasParent:e})))}function on(t){let e=[];return Object.prototype.hasOwnProperty.call(t,"transitions")&&(e=t.transitions),Object.prototype.hasOwnProperty.call(t,"states")&&t.states.filter(n=>!!n.statemachine).forEach(n=>{e=e.concat(on(n.statemachine))}),e}var L=class{_flattenedTransitions;_flattenedStates;constructor(e){this._flattenedStates=ln(e.states||[]),this._flattenedTransitions=on(e)}get flattenedTransitions(){return this._flattenedTransitions}findStateByName(e){return this._flattenedStates.find(n=>n.name===e)}findStatesByTypes(e){return this._flattenedStates.filter(n=>e.includes(n.type))}findExternalSelfTransitions(e){return this._flattenedTransitions.filter(n=>n.from===e&&n.to===e&&n.type!=="internal")}findTransitionsByFrom(e){return this._flattenedTransitions.filter(n=>n.from===e)}findTransitionsByTo(e){return this._flattenedTransitions.filter(n=>n.to===e)}};var eo="^(entry|activity|exit)\\s*/\\s*([^\\n$]*)(\\n|$)",to=new RegExp(eo);function sn(t,e){return t.includes(e)}var no=[{re:/initial/,stateType:"initial"},{re:/final/,stateType:"final"},{re:/parallel/,stateType:"parallel"},{re:/(deep.*history)|(history.*deep)/,stateType:"deephistory"},{re:/history/,stateType:"history"},{re:/^\^.*/,stateType:"choice"},{re:/^].*/,stateType:"forkjoin"}];function ro(t){return e=>e.re.test(t)}function cn(t){return(no.find(ro(t))||{stateType:"regular"}).stateType}function _e(t){return{name:t,type:cn(t)}}function un(t){return!!t.statemachine}function fn(t){let e=(t==null?void 0:t.states)??[];return e.filter(un).reduce((n,m)=>n.concat(fn(m.statemachine)),e.map(({name:n})=>n))}function pn(t,e){e=e||fn(t),t.states=(t==null?void 0:t.states)??[];let n=(t==null?void 0:t.transitions)??[];return t.states.filter(un).forEach(m=>{m.statemachine.states=pn(m.statemachine,e)}),n.forEach(m=>{sn(e,m.from)||(e.push(m.from),t.states.push(_e(m.from))),sn(e,m.to)||(e.push(m.to),t.states.push(_e(m.to)))}),t.states}function ao(t,e){let n="junction";return t<=1&&e>1&&(n="fork"),t>1&&e<=1&&(n="join"),n}function mn(t,e=new L(t)){return t.states=t.states.map(n=>{if(n.type==="forkjoin"&&!n.typeExplicitlySet){let m=e.findTransitionsByTo(n.name).length,a=e.findTransitionsByFrom(n.name).length;n.type=ao(m,a)}return n.statemachine&&(n.statemachine=mn(n.statemachine,e)),n}),t}function lo(t,e){return t.name===e.name}function oo(t,e){return t.reduce((n,m)=>{let a=n.findIndex(c=>e(c,m));return a>-1?(n[a]=m,n):n.concat(m)},[])}function io(t){let e=/([^[/]+)?(\[[^\]]+\])?[^/]*(\/.+)?/,n={},m=t.match(e),a=1,c=2,i=3;return m[a]&&(n.event=m[a].trim()),m[c]&&(n.cond=m[c].slice(1,-1).trim()),m[i]&&(n.action=m[i].slice(1,m[i].length).trim()),n}function dn(t,e,n,m=Boolean){m(n)&&(t[e]=n)}function so(t,e,n){dn(t,e,n,m=>m&&m.length>0)}function co(t){let e=t.match(to),n=1,m=2;return e?{type:e[n],body:e[m]}:{type:"activity",body:t}}function uo(t){return t.split(/\n\s*/g).map(e=>e.trim()).map(co)}var P={initState:_e,extractUndeclaredStates:pn,classifyForkJoins:mn,getStateType:cn,stateEqual:lo,uniq:oo,parseTransitionExpression:io,extractActions:uo,setIf:dn,setIfNotEmpty:so};function fo(t,e){function n(){this.constructor=t}n.prototype=e.prototype,t.prototype=new n}function Q(t,e,n,m){var a=Error.call(this,t);return Object.setPrototypeOf&&Object.setPrototypeOf(a,Q.prototype),a.expected=e,a.found=n,a.location=m,a.name="SyntaxError",a}fo(Q,Error);function Fe(t,e,n){return n=n||" ",t.length>e?t:(e-=t.length,n+=n.repeat(e),t+n.slice(0,e))}Q.prototype.format=function(t){var e="Error: "+this.message;if(this.location){var n=null,m;for(m=0;m<t.length;m++)if(t[m].source===this.location.source){n=t[m].text.split(/\r\n|\n|\r/g);break}var a=this.location.start,c=this.location.source&&typeof this.location.source.offset=="function"?this.location.source.offset(a):a,i=this.location.source+":"+c.line+":"+c.column;if(n){var f=this.location.end,g=Fe("",c.line.toString().length," "),p=n[a.line-1],d=a.line===f.line?f.column:p.length+1,l=d-a.column||1;e+=`
|
|
68
|
-
--> `+i+`
|
|
69
|
-
`+g+` |
|
|
70
|
-
`+c.line+" | "+p+`
|
|
71
|
-
`+g+" | "+Fe("",a.column-1," ")+Fe("",l,"^")}else e+=`
|
|
72
|
-
at `+i}return e};Q.buildMessage=function(t,e){var n={literal:function(p){return'"'+a(p.text)+'"'},class:function(p){var d=p.parts.map(function(l){return Array.isArray(l)?c(l[0])+"-"+c(l[1]):c(l)});return"["+(p.inverted?"^":"")+d.join("")+"]"},any:function(){return"any character"},end:function(){return"end of input"},other:function(p){return p.description}};function m(p){return p.charCodeAt(0).toString(16).toUpperCase()}function a(p){return p.replace(/\\/g,"\\\\").replace(/"/g,'\\"').replace(/\0/g,"\\0").replace(/\t/g,"\\t").replace(/\n/g,"\\n").replace(/\r/g,"\\r").replace(/[\x00-\x0F]/g,function(d){return"\\x0"+m(d)}).replace(/[\x10-\x1F\x7F-\x9F]/g,function(d){return"\\x"+m(d)})}function c(p){return p.replace(/\\/g,"\\\\").replace(/\]/g,"\\]").replace(/\^/g,"\\^").replace(/-/g,"\\-").replace(/\0/g,"\\0").replace(/\t/g,"\\t").replace(/\n/g,"\\n").replace(/\r/g,"\\r").replace(/[\x00-\x0F]/g,function(d){return"\\x0"+m(d)}).replace(/[\x10-\x1F\x7F-\x9F]/g,function(d){return"\\x"+m(d)})}function i(p){return n[p.type](p)}function f(p){var d=p.map(i),l,b;if(d.sort(),d.length>0){for(l=1,b=1;l<d.length;l++)d[l-1]!==d[l]&&(d[b]=d[l],b++);d.length=b}switch(d.length){case 1:return d[0];case 2:return d[0]+" or "+d[1];default:return d.slice(0,-1).join(", ")+", or "+d[d.length-1]}}function g(p){return p?'"'+a(p)+'"':"end of input"}return"Expected "+f(t)+" but "+g(e)+" found."};function hn(t,e){e=e!==void 0?e:{};var n={},m=e.grammarSource,a={program:Ut},c=Ut,i=",",f=";",g="[",p="]",d=":",l="{",b="}",u="=",I="label",x="color",_="class",B="active",Qe="type",Ye="regular",Ze="initial",Ke="terminate",et="final",tt="parallel",nt="history",rt="deephistory",at="choice",lt="forkjoin",ot="fork",it="join",st="junction",fr="width",ct="external",ut="internal",ft="->",pt="=>>",mt="=>",dt=">>",ht=":>",gt="--",yt="==",vt="<-",bt="<<=",xt="<=",$t="<<",It="<:",pr="#",mr=".",z='"',fe='\\"',Et="/*",pe="*/",kt="//",St=/^[0-9]/,Tt=/^[a-zA-Z0-9_\- ]/,At=/^[^;, "\t\n\r=\-><:{[]/,dr=/^[ \t]/,hr=/^[\r\n]/,gr=/^[^\r\n]/,yr=C("statemachine"),me=A(",",!1),Z=A(";",!1),vr=C("state"),wt=A("[",!1),Ot=A("]",!1),Ct=A(":",!1),re=A("{",!1),br=A("}",!1),xr=C("extended state attributes"),$r=C("extended state attribute"),X=A("=",!1),Ir=C("state attribute name"),Er=A("label",!0),jt=A("color",!0),kr=C("class attribute"),Sr=A("class",!0),Tr=C("state flag"),Ar=A("active",!0),wr=C("state type"),Pt=A("type",!0),Or=C("state type type"),Cr=A("regular",!1),jr=A("initial",!1),Pr=A("terminate",!1),_r=A("final",!1),Fr=A("parallel",!1),Rr=A("history",!1),Nr=A("deephistory",!1),Vr=A("choice",!1),Lr=A("forkjoin",!1),Br=A("fork",!1),Dr=A("join",!1),Hr=A("junction",!1),qr=C("transition"),Mr=C("extended transition attributes"),zr=C("extended transition attribute"),Ur=C("transition attribute name"),Jr=C("transition type name"),Xr=C("numeric transition attribute name"),Gr=A("width",!0),Wr=C("transition type value"),Qr=A("external",!1),Yr=A("internal",!1),Zr=C("left to right arrow"),Kr=A("->",!1),ea=A("=>>",!1),ta=A("=>",!1),na=A(">>",!1),ra=A(":>",!1),aa=A("--",!1),la=A("==",!1),oa=C("right to left arrow"),ia=A("<-",!1),sa=A("<<=",!1),ca=A("<=",!1),ua=A("<<",!1),fa=A("<:",!1),pa=A("#",!1),ma=A(".",!1),_t=K([["0","9"]],!1,!1),da=C("double quoted string"),U=A('"',!1),Ft=A('\\"',!1),G=pl(),ha=C("valid class string"),Rt=K([["a","z"],["A","Z"],["0","9"],"_","-"," "],!1,!1),ga=C("identifier"),Nt=K([";",","," ",'"'," ",`
|
|
73
|
-
`,"\r","=","-",">","<",":","{","["],!0,!1),ya=C("whitespace"),va=K([" "," "],!1,!1),ba=C("line end"),xa=K(["\r",`
|
|
74
|
-
`],!1,!1),$a=A("/*",!1),Vt=A("*/",!1),Ia=A("//",!1),Ea=K(["\r",`
|
|
75
|
-
`],!0,!1),ka=C("comment"),Sa=function(r){return r.states=P.extractUndeclaredStates(r),P.classifyForkJoins(r)},Ta=function(r,s){let v={};return P.setIf(v,"states",r),P.setIfNotEmpty(v,"transitions",s),v},Lt=function(r){return r},Aa=function(r){return r},wa=function(r){return P.uniq(r[0].concat(r[1]),P.stateEqual)},Oa=function(r,s,v){return v},Ca=function(r,s,v,h){return h},ja=function(r,s,v,h,E){return E},Pa=function(r,s,v,h,E){let S=P.initState(s);return(v||[]).forEach(w=>P.setIf(S,w.name,w.value)),P.setIf(S,"typeExplicitlySet",(v||[]).some(w=>w.typeExplicitlySet)),P.setIf(S,"statemachine",E),P.setIfNotEmpty(S,"note",r),h&&P.setIfNotEmpty(S,"actions",P.extractActions(h)),S},_a=function(r,s){return{name:r,value:s}},Fa=function(r,s){return{name:r,value:s}},Ra=function(r){return{name:r,value:!0}},Na=function(r,s){return{name:r,value:s,typeExplicitlySet:!0}},Va=function(r){return r.toLowerCase()},La=function(r){return r.toLowerCase()},Ba=function(r){return r.toLowerCase()},Da=function(r){return r.toLowerCase()},Ha=function(r,s,v){return v},qa=function(r,s,v,h){return h},Ma=function(r,s,v,h){return h&&(s.label=h,s=Object.assign(s,P.parseTransitionExpression(h))),(v||[]).forEach(E=>P.setIf(s,E.name,E.value)),P.setIfNotEmpty(s,"note",r),s},za=function(r,s){return{from:r,to:s}},Ua=function(r,s){return{from:s,to:r}},Ja=function(r,s){return{name:r,value:s}},Xa=function(r,s){return{name:r,value:s}},Ga=function(r,s){return{name:r,value:s}},Wa=function(r,s){return{name:r,value:s}},Qa=function(r){return r.toLowerCase()},Ya=function(r){return r.toLowerCase()},Za=function(r){return r},Ka=function(r){return r.join("").trim()},el=function(r){return parseFloat(r.join(""))},tl=function(r){return parseInt(r.join(""),10)},nl=function(r){return r.join("").replace(/\\\"/g,'"')},Bt=function(r){return r},rl=function(r){return r.join("")},Dt=function(r){return r},al=function(r){return r.join("").trim()},ll=function(r){return r.join("").trim()},Ht=function(r){return r},qt=function(r){return r},ol=function(r){return r.join("")},il=function(r){return r},sl=function(r){return r},cl=function(r){return r},ul=function(r,s,v){return r+s.join("")+v},fl=function(r,s){return r+s.join("")},o=0,k=0,de=[{line:1,column:1}],D=0,we=[],y=0,he;if("startRule"in e){if(!(e.startRule in a))throw new Error(`Can't start parsing from rule "`+e.startRule+'".');c=a[e.startRule]}function Zi(){return t.substring(k,o)}function Ki(){return k}function es(){return{source:m,start:k,end:o}}function ts(){return ae(k,o)}function ns(r,s){throw s=s!==void 0?s:ae(k,o),zt([C(r)],t.substring(k,o),s)}function rs(r,s){throw s=s!==void 0?s:ae(k,o),dl(r,s)}function A(r,s){return{type:"literal",text:r,ignoreCase:s}}function K(r,s,v){return{type:"class",parts:r,inverted:s,ignoreCase:v}}function pl(){return{type:"any"}}function ml(){return{type:"end"}}function C(r){return{type:"other",description:r}}function Mt(r){var s=de[r],v;if(s)return s;for(v=r-1;!de[v];)v--;for(s=de[v],s={line:s.line,column:s.column};v<r;)t.charCodeAt(v)===10?(s.line++,s.column=1):s.column++,v++;return de[r]=s,s}function ae(r,s,v){var h=Mt(r),E=Mt(s),S={source:m,start:{offset:r,line:h.line,column:h.column},end:{offset:s,line:E.line,column:E.column}};return v&&m&&typeof m.offset=="function"&&(S.start=m.offset(S.start),S.end=m.offset(S.end)),S}function $(r){o<D||(o>D&&(D=o,we=[]),we.push(r))}function dl(r,s){return new Q(r,null,null,s)}function zt(r,s,v){return new Q(Q.buildMessage(r,s),r,s,v)}function Ut(){var r,s,v,h;return r=o,s=T(),v=Jt(),h=T(),k=r,r=Sa(v),r}function Jt(){var r,s,v,h;for(y++,r=o,s=hl(),s===n&&(s=null),v=[],h=Wt();h!==n;)v.push(h),h=Wt();return k=r,r=Ta(s,v),y--,s=n,y===0&&$(yr),r}function hl(){var r,s,v,h,E,S;for(r=o,s=o,v=[],h=o,E=Oe(),E!==n?(t.charCodeAt(o)===44?(S=i,o++):(S=n,y===0&&$(me)),S!==n?(k=h,h=Lt(E)):(o=h,h=n)):(o=h,h=n);h!==n;)v.push(h),h=o,E=Oe(),E!==n?(t.charCodeAt(o)===44?(S=i,o++):(S=n,y===0&&$(me)),S!==n?(k=h,h=Lt(E)):(o=h,h=n)):(o=h,h=n);return h=o,E=Oe(),E!==n?(t.charCodeAt(o)===59?(S=f,o++):(S=n,y===0&&$(Z)),S!==n?(k=h,h=Aa(E)):(o=h,h=n)):(o=h,h=n),h!==n?(v=[v,h],s=v):(o=s,s=n),s!==n&&(k=r,s=wa(s)),r=s,r}function Oe(){var r,s,v,h,E,S,w,O,H,R,W,nn,je,zl,Pe;for(y++,r=o,s=[],v=ge();v!==n;)s.push(v),v=ge();return v=T(),h=oe(),h!==n?(E=T(),S=o,t.charCodeAt(o)===91?(w=g,o++):(w=n,y===0&&$(wt)),w!==n?(O=gl(),t.charCodeAt(o)===93?(H=p,o++):(H=n,y===0&&$(Ot)),H!==n?(k=S,S=Oa(s,h,O)):(o=S,S=n)):(o=S,S=n),S===n&&(S=null),w=T(),O=o,t.charCodeAt(o)===58?(H=d,o++):(H=n,y===0&&$(Ct)),H!==n?(R=T(),W=Pl(),W!==n?(nn=T(),k=O,O=Ca(s,h,S,W)):(o=O,O=n)):(o=O,O=n),O===n&&(O=null),H=T(),R=o,t.charCodeAt(o)===123?(W=l,o++):(W=n,y===0&&$(re)),W!==n?(nn=T(),je=Jt(),je!==n?(zl=T(),t.charCodeAt(o)===125?(Pe=b,o++):(Pe=n,y===0&&$(br)),Pe!==n?(k=R,R=ja(s,h,S,O,je)):(o=R,R=n)):(o=R,R=n)):(o=R,R=n),R===n&&(R=null),W=T(),k=r,r=Pa(s,h,S,O,R)):(o=r,r=n),y--,r===n&&(s=n,y===0&&$(vr)),r}function gl(){var r,s;for(y++,r=[],s=Xt();s!==n;)r.push(s),s=Xt();return y--,s=n,y===0&&$(xr),r}function Xt(){var r,s,v,h,E,S,w,O;return y++,r=o,s=T(),v=yl(),v!==n?(h=T(),t.charCodeAt(o)===61?(E=u,o++):(E=n,y===0&&$(X)),E!==n?(S=T(),w=le(),w!==n?(O=T(),k=r,r=_a(v,w)):(o=r,r=n)):(o=r,r=n)):(o=r,r=n),r===n&&(r=o,s=T(),v=Gt(),v!==n?(h=T(),t.charCodeAt(o)===61?(E=u,o++):(E=n,y===0&&$(X)),E!==n?(S=T(),w=Yt(),w!==n?(O=T(),k=r,r=Fa(v,w)):(o=r,r=n)):(o=r,r=n)):(o=r,r=n),r===n&&(r=o,s=T(),v=vl(),v!==n?(h=T(),k=r,r=Ra(v)):(o=r,r=n),r===n&&(r=o,s=T(),v=bl(),v!==n?(h=T(),t.charCodeAt(o)===61?(E=u,o++):(E=n,y===0&&$(X)),E!==n?(S=T(),w=xl(),w!==n?(O=T(),k=r,r=Na(v,w)):(o=r,r=n)):(o=r,r=n)):(o=r,r=n)))),y--,r===n&&(s=n,y===0&&$($r)),r}function yl(){var r,s;return y++,r=o,t.substr(o,5).toLowerCase()===I?(s=t.substr(o,5),o+=5):(s=n,y===0&&$(Er)),s===n&&(t.substr(o,5).toLowerCase()===x?(s=t.substr(o,5),o+=5):(s=n,y===0&&$(jt))),s!==n&&(k=r,s=Va(s)),r=s,y--,r===n&&(s=n,y===0&&$(Ir)),r}function Gt(){var r,s;return y++,r=o,t.substr(o,5).toLowerCase()===_?(s=t.substr(o,5),o+=5):(s=n,y===0&&$(Sr)),s!==n&&(k=r,s=La(s)),r=s,y--,r===n&&(s=n,y===0&&$(kr)),r}function vl(){var r,s;return y++,r=o,t.substr(o,6).toLowerCase()===B?(s=t.substr(o,6),o+=6):(s=n,y===0&&$(Ar)),s!==n&&(k=r,s=Ba(s)),r=s,y--,r===n&&(s=n,y===0&&$(Tr)),r}function bl(){var r,s;return y++,r=o,t.substr(o,4).toLowerCase()===Qe?(s=t.substr(o,4),o+=4):(s=n,y===0&&$(Pt)),s!==n&&(k=r,s=Da(s)),r=s,y--,r===n&&(s=n,y===0&&$(wr)),r}function xl(){var r,s;return y++,t.substr(o,7)===Ye?(r=Ye,o+=7):(r=n,y===0&&$(Cr)),r===n&&(t.substr(o,7)===Ze?(r=Ze,o+=7):(r=n,y===0&&$(jr)),r===n&&(t.substr(o,9)===Ke?(r=Ke,o+=9):(r=n,y===0&&$(Pr)),r===n&&(t.substr(o,5)===et?(r=et,o+=5):(r=n,y===0&&$(_r)),r===n&&(t.substr(o,8)===tt?(r=tt,o+=8):(r=n,y===0&&$(Fr)),r===n&&(t.substr(o,7)===nt?(r=nt,o+=7):(r=n,y===0&&$(Rr)),r===n&&(t.substr(o,11)===rt?(r=rt,o+=11):(r=n,y===0&&$(Nr)),r===n&&(t.substr(o,6)===at?(r=at,o+=6):(r=n,y===0&&$(Vr)),r===n&&(t.substr(o,8)===lt?(r=lt,o+=8):(r=n,y===0&&$(Lr)),r===n&&(t.substr(o,4)===ot?(r=ot,o+=4):(r=n,y===0&&$(Br)),r===n&&(t.substr(o,4)===it?(r=it,o+=4):(r=n,y===0&&$(Dr)),r===n&&(t.substr(o,8)===st?(r=st,o+=8):(r=n,y===0&&$(Hr))))))))))))),y--,r===n&&(s=n,y===0&&$(Or)),r}function Wt(){var r,s,v,h,E,S,w,O,H;for(y++,r=o,s=[],v=ge();v!==n;)s.push(v),v=ge();return v=$l(),v!==n?(h=o,t.charCodeAt(o)===91?(E=g,o++):(E=n,y===0&&$(wt)),E!==n?(S=Il(),t.charCodeAt(o)===93?(w=p,o++):(w=n,y===0&&$(Ot)),w!==n?(O=T(),k=h,h=Ha(s,v,S)):(o=h,h=n)):(o=h,h=n),h===n&&(h=null),E=o,t.charCodeAt(o)===58?(S=d,o++):(S=n,y===0&&$(Ct)),S!==n?(w=T(),O=jl(),O!==n?(H=T(),k=E,E=qa(s,v,h,O)):(o=E,E=n)):(o=E,E=n),E===n&&(E=null),t.charCodeAt(o)===59?(S=f,o++):(S=n,y===0&&$(Z)),S!==n?(k=r,r=Ma(s,v,h,E)):(o=r,r=n)):(o=r,r=n),y--,r===n&&(s=n,y===0&&$(qr)),r}function $l(){var r,s,v,h,E,S,w,O;return r=o,s=T(),v=oe(),v!==n?(h=T(),E=Al(),E!==n?(S=T(),w=oe(),w!==n?(O=T(),k=r,r=za(v,w)):(o=r,r=n)):(o=r,r=n)):(o=r,r=n),r===n&&(r=o,s=T(),v=oe(),v!==n?(h=T(),E=wl(),E!==n?(S=T(),w=oe(),w!==n?(O=T(),k=r,r=Ua(v,w)):(o=r,r=n)):(o=r,r=n)):(o=r,r=n)),r}function Il(){var r,s;for(y++,r=[],s=Qt();s!==n;)r.push(s),s=Qt();return y--,s=n,y===0&&$(Mr),r}function Qt(){var r,s,v,h,E,S,w,O;return y++,r=o,s=T(),v=El(),v!==n?(h=T(),t.charCodeAt(o)===61?(E=u,o++):(E=n,y===0&&$(X)),E!==n?(S=T(),w=le(),w!==n?(O=T(),k=r,r=Ja(v,w)):(o=r,r=n)):(o=r,r=n)):(o=r,r=n),r===n&&(r=o,s=T(),v=Gt(),v!==n?(h=T(),t.charCodeAt(o)===61?(E=u,o++):(E=n,y===0&&$(X)),E!==n?(S=T(),w=Yt(),w!==n?(O=T(),k=r,r=Xa(v,w)):(o=r,r=n)):(o=r,r=n)):(o=r,r=n),r===n&&(r=o,s=T(),v=kl(),v!==n?(h=T(),t.charCodeAt(o)===61?(E=u,o++):(E=n,y===0&&$(X)),E!==n?(S=T(),w=Tl(),w!==n?(O=T(),k=r,r=Ga(v,w)):(o=r,r=n)):(o=r,r=n)):(o=r,r=n),r===n&&(r=o,s=T(),v=Sl(),v!==n?(h=T(),t.charCodeAt(o)===61?(E=u,o++):(E=n,y===0&&$(X)),E!==n?(S=T(),w=Ol(),w!==n?(O=T(),k=r,r=Wa(v,w)):(o=r,r=n)):(o=r,r=n)):(o=r,r=n)))),y--,r===n&&(s=n,y===0&&$(zr)),r}function El(){var r,s;return y++,r=o,t.substr(o,5).toLowerCase()===x?(s=t.substr(o,5),o+=5):(s=n,y===0&&$(jt)),s!==n&&(k=r,s=Qa(s)),r=s,y--,r===n&&(s=n,y===0&&$(Ur)),r}function kl(){var r,s;return y++,r=o,t.substr(o,4).toLowerCase()===Qe?(s=t.substr(o,4),o+=4):(s=n,y===0&&$(Pt)),s!==n&&(k=r,s=Ya(s)),r=s,y--,r===n&&(s=n,y===0&&$(Jr)),r}function Sl(){var r,s;return y++,r=o,t.substr(o,5).toLowerCase()===fr?(s=t.substr(o,5),o+=5):(s=n,y===0&&$(Gr)),s!==n&&(k=r,s=Za(s)),r=s,y--,r===n&&(s=n,y===0&&$(Xr)),r}function Tl(){var r,s;return y++,t.substr(o,8)===ct?(r=ct,o+=8):(r=n,y===0&&$(Qr)),r===n&&(t.substr(o,8)===ut?(r=ut,o+=8):(r=n,y===0&&$(Yr))),y--,r===n&&(s=n,y===0&&$(Wr)),r}function Al(){var r,s;return y++,t.substr(o,2)===ft?(r=ft,o+=2):(r=n,y===0&&$(Kr)),r===n&&(t.substr(o,3)===pt?(r=pt,o+=3):(r=n,y===0&&$(ea)),r===n&&(t.substr(o,2)===mt?(r=mt,o+=2):(r=n,y===0&&$(ta)),r===n&&(t.substr(o,2)===dt?(r=dt,o+=2):(r=n,y===0&&$(na)),r===n&&(t.substr(o,2)===ht?(r=ht,o+=2):(r=n,y===0&&$(ra)),r===n&&(t.substr(o,2)===gt?(r=gt,o+=2):(r=n,y===0&&$(aa)),r===n&&(t.substr(o,2)===yt?(r=yt,o+=2):(r=n,y===0&&$(la)))))))),y--,r===n&&(s=n,y===0&&$(Zr)),r}function wl(){var r,s;return y++,t.substr(o,2)===vt?(r=vt,o+=2):(r=n,y===0&&$(ia)),r===n&&(t.substr(o,3)===bt?(r=bt,o+=3):(r=n,y===0&&$(sa)),r===n&&(t.substr(o,2)===xt?(r=xt,o+=2):(r=n,y===0&&$(ca)),r===n&&(t.substr(o,2)===$t?(r=$t,o+=2):(r=n,y===0&&$(ua)),r===n&&(t.substr(o,2)===It?(r=It,o+=2):(r=n,y===0&&$(fa)))))),y--,r===n&&(s=n,y===0&&$(oa)),r}function ge(){var r,s,v,h,E;if(r=o,s=T(),t.charCodeAt(o)===35?(v=pr,o++):(v=n,y===0&&$(pa)),v!==n){for(h=[],E=ye();E!==n;)h.push(E),E=ye();k=r,r=Ka(h)}else o=r,r=n;return r}function Ol(){var r;return r=Cl(),r===n&&(r=Ce()),r}function Cl(){var r,s,v,h,E;return r=o,s=o,v=Ce(),v!==n?(t.charCodeAt(o)===46?(h=mr,o++):(h=n,y===0&&$(ma)),h!==n?(E=Ce(),E!==n?(v=[v,h,E],s=v):(o=s,s=n)):(o=s,s=n)):(o=s,s=n),s!==n&&(k=r,s=el(s)),r=s,r}function Ce(){var r,s,v;if(r=o,s=[],St.test(t.charAt(o))?(v=t.charAt(o),o++):(v=n,y===0&&$(_t)),v!==n)for(;v!==n;)s.push(v),St.test(t.charAt(o))?(v=t.charAt(o),o++):(v=n,y===0&&$(_t));else s=n;return s!==n&&(k=r,s=tl(s)),r=s,r}function jl(){var r;return r=le(),r===n&&(r=Rl()),r}function Pl(){var r;return r=le(),r===n&&(r=Nl()),r}function le(){var r,s,v,h;return y++,r=o,t.charCodeAt(o)===34?(s=z,o++):(s=n,y===0&&$(U)),s!==n?(v=_l(),t.charCodeAt(o)===34?(h=z,o++):(h=n,y===0&&$(U)),h!==n?(k=r,r=nl(v)):(o=r,r=n)):(o=r,r=n),y--,r===n&&(s=n,y===0&&$(da)),r}function _l(){var r,s,v,h;for(r=[],s=o,v=o,y++,t.charCodeAt(o)===34?(h=z,o++):(h=n,y===0&&$(U)),y--,h===n?v=void 0:(o=v,v=n),v!==n?(t.substr(o,2)===fe?(h=fe,o+=2):(h=n,y===0&&$(Ft)),h===n&&(t.length>o?(h=t.charAt(o),o++):(h=n,y===0&&$(G))),h!==n?(k=s,s=Bt(h)):(o=s,s=n)):(o=s,s=n);s!==n;)r.push(s),s=o,v=o,y++,t.charCodeAt(o)===34?(h=z,o++):(h=n,y===0&&$(U)),y--,h===n?v=void 0:(o=v,v=n),v!==n?(t.substr(o,2)===fe?(h=fe,o+=2):(h=n,y===0&&$(Ft)),h===n&&(t.length>o?(h=t.charAt(o),o++):(h=n,y===0&&$(G))),h!==n?(k=s,s=Bt(h)):(o=s,s=n)):(o=s,s=n);return r}function Yt(){var r,s,v,h;return y++,r=o,t.charCodeAt(o)===34?(s=z,o++):(s=n,y===0&&$(U)),s!==n?(v=Fl(),t.charCodeAt(o)===34?(h=z,o++):(h=n,y===0&&$(U)),h!==n?(k=r,r=rl(v)):(o=r,r=n)):(o=r,r=n),y--,r===n&&(s=n,y===0&&$(ha)),r}function Fl(){var r,s,v,h;for(r=[],s=o,v=o,y++,t.charCodeAt(o)===34?(h=z,o++):(h=n,y===0&&$(U)),y--,h===n?v=void 0:(o=v,v=n),v!==n?(Tt.test(t.charAt(o))?(h=t.charAt(o),o++):(h=n,y===0&&$(Rt)),h!==n?(k=s,s=Dt(h)):(o=s,s=n)):(o=s,s=n);s!==n;)r.push(s),s=o,v=o,y++,t.charCodeAt(o)===34?(h=z,o++):(h=n,y===0&&$(U)),y--,h===n?v=void 0:(o=v,v=n),v!==n?(Tt.test(t.charAt(o))?(h=t.charAt(o),o++):(h=n,y===0&&$(Rt)),h!==n?(k=s,s=Dt(h)):(o=s,s=n)):(o=s,s=n);return r}function Rl(){var r,s;return r=o,s=Ll(),k=r,s=al(s),r=s,r}function Nl(){var r,s;return r=o,s=Vl(),k=r,s=ll(s),r=s,r}function Vl(){var r,s,v,h;for(r=[],s=o,v=o,y++,t.charCodeAt(o)===44?(h=i,o++):(h=n,y===0&&$(me)),h===n&&(t.charCodeAt(o)===59?(h=f,o++):(h=n,y===0&&$(Z)),h===n&&(t.charCodeAt(o)===123?(h=l,o++):(h=n,y===0&&$(re)))),y--,h===n?v=void 0:(o=v,v=n),v!==n?(t.length>o?(h=t.charAt(o),o++):(h=n,y===0&&$(G)),h!==n?(k=s,s=Ht(h)):(o=s,s=n)):(o=s,s=n);s!==n;)r.push(s),s=o,v=o,y++,t.charCodeAt(o)===44?(h=i,o++):(h=n,y===0&&$(me)),h===n&&(t.charCodeAt(o)===59?(h=f,o++):(h=n,y===0&&$(Z)),h===n&&(t.charCodeAt(o)===123?(h=l,o++):(h=n,y===0&&$(re)))),y--,h===n?v=void 0:(o=v,v=n),v!==n?(t.length>o?(h=t.charAt(o),o++):(h=n,y===0&&$(G)),h!==n?(k=s,s=Ht(h)):(o=s,s=n)):(o=s,s=n);return r}function Ll(){var r,s,v,h;for(r=[],s=o,v=o,y++,t.charCodeAt(o)===59?(h=f,o++):(h=n,y===0&&$(Z)),h===n&&(t.charCodeAt(o)===123?(h=l,o++):(h=n,y===0&&$(re))),y--,h===n?v=void 0:(o=v,v=n),v!==n?(t.length>o?(h=t.charAt(o),o++):(h=n,y===0&&$(G)),h!==n?(k=s,s=qt(h)):(o=s,s=n)):(o=s,s=n);s!==n;)r.push(s),s=o,v=o,y++,t.charCodeAt(o)===59?(h=f,o++):(h=n,y===0&&$(Z)),h===n&&(t.charCodeAt(o)===123?(h=l,o++):(h=n,y===0&&$(re))),y--,h===n?v=void 0:(o=v,v=n),v!==n?(t.length>o?(h=t.charAt(o),o++):(h=n,y===0&&$(G)),h!==n?(k=s,s=qt(h)):(o=s,s=n)):(o=s,s=n);return r}function oe(){var r,s,v;if(y++,r=o,s=[],At.test(t.charAt(o))?(v=t.charAt(o),o++):(v=n,y===0&&$(Nt)),v!==n)for(;v!==n;)s.push(v),At.test(t.charAt(o))?(v=t.charAt(o),o++):(v=n,y===0&&$(Nt));else s=n;return s!==n&&(k=r,s=ol(s)),r=s,r===n&&(r=le()),y--,r===n&&(s=n,y===0&&$(ga)),r}function Zt(){var r,s;return y++,r=o,dr.test(t.charAt(o))?(s=t.charAt(o),o++):(s=n,y===0&&$(va)),s!==n&&(k=r,s=il(s)),r=s,y--,r===n&&(s=n,y===0&&$(ya)),r}function Kt(){var r,s;return y++,r=o,hr.test(t.charAt(o))?(s=t.charAt(o),o++):(s=n,y===0&&$(xa)),s!==n&&(k=r,s=sl(s)),r=s,y--,r===n&&(s=n,y===0&&$(ba)),r}function Bl(){var r;return t.substr(o,2)===Et?(r=Et,o+=2):(r=n,y===0&&$($a)),r}function Dl(){var r;return t.substr(o,2)===pe?(r=pe,o+=2):(r=n,y===0&&$(Vt)),r}function en(){var r,s,v;return r=o,s=o,y++,t.substr(o,2)===pe?(v=pe,o+=2):(v=n,y===0&&$(Vt)),y--,v===n?s=void 0:(o=s,s=n),s!==n?(t.length>o?(v=t.charAt(o),o++):(v=n,y===0&&$(G)),v!==n?(k=r,r=cl(v)):(o=r,r=n)):(o=r,r=n),r}function Hl(){var r,s,v,h;if(r=o,s=Bl(),s!==n){for(v=[],h=en();h!==n;)v.push(h),h=en();h=Dl(),h!==n?(k=r,r=ul(s,v,h)):(o=r,r=n)}else o=r,r=n;return r}function ql(){var r;return t.substr(o,2)===kt?(r=kt,o+=2):(r=n,y===0&&$(Ia)),r}function ye(){var r;return gr.test(t.charAt(o))?(r=t.charAt(o),o++):(r=n,y===0&&$(Ea)),r}function Ml(){var r,s,v,h;if(r=o,s=ql(),s!==n){for(v=[],h=ye();h!==n;)v.push(h),h=ye();k=r,r=fl(s,v)}else o=r,r=n;return r}function tn(){var r,s;return y++,r=Ml(),r===n&&(r=Hl()),y--,r===n&&(s=n,y===0&&$(ka)),r}function T(){var r,s;for(r=[],s=Zt(),s===n&&(s=Kt(),s===n&&(s=tn()));s!==n;)r.push(s),s=Zt(),s===n&&(s=Kt(),s===n&&(s=tn()));return r}if(he=c(),he!==n&&o===t.length)return he;throw he!==n&&o<t.length&&$(ml()),zt(we,D<t.length?t.charAt(D):null,D<t.length?ae(D,D+1):ae(D,D))}var kn=F(require("fast-xml-parser"),1),Y=F(require("he"),1),Ee=F(require("lodash/castArray.js"),1),Sn=F($n(),1);function bo(t,e,n){let m="";return t&&(m+=t),e&&(m+=` [${e}]`),n&&(m+=`/ ${n}`),m.trim()}var Ie={formatLabel:bo};var ie=F(require("lodash/castArray.js"),1);function xo(t,e){let n={id:e?`${e}.initial`:"initial"};return t.transition&&Object.assign(n,{transition:[t.transition]}),n}function $o(t){return{id:"initial",transition:[{target:t}]}}function Io(t){let e=[];return t.initial&&(typeof t.initial=="string"?e.push($o(t.initial)):e.push(xo(t.initial,t.id))),e}function In(t){return{...t,initial:Io(t),state:(0,ie.default)((t==null?void 0:t.state)??[]),parallel:(0,ie.default)((t==null?void 0:t.parallel)??[]),history:(0,ie.default)((t==null?void 0:t.history)??[]),final:(0,ie.default)((t==null?void 0:t.final)??[])}}var Eo=Ie.formatLabel;function En(t,e){return(0,Ee.default)(t[e]).map(n=>({type:e==="onexit"?"exit":"entry",body:Y.default.decode(n).trim()}))}function ko(t){return(0,Ee.default)(t).map(e=>({type:"activity",body:Y.default.decode(e.id||"").trim()||Y.default.decode(e||"").trim()}))}function So(t){let e=[];return t.onentry&&(e=e.concat(En(t,"onentry"))),t.invoke&&(e=e.concat(ko(t.invoke))),t.onexit&&(e=e.concat(En(t,"onexit"))),e}function To(t,e){return t==="history"&&e.type==="deep"?"deephistory":t}function se(t){return e=>{let n={name:e.id,type:To(t,e)};return P.getStateType(e.id)!==n.type&&(n.typeExplicitlySet=!0),(e.onentry||e.onexit||e.invoke)&&(n.actions=So(e)),Object.keys(e).some(m=>["initial","state","history","parallel","final"].includes(m))&&(n.statemachine=Tn(e)),n}}function Ao(t){let e={};return t.event&&(e.event=t.event.split(/\s+/).join(`
|
|
76
|
-
`)),t.cond&&(e.cond=t.cond),t["#text"]&&(e.action=Y.default.decode(t["#text"]).trim()),t.type&&(e.type=t.type),e}function wo(t){let e={};typeof t=="string"?e.action=Y.default.decode(t).trim():Object.assign(e,Ao(t));let n=Eo(e.event,e.cond,e.action);return n&&(e.label=n),e}function Oo(t){return(e,n)=>{let m=((n==null?void 0:n.target)??t.id).split(/\s+/),a=wo(n);return e.concat(m.map(c=>({from:t.id,to:c,...a})))}}function Re(t){return t.filter(e=>Object.prototype.hasOwnProperty.call(e,"transition")).reduce((e,n)=>e.concat((0,Ee.default)(n.transition).reduce(Oo(n),[])),[])}function Tn(t){let e=In(t),n={states:e.initial.map(se("initial")).concat(e.state.map(se("regular"))).concat(e.parallel.map(se("parallel"))).concat(e.history.map(se("history"))).concat(e.final.map(se("final")))},m=Re(e.initial).concat(Re(e.state)).concat(Re(e.parallel));return m.length>0&&(n.transitions=m),n}function Co(t,e){return(0,Sn.default)(t).map(function(){var m;if((m=this.key)!=null&&m.startsWith(e)){let a=this.key.slice(e.length);this.parent.keys.includes(a)?this.remove():(this.parent.node[a]=this.node,this.remove())}})}function An(t){let e=t.trim(),n="@_",m={},a=new kn.default.XMLParser({attributeNamePrefix:n,ignoreAttributes:!1,parseTagValue:!0,processEntities:!1,tagValueProcessor:(c,i)=>Y.default.decode(i),stopNodes:["*.onentry","*.onexit","*.transition"]});try{m=Co(a.parse(e,!0),n)}catch{throw new Error(`That doesn't look like valid xml ...
|
|
77
|
-
`)}return Tn((m==null?void 0:m.scxml)??{xmlns:"http://www.w3.org/2005/07/scxml",version:"1.0"})}var wn={$schema:"http://json-schema.org/draft-07/schema#",title:"state-machine-cat abstract syntax tree schema",$ref:"#/definitions/StateMachineType",$id:"org.js.state-machine-cat/v7.4.0",definitions:{StateType:{type:"string",enum:["regular","initial","terminate","final","parallel","history","deephistory","choice","forkjoin","fork","join","junction"]},TransitionType:{type:"string",enum:["internal","external"]},NoteType:{type:"array",items:{type:"string"}},ActionTypeType:{type:"string",enum:["entry","activity","exit"]},ActionType:{type:"object",required:["type","body"],additionalProperties:!1,properties:{type:{$ref:"#/definitions/ActionTypeType"},body:{type:"string"}}},ClassType:{type:"string",pattern:"^[a-zA-Z0-9_\\- ]*$"},StateMachineType:{type:"object",additionalProperties:!1,required:["states"],properties:{states:{type:"array",items:{type:"object",required:["name","type"],additionalProperties:!1,properties:{name:{description:"The name and identifier of the state. Unique within the root state machine.",type:"string"},type:{description:"What kind of state (or pseudo state) this state is. E.g. 'regular' for normal states or 'initial', 'final', 'choice' etc for pseudo states. Most UML (pseudo-) states are supported.",$ref:"#/definitions/StateType"},label:{description:"The display label of the state. If it's not present, most renderers will use the states' name in stead.",type:"string"},color:{description:'Color to use for rendering the state. Accepts all css color names ("blue") and hex notation - with ("#0000FF77") or without ("#0000FF") transparency.',type:"string"},class:{description:"Class name to give the state in dot and svg output.",$ref:"#/definitions/ClassType"},active:{description:"If true the state is considered to be active and rendered as such.",type:"boolean"},typeExplicitlySet:{description:"The default parser derives the `type` from the `name` with inband signaling. The user can override that behavior by explicitly setting the `type`. This attribute is there to express that (and make sure that on next parses & processing it doesn't get accidentily re-derived from the name again).",type:"boolean"},isComposite:{description:"convenience, derived attribute - set to true if there's a state machine inside the state; false in all other cases. For internal use - @deprecated",type:"boolean"},actions:{type:"array",description:"A series of actions and their types. The type describe when the action takes place (on entry, exit, or otherwise ('activity'))",items:{$ref:"#/definitions/ActionType"}},note:{description:"Comments related to this state. Some renderers will use the note attribute to render a note (i.e. as a post-it) attached to the state.",$ref:"#/definitions/NoteType"},statemachine:{description:"state machine nested within the state.",$ref:"#/definitions/StateMachineType"}}}},transitions:{type:"array",items:{type:"object",required:["from","to"],additionalProperties:!1,properties:{from:{description:"The name of the state this transition transitions from",type:"string"},to:{description:"The name of the state this transition transitions to",type:"string"},label:{description:"A display label to represent this transition. Parsers can parse this label into events conditions and actions.",type:"string"},event:{description:"Event triggering the transition",type:"string"},cond:{description:"Condition for the transition to occur.",type:"string"},action:{description:"Action to execute when the transition occurs.",type:"string"},note:{description:"Comments related to this transition",$ref:"#/definitions/NoteType"},color:{description:'Color to use for rendering the transition. Accepts all css color names ("blue") and hex notation - with ("#0000FF77") or without ("#0000FF") transparency.',type:"string"},width:{description:"The line width to use for rendering the transition",type:"number",minimum:0,maximum:30},class:{description:"Class name to give the state in dot and svg output.",$ref:"#/definitions/ClassType"},type:{description:"Whether the transition is external (default) or internal. See https://www.w3.org/TR/scxml/#transition for details.",$ref:"#/definitions/TransitionType"}}}}}}}};var On=new Cn.default;function jo(t,e){if(!On.validate(t,e))throw new Error(`The provided JSON is not a valid state-machine-cat AST: ${On.errorsText()}.
|
|
78
|
-
`)}var jn={getAST(t,e){let n=t;return N.getOptionValue(e,"inputType")==="smcat"?n=hn(t):N.getOptionValue(e,"inputType")==="scxml"?n=An(t):typeof t=="string"&&(n=JSON.parse(t)),jo(wn,n),n}};var Ve=F(require("lodash/cloneDeep.js"),1),Ne=F(require("lodash/reject.js"),1);function Po(t,e,n){return t?`${t}${n}${e}`:e}function _o(t,e){let n={...t,...e,from:t.from,to:e.to};return e.action&&(n.action=Po(t.action,e.action,`
|
|
79
|
-
`)),(n.event||n.cond||n.action)&&(n.label=Ie.formatLabel(n.event,n.cond,n.action)),n}function Fo(t,e,n){return t.reduce((m,a)=>(e.forEach((c,i)=>{c===a.to&&n[c]?m=m.concat(n[c].map(f=>_o(a,f))):m=i===0?m.concat(a):m}),m),[])}function Pn(t,e,n){let m=(0,Ve.default)(t);return m.transitions&&e.length>0&&(m.transitions=Fo(m.transitions,e,n)),m.states=m.states.map(a=>a.statemachine?{...a,statemachine:Pn(a.statemachine,e,n)}:a),m}function _n(t,e){let n=(0,Ve.default)(t);return n.transitions&&(n.transitions=(0,Ne.default)(n.transitions,m=>e.some(a=>a===m.from||a===m.to))),n.states=(0,Ne.default)(n.states,m=>e.includes(m.name)).map(m=>m.statemachine?{...m,statemachine:_n(m.statemachine,e)}:m),n}var Fn=(t,e=["fork","junction","choice"])=>{let n=new L(t),m=n.findStatesByTypes(e).map(({name:i})=>i),a=m.reduce((i,f)=>(i[f]=n.findTransitionsByFrom(f),i),{}),c=Pn(t,m,a);return _n(c,m)};var lr=F(require("lodash/has.js"),1),or=F(Bn(),1);var Jn=F(require("lodash/cloneDeep.js"),1);var Uo=[{name:"fontname",value:'"Helvetica"'},{name:"fontsize",value:"12"},{name:"penwidth",value:"2.0"}],Jo={dot:[{name:"splines",value:"true"},{name:"ordering",value:"out"},{name:"compound",value:"true"},{name:"overlap",value:"scale"},{name:"nodesep",value:"0.3"},{name:"ranksep",value:"0.1"}],fdp:[{name:"K",value:"0.9"}],osage:[{name:"pack",value:"42"}],neato:[{name:"epsilon",value:"0.9"}]},Xo={"bottom-top":[{name:"rankdir",value:"BT"}],"left-right":[{name:"rankdir",value:"LR"}],"right-left":[{name:"rankdir",value:"RL"}]},Go=[{name:"shape",value:"plaintext"},{name:"style",value:"filled"},{name:"fillcolor",value:'"#FFFFFF01"'},{name:"fontname",value:"Helvetica"},{name:"fontsize",value:12},{name:"penwidth",value:"2.0"}],Wo=[{name:"fontname",value:"Helvetica"},{name:"fontsize",value:10}];function De(t){return`${t.name}=${t.value}`}var ke={buildGraphAttributes:(t,e,n)=>Uo.concat(Jo[t]||[]).concat(Xo[e]||[]).concat(n||[]).map(De).join(" "),buildNodeAttributes:t=>Go.concat(t||[]).map(De).join(" "),buildEdgeAttributes:t=>Wo.concat(t||[]).map(De).join(" ")};var Dn=F(require("lodash/cloneDeep.js"),1);function Qo(t){return t.replace(/\\/g,"\\\\").replace(/\n\s*/g,"\\l").replace(/"/g,'\\"').concat("\\l")}function Yo(t){return t.replace(/\\/g,"\\\\").replace(/\n\s*/g," \\l").replace(/"/g,'\\"').concat(" \\l")}function Zo(t){let e=t||"top-down";return e==="top-down"||e==="bottom-top"}function Ko(t,e){return e.from===e.to&&t.findStateByName(e.from).statemachine&&e.type!=="internal"}var M={escapeString:Qo,escapeLabelString:Yo,isVertical:Zo,isCompositeSelf:Ko};function Hn(t){return e=>e.type===t}function He(t){return e=>t.includes(e.type)}function ei(t){let e=(0,Dn.default)(t);return e.label=t.label||t.name,e}function ti(t){return t.note?{noteName:`note_${t.name}`,...t}:t}function ni(t){let e={...t},n=["state",t.type];return t.class&&n.push(t.class.trim().replace(/[ ]{2,}/g," ")),e.class=n.join(" "),e}function ri(t){return t==="activity"?"":`${t}/ `}function ai(t){return t.actions?{...t,actionStrings:t.actions.map(e=>`${ri(e.type)}${e.body}`)}:t}function li(t){return t.note?{...t,noteFlattened:t.note.join("")}:t}function oi(t){return e=>{var m;let n=(m=(t||[]).find(a=>a.name==="color"))==null?void 0:m.value;return n&&!e.color&&He(["initial","fork","join","junction","forkjoin","final"])(e)&&(e.color=n),e}}function ii(t){return t.note?{...t,note:t.note.map(M.escapeString)}:t}function si(t){return e=>He(["fork","join","forkjoin"])(e)?{sizingExtras:M.isVertical(t)?"height=0.1":"width=0.1",...e}:e}function ci(t){return t.type==="parallel"&&t.statemachine&&t.statemachine.states&&(t.statemachine.states=t.statemachine.states.map(e=>Hn("regular")(e)?{...e,parentIsParallel:!0}:e)),t}var j={isType:Hn,isOneOfTypes:He,setLabel:ei,classifyState:ni,nameNote:ti,flattenActions:ai,flattenNote:li,recolor:oi,escapeStateStrings:ii,tipForkJoinStates:si,flagParallelChildren:ci};function ui(t){let e={...t};return e.note&&(e.note=e.note.map(M.escapeString)),e.label&&(e.label=M.escapeLabelString(e.label)),e}function fi(t){return e=>{let n={};return e.isCompositeSelf&&(M.isVertical(t)?n={tailportflags:'tailport="e" headport="e"',headportflags:'tailport="w"'}:e.hasParent?n={tailportflags:'tailport="n" headport="n"',headportflags:'tailport="s"'}:n={tailportflags:'tailport="s" headport="s"',headportflags:'tailport="n"'}),{...e,...n}}}function pi(t){let e=["transition"];return t.type&&e.push(t.type),t.class&&e.push(t.class.trim().replace(/[ ]{2,}/g," ")),t.class=e.join(" "),t}var Se={escapeTransitionStrings:ui,addPorts:fi,classifyTransition:pi};var ce=class{COUNTER=0;constructor(){this.reset()}reset(){this.COUNTER=0}next(){return++this.COUNTER}nextAsString(){return this.next().toString(10)}};var Xn=F(Un(),1);function bi(t){return e=>(Object.prototype.hasOwnProperty.call(e,"statemachine")&&(e.nestedExternalSelfTransitions=t.findExternalSelfTransitions(e.name).map(n=>n.name)),e)}function Gn(t,e,n,m){return t.filter(a=>a.statemachine).forEach(a=>{a.statemachine.states=Gn(a.statemachine.states,e,n,m)}),t.map(j.setLabel).map(j.nameNote).map(j.classifyState).map(j.escapeStateStrings).map(j.flattenNote).map(j.flattenActions).map(j.flagParallelChildren).map(j.tipForkJoinStates(e)).map(j.recolor(n)).map(bi(m))}function xi(t){return t.initialStates=t.states.filter(j.isType("initial")),t.regularStates=t.states.filter(e=>j.isType("regular")(e)&&!e.statemachine),t.historyStates=t.states.filter(j.isType("history")),t.deepHistoryStates=t.states.filter(j.isType("deephistory")),t.choiceStates=t.states.filter(j.isType("choice")),t.forkjoinStates=t.states.filter(j.isOneOfTypes(["fork","join","forkjoin"])),t.junctionStates=t.states.filter(j.isType("junction")),t.terminateStates=t.states.filter(j.isType("terminate")),t.finalStates=t.states.filter(j.isType("final")),t.compositeStates=t.states.filter(e=>e.statemachine),t}function $i(t){return e=>(t.findStateByName(e.from).statemachine&&(e.fromComposite=!0),t.findStateByName(e.to).statemachine&&(e.toComposite=!0),e)}function Ii(t){return e=>{let n={};return M.isCompositeSelf(t,e)&&(t.findStateByName(e.from).hasParent?n={hasParent:!0,isCompositeSelf:!0}:n={isCompositeSelf:!0}),{...e,...n}}}function Ei(t){return e=>(e.name=`tr_${e.from}_${e.to}_${t.nextAsString()}`,e.note&&(e.noteName=`note_${e.name}`),e)}function ki(t,e,n){return t.flattenedTransitions.map(Ei(n)).map(Se.escapeTransitionStrings).map(Se.classifyTransition).map(j.flattenNote).map($i(t)).map(Ii(t)).map(Se.addPorts(e))}var Te=(t,e)=>{e=e||{};let n=(0,Jn.default)(t),m=new L(n);return n.transitions=ki(m,e.direction,new ce),n.states=Gn(n.states,e.direction,e.dotNodeAttrs,m),n=xi(n),n.graphAttributes=ke.buildGraphAttributes(N.getOptionValue(e,"engine"),N.getOptionValue(e,"direction"),e.dotGraphAttrs),n.nodeAttributes=ke.buildNodeAttributes(e.dotNodeAttrs),n.edgeAttributes=ke.buildEdgeAttributes(e.dotEdgeAttrs),(0,Xn.default)(n)};var Wn=F(require("viz.js"),1);var Si={oldsvg:"svg",oldps2:"ps2",oldeps:"eps"},Ti=(t,e)=>(0,Wn.default)(Te(t,e),{engine:N.getOptionValue(e,"engine"),format:Si[N.getOptionValue(e,"outputType")]||"svg"}),ze=Ti;var Ai=/[\u0000-\u002C\u002F\u003B-\u0040\u005B-\u0060\u007B-\u00BF\u00D7\u00F7\u0300-\u036F\u037E\u2000-\u200B\u200E-\u206F\u2190-\u2BFF\u2FF0-\u3000\uD800-\uF8FF\uFDD0-\uFDEF\uFFFE-\uFFFF]/g,wi=/[-.0-9\u00B7\u0300-\u036F\u203F-\u2040]/g;function Qn(t){return t.replace(Ai,"_")}function Oi(t){let e=Qn(t);return e.match(wi)&&(e=`_${t}`),e}var Ae=t=>(t=t||"",t.length===0?"__empty":Oi(t[0]).concat(Qn(t.slice(1))));var Ci=/[\u00B7\u0300-\u036F\u203F-\u2040\u0000-\u0029\u002B-\u002C\u002F\u003B-\u0040\u005B-\u0060\u007B-\u00BF\u00D7\u00F7\u0300-\u036F\u037E\u2000-\u200B\u200E-\u206F\u2190-\u2BFF\u2FF0-\u3000\uD800-\uF8FF\uFDD0-\uFDEF\uFFFE-\uFFFF]/g,ji=/[.]/g;function Yn(t){return t.replace(Ci,"_")}function Pi(t){let e=Yn(t);return e.match(ji)&&(e=`_${t}`),e}function _i(t){return t=t.replace(/\s+/g," ").trim(),Pi(t[0]).concat(Yn(t.slice(1)))}var Zn=t=>{let e=t||"";return e.length===0?"empty":e.split(/[\n\r]+/).filter(n=>n.length>0).map(_i).join(" ")};var Fi={regular:"state",initial:"initial",final:"final",terminate:"final",parallel:"parallel",history:"history",deephistory:"history"};function Ri(t){return Fi[t]||"state"}function Ni(t){let e={target:Ae(t.to)};return t.event&&(e.event=Zn(t.event)),t.cond&&(e.cond=t.cond),t.action&&(e.action=t.action),t.type&&(e.type=t.type),e}function Vi(t,e){return t.filter(n=>n.type===e).map(n=>n.body)}function Ue(t,e,n,m){let a=Vi(n,m);a.length>0&&(t[e]=(t[e]||[]).concat(a))}function Li(t,e){e.actions&&(Ue(t,"onentries",e.actions,"entry"),Ue(t,"onentries",e.actions,"activity"),Ue(t,"onexits",e.actions,"exit"))}function Bi(t,e,n){let m=n.filter(a=>a.from===e.name).map(Ni);m.length>0&&(t.transitions=m)}function Di(t,e,n){if(e.statemachine){let m=ne(e.statemachine,void 0,n);t.states=(t.states||[]).concat(m.states),m.initial&&(t.initial=m.initial)}}function Hi(t){return t=t||[],e=>{let n={kind:Ri(e.type),id:Ae(e.name)};return e.type==="deephistory"&&(n.type="deep"),Li(n,e),Bi(n,e,t),Di(n,e,t),n}}function qi(t){let e=t.states.filter(n=>n.type==="initial");if(e.length>0)return e[0].name}function Mi(t,e){let n=e;if(e&&t.transitions){let m=t.transitions.filter(a=>a.from===e);m.length>0&&!m[0].action&&(n=m[0].to)}return n}function ne(t,e,n){let m=qi(t),a=Mi(t,m),c={states:t.states.filter(i=>a&&a!==m?i.type!=="initial":!0).map(Hi(n||new L(t).flattenedTransitions))};return a&&(c.initial=Ae(a)),c}var rr=F(nr(),1),Gi=t=>(0,rr.default)(ne(t)),ar=Gi;var Wi=or.default;function We(t){let e={smcat:Wi,dot:Te,svg:ze,oldsvg:ze,scjson:ne,scxml:ar};return(0,lr.default)(e,t)?e[t]:n=>n}var ir="10.1.11";function sr(t,e){let n=jn.getAST(t,e),m=N.getOptionValue(e,"desugar");return We(N.getOptionValue(e,"outputType"))(m?Fn(n):n,e)}var cr=ir;function ur(){return N.getAllowedValues()}var Qi={render:sr,version:cr,getAllowedValues:ur};
|
package/dist/commonjs/index.js
DELETED
|
@@ -1 +0,0 @@
|
|
|
1
|
-
module.exports = require("./bundle.js").default;
|
|
@@ -1,21 +0,0 @@
|
|
|
1
|
-
import chalk from "chalk";
|
|
2
|
-
import indentString from "indent-string";
|
|
3
|
-
import wrapAnsi from "wrap-ansi";
|
|
4
|
-
import dotToVectorNative from "../render/vector/dot-to-vector-native.mjs";
|
|
5
|
-
function wrapAndIndent(pString) {
|
|
6
|
-
const lDogmaticMaxConsoleWidth = 78;
|
|
7
|
-
const lDefaultIndent = 2;
|
|
8
|
-
const lMaxWidth = lDogmaticMaxConsoleWidth - lDefaultIndent;
|
|
9
|
-
return indentString(wrapAnsi(pString, lMaxWidth), lDefaultIndent);
|
|
10
|
-
}
|
|
11
|
-
export default (pDotIsAvailable = dotToVectorNative.isAvailable({})) => {
|
|
12
|
-
const lDescription = "Write beautiful state charts - https://github.com/sverweij/state-machine-cat";
|
|
13
|
-
const lNode12Warning = "When you want to output svg and the native GraphViz isn't installed, " +
|
|
14
|
-
"state-machine-cat will fall back to viz.js and you might see " +
|
|
15
|
-
`${chalk.italic("'Invalid asm.js: Function definition doesn't match use'")}. ` +
|
|
16
|
-
"It's harmless and your svg will come out ok. See " +
|
|
17
|
-
`https://github.com/sverweij/state-machine-cat/blob/develop/docs/faq.md#viz`;
|
|
18
|
-
return indentString(pDotIsAvailable
|
|
19
|
-
? lDescription
|
|
20
|
-
: `${lDescription}\n\n${wrapAndIndent(chalk.dim(lNode12Warning))}`);
|
|
21
|
-
};
|
|
@@ -1,9 +0,0 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
-
const Handlebars = require("handlebars/dist/handlebars.runtime.js");
|
|
4
|
-
require("./scxml.template.js");
|
|
5
|
-
require("./scxml.states.template.js");
|
|
6
|
-
Handlebars.registerPartial("scxml.states.template.hbs", Handlebars.templates["scxml.states.template.hbs"]);
|
|
7
|
-
module.exports = function renderSCXML(pSCJSON) {
|
|
8
|
-
return Handlebars.templates["scxml.template.hbs"](pSCJSON);
|
|
9
|
-
};
|
|
@@ -1,13 +0,0 @@
|
|
|
1
|
-
import viz from "viz.js";
|
|
2
|
-
import options from "../../options.mjs";
|
|
3
|
-
import ast2dot from "../dot/index.mjs";
|
|
4
|
-
const OUTPUT_TYPE2FORMAT = {
|
|
5
|
-
oldsvg: "svg",
|
|
6
|
-
oldps2: "ps2",
|
|
7
|
-
oldeps: "eps",
|
|
8
|
-
};
|
|
9
|
-
const renderVectorWithViz = (pStateMachine, pOptions) => viz(ast2dot(pStateMachine, pOptions), {
|
|
10
|
-
engine: options.getOptionValue(pOptions, "engine"),
|
|
11
|
-
format: OUTPUT_TYPE2FORMAT[options.getOptionValue(pOptions, "outputType")] || "svg",
|
|
12
|
-
});
|
|
13
|
-
export default renderVectorWithViz;
|