-
Notifications
You must be signed in to change notification settings - Fork 21
/
Machine.html
95 lines (95 loc) · 229 KB
/
Machine.html
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
<!DOCTYPE html><html class="default"><head><meta charSet="utf-8"/><meta http-equiv="x-ua-compatible" content="IE=edge"/><title>Machine | JSSM, a JavaScript state machine - the FSM for FSL</title><meta name="description" content="Documentation for JSSM, a JavaScript state machine - the FSM for FSL"/><meta name="viewport" content="width=device-width, initial-scale=1"/><link rel="stylesheet" href="../assets/style.css"/><link rel="stylesheet" href="../assets/highlight.css"/><link rel="stylesheet" href="../assets/custom.css"/><script async src="../assets/search.js" id="search-script"></script><link rel="stylesheet" href="../assets/pages.css"/></head><body><script>document.body.classList.add(localStorage.getItem("tsd-theme") || "os")</script><header><div class="tsd-page-toolbar"><div class="container"><div class="table-wrap"><div class="table-cell" id="tsd-search" data-base=".."><div class="field"><label for="tsd-search-field" class="tsd-widget search no-caption">Search</label><input type="text" id="tsd-search-field"/></div><ul class="results"><li class="state loading">Preparing search index...</li><li class="state failure">The search index is not available</li></ul><a href="../index.html" class="title">JSSM, a JavaScript state machine - the FSM for FSL</a></div><div class="table-cell" id="tsd-widgets"><div id="tsd-filter"><a href="#" class="tsd-widget options no-caption" data-toggle="options">Options</a><div class="tsd-filter-group"><div class="tsd-select" id="tsd-filter-visibility"><span class="tsd-select-label">All</span><ul class="tsd-select-list"><li data-value="public">Public</li><li data-value="protected">Public/Protected</li><li data-value="private" class="selected">All</li></ul></div> <input type="checkbox" id="tsd-filter-inherited" checked/><label class="tsd-widget" for="tsd-filter-inherited">Inherited</label><input type="checkbox" id="tsd-filter-externals" checked/><label class="tsd-widget" for="tsd-filter-externals">Externals</label></div></div><a href="#" class="tsd-widget menu no-caption" data-toggle="menu">Menu</a></div></div></div></div><div class="tsd-page-title"><div class="container"><ul class="tsd-breadcrumb"><li><a href="../modules.html">JSSM, a JavaScript state machine - the FSM for FSL</a></li><li><a href="Machine.html">Machine</a></li></ul><h1>Class Machine<mDT> </h1></div></div></header><div class="container container-main"><div class="row"><div class="col-8 col-content"><section class="tsd-panel tsd-type-parameters"><h3>Type parameters</h3><ul class="tsd-type-parameters"><li><h4>mDT</h4></li></ul></section><section class="tsd-panel tsd-hierarchy"><h3>Hierarchy</h3><ul class="tsd-hierarchy"><li><span class="target">Machine</span></li></ul></section><section class="tsd-panel-group tsd-index-group"><h2>Index</h2><section class="tsd-panel tsd-index-panel"><div class="tsd-index-content"><section class="tsd-index-section "><h3>Constructors</h3><ul class="tsd-index-list"><li class="tsd-kind-constructor tsd-parent-kind-class tsd-has-type-parameter"><a href="Machine.html#constructor" class="tsd-kind-icon">constructor</a></li></ul></section><section class="tsd-index-section "><h3>Properties</h3><ul class="tsd-index-list"><li class="tsd-kind-property tsd-parent-kind-class"><a href="Machine.html#_actions" class="tsd-kind-icon">_actions</a></li><li class="tsd-kind-property tsd-parent-kind-class"><a href="Machine.html#_any_action_hook" class="tsd-kind-icon">_any_<wbr/>action_<wbr/>hook</a></li><li class="tsd-kind-property tsd-parent-kind-class"><a href="Machine.html#_any_transition_hook" class="tsd-kind-icon">_any_<wbr/>transition_<wbr/>hook</a></li><li class="tsd-kind-property tsd-parent-kind-class"><a href="Machine.html#_arrange_declaration" class="tsd-kind-icon">_arrange_<wbr/>declaration</a></li><li class="tsd-kind-property tsd-parent-kind-class"><a href="Machine.html#_arrange_end_declaration" class="tsd-kind-icon">_arrange_<wbr/>end_<wbr/>declaration</a></li><li class="tsd-kind-property tsd-parent-kind-class"><a href="Machine.html#_arrange_start_declaration" class="tsd-kind-icon">_arrange_<wbr/>start_<wbr/>declaration</a></li><li class="tsd-kind-property tsd-parent-kind-class"><a href="Machine.html#_dot_preamble" class="tsd-kind-icon">_dot_<wbr/>preamble</a></li><li class="tsd-kind-property tsd-parent-kind-class"><a href="Machine.html#_edge_map" class="tsd-kind-icon">_edge_<wbr/>map</a></li><li class="tsd-kind-property tsd-parent-kind-class"><a href="Machine.html#_edges" class="tsd-kind-icon">_edges</a></li><li class="tsd-kind-property tsd-parent-kind-class"><a href="Machine.html#_entry_hooks" class="tsd-kind-icon">_entry_<wbr/>hooks</a></li><li class="tsd-kind-property tsd-parent-kind-class"><a href="Machine.html#_exit_hooks" class="tsd-kind-icon">_exit_<wbr/>hooks</a></li><li class="tsd-kind-property tsd-parent-kind-class"><a href="Machine.html#_flow" class="tsd-kind-icon">_flow</a></li><li class="tsd-kind-property tsd-parent-kind-class"><a href="Machine.html#_forced_transition_hook" class="tsd-kind-icon">_forced_<wbr/>transition_<wbr/>hook</a></li><li class="tsd-kind-property tsd-parent-kind-class"><a href="Machine.html#_fsl_version" class="tsd-kind-icon">_fsl_<wbr/>version</a></li><li class="tsd-kind-property tsd-parent-kind-class"><a href="Machine.html#_global_action_hooks" class="tsd-kind-icon">_global_<wbr/>action_<wbr/>hooks</a></li><li class="tsd-kind-property tsd-parent-kind-class"><a href="Machine.html#_graph_layout" class="tsd-kind-icon">_graph_<wbr/>layout</a></li><li class="tsd-kind-property tsd-parent-kind-class"><a href="Machine.html#_has_basic_hooks" class="tsd-kind-icon">_has_<wbr/>basic_<wbr/>hooks</a></li><li class="tsd-kind-property tsd-parent-kind-class"><a href="Machine.html#_has_entry_hooks" class="tsd-kind-icon">_has_<wbr/>entry_<wbr/>hooks</a></li><li class="tsd-kind-property tsd-parent-kind-class"><a href="Machine.html#_has_exit_hooks" class="tsd-kind-icon">_has_<wbr/>exit_<wbr/>hooks</a></li><li class="tsd-kind-property tsd-parent-kind-class"><a href="Machine.html#_has_global_action_hooks" class="tsd-kind-icon">_has_<wbr/>global_<wbr/>action_<wbr/>hooks</a></li><li class="tsd-kind-property tsd-parent-kind-class"><a href="Machine.html#_has_hooks" class="tsd-kind-icon">_has_<wbr/>hooks</a></li><li class="tsd-kind-property tsd-parent-kind-class"><a href="Machine.html#_has_named_hooks" class="tsd-kind-icon">_has_<wbr/>named_<wbr/>hooks</a></li><li class="tsd-kind-property tsd-parent-kind-class"><a href="Machine.html#_has_transition_hooks" class="tsd-kind-icon">_has_<wbr/>transition_<wbr/>hooks</a></li><li class="tsd-kind-property tsd-parent-kind-class"><a href="Machine.html#_hooks" class="tsd-kind-icon">_hooks</a></li><li class="tsd-kind-property tsd-parent-kind-class"><a href="Machine.html#_instance_name" class="tsd-kind-icon">_instance_<wbr/>name</a></li><li class="tsd-kind-property tsd-parent-kind-class"><a href="Machine.html#_machine_author" class="tsd-kind-icon">_machine_<wbr/>author</a></li><li class="tsd-kind-property tsd-parent-kind-class"><a href="Machine.html#_machine_comment" class="tsd-kind-icon">_machine_<wbr/>comment</a></li><li class="tsd-kind-property tsd-parent-kind-class"><a href="Machine.html#_machine_contributor" class="tsd-kind-icon">_machine_<wbr/>contributor</a></li><li class="tsd-kind-property tsd-parent-kind-class"><a href="Machine.html#_machine_definition" class="tsd-kind-icon">_machine_<wbr/>definition</a></li><li class="tsd-kind-property tsd-parent-kind-class"><a href="Machine.html#_machine_language" class="tsd-kind-icon">_machine_<wbr/>language</a></li><li class="tsd-kind-property tsd-parent-kind-class"><a href="Machine.html#_machine_license" class="tsd-kind-icon">_machine_<wbr/>license</a></li><li class="tsd-kind-property tsd-parent-kind-class"><a href="Machine.html#_machine_name" class="tsd-kind-icon">_machine_<wbr/>name</a></li><li class="tsd-kind-property tsd-parent-kind-class"><a href="Machine.html#_machine_version" class="tsd-kind-icon">_machine_<wbr/>version</a></li><li class="tsd-kind-property tsd-parent-kind-class"><a href="Machine.html#_main_transition_hook" class="tsd-kind-icon">_main_<wbr/>transition_<wbr/>hook</a></li><li class="tsd-kind-property tsd-parent-kind-class"><a href="Machine.html#_named_hooks" class="tsd-kind-icon">_named_<wbr/>hooks</a></li><li class="tsd-kind-property tsd-parent-kind-class"><a href="Machine.html#_named_transitions" class="tsd-kind-icon">_named_<wbr/>transitions</a></li><li class="tsd-kind-property tsd-parent-kind-class"><a href="Machine.html#_raw_state_declaration" class="tsd-kind-icon">_raw_<wbr/>state_<wbr/>declaration</a></li><li class="tsd-kind-property tsd-parent-kind-class"><a href="Machine.html#_reverse_action_targets" class="tsd-kind-icon">_reverse_<wbr/>action_<wbr/>targets</a></li><li class="tsd-kind-property tsd-parent-kind-class"><a href="Machine.html#_reverse_actions" class="tsd-kind-icon">_reverse_<wbr/>actions</a></li><li class="tsd-kind-property tsd-parent-kind-class"><a href="Machine.html#_standard_transition_hook" class="tsd-kind-icon">_standard_<wbr/>transition_<wbr/>hook</a></li><li class="tsd-kind-property tsd-parent-kind-class"><a href="Machine.html#_state" class="tsd-kind-icon">_state</a></li><li class="tsd-kind-property tsd-parent-kind-class"><a href="Machine.html#_state_declarations" class="tsd-kind-icon">_state_<wbr/>declarations</a></li><li class="tsd-kind-property tsd-parent-kind-class"><a href="Machine.html#_states" class="tsd-kind-icon">_states</a></li><li class="tsd-kind-property tsd-parent-kind-class"><a href="Machine.html#_theme" class="tsd-kind-icon">_theme</a></li></ul></section><section class="tsd-index-section "><h3>Methods</h3><ul class="tsd-index-list"><li class="tsd-kind-method tsd-parent-kind-class"><a href="Machine.html#_new_state" class="tsd-kind-icon">_new_<wbr/>state</a></li><li class="tsd-kind-method tsd-parent-kind-class"><a href="Machine.html#action" class="tsd-kind-icon">action</a></li><li class="tsd-kind-method tsd-parent-kind-class"><a href="Machine.html#actions" class="tsd-kind-icon">actions</a></li><li class="tsd-kind-method tsd-parent-kind-class"><a href="Machine.html#current_action_edge_for" class="tsd-kind-icon">current_<wbr/>action_<wbr/>edge_<wbr/>for</a></li><li class="tsd-kind-method tsd-parent-kind-class"><a href="Machine.html#current_action_for" class="tsd-kind-icon">current_<wbr/>action_<wbr/>for</a></li><li class="tsd-kind-method tsd-parent-kind-class"><a href="Machine.html#dot_preamble" class="tsd-kind-icon">dot_<wbr/>preamble</a></li><li class="tsd-kind-method tsd-parent-kind-class"><a href="Machine.html#edges_between" class="tsd-kind-icon">edges_<wbr/>between</a></li><li class="tsd-kind-method tsd-parent-kind-class"><a href="Machine.html#flow" class="tsd-kind-icon">flow</a></li><li class="tsd-kind-method tsd-parent-kind-class"><a href="Machine.html#force_transition" class="tsd-kind-icon">force_<wbr/>transition</a></li><li class="tsd-kind-method tsd-parent-kind-class"><a href="Machine.html#fsl_version" class="tsd-kind-icon">fsl_<wbr/>version</a></li><li class="tsd-kind-method tsd-parent-kind-class"><a href="Machine.html#get_transition_by_state_names" class="tsd-kind-icon">get_<wbr/>transition_<wbr/>by_<wbr/>state_<wbr/>names</a></li><li class="tsd-kind-method tsd-parent-kind-class"><a href="Machine.html#graph_layout" class="tsd-kind-icon">graph_<wbr/>layout</a></li><li class="tsd-kind-method tsd-parent-kind-class"><a href="Machine.html#has_completes" class="tsd-kind-icon">has_<wbr/>completes</a></li><li class="tsd-kind-method tsd-parent-kind-class"><a href="Machine.html#has_state" class="tsd-kind-icon">has_<wbr/>state</a></li><li class="tsd-kind-method tsd-parent-kind-class"><a href="Machine.html#has_terminals" class="tsd-kind-icon">has_<wbr/>terminals</a></li><li class="tsd-kind-method tsd-parent-kind-class"><a href="Machine.html#has_unenterables" class="tsd-kind-icon">has_<wbr/>unenterables</a></li><li class="tsd-kind-method tsd-parent-kind-class"><a href="Machine.html#hook" class="tsd-kind-icon">hook</a></li><li class="tsd-kind-method tsd-parent-kind-class"><a href="Machine.html#hook_action" class="tsd-kind-icon">hook_<wbr/>action</a></li><li class="tsd-kind-method tsd-parent-kind-class"><a href="Machine.html#hook_any_action" class="tsd-kind-icon">hook_<wbr/>any_<wbr/>action</a></li><li class="tsd-kind-method tsd-parent-kind-class"><a href="Machine.html#hook_any_transition" class="tsd-kind-icon">hook_<wbr/>any_<wbr/>transition</a></li><li class="tsd-kind-method tsd-parent-kind-class"><a href="Machine.html#hook_entry" class="tsd-kind-icon">hook_<wbr/>entry</a></li><li class="tsd-kind-method tsd-parent-kind-class"><a href="Machine.html#hook_exit" class="tsd-kind-icon">hook_<wbr/>exit</a></li><li class="tsd-kind-method tsd-parent-kind-class"><a href="Machine.html#hook_forced_transition" class="tsd-kind-icon">hook_<wbr/>forced_<wbr/>transition</a></li><li class="tsd-kind-method tsd-parent-kind-class"><a href="Machine.html#hook_global_action" class="tsd-kind-icon">hook_<wbr/>global_<wbr/>action</a></li><li class="tsd-kind-method tsd-parent-kind-class"><a href="Machine.html#hook_main_transition" class="tsd-kind-icon">hook_<wbr/>main_<wbr/>transition</a></li><li class="tsd-kind-method tsd-parent-kind-class"><a href="Machine.html#hook_standard_transition" class="tsd-kind-icon">hook_<wbr/>standard_<wbr/>transition</a></li><li class="tsd-kind-method tsd-parent-kind-class"><a href="Machine.html#instance_name" class="tsd-kind-icon">instance_<wbr/>name</a></li><li class="tsd-kind-method tsd-parent-kind-class"><a href="Machine.html#is_complete" class="tsd-kind-icon">is_<wbr/>complete</a></li><li class="tsd-kind-method tsd-parent-kind-class"><a href="Machine.html#is_final" class="tsd-kind-icon">is_<wbr/>final</a></li><li class="tsd-kind-method tsd-parent-kind-class"><a href="Machine.html#is_terminal" class="tsd-kind-icon">is_<wbr/>terminal</a></li><li class="tsd-kind-method tsd-parent-kind-class"><a href="Machine.html#is_unenterable" class="tsd-kind-icon">is_<wbr/>unenterable</a></li><li class="tsd-kind-method tsd-parent-kind-class"><a href="Machine.html#list_actions" class="tsd-kind-icon">list_<wbr/>actions</a></li><li class="tsd-kind-method tsd-parent-kind-class"><a href="Machine.html#list_edges" class="tsd-kind-icon">list_<wbr/>edges</a></li><li class="tsd-kind-method tsd-parent-kind-class"><a href="Machine.html#list_entrances" class="tsd-kind-icon">list_<wbr/>entrances</a></li><li class="tsd-kind-method tsd-parent-kind-class"><a href="Machine.html#list_exit_actions" class="tsd-kind-icon">list_<wbr/>exit_<wbr/>actions</a></li><li class="tsd-kind-method tsd-parent-kind-class"><a href="Machine.html#list_exits" class="tsd-kind-icon">list_<wbr/>exits</a></li><li class="tsd-kind-method tsd-parent-kind-class"><a href="Machine.html#list_named_transitions" class="tsd-kind-icon">list_<wbr/>named_<wbr/>transitions</a></li><li class="tsd-kind-method tsd-parent-kind-class"><a href="Machine.html#list_states_having_action" class="tsd-kind-icon">list_<wbr/>states_<wbr/>having_<wbr/>action</a></li><li class="tsd-kind-method tsd-parent-kind-class"><a href="Machine.html#list_transitions" class="tsd-kind-icon">list_<wbr/>transitions</a></li><li class="tsd-kind-method tsd-parent-kind-class"><a href="Machine.html#lookup_transition_for" class="tsd-kind-icon">lookup_<wbr/>transition_<wbr/>for</a></li><li class="tsd-kind-method tsd-parent-kind-class"><a href="Machine.html#machine_author" class="tsd-kind-icon">machine_<wbr/>author</a></li><li class="tsd-kind-method tsd-parent-kind-class"><a href="Machine.html#machine_comment" class="tsd-kind-icon">machine_<wbr/>comment</a></li><li class="tsd-kind-method tsd-parent-kind-class"><a href="Machine.html#machine_contributor" class="tsd-kind-icon">machine_<wbr/>contributor</a></li><li class="tsd-kind-method tsd-parent-kind-class"><a href="Machine.html#machine_definition" class="tsd-kind-icon">machine_<wbr/>definition</a></li><li class="tsd-kind-method tsd-parent-kind-class"><a href="Machine.html#machine_language" class="tsd-kind-icon">machine_<wbr/>language</a></li><li class="tsd-kind-method tsd-parent-kind-class"><a href="Machine.html#machine_license" class="tsd-kind-icon">machine_<wbr/>license</a></li><li class="tsd-kind-method tsd-parent-kind-class"><a href="Machine.html#machine_name" class="tsd-kind-icon">machine_<wbr/>name</a></li><li class="tsd-kind-method tsd-parent-kind-class"><a href="Machine.html#machine_state" class="tsd-kind-icon">machine_<wbr/>state</a></li><li class="tsd-kind-method tsd-parent-kind-class"><a href="Machine.html#machine_version" class="tsd-kind-icon">machine_<wbr/>version</a></li><li class="tsd-kind-method tsd-parent-kind-class"><a href="Machine.html#probabilistic_histo_walk" class="tsd-kind-icon">probabilistic_<wbr/>histo_<wbr/>walk</a></li><li class="tsd-kind-method tsd-parent-kind-class"><a href="Machine.html#probabilistic_transition" class="tsd-kind-icon">probabilistic_<wbr/>transition</a></li><li class="tsd-kind-method tsd-parent-kind-class"><a href="Machine.html#probabilistic_walk" class="tsd-kind-icon">probabilistic_<wbr/>walk</a></li><li class="tsd-kind-method tsd-parent-kind-class"><a href="Machine.html#probable_action_exits" class="tsd-kind-icon">probable_<wbr/>action_<wbr/>exits</a></li><li class="tsd-kind-method tsd-parent-kind-class"><a href="Machine.html#probable_exits_for" class="tsd-kind-icon">probable_<wbr/>exits_<wbr/>for</a></li><li class="tsd-kind-method tsd-parent-kind-class"><a href="Machine.html#raw_state_declarations" class="tsd-kind-icon">raw_<wbr/>state_<wbr/>declarations</a></li><li class="tsd-kind-method tsd-parent-kind-class"><a href="Machine.html#set_hook" class="tsd-kind-icon">set_<wbr/>hook</a></li><li class="tsd-kind-method tsd-parent-kind-class"><a href="Machine.html#sm" class="tsd-kind-icon">sm</a></li><li class="tsd-kind-method tsd-parent-kind-class"><a href="Machine.html#state" class="tsd-kind-icon">state</a></li><li class="tsd-kind-method tsd-parent-kind-class"><a href="Machine.html#state_declaration" class="tsd-kind-icon">state_<wbr/>declaration</a></li><li class="tsd-kind-method tsd-parent-kind-class"><a href="Machine.html#state_declarations" class="tsd-kind-icon">state_<wbr/>declarations</a></li><li class="tsd-kind-method tsd-parent-kind-class"><a href="Machine.html#state_for" class="tsd-kind-icon">state_<wbr/>for</a></li><li class="tsd-kind-method tsd-parent-kind-class"><a href="Machine.html#state_is_complete" class="tsd-kind-icon">state_<wbr/>is_<wbr/>complete</a></li><li class="tsd-kind-method tsd-parent-kind-class"><a href="Machine.html#state_is_final" class="tsd-kind-icon">state_<wbr/>is_<wbr/>final</a></li><li class="tsd-kind-method tsd-parent-kind-class"><a href="Machine.html#state_is_terminal" class="tsd-kind-icon">state_<wbr/>is_<wbr/>terminal</a></li><li class="tsd-kind-method tsd-parent-kind-class"><a href="Machine.html#states" class="tsd-kind-icon">states</a></li><li class="tsd-kind-method tsd-parent-kind-class"><a href="Machine.html#theme" class="tsd-kind-icon">theme</a></li><li class="tsd-kind-method tsd-parent-kind-class"><a href="Machine.html#transition" class="tsd-kind-icon">transition</a></li><li class="tsd-kind-method tsd-parent-kind-class"><a href="Machine.html#transition_impl" class="tsd-kind-icon">transition_<wbr/>impl</a></li><li class="tsd-kind-method tsd-parent-kind-class"><a href="Machine.html#valid_action" class="tsd-kind-icon">valid_<wbr/>action</a></li><li class="tsd-kind-method tsd-parent-kind-class"><a href="Machine.html#valid_force_transition" class="tsd-kind-icon">valid_<wbr/>force_<wbr/>transition</a></li><li class="tsd-kind-method tsd-parent-kind-class"><a href="Machine.html#valid_transition" class="tsd-kind-icon">valid_<wbr/>transition</a></li></ul></section></div></section></section><section class="tsd-panel-group tsd-member-group "><h2>Constructors</h2><section class="tsd-panel tsd-member tsd-kind-constructor tsd-parent-kind-class tsd-has-type-parameter"><a id="constructor" class="tsd-anchor"></a><h3 class="tsd-anchor-link">constructor<a href="#constructor" aria-label="Permalink" class="tsd-anchor-icon"><svg xmlns="http://www.w3.org/2000/svg" class="icon icon-tabler icon-tabler-link" viewBox="0 0 24 24" stroke-width="2" stroke="currentColor" fill="none" stroke-linecap="round" stroke-linejoin="round"><path stroke="none" d="M0 0h24v24H0z" fill="none"></path><path d="M10 14a3.5 3.5 0 0 0 5 0l4 -4a3.5 3.5 0 0 0 -5 -5l-.5 .5"></path><path d="M14 10a3.5 3.5 0 0 0 -5 0l-4 4a3.5 3.5 0 0 0 5 5l.5 -.5"></path></svg></a></h3><ul class="tsd-signatures tsd-kind-constructor tsd-parent-kind-class tsd-has-type-parameter"><li class="tsd-signature tsd-kind-icon">new <wbr/>Machine<span class="tsd-signature-symbol"><</span><span class="tsd-signature-type" data-tsd-kind="Type parameter">mDT</span><span class="tsd-signature-symbol">></span><span class="tsd-signature-symbol">(</span>__namedParameters<span class="tsd-signature-symbol">: </span><span class="tsd-signature-type">JssmGenericConfig</span><span class="tsd-signature-symbol"><</span><span class="tsd-signature-type" data-tsd-kind="Type parameter">mDT</span><span class="tsd-signature-symbol">></span><span class="tsd-signature-symbol">)</span><span class="tsd-signature-symbol">: </span><a href="Machine.html" class="tsd-signature-type" data-tsd-kind="Class">Machine</a><span class="tsd-signature-symbol"><</span><span class="tsd-signature-type" data-tsd-kind="Type parameter">mDT</span><span class="tsd-signature-symbol">></span></li></ul><ul class="tsd-descriptions"><li class="tsd-description"><aside class="tsd-sources"><ul><li>Defined in <a href="https://github.com/StoneCypher/jssm/blob/0fe3acc/src/ts/jssm.ts#L743">jssm.ts:743</a></li></ul></aside><h4 class="tsd-type-parameters-title">Type parameters</h4><ul class="tsd-type-parameters"><li><h4>mDT</h4></li></ul><h4 class="tsd-parameters-title">Parameters</h4><ul class="tsd-parameters"><li><h5>__namedParameters: <span class="tsd-signature-type">JssmGenericConfig</span><span class="tsd-signature-symbol"><</span><span class="tsd-signature-type" data-tsd-kind="Type parameter">mDT</span><span class="tsd-signature-symbol">></span></h5></li></ul><h4 class="tsd-returns-title">Returns <a href="Machine.html" class="tsd-signature-type" data-tsd-kind="Class">Machine</a><span class="tsd-signature-symbol"><</span><span class="tsd-signature-type" data-tsd-kind="Type parameter">mDT</span><span class="tsd-signature-symbol">></span></h4></li></ul></section></section><section class="tsd-panel-group tsd-member-group "><h2>Properties</h2><section class="tsd-panel tsd-member tsd-kind-property tsd-parent-kind-class"><a id="_actions" class="tsd-anchor"></a><h3 class="tsd-anchor-link">_actions<a href="#_actions" aria-label="Permalink" class="tsd-anchor-icon"><svg xmlns="http://www.w3.org/2000/svg" class="icon icon-tabler icon-tabler-link" viewBox="0 0 24 24" stroke-width="2" stroke="currentColor" fill="none" stroke-linecap="round" stroke-linejoin="round"><path stroke="none" d="M0 0h24v24H0z" fill="none"></path><path d="M10 14a3.5 3.5 0 0 0 5 0l4 -4a3.5 3.5 0 0 0 -5 -5l-.5 .5"></path><path d="M14 10a3.5 3.5 0 0 0 -5 0l-4 4a3.5 3.5 0 0 0 5 5l.5 -.5"></path></svg></a></h3><div class="tsd-signature tsd-kind-icon">_actions<span class="tsd-signature-symbol">:</span> <span class="tsd-signature-type">Map</span><span class="tsd-signature-symbol"><</span><span class="tsd-signature-type">string</span><span class="tsd-signature-symbol">, </span><span class="tsd-signature-type">Map</span><span class="tsd-signature-symbol"><</span><span class="tsd-signature-type">string</span><span class="tsd-signature-symbol">, </span><span class="tsd-signature-type">number</span><span class="tsd-signature-symbol">></span><span class="tsd-signature-symbol">></span></div><aside class="tsd-sources"><ul><li>Defined in <a href="https://github.com/StoneCypher/jssm/blob/0fe3acc/src/ts/jssm.ts#L693">jssm.ts:693</a></li></ul></aside></section><section class="tsd-panel tsd-member tsd-kind-property tsd-parent-kind-class"><a id="_any_action_hook" class="tsd-anchor"></a><h3 class="tsd-anchor-link">_any_<wbr/>action_<wbr/>hook<a href="#_any_action_hook" aria-label="Permalink" class="tsd-anchor-icon"><svg xmlns="http://www.w3.org/2000/svg" class="icon icon-tabler icon-tabler-link" viewBox="0 0 24 24" stroke-width="2" stroke="currentColor" fill="none" stroke-linecap="round" stroke-linejoin="round"><path stroke="none" d="M0 0h24v24H0z" fill="none"></path><path d="M10 14a3.5 3.5 0 0 0 5 0l4 -4a3.5 3.5 0 0 0 -5 -5l-.5 .5"></path><path d="M14 10a3.5 3.5 0 0 0 -5 0l-4 4a3.5 3.5 0 0 0 5 5l.5 -.5"></path></svg></a></h3><div class="tsd-signature tsd-kind-icon">_any_<wbr/>action_<wbr/>hook<span class="tsd-signature-symbol">:</span> <span class="tsd-signature-type">Function</span></div><aside class="tsd-sources"><ul><li>Defined in <a href="https://github.com/StoneCypher/jssm/blob/0fe3acc/src/ts/jssm.ts#L735">jssm.ts:735</a></li></ul></aside></section><section class="tsd-panel tsd-member tsd-kind-property tsd-parent-kind-class"><a id="_any_transition_hook" class="tsd-anchor"></a><h3 class="tsd-anchor-link">_any_<wbr/>transition_<wbr/>hook<a href="#_any_transition_hook" aria-label="Permalink" class="tsd-anchor-icon"><svg xmlns="http://www.w3.org/2000/svg" class="icon icon-tabler icon-tabler-link" viewBox="0 0 24 24" stroke-width="2" stroke="currentColor" fill="none" stroke-linecap="round" stroke-linejoin="round"><path stroke="none" d="M0 0h24v24H0z" fill="none"></path><path d="M10 14a3.5 3.5 0 0 0 5 0l4 -4a3.5 3.5 0 0 0 -5 -5l-.5 .5"></path><path d="M14 10a3.5 3.5 0 0 0 -5 0l-4 4a3.5 3.5 0 0 0 5 5l.5 -.5"></path></svg></a></h3><div class="tsd-signature tsd-kind-icon">_any_<wbr/>transition_<wbr/>hook<span class="tsd-signature-symbol">:</span> <span class="tsd-signature-type">Function</span></div><aside class="tsd-sources"><ul><li>Defined in <a href="https://github.com/StoneCypher/jssm/blob/0fe3acc/src/ts/jssm.ts#L739">jssm.ts:739</a></li></ul></aside></section><section class="tsd-panel tsd-member tsd-kind-property tsd-parent-kind-class"><a id="_arrange_declaration" class="tsd-anchor"></a><h3 class="tsd-anchor-link">_arrange_<wbr/>declaration<a href="#_arrange_declaration" aria-label="Permalink" class="tsd-anchor-icon"><svg xmlns="http://www.w3.org/2000/svg" class="icon icon-tabler icon-tabler-link" viewBox="0 0 24 24" stroke-width="2" stroke="currentColor" fill="none" stroke-linecap="round" stroke-linejoin="round"><path stroke="none" d="M0 0h24v24H0z" fill="none"></path><path d="M10 14a3.5 3.5 0 0 0 5 0l4 -4a3.5 3.5 0 0 0 -5 -5l-.5 .5"></path><path d="M14 10a3.5 3.5 0 0 0 -5 0l-4 4a3.5 3.5 0 0 0 5 5l.5 -.5"></path></svg></a></h3><div class="tsd-signature tsd-kind-icon">_arrange_<wbr/>declaration<span class="tsd-signature-symbol">:</span> <span class="tsd-signature-type">string</span><span class="tsd-signature-symbol">[]</span><span class="tsd-signature-symbol">[]</span></div><aside class="tsd-sources"><ul><li>Defined in <a href="https://github.com/StoneCypher/jssm/blob/0fe3acc/src/ts/jssm.ts#L713">jssm.ts:713</a></li></ul></aside></section><section class="tsd-panel tsd-member tsd-kind-property tsd-parent-kind-class"><a id="_arrange_end_declaration" class="tsd-anchor"></a><h3 class="tsd-anchor-link">_arrange_<wbr/>end_<wbr/>declaration<a href="#_arrange_end_declaration" aria-label="Permalink" class="tsd-anchor-icon"><svg xmlns="http://www.w3.org/2000/svg" class="icon icon-tabler icon-tabler-link" viewBox="0 0 24 24" stroke-width="2" stroke="currentColor" fill="none" stroke-linecap="round" stroke-linejoin="round"><path stroke="none" d="M0 0h24v24H0z" fill="none"></path><path d="M10 14a3.5 3.5 0 0 0 5 0l4 -4a3.5 3.5 0 0 0 -5 -5l-.5 .5"></path><path d="M14 10a3.5 3.5 0 0 0 -5 0l-4 4a3.5 3.5 0 0 0 5 5l.5 -.5"></path></svg></a></h3><div class="tsd-signature tsd-kind-icon">_arrange_<wbr/>end_<wbr/>declaration<span class="tsd-signature-symbol">:</span> <span class="tsd-signature-type">string</span><span class="tsd-signature-symbol">[]</span><span class="tsd-signature-symbol">[]</span></div><aside class="tsd-sources"><ul><li>Defined in <a href="https://github.com/StoneCypher/jssm/blob/0fe3acc/src/ts/jssm.ts#L715">jssm.ts:715</a></li></ul></aside></section><section class="tsd-panel tsd-member tsd-kind-property tsd-parent-kind-class"><a id="_arrange_start_declaration" class="tsd-anchor"></a><h3 class="tsd-anchor-link">_arrange_<wbr/>start_<wbr/>declaration<a href="#_arrange_start_declaration" aria-label="Permalink" class="tsd-anchor-icon"><svg xmlns="http://www.w3.org/2000/svg" class="icon icon-tabler icon-tabler-link" viewBox="0 0 24 24" stroke-width="2" stroke="currentColor" fill="none" stroke-linecap="round" stroke-linejoin="round"><path stroke="none" d="M0 0h24v24H0z" fill="none"></path><path d="M10 14a3.5 3.5 0 0 0 5 0l4 -4a3.5 3.5 0 0 0 -5 -5l-.5 .5"></path><path d="M14 10a3.5 3.5 0 0 0 -5 0l-4 4a3.5 3.5 0 0 0 5 5l.5 -.5"></path></svg></a></h3><div class="tsd-signature tsd-kind-icon">_arrange_<wbr/>start_<wbr/>declaration<span class="tsd-signature-symbol">:</span> <span class="tsd-signature-type">string</span><span class="tsd-signature-symbol">[]</span><span class="tsd-signature-symbol">[]</span></div><aside class="tsd-sources"><ul><li>Defined in <a href="https://github.com/StoneCypher/jssm/blob/0fe3acc/src/ts/jssm.ts#L714">jssm.ts:714</a></li></ul></aside></section><section class="tsd-panel tsd-member tsd-kind-property tsd-parent-kind-class"><a id="_dot_preamble" class="tsd-anchor"></a><h3 class="tsd-anchor-link">_dot_<wbr/>preamble<a href="#_dot_preamble" aria-label="Permalink" class="tsd-anchor-icon"><svg xmlns="http://www.w3.org/2000/svg" class="icon icon-tabler icon-tabler-link" viewBox="0 0 24 24" stroke-width="2" stroke="currentColor" fill="none" stroke-linecap="round" stroke-linejoin="round"><path stroke="none" d="M0 0h24v24H0z" fill="none"></path><path d="M10 14a3.5 3.5 0 0 0 5 0l4 -4a3.5 3.5 0 0 0 -5 -5l-.5 .5"></path><path d="M14 10a3.5 3.5 0 0 0 -5 0l-4 4a3.5 3.5 0 0 0 5 5l.5 -.5"></path></svg></a></h3><div class="tsd-signature tsd-kind-icon">_dot_<wbr/>preamble<span class="tsd-signature-symbol">:</span> <span class="tsd-signature-type">string</span></div><aside class="tsd-sources"><ul><li>Defined in <a href="https://github.com/StoneCypher/jssm/blob/0fe3acc/src/ts/jssm.ts#L712">jssm.ts:712</a></li></ul></aside></section><section class="tsd-panel tsd-member tsd-kind-property tsd-parent-kind-class"><a id="_edge_map" class="tsd-anchor"></a><h3 class="tsd-anchor-link">_edge_<wbr/>map<a href="#_edge_map" aria-label="Permalink" class="tsd-anchor-icon"><svg xmlns="http://www.w3.org/2000/svg" class="icon icon-tabler icon-tabler-link" viewBox="0 0 24 24" stroke-width="2" stroke="currentColor" fill="none" stroke-linecap="round" stroke-linejoin="round"><path stroke="none" d="M0 0h24v24H0z" fill="none"></path><path d="M10 14a3.5 3.5 0 0 0 5 0l4 -4a3.5 3.5 0 0 0 -5 -5l-.5 .5"></path><path d="M14 10a3.5 3.5 0 0 0 -5 0l-4 4a3.5 3.5 0 0 0 5 5l.5 -.5"></path></svg></a></h3><div class="tsd-signature tsd-kind-icon">_edge_<wbr/>map<span class="tsd-signature-symbol">:</span> <span class="tsd-signature-type">Map</span><span class="tsd-signature-symbol"><</span><span class="tsd-signature-type">string</span><span class="tsd-signature-symbol">, </span><span class="tsd-signature-type">Map</span><span class="tsd-signature-symbol"><</span><span class="tsd-signature-type">string</span><span class="tsd-signature-symbol">, </span><span class="tsd-signature-type">number</span><span class="tsd-signature-symbol">></span><span class="tsd-signature-symbol">></span></div><aside class="tsd-sources"><ul><li>Defined in <a href="https://github.com/StoneCypher/jssm/blob/0fe3acc/src/ts/jssm.ts#L691">jssm.ts:691</a></li></ul></aside></section><section class="tsd-panel tsd-member tsd-kind-property tsd-parent-kind-class"><a id="_edges" class="tsd-anchor"></a><h3 class="tsd-anchor-link">_edges<a href="#_edges" aria-label="Permalink" class="tsd-anchor-icon"><svg xmlns="http://www.w3.org/2000/svg" class="icon icon-tabler icon-tabler-link" viewBox="0 0 24 24" stroke-width="2" stroke="currentColor" fill="none" stroke-linecap="round" stroke-linejoin="round"><path stroke="none" d="M0 0h24v24H0z" fill="none"></path><path d="M10 14a3.5 3.5 0 0 0 5 0l4 -4a3.5 3.5 0 0 0 -5 -5l-.5 .5"></path><path d="M14 10a3.5 3.5 0 0 0 -5 0l-4 4a3.5 3.5 0 0 0 5 5l.5 -.5"></path></svg></a></h3><div class="tsd-signature tsd-kind-icon">_edges<span class="tsd-signature-symbol">:</span> <span class="tsd-signature-type">JssmTransition</span><span class="tsd-signature-symbol"><</span><span class="tsd-signature-type" data-tsd-kind="Type parameter">mDT</span><span class="tsd-signature-symbol">></span><span class="tsd-signature-symbol">[]</span></div><aside class="tsd-sources"><ul><li>Defined in <a href="https://github.com/StoneCypher/jssm/blob/0fe3acc/src/ts/jssm.ts#L690">jssm.ts:690</a></li></ul></aside></section><section class="tsd-panel tsd-member tsd-kind-property tsd-parent-kind-class"><a id="_entry_hooks" class="tsd-anchor"></a><h3 class="tsd-anchor-link">_entry_<wbr/>hooks<a href="#_entry_hooks" aria-label="Permalink" class="tsd-anchor-icon"><svg xmlns="http://www.w3.org/2000/svg" class="icon icon-tabler icon-tabler-link" viewBox="0 0 24 24" stroke-width="2" stroke="currentColor" fill="none" stroke-linecap="round" stroke-linejoin="round"><path stroke="none" d="M0 0h24v24H0z" fill="none"></path><path d="M10 14a3.5 3.5 0 0 0 5 0l4 -4a3.5 3.5 0 0 0 -5 -5l-.5 .5"></path><path d="M14 10a3.5 3.5 0 0 0 -5 0l-4 4a3.5 3.5 0 0 0 5 5l.5 -.5"></path></svg></a></h3><div class="tsd-signature tsd-kind-icon">_entry_<wbr/>hooks<span class="tsd-signature-symbol">:</span> <span class="tsd-signature-type">Map</span><span class="tsd-signature-symbol"><</span><span class="tsd-signature-type">string</span><span class="tsd-signature-symbol">, </span><span class="tsd-signature-type">Function</span><span class="tsd-signature-symbol">></span></div><aside class="tsd-sources"><ul><li>Defined in <a href="https://github.com/StoneCypher/jssm/blob/0fe3acc/src/ts/jssm.ts#L732">jssm.ts:732</a></li></ul></aside></section><section class="tsd-panel tsd-member tsd-kind-property tsd-parent-kind-class"><a id="_exit_hooks" class="tsd-anchor"></a><h3 class="tsd-anchor-link">_exit_<wbr/>hooks<a href="#_exit_hooks" aria-label="Permalink" class="tsd-anchor-icon"><svg xmlns="http://www.w3.org/2000/svg" class="icon icon-tabler icon-tabler-link" viewBox="0 0 24 24" stroke-width="2" stroke="currentColor" fill="none" stroke-linecap="round" stroke-linejoin="round"><path stroke="none" d="M0 0h24v24H0z" fill="none"></path><path d="M10 14a3.5 3.5 0 0 0 5 0l4 -4a3.5 3.5 0 0 0 -5 -5l-.5 .5"></path><path d="M14 10a3.5 3.5 0 0 0 -5 0l-4 4a3.5 3.5 0 0 0 5 5l.5 -.5"></path></svg></a></h3><div class="tsd-signature tsd-kind-icon">_exit_<wbr/>hooks<span class="tsd-signature-symbol">:</span> <span class="tsd-signature-type">Map</span><span class="tsd-signature-symbol"><</span><span class="tsd-signature-type">string</span><span class="tsd-signature-symbol">, </span><span class="tsd-signature-type">Function</span><span class="tsd-signature-symbol">></span></div><aside class="tsd-sources"><ul><li>Defined in <a href="https://github.com/StoneCypher/jssm/blob/0fe3acc/src/ts/jssm.ts#L733">jssm.ts:733</a></li></ul></aside></section><section class="tsd-panel tsd-member tsd-kind-property tsd-parent-kind-class"><a id="_flow" class="tsd-anchor"></a><h3 class="tsd-anchor-link">_flow<a href="#_flow" aria-label="Permalink" class="tsd-anchor-icon"><svg xmlns="http://www.w3.org/2000/svg" class="icon icon-tabler icon-tabler-link" viewBox="0 0 24 24" stroke-width="2" stroke="currentColor" fill="none" stroke-linecap="round" stroke-linejoin="round"><path stroke="none" d="M0 0h24v24H0z" fill="none"></path><path d="M10 14a3.5 3.5 0 0 0 5 0l4 -4a3.5 3.5 0 0 0 -5 -5l-.5 .5"></path><path d="M14 10a3.5 3.5 0 0 0 -5 0l-4 4a3.5 3.5 0 0 0 5 5l.5 -.5"></path></svg></a></h3><div class="tsd-signature tsd-kind-icon">_flow<span class="tsd-signature-symbol">:</span> <span class="tsd-signature-type">FslDirection</span></div><aside class="tsd-sources"><ul><li>Defined in <a href="https://github.com/StoneCypher/jssm/blob/0fe3acc/src/ts/jssm.ts#L718">jssm.ts:718</a></li></ul></aside></section><section class="tsd-panel tsd-member tsd-kind-property tsd-parent-kind-class"><a id="_forced_transition_hook" class="tsd-anchor"></a><h3 class="tsd-anchor-link">_forced_<wbr/>transition_<wbr/>hook<a href="#_forced_transition_hook" aria-label="Permalink" class="tsd-anchor-icon"><svg xmlns="http://www.w3.org/2000/svg" class="icon icon-tabler icon-tabler-link" viewBox="0 0 24 24" stroke-width="2" stroke="currentColor" fill="none" stroke-linecap="round" stroke-linejoin="round"><path stroke="none" d="M0 0h24v24H0z" fill="none"></path><path d="M10 14a3.5 3.5 0 0 0 5 0l4 -4a3.5 3.5 0 0 0 -5 -5l-.5 .5"></path><path d="M14 10a3.5 3.5 0 0 0 -5 0l-4 4a3.5 3.5 0 0 0 5 5l.5 -.5"></path></svg></a></h3><div class="tsd-signature tsd-kind-icon">_forced_<wbr/>transition_<wbr/>hook<span class="tsd-signature-symbol">:</span> <span class="tsd-signature-type">Function</span></div><aside class="tsd-sources"><ul><li>Defined in <a href="https://github.com/StoneCypher/jssm/blob/0fe3acc/src/ts/jssm.ts#L738">jssm.ts:738</a></li></ul></aside></section><section class="tsd-panel tsd-member tsd-kind-property tsd-parent-kind-class"><a id="_fsl_version" class="tsd-anchor"></a><h3 class="tsd-anchor-link"><span class="tsd-flag ts-flagOptional">Optional</span> _fsl_<wbr/>version<a href="#_fsl_version" aria-label="Permalink" class="tsd-anchor-icon"><svg xmlns="http://www.w3.org/2000/svg" class="icon icon-tabler icon-tabler-link" viewBox="0 0 24 24" stroke-width="2" stroke="currentColor" fill="none" stroke-linecap="round" stroke-linejoin="round"><path stroke="none" d="M0 0h24v24H0z" fill="none"></path><path d="M10 14a3.5 3.5 0 0 0 5 0l4 -4a3.5 3.5 0 0 0 -5 -5l-.5 .5"></path><path d="M14 10a3.5 3.5 0 0 0 -5 0l-4 4a3.5 3.5 0 0 0 5 5l.5 -.5"></path></svg></a></h3><div class="tsd-signature tsd-kind-icon">_fsl_<wbr/>version<span class="tsd-signature-symbol">?:</span> <span class="tsd-signature-type">string</span></div><aside class="tsd-sources"><ul><li>Defined in <a href="https://github.com/StoneCypher/jssm/blob/0fe3acc/src/ts/jssm.ts#L705">jssm.ts:705</a></li></ul></aside></section><section class="tsd-panel tsd-member tsd-kind-property tsd-parent-kind-class"><a id="_global_action_hooks" class="tsd-anchor"></a><h3 class="tsd-anchor-link">_global_<wbr/>action_<wbr/>hooks<a href="#_global_action_hooks" aria-label="Permalink" class="tsd-anchor-icon"><svg xmlns="http://www.w3.org/2000/svg" class="icon icon-tabler icon-tabler-link" viewBox="0 0 24 24" stroke-width="2" stroke="currentColor" fill="none" stroke-linecap="round" stroke-linejoin="round"><path stroke="none" d="M0 0h24v24H0z" fill="none"></path><path d="M10 14a3.5 3.5 0 0 0 5 0l4 -4a3.5 3.5 0 0 0 -5 -5l-.5 .5"></path><path d="M14 10a3.5 3.5 0 0 0 -5 0l-4 4a3.5 3.5 0 0 0 5 5l.5 -.5"></path></svg></a></h3><div class="tsd-signature tsd-kind-icon">_global_<wbr/>action_<wbr/>hooks<span class="tsd-signature-symbol">:</span> <span class="tsd-signature-type">Map</span><span class="tsd-signature-symbol"><</span><span class="tsd-signature-type">string</span><span class="tsd-signature-symbol">, </span><span class="tsd-signature-type">Function</span><span class="tsd-signature-symbol">></span></div><aside class="tsd-sources"><ul><li>Defined in <a href="https://github.com/StoneCypher/jssm/blob/0fe3acc/src/ts/jssm.ts#L734">jssm.ts:734</a></li></ul></aside></section><section class="tsd-panel tsd-member tsd-kind-property tsd-parent-kind-class"><a id="_graph_layout" class="tsd-anchor"></a><h3 class="tsd-anchor-link">_graph_<wbr/>layout<a href="#_graph_layout" aria-label="Permalink" class="tsd-anchor-icon"><svg xmlns="http://www.w3.org/2000/svg" class="icon icon-tabler icon-tabler-link" viewBox="0 0 24 24" stroke-width="2" stroke="currentColor" fill="none" stroke-linecap="round" stroke-linejoin="round"><path stroke="none" d="M0 0h24v24H0z" fill="none"></path><path d="M10 14a3.5 3.5 0 0 0 5 0l4 -4a3.5 3.5 0 0 0 -5 -5l-.5 .5"></path><path d="M14 10a3.5 3.5 0 0 0 -5 0l-4 4a3.5 3.5 0 0 0 5 5l.5 -.5"></path></svg></a></h3><div class="tsd-signature tsd-kind-icon">_graph_<wbr/>layout<span class="tsd-signature-symbol">:</span> <span class="tsd-signature-type">JssmLayout</span></div><aside class="tsd-sources"><ul><li>Defined in <a href="https://github.com/StoneCypher/jssm/blob/0fe3acc/src/ts/jssm.ts#L711">jssm.ts:711</a></li></ul></aside></section><section class="tsd-panel tsd-member tsd-kind-property tsd-parent-kind-class"><a id="_has_basic_hooks" class="tsd-anchor"></a><h3 class="tsd-anchor-link">_has_<wbr/>basic_<wbr/>hooks<a href="#_has_basic_hooks" aria-label="Permalink" class="tsd-anchor-icon"><svg xmlns="http://www.w3.org/2000/svg" class="icon icon-tabler icon-tabler-link" viewBox="0 0 24 24" stroke-width="2" stroke="currentColor" fill="none" stroke-linecap="round" stroke-linejoin="round"><path stroke="none" d="M0 0h24v24H0z" fill="none"></path><path d="M10 14a3.5 3.5 0 0 0 5 0l4 -4a3.5 3.5 0 0 0 -5 -5l-.5 .5"></path><path d="M14 10a3.5 3.5 0 0 0 -5 0l-4 4a3.5 3.5 0 0 0 5 5l.5 -.5"></path></svg></a></h3><div class="tsd-signature tsd-kind-icon">_has_<wbr/>basic_<wbr/>hooks<span class="tsd-signature-symbol">:</span> <span class="tsd-signature-type">boolean</span></div><aside class="tsd-sources"><ul><li>Defined in <a href="https://github.com/StoneCypher/jssm/blob/0fe3acc/src/ts/jssm.ts#L721">jssm.ts:721</a></li></ul></aside></section><section class="tsd-panel tsd-member tsd-kind-property tsd-parent-kind-class"><a id="_has_entry_hooks" class="tsd-anchor"></a><h3 class="tsd-anchor-link">_has_<wbr/>entry_<wbr/>hooks<a href="#_has_entry_hooks" aria-label="Permalink" class="tsd-anchor-icon"><svg xmlns="http://www.w3.org/2000/svg" class="icon icon-tabler icon-tabler-link" viewBox="0 0 24 24" stroke-width="2" stroke="currentColor" fill="none" stroke-linecap="round" stroke-linejoin="round"><path stroke="none" d="M0 0h24v24H0z" fill="none"></path><path d="M10 14a3.5 3.5 0 0 0 5 0l4 -4a3.5 3.5 0 0 0 -5 -5l-.5 .5"></path><path d="M14 10a3.5 3.5 0 0 0 -5 0l-4 4a3.5 3.5 0 0 0 5 5l.5 -.5"></path></svg></a></h3><div class="tsd-signature tsd-kind-icon">_has_<wbr/>entry_<wbr/>hooks<span class="tsd-signature-symbol">:</span> <span class="tsd-signature-type">boolean</span></div><aside class="tsd-sources"><ul><li>Defined in <a href="https://github.com/StoneCypher/jssm/blob/0fe3acc/src/ts/jssm.ts#L723">jssm.ts:723</a></li></ul></aside></section><section class="tsd-panel tsd-member tsd-kind-property tsd-parent-kind-class"><a id="_has_exit_hooks" class="tsd-anchor"></a><h3 class="tsd-anchor-link">_has_<wbr/>exit_<wbr/>hooks<a href="#_has_exit_hooks" aria-label="Permalink" class="tsd-anchor-icon"><svg xmlns="http://www.w3.org/2000/svg" class="icon icon-tabler icon-tabler-link" viewBox="0 0 24 24" stroke-width="2" stroke="currentColor" fill="none" stroke-linecap="round" stroke-linejoin="round"><path stroke="none" d="M0 0h24v24H0z" fill="none"></path><path d="M10 14a3.5 3.5 0 0 0 5 0l4 -4a3.5 3.5 0 0 0 -5 -5l-.5 .5"></path><path d="M14 10a3.5 3.5 0 0 0 -5 0l-4 4a3.5 3.5 0 0 0 5 5l.5 -.5"></path></svg></a></h3><div class="tsd-signature tsd-kind-icon">_has_<wbr/>exit_<wbr/>hooks<span class="tsd-signature-symbol">:</span> <span class="tsd-signature-type">boolean</span></div><aside class="tsd-sources"><ul><li>Defined in <a href="https://github.com/StoneCypher/jssm/blob/0fe3acc/src/ts/jssm.ts#L724">jssm.ts:724</a></li></ul></aside></section><section class="tsd-panel tsd-member tsd-kind-property tsd-parent-kind-class"><a id="_has_global_action_hooks" class="tsd-anchor"></a><h3 class="tsd-anchor-link">_has_<wbr/>global_<wbr/>action_<wbr/>hooks<a href="#_has_global_action_hooks" aria-label="Permalink" class="tsd-anchor-icon"><svg xmlns="http://www.w3.org/2000/svg" class="icon icon-tabler icon-tabler-link" viewBox="0 0 24 24" stroke-width="2" stroke="currentColor" fill="none" stroke-linecap="round" stroke-linejoin="round"><path stroke="none" d="M0 0h24v24H0z" fill="none"></path><path d="M10 14a3.5 3.5 0 0 0 5 0l4 -4a3.5 3.5 0 0 0 -5 -5l-.5 .5"></path><path d="M14 10a3.5 3.5 0 0 0 -5 0l-4 4a3.5 3.5 0 0 0 5 5l.5 -.5"></path></svg></a></h3><div class="tsd-signature tsd-kind-icon">_has_<wbr/>global_<wbr/>action_<wbr/>hooks<span class="tsd-signature-symbol">:</span> <span class="tsd-signature-type">boolean</span></div><aside class="tsd-sources"><ul><li>Defined in <a href="https://github.com/StoneCypher/jssm/blob/0fe3acc/src/ts/jssm.ts#L725">jssm.ts:725</a></li></ul></aside></section><section class="tsd-panel tsd-member tsd-kind-property tsd-parent-kind-class"><a id="_has_hooks" class="tsd-anchor"></a><h3 class="tsd-anchor-link">_has_<wbr/>hooks<a href="#_has_hooks" aria-label="Permalink" class="tsd-anchor-icon"><svg xmlns="http://www.w3.org/2000/svg" class="icon icon-tabler icon-tabler-link" viewBox="0 0 24 24" stroke-width="2" stroke="currentColor" fill="none" stroke-linecap="round" stroke-linejoin="round"><path stroke="none" d="M0 0h24v24H0z" fill="none"></path><path d="M10 14a3.5 3.5 0 0 0 5 0l4 -4a3.5 3.5 0 0 0 -5 -5l-.5 .5"></path><path d="M14 10a3.5 3.5 0 0 0 -5 0l-4 4a3.5 3.5 0 0 0 5 5l.5 -.5"></path></svg></a></h3><div class="tsd-signature tsd-kind-icon">_has_<wbr/>hooks<span class="tsd-signature-symbol">:</span> <span class="tsd-signature-type">boolean</span></div><aside class="tsd-sources"><ul><li>Defined in <a href="https://github.com/StoneCypher/jssm/blob/0fe3acc/src/ts/jssm.ts#L720">jssm.ts:720</a></li></ul></aside></section><section class="tsd-panel tsd-member tsd-kind-property tsd-parent-kind-class"><a id="_has_named_hooks" class="tsd-anchor"></a><h3 class="tsd-anchor-link">_has_<wbr/>named_<wbr/>hooks<a href="#_has_named_hooks" aria-label="Permalink" class="tsd-anchor-icon"><svg xmlns="http://www.w3.org/2000/svg" class="icon icon-tabler icon-tabler-link" viewBox="0 0 24 24" stroke-width="2" stroke="currentColor" fill="none" stroke-linecap="round" stroke-linejoin="round"><path stroke="none" d="M0 0h24v24H0z" fill="none"></path><path d="M10 14a3.5 3.5 0 0 0 5 0l4 -4a3.5 3.5 0 0 0 -5 -5l-.5 .5"></path><path d="M14 10a3.5 3.5 0 0 0 -5 0l-4 4a3.5 3.5 0 0 0 5 5l.5 -.5"></path></svg></a></h3><div class="tsd-signature tsd-kind-icon">_has_<wbr/>named_<wbr/>hooks<span class="tsd-signature-symbol">:</span> <span class="tsd-signature-type">boolean</span></div><aside class="tsd-sources"><ul><li>Defined in <a href="https://github.com/StoneCypher/jssm/blob/0fe3acc/src/ts/jssm.ts#L722">jssm.ts:722</a></li></ul></aside></section><section class="tsd-panel tsd-member tsd-kind-property tsd-parent-kind-class"><a id="_has_transition_hooks" class="tsd-anchor"></a><h3 class="tsd-anchor-link">_has_<wbr/>transition_<wbr/>hooks<a href="#_has_transition_hooks" aria-label="Permalink" class="tsd-anchor-icon"><svg xmlns="http://www.w3.org/2000/svg" class="icon icon-tabler icon-tabler-link" viewBox="0 0 24 24" stroke-width="2" stroke="currentColor" fill="none" stroke-linecap="round" stroke-linejoin="round"><path stroke="none" d="M0 0h24v24H0z" fill="none"></path><path d="M10 14a3.5 3.5 0 0 0 5 0l4 -4a3.5 3.5 0 0 0 -5 -5l-.5 .5"></path><path d="M14 10a3.5 3.5 0 0 0 -5 0l-4 4a3.5 3.5 0 0 0 5 5l.5 -.5"></path></svg></a></h3><div class="tsd-signature tsd-kind-icon">_has_<wbr/>transition_<wbr/>hooks<span class="tsd-signature-symbol">:</span> <span class="tsd-signature-type">boolean</span></div><aside class="tsd-sources"><ul><li>Defined in <a href="https://github.com/StoneCypher/jssm/blob/0fe3acc/src/ts/jssm.ts#L726">jssm.ts:726</a></li></ul></aside></section><section class="tsd-panel tsd-member tsd-kind-property tsd-parent-kind-class"><a id="_hooks" class="tsd-anchor"></a><h3 class="tsd-anchor-link">_hooks<a href="#_hooks" aria-label="Permalink" class="tsd-anchor-icon"><svg xmlns="http://www.w3.org/2000/svg" class="icon icon-tabler icon-tabler-link" viewBox="0 0 24 24" stroke-width="2" stroke="currentColor" fill="none" stroke-linecap="round" stroke-linejoin="round"><path stroke="none" d="M0 0h24v24H0z" fill="none"></path><path d="M10 14a3.5 3.5 0 0 0 5 0l4 -4a3.5 3.5 0 0 0 -5 -5l-.5 .5"></path><path d="M14 10a3.5 3.5 0 0 0 -5 0l-4 4a3.5 3.5 0 0 0 5 5l.5 -.5"></path></svg></a></h3><div class="tsd-signature tsd-kind-icon">_hooks<span class="tsd-signature-symbol">:</span> <span class="tsd-signature-type">Map</span><span class="tsd-signature-symbol"><</span><span class="tsd-signature-type">string</span><span class="tsd-signature-symbol">, </span><span class="tsd-signature-type">Function</span><span class="tsd-signature-symbol">></span></div><aside class="tsd-sources"><ul><li>Defined in <a href="https://github.com/StoneCypher/jssm/blob/0fe3acc/src/ts/jssm.ts#L730">jssm.ts:730</a></li></ul></aside></section><section class="tsd-panel tsd-member tsd-kind-property tsd-parent-kind-class"><a id="_instance_name" class="tsd-anchor"></a><h3 class="tsd-anchor-link">_instance_<wbr/>name<a href="#_instance_name" aria-label="Permalink" class="tsd-anchor-icon"><svg xmlns="http://www.w3.org/2000/svg" class="icon icon-tabler icon-tabler-link" viewBox="0 0 24 24" stroke-width="2" stroke="currentColor" fill="none" stroke-linecap="round" stroke-linejoin="round"><path stroke="none" d="M0 0h24v24H0z" fill="none"></path><path d="M10 14a3.5 3.5 0 0 0 5 0l4 -4a3.5 3.5 0 0 0 -5 -5l-.5 .5"></path><path d="M14 10a3.5 3.5 0 0 0 -5 0l-4 4a3.5 3.5 0 0 0 5 5l.5 -.5"></path></svg></a></h3><div class="tsd-signature tsd-kind-icon">_instance_<wbr/>name<span class="tsd-signature-symbol">:</span> <span class="tsd-signature-type">string</span></div><aside class="tsd-sources"><ul><li>Defined in <a href="https://github.com/StoneCypher/jssm/blob/0fe3acc/src/ts/jssm.ts#L709">jssm.ts:709</a></li></ul></aside></section><section class="tsd-panel tsd-member tsd-kind-property tsd-parent-kind-class"><a id="_machine_author" class="tsd-anchor"></a><h3 class="tsd-anchor-link"><span class="tsd-flag ts-flagOptional">Optional</span> _machine_<wbr/>author<a href="#_machine_author" aria-label="Permalink" class="tsd-anchor-icon"><svg xmlns="http://www.w3.org/2000/svg" class="icon icon-tabler icon-tabler-link" viewBox="0 0 24 24" stroke-width="2" stroke="currentColor" fill="none" stroke-linecap="round" stroke-linejoin="round"><path stroke="none" d="M0 0h24v24H0z" fill="none"></path><path d="M10 14a3.5 3.5 0 0 0 5 0l4 -4a3.5 3.5 0 0 0 -5 -5l-.5 .5"></path><path d="M14 10a3.5 3.5 0 0 0 -5 0l-4 4a3.5 3.5 0 0 0 5 5l.5 -.5"></path></svg></a></h3><div class="tsd-signature tsd-kind-icon">_machine_<wbr/>author<span class="tsd-signature-symbol">?:</span> <span class="tsd-signature-type">string</span><span class="tsd-signature-symbol">[]</span></div><aside class="tsd-sources"><ul><li>Defined in <a href="https://github.com/StoneCypher/jssm/blob/0fe3acc/src/ts/jssm.ts#L697">jssm.ts:697</a></li></ul></aside></section><section class="tsd-panel tsd-member tsd-kind-property tsd-parent-kind-class"><a id="_machine_comment" class="tsd-anchor"></a><h3 class="tsd-anchor-link"><span class="tsd-flag ts-flagOptional">Optional</span> _machine_<wbr/>comment<a href="#_machine_comment" aria-label="Permalink" class="tsd-anchor-icon"><svg xmlns="http://www.w3.org/2000/svg" class="icon icon-tabler icon-tabler-link" viewBox="0 0 24 24" stroke-width="2" stroke="currentColor" fill="none" stroke-linecap="round" stroke-linejoin="round"><path stroke="none" d="M0 0h24v24H0z" fill="none"></path><path d="M10 14a3.5 3.5 0 0 0 5 0l4 -4a3.5 3.5 0 0 0 -5 -5l-.5 .5"></path><path d="M14 10a3.5 3.5 0 0 0 -5 0l-4 4a3.5 3.5 0 0 0 5 5l.5 -.5"></path></svg></a></h3><div class="tsd-signature tsd-kind-icon">_machine_<wbr/>comment<span class="tsd-signature-symbol">?:</span> <span class="tsd-signature-type">string</span></div><aside class="tsd-sources"><ul><li>Defined in <a href="https://github.com/StoneCypher/jssm/blob/0fe3acc/src/ts/jssm.ts#L698">jssm.ts:698</a></li></ul></aside></section><section class="tsd-panel tsd-member tsd-kind-property tsd-parent-kind-class"><a id="_machine_contributor" class="tsd-anchor"></a><h3 class="tsd-anchor-link"><span class="tsd-flag ts-flagOptional">Optional</span> _machine_<wbr/>contributor<a href="#_machine_contributor" aria-label="Permalink" class="tsd-anchor-icon"><svg xmlns="http://www.w3.org/2000/svg" class="icon icon-tabler icon-tabler-link" viewBox="0 0 24 24" stroke-width="2" stroke="currentColor" fill="none" stroke-linecap="round" stroke-linejoin="round"><path stroke="none" d="M0 0h24v24H0z" fill="none"></path><path d="M10 14a3.5 3.5 0 0 0 5 0l4 -4a3.5 3.5 0 0 0 -5 -5l-.5 .5"></path><path d="M14 10a3.5 3.5 0 0 0 -5 0l-4 4a3.5 3.5 0 0 0 5 5l.5 -.5"></path></svg></a></h3><div class="tsd-signature tsd-kind-icon">_machine_<wbr/>contributor<span class="tsd-signature-symbol">?:</span> <span class="tsd-signature-type">string</span><span class="tsd-signature-symbol">[]</span></div><aside class="tsd-sources"><ul><li>Defined in <a href="https://github.com/StoneCypher/jssm/blob/0fe3acc/src/ts/jssm.ts#L699">jssm.ts:699</a></li></ul></aside></section><section class="tsd-panel tsd-member tsd-kind-property tsd-parent-kind-class"><a id="_machine_definition" class="tsd-anchor"></a><h3 class="tsd-anchor-link"><span class="tsd-flag ts-flagOptional">Optional</span> _machine_<wbr/>definition<a href="#_machine_definition" aria-label="Permalink" class="tsd-anchor-icon"><svg xmlns="http://www.w3.org/2000/svg" class="icon icon-tabler icon-tabler-link" viewBox="0 0 24 24" stroke-width="2" stroke="currentColor" fill="none" stroke-linecap="round" stroke-linejoin="round"><path stroke="none" d="M0 0h24v24H0z" fill="none"></path><path d="M10 14a3.5 3.5 0 0 0 5 0l4 -4a3.5 3.5 0 0 0 -5 -5l-.5 .5"></path><path d="M14 10a3.5 3.5 0 0 0 -5 0l-4 4a3.5 3.5 0 0 0 5 5l.5 -.5"></path></svg></a></h3><div class="tsd-signature tsd-kind-icon">_machine_<wbr/>definition<span class="tsd-signature-symbol">?:</span> <span class="tsd-signature-type">string</span></div><aside class="tsd-sources"><ul><li>Defined in <a href="https://github.com/StoneCypher/jssm/blob/0fe3acc/src/ts/jssm.ts#L700">jssm.ts:700</a></li></ul></aside></section><section class="tsd-panel tsd-member tsd-kind-property tsd-parent-kind-class"><a id="_machine_language" class="tsd-anchor"></a><h3 class="tsd-anchor-link"><span class="tsd-flag ts-flagOptional">Optional</span> _machine_<wbr/>language<a href="#_machine_language" aria-label="Permalink" class="tsd-anchor-icon"><svg xmlns="http://www.w3.org/2000/svg" class="icon icon-tabler icon-tabler-link" viewBox="0 0 24 24" stroke-width="2" stroke="currentColor" fill="none" stroke-linecap="round" stroke-linejoin="round"><path stroke="none" d="M0 0h24v24H0z" fill="none"></path><path d="M10 14a3.5 3.5 0 0 0 5 0l4 -4a3.5 3.5 0 0 0 -5 -5l-.5 .5"></path><path d="M14 10a3.5 3.5 0 0 0 -5 0l-4 4a3.5 3.5 0 0 0 5 5l.5 -.5"></path></svg></a></h3><div class="tsd-signature tsd-kind-icon">_machine_<wbr/>language<span class="tsd-signature-symbol">?:</span> <span class="tsd-signature-type">string</span></div><aside class="tsd-sources"><ul><li>Defined in <a href="https://github.com/StoneCypher/jssm/blob/0fe3acc/src/ts/jssm.ts#L701">jssm.ts:701</a></li></ul></aside></section><section class="tsd-panel tsd-member tsd-kind-property tsd-parent-kind-class"><a id="_machine_license" class="tsd-anchor"></a><h3 class="tsd-anchor-link"><span class="tsd-flag ts-flagOptional">Optional</span> _machine_<wbr/>license<a href="#_machine_license" aria-label="Permalink" class="tsd-anchor-icon"><svg xmlns="http://www.w3.org/2000/svg" class="icon icon-tabler icon-tabler-link" viewBox="0 0 24 24" stroke-width="2" stroke="currentColor" fill="none" stroke-linecap="round" stroke-linejoin="round"><path stroke="none" d="M0 0h24v24H0z" fill="none"></path><path d="M10 14a3.5 3.5 0 0 0 5 0l4 -4a3.5 3.5 0 0 0 -5 -5l-.5 .5"></path><path d="M14 10a3.5 3.5 0 0 0 -5 0l-4 4a3.5 3.5 0 0 0 5 5l.5 -.5"></path></svg></a></h3><div class="tsd-signature tsd-kind-icon">_machine_<wbr/>license<span class="tsd-signature-symbol">?:</span> <span class="tsd-signature-type">string</span></div><aside class="tsd-sources"><ul><li>Defined in <a href="https://github.com/StoneCypher/jssm/blob/0fe3acc/src/ts/jssm.ts#L702">jssm.ts:702</a></li></ul></aside></section><section class="tsd-panel tsd-member tsd-kind-property tsd-parent-kind-class"><a id="_machine_name" class="tsd-anchor"></a><h3 class="tsd-anchor-link"><span class="tsd-flag ts-flagOptional">Optional</span> _machine_<wbr/>name<a href="#_machine_name" aria-label="Permalink" class="tsd-anchor-icon"><svg xmlns="http://www.w3.org/2000/svg" class="icon icon-tabler icon-tabler-link" viewBox="0 0 24 24" stroke-width="2" stroke="currentColor" fill="none" stroke-linecap="round" stroke-linejoin="round"><path stroke="none" d="M0 0h24v24H0z" fill="none"></path><path d="M10 14a3.5 3.5 0 0 0 5 0l4 -4a3.5 3.5 0 0 0 -5 -5l-.5 .5"></path><path d="M14 10a3.5 3.5 0 0 0 -5 0l-4 4a3.5 3.5 0 0 0 5 5l.5 -.5"></path></svg></a></h3><div class="tsd-signature tsd-kind-icon">_machine_<wbr/>name<span class="tsd-signature-symbol">?:</span> <span class="tsd-signature-type">string</span></div><aside class="tsd-sources"><ul><li>Defined in <a href="https://github.com/StoneCypher/jssm/blob/0fe3acc/src/ts/jssm.ts#L703">jssm.ts:703</a></li></ul></aside></section><section class="tsd-panel tsd-member tsd-kind-property tsd-parent-kind-class"><a id="_machine_version" class="tsd-anchor"></a><h3 class="tsd-anchor-link"><span class="tsd-flag ts-flagOptional">Optional</span> _machine_<wbr/>version<a href="#_machine_version" aria-label="Permalink" class="tsd-anchor-icon"><svg xmlns="http://www.w3.org/2000/svg" class="icon icon-tabler icon-tabler-link" viewBox="0 0 24 24" stroke-width="2" stroke="currentColor" fill="none" stroke-linecap="round" stroke-linejoin="round"><path stroke="none" d="M0 0h24v24H0z" fill="none"></path><path d="M10 14a3.5 3.5 0 0 0 5 0l4 -4a3.5 3.5 0 0 0 -5 -5l-.5 .5"></path><path d="M14 10a3.5 3.5 0 0 0 -5 0l-4 4a3.5 3.5 0 0 0 5 5l.5 -.5"></path></svg></a></h3><div class="tsd-signature tsd-kind-icon">_machine_<wbr/>version<span class="tsd-signature-symbol">?:</span> <span class="tsd-signature-type">string</span></div><aside class="tsd-sources"><ul><li>Defined in <a href="https://github.com/StoneCypher/jssm/blob/0fe3acc/src/ts/jssm.ts#L704">jssm.ts:704</a></li></ul></aside></section><section class="tsd-panel tsd-member tsd-kind-property tsd-parent-kind-class"><a id="_main_transition_hook" class="tsd-anchor"></a><h3 class="tsd-anchor-link">_main_<wbr/>transition_<wbr/>hook<a href="#_main_transition_hook" aria-label="Permalink" class="tsd-anchor-icon"><svg xmlns="http://www.w3.org/2000/svg" class="icon icon-tabler icon-tabler-link" viewBox="0 0 24 24" stroke-width="2" stroke="currentColor" fill="none" stroke-linecap="round" stroke-linejoin="round"><path stroke="none" d="M0 0h24v24H0z" fill="none"></path><path d="M10 14a3.5 3.5 0 0 0 5 0l4 -4a3.5 3.5 0 0 0 -5 -5l-.5 .5"></path><path d="M14 10a3.5 3.5 0 0 0 -5 0l-4 4a3.5 3.5 0 0 0 5 5l.5 -.5"></path></svg></a></h3><div class="tsd-signature tsd-kind-icon">_main_<wbr/>transition_<wbr/>hook<span class="tsd-signature-symbol">:</span> <span class="tsd-signature-type">Function</span></div><aside class="tsd-sources"><ul><li>Defined in <a href="https://github.com/StoneCypher/jssm/blob/0fe3acc/src/ts/jssm.ts#L737">jssm.ts:737</a></li></ul></aside></section><section class="tsd-panel tsd-member tsd-kind-property tsd-parent-kind-class"><a id="_named_hooks" class="tsd-anchor"></a><h3 class="tsd-anchor-link">_named_<wbr/>hooks<a href="#_named_hooks" aria-label="Permalink" class="tsd-anchor-icon"><svg xmlns="http://www.w3.org/2000/svg" class="icon icon-tabler icon-tabler-link" viewBox="0 0 24 24" stroke-width="2" stroke="currentColor" fill="none" stroke-linecap="round" stroke-linejoin="round"><path stroke="none" d="M0 0h24v24H0z" fill="none"></path><path d="M10 14a3.5 3.5 0 0 0 5 0l4 -4a3.5 3.5 0 0 0 -5 -5l-.5 .5"></path><path d="M14 10a3.5 3.5 0 0 0 -5 0l-4 4a3.5 3.5 0 0 0 5 5l.5 -.5"></path></svg></a></h3><div class="tsd-signature tsd-kind-icon">_named_<wbr/>hooks<span class="tsd-signature-symbol">:</span> <span class="tsd-signature-type">Map</span><span class="tsd-signature-symbol"><</span><span class="tsd-signature-type">string</span><span class="tsd-signature-symbol">, </span><span class="tsd-signature-type">Function</span><span class="tsd-signature-symbol">></span></div><aside class="tsd-sources"><ul><li>Defined in <a href="https://github.com/StoneCypher/jssm/blob/0fe3acc/src/ts/jssm.ts#L731">jssm.ts:731</a></li></ul></aside></section><section class="tsd-panel tsd-member tsd-kind-property tsd-parent-kind-class"><a id="_named_transitions" class="tsd-anchor"></a><h3 class="tsd-anchor-link">_named_<wbr/>transitions<a href="#_named_transitions" aria-label="Permalink" class="tsd-anchor-icon"><svg xmlns="http://www.w3.org/2000/svg" class="icon icon-tabler icon-tabler-link" viewBox="0 0 24 24" stroke-width="2" stroke="currentColor" fill="none" stroke-linecap="round" stroke-linejoin="round"><path stroke="none" d="M0 0h24v24H0z" fill="none"></path><path d="M10 14a3.5 3.5 0 0 0 5 0l4 -4a3.5 3.5 0 0 0 -5 -5l-.5 .5"></path><path d="M14 10a3.5 3.5 0 0 0 -5 0l-4 4a3.5 3.5 0 0 0 5 5l.5 -.5"></path></svg></a></h3><div class="tsd-signature tsd-kind-icon">_named_<wbr/>transitions<span class="tsd-signature-symbol">:</span> <span class="tsd-signature-type">Map</span><span class="tsd-signature-symbol"><</span><span class="tsd-signature-type">string</span><span class="tsd-signature-symbol">, </span><span class="tsd-signature-type">number</span><span class="tsd-signature-symbol">></span></div><aside class="tsd-sources"><ul><li>Defined in <a href="https://github.com/StoneCypher/jssm/blob/0fe3acc/src/ts/jssm.ts#L692">jssm.ts:692</a></li></ul></aside></section><section class="tsd-panel tsd-member tsd-kind-property tsd-parent-kind-class"><a id="_raw_state_declaration" class="tsd-anchor"></a><h3 class="tsd-anchor-link"><span class="tsd-flag ts-flagOptional">Optional</span> _raw_<wbr/>state_<wbr/>declaration<a href="#_raw_state_declaration" aria-label="Permalink" class="tsd-anchor-icon"><svg xmlns="http://www.w3.org/2000/svg" class="icon icon-tabler icon-tabler-link" viewBox="0 0 24 24" stroke-width="2" stroke="currentColor" fill="none" stroke-linecap="round" stroke-linejoin="round"><path stroke="none" d="M0 0h24v24H0z" fill="none"></path><path d="M10 14a3.5 3.5 0 0 0 5 0l4 -4a3.5 3.5 0 0 0 -5 -5l-.5 .5"></path><path d="M14 10a3.5 3.5 0 0 0 -5 0l-4 4a3.5 3.5 0 0 0 5 5l.5 -.5"></path></svg></a></h3><div class="tsd-signature tsd-kind-icon">_raw_<wbr/>state_<wbr/>declaration<span class="tsd-signature-symbol">?:</span> <span class="tsd-signature-type">Object</span><span class="tsd-signature-symbol">[]</span></div><aside class="tsd-sources"><ul><li>Defined in <a href="https://github.com/StoneCypher/jssm/blob/0fe3acc/src/ts/jssm.ts#L706">jssm.ts:706</a></li></ul></aside></section><section class="tsd-panel tsd-member tsd-kind-property tsd-parent-kind-class"><a id="_reverse_action_targets" class="tsd-anchor"></a><h3 class="tsd-anchor-link">_reverse_<wbr/>action_<wbr/>targets<a href="#_reverse_action_targets" aria-label="Permalink" class="tsd-anchor-icon"><svg xmlns="http://www.w3.org/2000/svg" class="icon icon-tabler icon-tabler-link" viewBox="0 0 24 24" stroke-width="2" stroke="currentColor" fill="none" stroke-linecap="round" stroke-linejoin="round"><path stroke="none" d="M0 0h24v24H0z" fill="none"></path><path d="M10 14a3.5 3.5 0 0 0 5 0l4 -4a3.5 3.5 0 0 0 -5 -5l-.5 .5"></path><path d="M14 10a3.5 3.5 0 0 0 -5 0l-4 4a3.5 3.5 0 0 0 5 5l.5 -.5"></path></svg></a></h3><div class="tsd-signature tsd-kind-icon">_reverse_<wbr/>action_<wbr/>targets<span class="tsd-signature-symbol">:</span> <span class="tsd-signature-type">Map</span><span class="tsd-signature-symbol"><</span><span class="tsd-signature-type">string</span><span class="tsd-signature-symbol">, </span><span class="tsd-signature-type">Map</span><span class="tsd-signature-symbol"><</span><span class="tsd-signature-type">string</span><span class="tsd-signature-symbol">, </span><span class="tsd-signature-type">number</span><span class="tsd-signature-symbol">></span><span class="tsd-signature-symbol">></span></div><aside class="tsd-sources"><ul><li>Defined in <a href="https://github.com/StoneCypher/jssm/blob/0fe3acc/src/ts/jssm.ts#L695">jssm.ts:695</a></li></ul></aside></section><section class="tsd-panel tsd-member tsd-kind-property tsd-parent-kind-class"><a id="_reverse_actions" class="tsd-anchor"></a><h3 class="tsd-anchor-link">_reverse_<wbr/>actions<a href="#_reverse_actions" aria-label="Permalink" class="tsd-anchor-icon"><svg xmlns="http://www.w3.org/2000/svg" class="icon icon-tabler icon-tabler-link" viewBox="0 0 24 24" stroke-width="2" stroke="currentColor" fill="none" stroke-linecap="round" stroke-linejoin="round"><path stroke="none" d="M0 0h24v24H0z" fill="none"></path><path d="M10 14a3.5 3.5 0 0 0 5 0l4 -4a3.5 3.5 0 0 0 -5 -5l-.5 .5"></path><path d="M14 10a3.5 3.5 0 0 0 -5 0l-4 4a3.5 3.5 0 0 0 5 5l.5 -.5"></path></svg></a></h3><div class="tsd-signature tsd-kind-icon">_reverse_<wbr/>actions<span class="tsd-signature-symbol">:</span> <span class="tsd-signature-type">Map</span><span class="tsd-signature-symbol"><</span><span class="tsd-signature-type">string</span><span class="tsd-signature-symbol">, </span><span class="tsd-signature-type">Map</span><span class="tsd-signature-symbol"><</span><span class="tsd-signature-type">string</span><span class="tsd-signature-symbol">, </span><span class="tsd-signature-type">number</span><span class="tsd-signature-symbol">></span><span class="tsd-signature-symbol">></span></div><aside class="tsd-sources"><ul><li>Defined in <a href="https://github.com/StoneCypher/jssm/blob/0fe3acc/src/ts/jssm.ts#L694">jssm.ts:694</a></li></ul></aside></section><section class="tsd-panel tsd-member tsd-kind-property tsd-parent-kind-class"><a id="_standard_transition_hook" class="tsd-anchor"></a><h3 class="tsd-anchor-link">_standard_<wbr/>transition_<wbr/>hook<a href="#_standard_transition_hook" aria-label="Permalink" class="tsd-anchor-icon"><svg xmlns="http://www.w3.org/2000/svg" class="icon icon-tabler icon-tabler-link" viewBox="0 0 24 24" stroke-width="2" stroke="currentColor" fill="none" stroke-linecap="round" stroke-linejoin="round"><path stroke="none" d="M0 0h24v24H0z" fill="none"></path><path d="M10 14a3.5 3.5 0 0 0 5 0l4 -4a3.5 3.5 0 0 0 -5 -5l-.5 .5"></path><path d="M14 10a3.5 3.5 0 0 0 -5 0l-4 4a3.5 3.5 0 0 0 5 5l.5 -.5"></path></svg></a></h3><div class="tsd-signature tsd-kind-icon">_standard_<wbr/>transition_<wbr/>hook<span class="tsd-signature-symbol">:</span> <span class="tsd-signature-type">Function</span></div><aside class="tsd-sources"><ul><li>Defined in <a href="https://github.com/StoneCypher/jssm/blob/0fe3acc/src/ts/jssm.ts#L736">jssm.ts:736</a></li></ul></aside></section><section class="tsd-panel tsd-member tsd-kind-property tsd-parent-kind-class"><a id="_state" class="tsd-anchor"></a><h3 class="tsd-anchor-link">_state<a href="#_state" aria-label="Permalink" class="tsd-anchor-icon"><svg xmlns="http://www.w3.org/2000/svg" class="icon icon-tabler icon-tabler-link" viewBox="0 0 24 24" stroke-width="2" stroke="currentColor" fill="none" stroke-linecap="round" stroke-linejoin="round"><path stroke="none" d="M0 0h24v24H0z" fill="none"></path><path d="M10 14a3.5 3.5 0 0 0 5 0l4 -4a3.5 3.5 0 0 0 -5 -5l-.5 .5"></path><path d="M14 10a3.5 3.5 0 0 0 -5 0l-4 4a3.5 3.5 0 0 0 5 5l.5 -.5"></path></svg></a></h3><div class="tsd-signature tsd-kind-icon">_state<span class="tsd-signature-symbol">:</span> <span class="tsd-signature-type">string</span></div><aside class="tsd-sources"><ul><li>Defined in <a href="https://github.com/StoneCypher/jssm/blob/0fe3acc/src/ts/jssm.ts#L688">jssm.ts:688</a></li></ul></aside></section><section class="tsd-panel tsd-member tsd-kind-property tsd-parent-kind-class"><a id="_state_declarations" class="tsd-anchor"></a><h3 class="tsd-anchor-link">_state_<wbr/>declarations<a href="#_state_declarations" aria-label="Permalink" class="tsd-anchor-icon"><svg xmlns="http://www.w3.org/2000/svg" class="icon icon-tabler icon-tabler-link" viewBox="0 0 24 24" stroke-width="2" stroke="currentColor" fill="none" stroke-linecap="round" stroke-linejoin="round"><path stroke="none" d="M0 0h24v24H0z" fill="none"></path><path d="M10 14a3.5 3.5 0 0 0 5 0l4 -4a3.5 3.5 0 0 0 -5 -5l-.5 .5"></path><path d="M14 10a3.5 3.5 0 0 0 -5 0l-4 4a3.5 3.5 0 0 0 5 5l.5 -.5"></path></svg></a></h3><div class="tsd-signature tsd-kind-icon">_state_<wbr/>declarations<span class="tsd-signature-symbol">:</span> <span class="tsd-signature-type">Map</span><span class="tsd-signature-symbol"><</span><span class="tsd-signature-type">string</span><span class="tsd-signature-symbol">, </span><span class="tsd-signature-type">JssmStateDeclaration</span><span class="tsd-signature-symbol">></span></div><aside class="tsd-sources"><ul><li>Defined in <a href="https://github.com/StoneCypher/jssm/blob/0fe3acc/src/ts/jssm.ts#L707">jssm.ts:707</a></li></ul></aside></section><section class="tsd-panel tsd-member tsd-kind-property tsd-parent-kind-class"><a id="_states" class="tsd-anchor"></a><h3 class="tsd-anchor-link">_states<a href="#_states" aria-label="Permalink" class="tsd-anchor-icon"><svg xmlns="http://www.w3.org/2000/svg" class="icon icon-tabler icon-tabler-link" viewBox="0 0 24 24" stroke-width="2" stroke="currentColor" fill="none" stroke-linecap="round" stroke-linejoin="round"><path stroke="none" d="M0 0h24v24H0z" fill="none"></path><path d="M10 14a3.5 3.5 0 0 0 5 0l4 -4a3.5 3.5 0 0 0 -5 -5l-.5 .5"></path><path d="M14 10a3.5 3.5 0 0 0 -5 0l-4 4a3.5 3.5 0 0 0 5 5l.5 -.5"></path></svg></a></h3><div class="tsd-signature tsd-kind-icon">_states<span class="tsd-signature-symbol">:</span> <span class="tsd-signature-type">Map</span><span class="tsd-signature-symbol"><</span><span class="tsd-signature-type">string</span><span class="tsd-signature-symbol">, </span><span class="tsd-signature-type">JssmGenericState</span><span class="tsd-signature-symbol">></span></div><aside class="tsd-sources"><ul><li>Defined in <a href="https://github.com/StoneCypher/jssm/blob/0fe3acc/src/ts/jssm.ts#L689">jssm.ts:689</a></li></ul></aside></section><section class="tsd-panel tsd-member tsd-kind-property tsd-parent-kind-class"><a id="_theme" class="tsd-anchor"></a><h3 class="tsd-anchor-link">_theme<a href="#_theme" aria-label="Permalink" class="tsd-anchor-icon"><svg xmlns="http://www.w3.org/2000/svg" class="icon icon-tabler icon-tabler-link" viewBox="0 0 24 24" stroke-width="2" stroke="currentColor" fill="none" stroke-linecap="round" stroke-linejoin="round"><path stroke="none" d="M0 0h24v24H0z" fill="none"></path><path d="M10 14a3.5 3.5 0 0 0 5 0l4 -4a3.5 3.5 0 0 0 -5 -5l-.5 .5"></path><path d="M14 10a3.5 3.5 0 0 0 -5 0l-4 4a3.5 3.5 0 0 0 5 5l.5 -.5"></path></svg></a></h3><div class="tsd-signature tsd-kind-icon">_theme<span class="tsd-signature-symbol">:</span> <span class="tsd-signature-type">FslTheme</span></div><aside class="tsd-sources"><ul><li>Defined in <a href="https://github.com/StoneCypher/jssm/blob/0fe3acc/src/ts/jssm.ts#L717">jssm.ts:717</a></li></ul></aside></section></section><section class="tsd-panel-group tsd-member-group "><h2>Methods</h2><section class="tsd-panel tsd-member tsd-kind-method tsd-parent-kind-class"><a id="_new_state" class="tsd-anchor"></a><h3 class="tsd-anchor-link">_new_<wbr/>state<a href="#_new_state" aria-label="Permalink" class="tsd-anchor-icon"><svg xmlns="http://www.w3.org/2000/svg" class="icon icon-tabler icon-tabler-link" viewBox="0 0 24 24" stroke-width="2" stroke="currentColor" fill="none" stroke-linecap="round" stroke-linejoin="round"><path stroke="none" d="M0 0h24v24H0z" fill="none"></path><path d="M10 14a3.5 3.5 0 0 0 5 0l4 -4a3.5 3.5 0 0 0 -5 -5l-.5 .5"></path><path d="M14 10a3.5 3.5 0 0 0 -5 0l-4 4a3.5 3.5 0 0 0 5 5l.5 -.5"></path></svg></a></h3><ul class="tsd-signatures tsd-kind-method tsd-parent-kind-class"><li class="tsd-signature tsd-kind-icon">_new_<wbr/>state<span class="tsd-signature-symbol">(</span>state_config<span class="tsd-signature-symbol">: </span><span class="tsd-signature-type">JssmGenericState</span><span class="tsd-signature-symbol">)</span><span class="tsd-signature-symbol">: </span><span class="tsd-signature-type">string</span></li></ul><ul class="tsd-descriptions"><li class="tsd-description"><aside class="tsd-sources"><ul><li>Defined in <a href="https://github.com/StoneCypher/jssm/blob/0fe3acc/src/ts/jssm.ts#L954">jssm.ts:954</a></li></ul></aside><div class="tsd-comment tsd-typography"><div class="lead">
<p> Internal method for fabricating states. Not meant for external use.</p>
</div><dl class="tsd-comment-tags"><dt>internal</dt><dd></dd></dl></div><h4 class="tsd-parameters-title">Parameters</h4><ul class="tsd-parameters"><li><h5>state_config: <span class="tsd-signature-type">JssmGenericState</span></h5></li></ul><h4 class="tsd-returns-title">Returns <span class="tsd-signature-type">string</span></h4></li></ul></section><section class="tsd-panel tsd-member tsd-kind-method tsd-parent-kind-class"><a id="action" class="tsd-anchor"></a><h3 class="tsd-anchor-link">action<a href="#action" aria-label="Permalink" class="tsd-anchor-icon"><svg xmlns="http://www.w3.org/2000/svg" class="icon icon-tabler icon-tabler-link" viewBox="0 0 24 24" stroke-width="2" stroke="currentColor" fill="none" stroke-linecap="round" stroke-linejoin="round"><path stroke="none" d="M0 0h24v24H0z" fill="none"></path><path d="M10 14a3.5 3.5 0 0 0 5 0l4 -4a3.5 3.5 0 0 0 -5 -5l-.5 .5"></path><path d="M14 10a3.5 3.5 0 0 0 -5 0l-4 4a3.5 3.5 0 0 0 5 5l.5 -.5"></path></svg></a></h3><ul class="tsd-signatures tsd-kind-method tsd-parent-kind-class"><li class="tsd-signature tsd-kind-icon">action<span class="tsd-signature-symbol">(</span>actionName<span class="tsd-signature-symbol">: </span><span class="tsd-signature-type">string</span>, newData<span class="tsd-signature-symbol">?: </span><span class="tsd-signature-type" data-tsd-kind="Type parameter">mDT</span><span class="tsd-signature-symbol">)</span><span class="tsd-signature-symbol">: </span><span class="tsd-signature-type">boolean</span></li></ul><ul class="tsd-descriptions"><li class="tsd-description"><aside class="tsd-sources"><ul><li>Defined in <a href="https://github.com/StoneCypher/jssm/blob/0fe3acc/src/ts/jssm.ts#L1966">jssm.ts:1966</a></li></ul></aside><div class="tsd-comment tsd-typography"><div class="lead">
<p> Instruct the machine to complete an action.</p>
</div><div><pre><code class="language-typescript"><span class="hl-7">const</span><span class="hl-1"> </span><span class="hl-8">light</span><span class="hl-1"> = </span><span class="hl-4">sm</span><span class="hl-3">`red 'next' -> green 'next' -> yellow 'next' -> red; [red yellow green] 'shutdown' ~> off 'start' -> red;`</span><span class="hl-1">;</span><br/><br/><span class="hl-2">light</span><span class="hl-1">.</span><span class="hl-4">state</span><span class="hl-1">(); </span><span class="hl-6">// 'red'</span><br/><span class="hl-2">light</span><span class="hl-1">.</span><span class="hl-4">action</span><span class="hl-1">(</span><span class="hl-3">'next'</span><span class="hl-1">); </span><span class="hl-6">// true</span><br/><span class="hl-2">light</span><span class="hl-1">.</span><span class="hl-4">state</span><span class="hl-1">(); </span><span class="hl-6">// 'green'</span>
</code></pre>
</div></div><h4 class="tsd-parameters-title">Parameters</h4><ul class="tsd-parameters"><li><h5>actionName: <span class="tsd-signature-type">string</span></h5><div class="tsd-comment tsd-typography"><div class="lead">
<p>The action to engage</p>
</div></div></li><li><h5><span class="tsd-flag ts-flagOptional">Optional</span> newData: <span class="tsd-signature-type" data-tsd-kind="Type parameter">mDT</span></h5><div class="tsd-comment tsd-typography"><div class="lead">
<p>The data change to insert during the action</p>
</div></div></li></ul><h4 class="tsd-returns-title">Returns <span class="tsd-signature-type">boolean</span></h4></li></ul></section><section class="tsd-panel tsd-member tsd-kind-method tsd-parent-kind-class"><a id="actions" class="tsd-anchor"></a><h3 class="tsd-anchor-link">actions<a href="#actions" aria-label="Permalink" class="tsd-anchor-icon"><svg xmlns="http://www.w3.org/2000/svg" class="icon icon-tabler icon-tabler-link" viewBox="0 0 24 24" stroke-width="2" stroke="currentColor" fill="none" stroke-linecap="round" stroke-linejoin="round"><path stroke="none" d="M0 0h24v24H0z" fill="none"></path><path d="M10 14a3.5 3.5 0 0 0 5 0l4 -4a3.5 3.5 0 0 0 -5 -5l-.5 .5"></path><path d="M14 10a3.5 3.5 0 0 0 -5 0l-4 4a3.5 3.5 0 0 0 5 5l.5 -.5"></path></svg></a></h3><ul class="tsd-signatures tsd-kind-method tsd-parent-kind-class"><li class="tsd-signature tsd-kind-icon">actions<span class="tsd-signature-symbol">(</span>whichState<span class="tsd-signature-symbol">?: </span><span class="tsd-signature-type">string</span><span class="tsd-signature-symbol">)</span><span class="tsd-signature-symbol">: </span><span class="tsd-signature-type">string</span><span class="tsd-signature-symbol">[]</span></li></ul><ul class="tsd-descriptions"><li class="tsd-description"><aside class="tsd-sources"><ul><li>Defined in <a href="https://github.com/StoneCypher/jssm/blob/0fe3acc/src/ts/jssm.ts#L1452">jssm.ts:1452</a></li></ul></aside><div class="tsd-comment tsd-typography"><div class="lead">
<p> List all actions available from this state. Please note that the order of
the actions is not guaranteed.</p>
</div><div><pre><code class="language-typescript"><span class="hl-0">import</span><span class="hl-1"> { </span><span class="hl-2">sm</span><span class="hl-1"> } </span><span class="hl-0">from</span><span class="hl-1"> </span><span class="hl-3">'jssm'</span><span class="hl-1">;</span><br/><br/><span class="hl-7">const</span><span class="hl-1"> </span><span class="hl-8">machine</span><span class="hl-1"> = </span><span class="hl-4">sm</span><span class="hl-3">`</span><br/><span class="hl-3"> red 'next' -> green 'next' -> yellow 'next' -> red;</span><br/><span class="hl-3"> [red yellow green] 'shutdown' ~> off 'start' -> red;</span><br/><span class="hl-3">`</span><span class="hl-1">;</span><br/><br/><span class="hl-2">console</span><span class="hl-1">.</span><span class="hl-4">log</span><span class="hl-1">( </span><span class="hl-2">machine</span><span class="hl-1">.</span><span class="hl-4">state</span><span class="hl-1">() ); </span><span class="hl-6">// logs 'red'</span><br/><span class="hl-2">console</span><span class="hl-1">.</span><span class="hl-4">log</span><span class="hl-1">( </span><span class="hl-2">machine</span><span class="hl-1">.</span><span class="hl-4">actions</span><span class="hl-1">() ); </span><span class="hl-6">// logs ['next', 'shutdown']</span><br/><br/><span class="hl-2">machine</span><span class="hl-1">.</span><span class="hl-4">action</span><span class="hl-1">(</span><span class="hl-3">'next'</span><span class="hl-1">); </span><span class="hl-6">// true</span><br/><span class="hl-2">console</span><span class="hl-1">.</span><span class="hl-4">log</span><span class="hl-1">( </span><span class="hl-2">machine</span><span class="hl-1">.</span><span class="hl-4">state</span><span class="hl-1">() ); </span><span class="hl-6">// logs 'green'</span><br/><span class="hl-2">console</span><span class="hl-1">.</span><span class="hl-4">log</span><span class="hl-1">( </span><span class="hl-2">machine</span><span class="hl-1">.</span><span class="hl-4">actions</span><span class="hl-1">() ); </span><span class="hl-6">// logs ['next', 'shutdown']</span><br/><br/><span class="hl-2">machine</span><span class="hl-1">.</span><span class="hl-4">action</span><span class="hl-1">(</span><span class="hl-3">'shutdown'</span><span class="hl-1">); </span><span class="hl-6">// true</span><br/><span class="hl-2">console</span><span class="hl-1">.</span><span class="hl-4">log</span><span class="hl-1">( </span><span class="hl-2">machine</span><span class="hl-1">.</span><span class="hl-4">state</span><span class="hl-1">() ); </span><span class="hl-6">// logs 'off'</span><br/><span class="hl-2">console</span><span class="hl-1">.</span><span class="hl-4">log</span><span class="hl-1">( </span><span class="hl-2">machine</span><span class="hl-1">.</span><span class="hl-4">actions</span><span class="hl-1">() ); </span><span class="hl-6">// logs ['start']</span><br/><br/><span class="hl-2">machine</span><span class="hl-1">.</span><span class="hl-4">action</span><span class="hl-1">(</span><span class="hl-3">'start'</span><span class="hl-1">); </span><span class="hl-6">// true</span><br/><span class="hl-2">console</span><span class="hl-1">.</span><span class="hl-4">log</span><span class="hl-1">( </span><span class="hl-2">machine</span><span class="hl-1">.</span><span class="hl-4">state</span><span class="hl-1">() ); </span><span class="hl-6">// logs 'red'</span><br/><span class="hl-2">console</span><span class="hl-1">.</span><span class="hl-4">log</span><span class="hl-1">( </span><span class="hl-2">machine</span><span class="hl-1">.</span><span class="hl-4">actions</span><span class="hl-1">() ); </span><span class="hl-6">// logs ['next', 'shutdown']</span>
</code></pre>
</div></div><h4 class="tsd-parameters-title">Parameters</h4><ul class="tsd-parameters"><li><h5>whichState: <span class="tsd-signature-type">string</span><span class="tsd-signature-symbol"> = ...</span></h5><div class="tsd-comment tsd-typography"><div class="lead">
<p>The state whose actions to have listed</p>
</div></div></li></ul><h4 class="tsd-returns-title">Returns <span class="tsd-signature-type">string</span><span class="tsd-signature-symbol">[]</span></h4></li></ul></section><section class="tsd-panel tsd-member tsd-kind-method tsd-parent-kind-class"><a id="current_action_edge_for" class="tsd-anchor"></a><h3 class="tsd-anchor-link">current_<wbr/>action_<wbr/>edge_<wbr/>for<a href="#current_action_edge_for" aria-label="Permalink" class="tsd-anchor-icon"><svg xmlns="http://www.w3.org/2000/svg" class="icon icon-tabler icon-tabler-link" viewBox="0 0 24 24" stroke-width="2" stroke="currentColor" fill="none" stroke-linecap="round" stroke-linejoin="round"><path stroke="none" d="M0 0h24v24H0z" fill="none"></path><path d="M10 14a3.5 3.5 0 0 0 5 0l4 -4a3.5 3.5 0 0 0 -5 -5l-.5 .5"></path><path d="M14 10a3.5 3.5 0 0 0 -5 0l-4 4a3.5 3.5 0 0 0 5 5l.5 -.5"></path></svg></a></h3><ul class="tsd-signatures tsd-kind-method tsd-parent-kind-class"><li class="tsd-signature tsd-kind-icon">current_<wbr/>action_<wbr/>edge_<wbr/>for<span class="tsd-signature-symbol">(</span>action<span class="tsd-signature-symbol">: </span><span class="tsd-signature-type">string</span><span class="tsd-signature-symbol">)</span><span class="tsd-signature-symbol">: </span><span class="tsd-signature-type">JssmTransition</span><span class="tsd-signature-symbol"><</span><span class="tsd-signature-type" data-tsd-kind="Type parameter">mDT</span><span class="tsd-signature-symbol">></span></li></ul><ul class="tsd-descriptions"><li class="tsd-description"><aside class="tsd-sources"><ul><li>Defined in <a href="https://github.com/StoneCypher/jssm/blob/0fe3acc/src/ts/jssm.ts#L2040">jssm.ts:2040</a></li></ul></aside><h4 class="tsd-parameters-title">Parameters</h4><ul class="tsd-parameters"><li><h5>action: <span class="tsd-signature-type">string</span></h5></li></ul><h4 class="tsd-returns-title">Returns <span class="tsd-signature-type">JssmTransition</span><span class="tsd-signature-symbol"><</span><span class="tsd-signature-type" data-tsd-kind="Type parameter">mDT</span><span class="tsd-signature-symbol">></span></h4></li></ul></section><section class="tsd-panel tsd-member tsd-kind-method tsd-parent-kind-class"><a id="current_action_for" class="tsd-anchor"></a><h3 class="tsd-anchor-link">current_<wbr/>action_<wbr/>for<a href="#current_action_for" aria-label="Permalink" class="tsd-anchor-icon"><svg xmlns="http://www.w3.org/2000/svg" class="icon icon-tabler icon-tabler-link" viewBox="0 0 24 24" stroke-width="2" stroke="currentColor" fill="none" stroke-linecap="round" stroke-linejoin="round"><path stroke="none" d="M0 0h24v24H0z" fill="none"></path><path d="M10 14a3.5 3.5 0 0 0 5 0l4 -4a3.5 3.5 0 0 0 -5 -5l-.5 .5"></path><path d="M14 10a3.5 3.5 0 0 0 -5 0l-4 4a3.5 3.5 0 0 0 5 5l.5 -.5"></path></svg></a></h3><ul class="tsd-signatures tsd-kind-method tsd-parent-kind-class"><li class="tsd-signature tsd-kind-icon">current_<wbr/>action_<wbr/>for<span class="tsd-signature-symbol">(</span>action<span class="tsd-signature-symbol">: </span><span class="tsd-signature-type">string</span><span class="tsd-signature-symbol">)</span><span class="tsd-signature-symbol">: </span><span class="tsd-signature-type">number</span></li></ul><ul class="tsd-descriptions"><li class="tsd-description"><aside class="tsd-sources"><ul><li>Defined in <a href="https://github.com/StoneCypher/jssm/blob/0fe3acc/src/ts/jssm.ts#L2033">jssm.ts:2033</a></li></ul></aside><h4 class="tsd-parameters-title">Parameters</h4><ul class="tsd-parameters"><li><h5>action: <span class="tsd-signature-type">string</span></h5></li></ul><h4 class="tsd-returns-title">Returns <span class="tsd-signature-type">number</span></h4></li></ul></section><section class="tsd-panel tsd-member tsd-kind-method tsd-parent-kind-class"><a id="dot_preamble" class="tsd-anchor"></a><h3 class="tsd-anchor-link">dot_<wbr/>preamble<a href="#dot_preamble" aria-label="Permalink" class="tsd-anchor-icon"><svg xmlns="http://www.w3.org/2000/svg" class="icon icon-tabler icon-tabler-link" viewBox="0 0 24 24" stroke-width="2" stroke="currentColor" fill="none" stroke-linecap="round" stroke-linejoin="round"><path stroke="none" d="M0 0h24v24H0z" fill="none"></path><path d="M10 14a3.5 3.5 0 0 0 5 0l4 -4a3.5 3.5 0 0 0 -5 -5l-.5 .5"></path><path d="M14 10a3.5 3.5 0 0 0 -5 0l-4 4a3.5 3.5 0 0 0 5 5l.5 -.5"></path></svg></a></h3><ul class="tsd-signatures tsd-kind-method tsd-parent-kind-class"><li class="tsd-signature tsd-kind-icon">dot_<wbr/>preamble<span class="tsd-signature-symbol">(</span><span class="tsd-signature-symbol">)</span><span class="tsd-signature-symbol">: </span><span class="tsd-signature-type">string</span></li></ul><ul class="tsd-descriptions"><li class="tsd-description"><aside class="tsd-sources"><ul><li>Defined in <a href="https://github.com/StoneCypher/jssm/blob/0fe3acc/src/ts/jssm.ts#L1062">jssm.ts:1062</a></li></ul></aside><h4 class="tsd-returns-title">Returns <span class="tsd-signature-type">string</span></h4></li></ul></section><section class="tsd-panel tsd-member tsd-kind-method tsd-parent-kind-class"><a id="edges_between" class="tsd-anchor"></a><h3 class="tsd-anchor-link">edges_<wbr/>between<a href="#edges_between" aria-label="Permalink" class="tsd-anchor-icon"><svg xmlns="http://www.w3.org/2000/svg" class="icon icon-tabler icon-tabler-link" viewBox="0 0 24 24" stroke-width="2" stroke="currentColor" fill="none" stroke-linecap="round" stroke-linejoin="round"><path stroke="none" d="M0 0h24v24H0z" fill="none"></path><path d="M10 14a3.5 3.5 0 0 0 5 0l4 -4a3.5 3.5 0 0 0 -5 -5l-.5 .5"></path><path d="M14 10a3.5 3.5 0 0 0 -5 0l-4 4a3.5 3.5 0 0 0 5 5l.5 -.5"></path></svg></a></h3><ul class="tsd-signatures tsd-kind-method tsd-parent-kind-class"><li class="tsd-signature tsd-kind-icon">edges_<wbr/>between<span class="tsd-signature-symbol">(</span>from<span class="tsd-signature-symbol">: </span><span class="tsd-signature-type">string</span>, to<span class="tsd-signature-symbol">: </span><span class="tsd-signature-type">string</span><span class="tsd-signature-symbol">)</span><span class="tsd-signature-symbol">: </span><span class="tsd-signature-type">JssmTransition</span><span class="tsd-signature-symbol"><</span><span class="tsd-signature-type" data-tsd-kind="Type parameter">mDT</span><span class="tsd-signature-symbol">></span><span class="tsd-signature-symbol">[]</span></li></ul><ul class="tsd-descriptions"><li class="tsd-description"><aside class="tsd-sources"><ul><li>Defined in <a href="https://github.com/StoneCypher/jssm/blob/0fe3acc/src/ts/jssm.ts#L1773">jssm.ts:1773</a></li></ul></aside><h4 class="tsd-parameters-title">Parameters</h4><ul class="tsd-parameters"><li><h5>from: <span class="tsd-signature-type">string</span></h5></li><li><h5>to: <span class="tsd-signature-type">string</span></h5></li></ul><h4 class="tsd-returns-title">Returns <span class="tsd-signature-type">JssmTransition</span><span class="tsd-signature-symbol"><</span><span class="tsd-signature-type" data-tsd-kind="Type parameter">mDT</span><span class="tsd-signature-symbol">></span><span class="tsd-signature-symbol">[]</span></h4></li></ul></section><section class="tsd-panel tsd-member tsd-kind-method tsd-parent-kind-class"><a id="flow" class="tsd-anchor"></a><h3 class="tsd-anchor-link">flow<a href="#flow" aria-label="Permalink" class="tsd-anchor-icon"><svg xmlns="http://www.w3.org/2000/svg" class="icon icon-tabler icon-tabler-link" viewBox="0 0 24 24" stroke-width="2" stroke="currentColor" fill="none" stroke-linecap="round" stroke-linejoin="round"><path stroke="none" d="M0 0h24v24H0z" fill="none"></path><path d="M10 14a3.5 3.5 0 0 0 5 0l4 -4a3.5 3.5 0 0 0 -5 -5l-.5 .5"></path><path d="M14 10a3.5 3.5 0 0 0 -5 0l-4 4a3.5 3.5 0 0 0 5 5l.5 -.5"></path></svg></a></h3><ul class="tsd-signatures tsd-kind-method tsd-parent-kind-class"><li class="tsd-signature tsd-kind-icon">flow<span class="tsd-signature-symbol">(</span><span class="tsd-signature-symbol">)</span><span class="tsd-signature-symbol">: </span><span class="tsd-signature-type">FslDirection</span></li></ul><ul class="tsd-descriptions"><li class="tsd-description"><aside class="tsd-sources"><ul><li>Defined in <a href="https://github.com/StoneCypher/jssm/blob/0fe3acc/src/ts/jssm.ts#L1260">jssm.ts:1260</a></li></ul></aside><h4 class="tsd-returns-title">Returns <span class="tsd-signature-type">FslDirection</span></h4></li></ul></section><section class="tsd-panel tsd-member tsd-kind-method tsd-parent-kind-class"><a id="force_transition" class="tsd-anchor"></a><h3 class="tsd-anchor-link">force_<wbr/>transition<a href="#force_transition" aria-label="Permalink" class="tsd-anchor-icon"><svg xmlns="http://www.w3.org/2000/svg" class="icon icon-tabler icon-tabler-link" viewBox="0 0 24 24" stroke-width="2" stroke="currentColor" fill="none" stroke-linecap="round" stroke-linejoin="round"><path stroke="none" d="M0 0h24v24H0z" fill="none"></path><path d="M10 14a3.5 3.5 0 0 0 5 0l4 -4a3.5 3.5 0 0 0 -5 -5l-.5 .5"></path><path d="M14 10a3.5 3.5 0 0 0 -5 0l-4 4a3.5 3.5 0 0 0 5 5l.5 -.5"></path></svg></a></h3><ul class="tsd-signatures tsd-kind-method tsd-parent-kind-class"><li class="tsd-signature tsd-kind-icon">force_<wbr/>transition<span class="tsd-signature-symbol">(</span>newState<span class="tsd-signature-symbol">: </span><span class="tsd-signature-type">string</span>, newData<span class="tsd-signature-symbol">?: </span><span class="tsd-signature-type" data-tsd-kind="Type parameter">mDT</span><span class="tsd-signature-symbol">)</span><span class="tsd-signature-symbol">: </span><span class="tsd-signature-type">boolean</span></li></ul><ul class="tsd-descriptions"><li class="tsd-description"><aside class="tsd-sources"><ul><li>Defined in <a href="https://github.com/StoneCypher/jssm/blob/0fe3acc/src/ts/jssm.ts#L2025">jssm.ts:2025</a></li></ul></aside><div class="tsd-comment tsd-typography"><div class="lead">
<p> Instruct the machine to complete a forced transition (which will reject if
called with a normal <a href="Machine.html#transition">transition</a> call.)</p>
</div><div><pre><code class="language-typescript"><span class="hl-7">const</span><span class="hl-1"> </span><span class="hl-8">light</span><span class="hl-1"> = </span><span class="hl-4">sm</span><span class="hl-3">`red -> green -> yellow -> red; [red yellow green] 'shutdown' ~> off 'start' -> red;`</span><span class="hl-1">;</span><br/><br/><span class="hl-2">light</span><span class="hl-1">.</span><span class="hl-4">state</span><span class="hl-1">(); </span><span class="hl-6">// 'red'</span><br/><span class="hl-2">light</span><span class="hl-1">.</span><span class="hl-4">transition</span><span class="hl-1">(</span><span class="hl-3">'off'</span><span class="hl-1">); </span><span class="hl-6">// false</span><br/><span class="hl-2">light</span><span class="hl-1">.</span><span class="hl-4">state</span><span class="hl-1">(); </span><span class="hl-6">// 'red'</span><br/><span class="hl-2">light</span><span class="hl-1">.</span><span class="hl-4">force_transition</span><span class="hl-1">(</span><span class="hl-3">'off'</span><span class="hl-1">); </span><span class="hl-6">// true</span><br/><span class="hl-2">light</span><span class="hl-1">.</span><span class="hl-4">state</span><span class="hl-1">(); </span><span class="hl-6">// 'off'</span>
</code></pre>
</div></div><h4 class="tsd-parameters-title">Parameters</h4><ul class="tsd-parameters"><li><h5>newState: <span class="tsd-signature-type">string</span></h5><div class="tsd-comment tsd-typography"><div class="lead">
<p>The state to switch to</p>
</div></div></li><li><h5><span class="tsd-flag ts-flagOptional">Optional</span> newData: <span class="tsd-signature-type" data-tsd-kind="Type parameter">mDT</span></h5><div class="tsd-comment tsd-typography"><div class="lead">
<p>The data change to insert during the transition</p>
</div></div></li></ul><h4 class="tsd-returns-title">Returns <span class="tsd-signature-type">boolean</span></h4></li></ul></section><section class="tsd-panel tsd-member tsd-kind-method tsd-parent-kind-class"><a id="fsl_version" class="tsd-anchor"></a><h3 class="tsd-anchor-link">fsl_<wbr/>version<a href="#fsl_version" aria-label="Permalink" class="tsd-anchor-icon"><svg xmlns="http://www.w3.org/2000/svg" class="icon icon-tabler icon-tabler-link" viewBox="0 0 24 24" stroke-width="2" stroke="currentColor" fill="none" stroke-linecap="round" stroke-linejoin="round"><path stroke="none" d="M0 0h24v24H0z" fill="none"></path><path d="M10 14a3.5 3.5 0 0 0 5 0l4 -4a3.5 3.5 0 0 0 -5 -5l-.5 .5"></path><path d="M14 10a3.5 3.5 0 0 0 -5 0l-4 4a3.5 3.5 0 0 0 5 5l.5 -.5"></path></svg></a></h3><ul class="tsd-signatures tsd-kind-method tsd-parent-kind-class"><li class="tsd-signature tsd-kind-icon">fsl_<wbr/>version<span class="tsd-signature-symbol">(</span><span class="tsd-signature-symbol">)</span><span class="tsd-signature-symbol">: </span><span class="tsd-signature-type">string</span></li></ul><ul class="tsd-descriptions"><li class="tsd-description"><aside class="tsd-sources"><ul><li>Defined in <a href="https://github.com/StoneCypher/jssm/blob/0fe3acc/src/ts/jssm.ts#L1112">jssm.ts:1112</a></li></ul></aside><h4 class="tsd-returns-title">Returns <span class="tsd-signature-type">string</span></h4></li></ul></section><section class="tsd-panel tsd-member tsd-kind-method tsd-parent-kind-class"><a id="get_transition_by_state_names" class="tsd-anchor"></a><h3 class="tsd-anchor-link">get_<wbr/>transition_<wbr/>by_<wbr/>state_<wbr/>names<a href="#get_transition_by_state_names" aria-label="Permalink" class="tsd-anchor-icon"><svg xmlns="http://www.w3.org/2000/svg" class="icon icon-tabler icon-tabler-link" viewBox="0 0 24 24" stroke-width="2" stroke="currentColor" fill="none" stroke-linecap="round" stroke-linejoin="round"><path stroke="none" d="M0 0h24v24H0z" fill="none"></path><path d="M10 14a3.5 3.5 0 0 0 5 0l4 -4a3.5 3.5 0 0 0 -5 -5l-.5 .5"></path><path d="M14 10a3.5 3.5 0 0 0 -5 0l-4 4a3.5 3.5 0 0 0 5 5l.5 -.5"></path></svg></a></h3><ul class="tsd-signatures tsd-kind-method tsd-parent-kind-class"><li class="tsd-signature tsd-kind-icon">get_<wbr/>transition_<wbr/>by_<wbr/>state_<wbr/>names<span class="tsd-signature-symbol">(</span>from<span class="tsd-signature-symbol">: </span><span class="tsd-signature-type">string</span>, to<span class="tsd-signature-symbol">: </span><span class="tsd-signature-type">string</span><span class="tsd-signature-symbol">)</span><span class="tsd-signature-symbol">: </span><span class="tsd-signature-type">number</span></li></ul><ul class="tsd-descriptions"><li class="tsd-description"><aside class="tsd-sources"><ul><li>Defined in <a href="https://github.com/StoneCypher/jssm/blob/0fe3acc/src/ts/jssm.ts#L1266">jssm.ts:1266</a></li></ul></aside><h4 class="tsd-parameters-title">Parameters</h4><ul class="tsd-parameters"><li><h5>from: <span class="tsd-signature-type">string</span></h5></li><li><h5>to: <span class="tsd-signature-type">string</span></h5></li></ul><h4 class="tsd-returns-title">Returns <span class="tsd-signature-type">number</span></h4></li></ul></section><section class="tsd-panel tsd-member tsd-kind-method tsd-parent-kind-class"><a id="graph_layout" class="tsd-anchor"></a><h3 class="tsd-anchor-link">graph_<wbr/>layout<a href="#graph_layout" aria-label="Permalink" class="tsd-anchor-icon"><svg xmlns="http://www.w3.org/2000/svg" class="icon icon-tabler icon-tabler-link" viewBox="0 0 24 24" stroke-width="2" stroke="currentColor" fill="none" stroke-linecap="round" stroke-linejoin="round"><path stroke="none" d="M0 0h24v24H0z" fill="none"></path><path d="M10 14a3.5 3.5 0 0 0 5 0l4 -4a3.5 3.5 0 0 0 -5 -5l-.5 .5"></path><path d="M14 10a3.5 3.5 0 0 0 -5 0l-4 4a3.5 3.5 0 0 0 5 5l.5 -.5"></path></svg></a></h3><ul class="tsd-signatures tsd-kind-method tsd-parent-kind-class"><li class="tsd-signature tsd-kind-icon">graph_<wbr/>layout<span class="tsd-signature-symbol">(</span><span class="tsd-signature-symbol">)</span><span class="tsd-signature-symbol">: </span><span class="tsd-signature-type">string</span></li></ul><ul class="tsd-descriptions"><li class="tsd-description"><aside class="tsd-sources"><ul><li>Defined in <a href="https://github.com/StoneCypher/jssm/blob/0fe3acc/src/ts/jssm.ts#L1058">jssm.ts:1058</a></li></ul></aside><h4 class="tsd-returns-title">Returns <span class="tsd-signature-type">string</span></h4></li></ul></section><section class="tsd-panel tsd-member tsd-kind-method tsd-parent-kind-class"><a id="has_completes" class="tsd-anchor"></a><h3 class="tsd-anchor-link">has_<wbr/>completes<a href="#has_completes" aria-label="Permalink" class="tsd-anchor-icon"><svg xmlns="http://www.w3.org/2000/svg" class="icon icon-tabler icon-tabler-link" viewBox="0 0 24 24" stroke-width="2" stroke="currentColor" fill="none" stroke-linecap="round" stroke-linejoin="round"><path stroke="none" d="M0 0h24v24H0z" fill="none"></path><path d="M10 14a3.5 3.5 0 0 0 5 0l4 -4a3.5 3.5 0 0 0 -5 -5l-.5 .5"></path><path d="M14 10a3.5 3.5 0 0 0 -5 0l-4 4a3.5 3.5 0 0 0 5 5l.5 -.5"></path></svg></a></h3><ul class="tsd-signatures tsd-kind-method tsd-parent-kind-class"><li class="tsd-signature tsd-kind-icon">has_<wbr/>completes<span class="tsd-signature-symbol">(</span><span class="tsd-signature-symbol">)</span><span class="tsd-signature-symbol">: </span><span class="tsd-signature-type">boolean</span></li></ul><ul class="tsd-descriptions"><li class="tsd-description"><aside class="tsd-sources"><ul><li>Defined in <a href="https://github.com/StoneCypher/jssm/blob/0fe3acc/src/ts/jssm.ts#L1589">jssm.ts:1589</a></li></ul></aside><h4 class="tsd-returns-title">Returns <span class="tsd-signature-type">boolean</span></h4></li></ul></section><section class="tsd-panel tsd-member tsd-kind-method tsd-parent-kind-class"><a id="has_state" class="tsd-anchor"></a><h3 class="tsd-anchor-link">has_<wbr/>state<a href="#has_state" aria-label="Permalink" class="tsd-anchor-icon"><svg xmlns="http://www.w3.org/2000/svg" class="icon icon-tabler icon-tabler-link" viewBox="0 0 24 24" stroke-width="2" stroke="currentColor" fill="none" stroke-linecap="round" stroke-linejoin="round"><path stroke="none" d="M0 0h24v24H0z" fill="none"></path><path d="M10 14a3.5 3.5 0 0 0 5 0l4 -4a3.5 3.5 0 0 0 -5 -5l-.5 .5"></path><path d="M14 10a3.5 3.5 0 0 0 -5 0l-4 4a3.5 3.5 0 0 0 5 5l.5 -.5"></path></svg></a></h3><ul class="tsd-signatures tsd-kind-method tsd-parent-kind-class"><li class="tsd-signature tsd-kind-icon">has_<wbr/>state<span class="tsd-signature-symbol">(</span>whichState<span class="tsd-signature-symbol">: </span><span class="tsd-signature-type">string</span><span class="tsd-signature-symbol">)</span><span class="tsd-signature-symbol">: </span><span class="tsd-signature-type">boolean</span></li></ul><ul class="tsd-descriptions"><li class="tsd-description"><aside class="tsd-sources"><ul><li>Defined in <a href="https://github.com/StoneCypher/jssm/blob/0fe3acc/src/ts/jssm.ts#L1200">jssm.ts:1200</a></li></ul></aside><div class="tsd-comment tsd-typography"><div class="lead">
<p> Check whether the machine knows a given state.</p>
</div><div><pre><code class="language-typescript"><span class="hl-0">import</span><span class="hl-1"> </span><span class="hl-7">*</span><span class="hl-1"> </span><span class="hl-0">as</span><span class="hl-1"> </span><span class="hl-2">jssm</span><span class="hl-1"> </span><span class="hl-0">from</span><span class="hl-1"> </span><span class="hl-3">'jssm'</span><span class="hl-1">;</span><br/><br/><span class="hl-7">const</span><span class="hl-1"> </span><span class="hl-8">switch</span><span class="hl-1"> = </span><span class="hl-2">jssm</span><span class="hl-1">.</span><span class="hl-4">from</span><span class="hl-1">(</span><span class="hl-3">'on <=> off;'</span><span class="hl-1">);</span><br/><br/><span class="hl-2">console</span><span class="hl-1">.</span><span class="hl-4">log</span><span class="hl-1">( </span><span class="hl-2">switch</span><span class="hl-1">.</span><span class="hl-4">has_state</span><span class="hl-1">(</span><span class="hl-3">'off'</span><span class="hl-1">) ); </span><span class="hl-6">// true</span><br/><span class="hl-2">console</span><span class="hl-1">.</span><span class="hl-4">log</span><span class="hl-1">( </span><span class="hl-2">switch</span><span class="hl-1">.</span><span class="hl-4">has_state</span><span class="hl-1">(</span><span class="hl-3">'dance'</span><span class="hl-1">) ); </span><span class="hl-6">// false</span>
</code></pre>
</div></div><h4 class="tsd-parameters-title">Parameters</h4><ul class="tsd-parameters"><li><h5>whichState: <span class="tsd-signature-type">string</span></h5><div class="tsd-comment tsd-typography"><div class="lead">
<p>The state to be checked for extance</p>
</div></div></li></ul><h4 class="tsd-returns-title">Returns <span class="tsd-signature-type">boolean</span></h4></li></ul></section><section class="tsd-panel tsd-member tsd-kind-method tsd-parent-kind-class"><a id="has_terminals" class="tsd-anchor"></a><h3 class="tsd-anchor-link">has_<wbr/>terminals<a href="#has_terminals" aria-label="Permalink" class="tsd-anchor-icon"><svg xmlns="http://www.w3.org/2000/svg" class="icon icon-tabler icon-tabler-link" viewBox="0 0 24 24" stroke-width="2" stroke="currentColor" fill="none" stroke-linecap="round" stroke-linejoin="round"><path stroke="none" d="M0 0h24v24H0z" fill="none"></path><path d="M10 14a3.5 3.5 0 0 0 5 0l4 -4a3.5 3.5 0 0 0 -5 -5l-.5 .5"></path><path d="M14 10a3.5 3.5 0 0 0 -5 0l-4 4a3.5 3.5 0 0 0 5 5l.5 -.5"></path></svg></a></h3><ul class="tsd-signatures tsd-kind-method tsd-parent-kind-class"><li class="tsd-signature tsd-kind-icon">has_<wbr/>terminals<span class="tsd-signature-symbol">(</span><span class="tsd-signature-symbol">)</span><span class="tsd-signature-symbol">: </span><span class="tsd-signature-type">boolean</span></li></ul><ul class="tsd-descriptions"><li class="tsd-description"><aside class="tsd-sources"><ul><li>Defined in <a href="https://github.com/StoneCypher/jssm/blob/0fe3acc/src/ts/jssm.ts#L1573">jssm.ts:1573</a></li></ul></aside><h4 class="tsd-returns-title">Returns <span class="tsd-signature-type">boolean</span></h4></li></ul></section><section class="tsd-panel tsd-member tsd-kind-method tsd-parent-kind-class"><a id="has_unenterables" class="tsd-anchor"></a><h3 class="tsd-anchor-link">has_<wbr/>unenterables<a href="#has_unenterables" aria-label="Permalink" class="tsd-anchor-icon"><svg xmlns="http://www.w3.org/2000/svg" class="icon icon-tabler icon-tabler-link" viewBox="0 0 24 24" stroke-width="2" stroke="currentColor" fill="none" stroke-linecap="round" stroke-linejoin="round"><path stroke="none" d="M0 0h24v24H0z" fill="none"></path><path d="M10 14a3.5 3.5 0 0 0 5 0l4 -4a3.5 3.5 0 0 0 -5 -5l-.5 .5"></path><path d="M14 10a3.5 3.5 0 0 0 -5 0l-4 4a3.5 3.5 0 0 0 5 5l.5 -.5"></path></svg></a></h3><ul class="tsd-signatures tsd-kind-method tsd-parent-kind-class"><li class="tsd-signature tsd-kind-icon">has_<wbr/>unenterables<span class="tsd-signature-symbol">(</span><span class="tsd-signature-symbol">)</span><span class="tsd-signature-symbol">: </span><span class="tsd-signature-type">boolean</span></li></ul><ul class="tsd-descriptions"><li class="tsd-description"><aside class="tsd-sources"><ul><li>Defined in <a href="https://github.com/StoneCypher/jssm/blob/0fe3acc/src/ts/jssm.ts#L1557">jssm.ts:1557</a></li></ul></aside><h4 class="tsd-returns-title">Returns <span class="tsd-signature-type">boolean</span></h4></li></ul></section><section class="tsd-panel tsd-member tsd-kind-method tsd-parent-kind-class"><a id="hook" class="tsd-anchor"></a><h3 class="tsd-anchor-link">hook<a href="#hook" aria-label="Permalink" class="tsd-anchor-icon"><svg xmlns="http://www.w3.org/2000/svg" class="icon icon-tabler icon-tabler-link" viewBox="0 0 24 24" stroke-width="2" stroke="currentColor" fill="none" stroke-linecap="round" stroke-linejoin="round"><path stroke="none" d="M0 0h24v24H0z" fill="none"></path><path d="M10 14a3.5 3.5 0 0 0 5 0l4 -4a3.5 3.5 0 0 0 -5 -5l-.5 .5"></path><path d="M14 10a3.5 3.5 0 0 0 -5 0l-4 4a3.5 3.5 0 0 0 5 5l.5 -.5"></path></svg></a></h3><ul class="tsd-signatures tsd-kind-method tsd-parent-kind-class"><li class="tsd-signature tsd-kind-icon">hook<span class="tsd-signature-symbol">(</span>from<span class="tsd-signature-symbol">: </span><span class="tsd-signature-type">string</span>, to<span class="tsd-signature-symbol">: </span><span class="tsd-signature-type">string</span>, handler<span class="tsd-signature-symbol">: </span><span class="tsd-signature-type">Function</span><span class="tsd-signature-symbol">)</span><span class="tsd-signature-symbol">: </span><a href="Machine.html" class="tsd-signature-type" data-tsd-kind="Class">Machine</a><span class="tsd-signature-symbol"><</span><span class="tsd-signature-type" data-tsd-kind="Type parameter">mDT</span><span class="tsd-signature-symbol">></span></li></ul><ul class="tsd-descriptions"><li class="tsd-description"><aside class="tsd-sources"><ul><li>Defined in <a href="https://github.com/StoneCypher/jssm/blob/0fe3acc/src/ts/jssm.ts#L1667">jssm.ts:1667</a></li></ul></aside><h4 class="tsd-parameters-title">Parameters</h4><ul class="tsd-parameters"><li><h5>from: <span class="tsd-signature-type">string</span></h5></li><li><h5>to: <span class="tsd-signature-type">string</span></h5></li><li><h5>handler: <span class="tsd-signature-type">Function</span></h5></li></ul><h4 class="tsd-returns-title">Returns <a href="Machine.html" class="tsd-signature-type" data-tsd-kind="Class">Machine</a><span class="tsd-signature-symbol"><</span><span class="tsd-signature-type" data-tsd-kind="Type parameter">mDT</span><span class="tsd-signature-symbol">></span></h4></li></ul></section><section class="tsd-panel tsd-member tsd-kind-method tsd-parent-kind-class"><a id="hook_action" class="tsd-anchor"></a><h3 class="tsd-anchor-link">hook_<wbr/>action<a href="#hook_action" aria-label="Permalink" class="tsd-anchor-icon"><svg xmlns="http://www.w3.org/2000/svg" class="icon icon-tabler icon-tabler-link" viewBox="0 0 24 24" stroke-width="2" stroke="currentColor" fill="none" stroke-linecap="round" stroke-linejoin="round"><path stroke="none" d="M0 0h24v24H0z" fill="none"></path><path d="M10 14a3.5 3.5 0 0 0 5 0l4 -4a3.5 3.5 0 0 0 -5 -5l-.5 .5"></path><path d="M14 10a3.5 3.5 0 0 0 -5 0l-4 4a3.5 3.5 0 0 0 5 5l.5 -.5"></path></svg></a></h3><ul class="tsd-signatures tsd-kind-method tsd-parent-kind-class"><li class="tsd-signature tsd-kind-icon">hook_<wbr/>action<span class="tsd-signature-symbol">(</span>from<span class="tsd-signature-symbol">: </span><span class="tsd-signature-type">string</span>, to<span class="tsd-signature-symbol">: </span><span class="tsd-signature-type">string</span>, action<span class="tsd-signature-symbol">: </span><span class="tsd-signature-type">string</span>, handler<span class="tsd-signature-symbol">: </span><span class="tsd-signature-type">Function</span><span class="tsd-signature-symbol">)</span><span class="tsd-signature-symbol">: </span><a href="Machine.html" class="tsd-signature-type" data-tsd-kind="Class">Machine</a><span class="tsd-signature-symbol"><</span><span class="tsd-signature-type" data-tsd-kind="Type parameter">mDT</span><span class="tsd-signature-symbol">></span></li></ul><ul class="tsd-descriptions"><li class="tsd-description"><aside class="tsd-sources"><ul><li>Defined in <a href="https://github.com/StoneCypher/jssm/blob/0fe3acc/src/ts/jssm.ts#L1677">jssm.ts:1677</a></li></ul></aside><h4 class="tsd-parameters-title">Parameters</h4><ul class="tsd-parameters"><li><h5>from: <span class="tsd-signature-type">string</span></h5></li><li><h5>to: <span class="tsd-signature-type">string</span></h5></li><li><h5>action: <span class="tsd-signature-type">string</span></h5></li><li><h5>handler: <span class="tsd-signature-type">Function</span></h5></li></ul><h4 class="tsd-returns-title">Returns <a href="Machine.html" class="tsd-signature-type" data-tsd-kind="Class">Machine</a><span class="tsd-signature-symbol"><</span><span class="tsd-signature-type" data-tsd-kind="Type parameter">mDT</span><span class="tsd-signature-symbol">></span></h4></li></ul></section><section class="tsd-panel tsd-member tsd-kind-method tsd-parent-kind-class"><a id="hook_any_action" class="tsd-anchor"></a><h3 class="tsd-anchor-link">hook_<wbr/>any_<wbr/>action<a href="#hook_any_action" aria-label="Permalink" class="tsd-anchor-icon"><svg xmlns="http://www.w3.org/2000/svg" class="icon icon-tabler icon-tabler-link" viewBox="0 0 24 24" stroke-width="2" stroke="currentColor" fill="none" stroke-linecap="round" stroke-linejoin="round"><path stroke="none" d="M0 0h24v24H0z" fill="none"></path><path d="M10 14a3.5 3.5 0 0 0 5 0l4 -4a3.5 3.5 0 0 0 -5 -5l-.5 .5"></path><path d="M14 10a3.5 3.5 0 0 0 -5 0l-4 4a3.5 3.5 0 0 0 5 5l.5 -.5"></path></svg></a></h3><ul class="tsd-signatures tsd-kind-method tsd-parent-kind-class"><li class="tsd-signature tsd-kind-icon">hook_<wbr/>any_<wbr/>action<span class="tsd-signature-symbol">(</span>handler<span class="tsd-signature-symbol">: </span><span class="tsd-signature-type">Function</span><span class="tsd-signature-symbol">)</span><span class="tsd-signature-symbol">: </span><a href="Machine.html" class="tsd-signature-type" data-tsd-kind="Class">Machine</a><span class="tsd-signature-symbol"><</span><span class="tsd-signature-type" data-tsd-kind="Type parameter">mDT</span><span class="tsd-signature-symbol">></span></li></ul><ul class="tsd-descriptions"><li class="tsd-description"><aside class="tsd-sources"><ul><li>Defined in <a href="https://github.com/StoneCypher/jssm/blob/0fe3acc/src/ts/jssm.ts#L1697">jssm.ts:1697</a></li></ul></aside><h4 class="tsd-parameters-title">Parameters</h4><ul class="tsd-parameters"><li><h5>handler: <span class="tsd-signature-type">Function</span></h5></li></ul><h4 class="tsd-returns-title">Returns <a href="Machine.html" class="tsd-signature-type" data-tsd-kind="Class">Machine</a><span class="tsd-signature-symbol"><</span><span class="tsd-signature-type" data-tsd-kind="Type parameter">mDT</span><span class="tsd-signature-symbol">></span></h4></li></ul></section><section class="tsd-panel tsd-member tsd-kind-method tsd-parent-kind-class"><a id="hook_any_transition" class="tsd-anchor"></a><h3 class="tsd-anchor-link">hook_<wbr/>any_<wbr/>transition<a href="#hook_any_transition" aria-label="Permalink" class="tsd-anchor-icon"><svg xmlns="http://www.w3.org/2000/svg" class="icon icon-tabler icon-tabler-link" viewBox="0 0 24 24" stroke-width="2" stroke="currentColor" fill="none" stroke-linecap="round" stroke-linejoin="round"><path stroke="none" d="M0 0h24v24H0z" fill="none"></path><path d="M10 14a3.5 3.5 0 0 0 5 0l4 -4a3.5 3.5 0 0 0 -5 -5l-.5 .5"></path><path d="M14 10a3.5 3.5 0 0 0 -5 0l-4 4a3.5 3.5 0 0 0 5 5l.5 -.5"></path></svg></a></h3><ul class="tsd-signatures tsd-kind-method tsd-parent-kind-class"><li class="tsd-signature tsd-kind-icon">hook_<wbr/>any_<wbr/>transition<span class="tsd-signature-symbol">(</span>handler<span class="tsd-signature-symbol">: </span><span class="tsd-signature-type">Function</span><span class="tsd-signature-symbol">)</span><span class="tsd-signature-symbol">: </span><a href="Machine.html" class="tsd-signature-type" data-tsd-kind="Class">Machine</a><span class="tsd-signature-symbol"><</span><span class="tsd-signature-type" data-tsd-kind="Type parameter">mDT</span><span class="tsd-signature-symbol">></span></li></ul><ul class="tsd-descriptions"><li class="tsd-description"><aside class="tsd-sources"><ul><li>Defined in <a href="https://github.com/StoneCypher/jssm/blob/0fe3acc/src/ts/jssm.ts#L1737">jssm.ts:1737</a></li></ul></aside><h4 class="tsd-parameters-title">Parameters</h4><ul class="tsd-parameters"><li><h5>handler: <span class="tsd-signature-type">Function</span></h5></li></ul><h4 class="tsd-returns-title">Returns <a href="Machine.html" class="tsd-signature-type" data-tsd-kind="Class">Machine</a><span class="tsd-signature-symbol"><</span><span class="tsd-signature-type" data-tsd-kind="Type parameter">mDT</span><span class="tsd-signature-symbol">></span></h4></li></ul></section><section class="tsd-panel tsd-member tsd-kind-method tsd-parent-kind-class"><a id="hook_entry" class="tsd-anchor"></a><h3 class="tsd-anchor-link">hook_<wbr/>entry<a href="#hook_entry" aria-label="Permalink" class="tsd-anchor-icon"><svg xmlns="http://www.w3.org/2000/svg" class="icon icon-tabler icon-tabler-link" viewBox="0 0 24 24" stroke-width="2" stroke="currentColor" fill="none" stroke-linecap="round" stroke-linejoin="round"><path stroke="none" d="M0 0h24v24H0z" fill="none"></path><path d="M10 14a3.5 3.5 0 0 0 5 0l4 -4a3.5 3.5 0 0 0 -5 -5l-.5 .5"></path><path d="M14 10a3.5 3.5 0 0 0 -5 0l-4 4a3.5 3.5 0 0 0 5 5l.5 -.5"></path></svg></a></h3><ul class="tsd-signatures tsd-kind-method tsd-parent-kind-class"><li class="tsd-signature tsd-kind-icon">hook_<wbr/>entry<span class="tsd-signature-symbol">(</span>to<span class="tsd-signature-symbol">: </span><span class="tsd-signature-type">string</span>, handler<span class="tsd-signature-symbol">: </span><span class="tsd-signature-type">Function</span><span class="tsd-signature-symbol">)</span><span class="tsd-signature-symbol">: </span><a href="Machine.html" class="tsd-signature-type" data-tsd-kind="Class">Machine</a><span class="tsd-signature-symbol"><</span><span class="tsd-signature-type" data-tsd-kind="Type parameter">mDT</span><span class="tsd-signature-symbol">></span></li></ul><ul class="tsd-descriptions"><li class="tsd-description"><aside class="tsd-sources"><ul><li>Defined in <a href="https://github.com/StoneCypher/jssm/blob/0fe3acc/src/ts/jssm.ts#L1747">jssm.ts:1747</a></li></ul></aside><h4 class="tsd-parameters-title">Parameters</h4><ul class="tsd-parameters"><li><h5>to: <span class="tsd-signature-type">string</span></h5></li><li><h5>handler: <span class="tsd-signature-type">Function</span></h5></li></ul><h4 class="tsd-returns-title">Returns <a href="Machine.html" class="tsd-signature-type" data-tsd-kind="Class">Machine</a><span class="tsd-signature-symbol"><</span><span class="tsd-signature-type" data-tsd-kind="Type parameter">mDT</span><span class="tsd-signature-symbol">></span></h4></li></ul></section><section class="tsd-panel tsd-member tsd-kind-method tsd-parent-kind-class"><a id="hook_exit" class="tsd-anchor"></a><h3 class="tsd-anchor-link">hook_<wbr/>exit<a href="#hook_exit" aria-label="Permalink" class="tsd-anchor-icon"><svg xmlns="http://www.w3.org/2000/svg" class="icon icon-tabler icon-tabler-link" viewBox="0 0 24 24" stroke-width="2" stroke="currentColor" fill="none" stroke-linecap="round" stroke-linejoin="round"><path stroke="none" d="M0 0h24v24H0z" fill="none"></path><path d="M10 14a3.5 3.5 0 0 0 5 0l4 -4a3.5 3.5 0 0 0 -5 -5l-.5 .5"></path><path d="M14 10a3.5 3.5 0 0 0 -5 0l-4 4a3.5 3.5 0 0 0 5 5l.5 -.5"></path></svg></a></h3><ul class="tsd-signatures tsd-kind-method tsd-parent-kind-class"><li class="tsd-signature tsd-kind-icon">hook_<wbr/>exit<span class="tsd-signature-symbol">(</span>from<span class="tsd-signature-symbol">: </span><span class="tsd-signature-type">string</span>, handler<span class="tsd-signature-symbol">: </span><span class="tsd-signature-type">Function</span><span class="tsd-signature-symbol">)</span><span class="tsd-signature-symbol">: </span><a href="Machine.html" class="tsd-signature-type" data-tsd-kind="Class">Machine</a><span class="tsd-signature-symbol"><</span><span class="tsd-signature-type" data-tsd-kind="Type parameter">mDT</span><span class="tsd-signature-symbol">></span></li></ul><ul class="tsd-descriptions"><li class="tsd-description"><aside class="tsd-sources"><ul><li>Defined in <a href="https://github.com/StoneCypher/jssm/blob/0fe3acc/src/ts/jssm.ts#L1757">jssm.ts:1757</a></li></ul></aside><h4 class="tsd-parameters-title">Parameters</h4><ul class="tsd-parameters"><li><h5>from: <span class="tsd-signature-type">string</span></h5></li><li><h5>handler: <span class="tsd-signature-type">Function</span></h5></li></ul><h4 class="tsd-returns-title">Returns <a href="Machine.html" class="tsd-signature-type" data-tsd-kind="Class">Machine</a><span class="tsd-signature-symbol"><</span><span class="tsd-signature-type" data-tsd-kind="Type parameter">mDT</span><span class="tsd-signature-symbol">></span></h4></li></ul></section><section class="tsd-panel tsd-member tsd-kind-method tsd-parent-kind-class"><a id="hook_forced_transition" class="tsd-anchor"></a><h3 class="tsd-anchor-link">hook_<wbr/>forced_<wbr/>transition<a href="#hook_forced_transition" aria-label="Permalink" class="tsd-anchor-icon"><svg xmlns="http://www.w3.org/2000/svg" class="icon icon-tabler icon-tabler-link" viewBox="0 0 24 24" stroke-width="2" stroke="currentColor" fill="none" stroke-linecap="round" stroke-linejoin="round"><path stroke="none" d="M0 0h24v24H0z" fill="none"></path><path d="M10 14a3.5 3.5 0 0 0 5 0l4 -4a3.5 3.5 0 0 0 -5 -5l-.5 .5"></path><path d="M14 10a3.5 3.5 0 0 0 -5 0l-4 4a3.5 3.5 0 0 0 5 5l.5 -.5"></path></svg></a></h3><ul class="tsd-signatures tsd-kind-method tsd-parent-kind-class"><li class="tsd-signature tsd-kind-icon">hook_<wbr/>forced_<wbr/>transition<span class="tsd-signature-symbol">(</span>handler<span class="tsd-signature-symbol">: </span><span class="tsd-signature-type">Function</span><span class="tsd-signature-symbol">)</span><span class="tsd-signature-symbol">: </span><a href="Machine.html" class="tsd-signature-type" data-tsd-kind="Class">Machine</a><span class="tsd-signature-symbol"><</span><span class="tsd-signature-type" data-tsd-kind="Type parameter">mDT</span><span class="tsd-signature-symbol">></span></li></ul><ul class="tsd-descriptions"><li class="tsd-description"><aside class="tsd-sources"><ul><li>Defined in <a href="https://github.com/StoneCypher/jssm/blob/0fe3acc/src/ts/jssm.ts#L1727">jssm.ts:1727</a></li></ul></aside><h4 class="tsd-parameters-title">Parameters</h4><ul class="tsd-parameters"><li><h5>handler: <span class="tsd-signature-type">Function</span></h5></li></ul><h4 class="tsd-returns-title">Returns <a href="Machine.html" class="tsd-signature-type" data-tsd-kind="Class">Machine</a><span class="tsd-signature-symbol"><</span><span class="tsd-signature-type" data-tsd-kind="Type parameter">mDT</span><span class="tsd-signature-symbol">></span></h4></li></ul></section><section class="tsd-panel tsd-member tsd-kind-method tsd-parent-kind-class"><a id="hook_global_action" class="tsd-anchor"></a><h3 class="tsd-anchor-link">hook_<wbr/>global_<wbr/>action<a href="#hook_global_action" aria-label="Permalink" class="tsd-anchor-icon"><svg xmlns="http://www.w3.org/2000/svg" class="icon icon-tabler icon-tabler-link" viewBox="0 0 24 24" stroke-width="2" stroke="currentColor" fill="none" stroke-linecap="round" stroke-linejoin="round"><path stroke="none" d="M0 0h24v24H0z" fill="none"></path><path d="M10 14a3.5 3.5 0 0 0 5 0l4 -4a3.5 3.5 0 0 0 -5 -5l-.5 .5"></path><path d="M14 10a3.5 3.5 0 0 0 -5 0l-4 4a3.5 3.5 0 0 0 5 5l.5 -.5"></path></svg></a></h3><ul class="tsd-signatures tsd-kind-method tsd-parent-kind-class"><li class="tsd-signature tsd-kind-icon">hook_<wbr/>global_<wbr/>action<span class="tsd-signature-symbol">(</span>action<span class="tsd-signature-symbol">: </span><span class="tsd-signature-type">string</span>, handler<span class="tsd-signature-symbol">: </span><span class="tsd-signature-type">Function</span><span class="tsd-signature-symbol">)</span><span class="tsd-signature-symbol">: </span><a href="Machine.html" class="tsd-signature-type" data-tsd-kind="Class">Machine</a><span class="tsd-signature-symbol"><</span><span class="tsd-signature-type" data-tsd-kind="Type parameter">mDT</span><span class="tsd-signature-symbol">></span></li></ul><ul class="tsd-descriptions"><li class="tsd-description"><aside class="tsd-sources"><ul><li>Defined in <a href="https://github.com/StoneCypher/jssm/blob/0fe3acc/src/ts/jssm.ts#L1687">jssm.ts:1687</a></li></ul></aside><h4 class="tsd-parameters-title">Parameters</h4><ul class="tsd-parameters"><li><h5>action: <span class="tsd-signature-type">string</span></h5></li><li><h5>handler: <span class="tsd-signature-type">Function</span></h5></li></ul><h4 class="tsd-returns-title">Returns <a href="Machine.html" class="tsd-signature-type" data-tsd-kind="Class">Machine</a><span class="tsd-signature-symbol"><</span><span class="tsd-signature-type" data-tsd-kind="Type parameter">mDT</span><span class="tsd-signature-symbol">></span></h4></li></ul></section><section class="tsd-panel tsd-member tsd-kind-method tsd-parent-kind-class"><a id="hook_main_transition" class="tsd-anchor"></a><h3 class="tsd-anchor-link">hook_<wbr/>main_<wbr/>transition<a href="#hook_main_transition" aria-label="Permalink" class="tsd-anchor-icon"><svg xmlns="http://www.w3.org/2000/svg" class="icon icon-tabler icon-tabler-link" viewBox="0 0 24 24" stroke-width="2" stroke="currentColor" fill="none" stroke-linecap="round" stroke-linejoin="round"><path stroke="none" d="M0 0h24v24H0z" fill="none"></path><path d="M10 14a3.5 3.5 0 0 0 5 0l4 -4a3.5 3.5 0 0 0 -5 -5l-.5 .5"></path><path d="M14 10a3.5 3.5 0 0 0 -5 0l-4 4a3.5 3.5 0 0 0 5 5l.5 -.5"></path></svg></a></h3><ul class="tsd-signatures tsd-kind-method tsd-parent-kind-class"><li class="tsd-signature tsd-kind-icon">hook_<wbr/>main_<wbr/>transition<span class="tsd-signature-symbol">(</span>handler<span class="tsd-signature-symbol">: </span><span class="tsd-signature-type">Function</span><span class="tsd-signature-symbol">)</span><span class="tsd-signature-symbol">: </span><a href="Machine.html" class="tsd-signature-type" data-tsd-kind="Class">Machine</a><span class="tsd-signature-symbol"><</span><span class="tsd-signature-type" data-tsd-kind="Type parameter">mDT</span><span class="tsd-signature-symbol">></span></li></ul><ul class="tsd-descriptions"><li class="tsd-description"><aside class="tsd-sources"><ul><li>Defined in <a href="https://github.com/StoneCypher/jssm/blob/0fe3acc/src/ts/jssm.ts#L1717">jssm.ts:1717</a></li></ul></aside><h4 class="tsd-parameters-title">Parameters</h4><ul class="tsd-parameters"><li><h5>handler: <span class="tsd-signature-type">Function</span></h5></li></ul><h4 class="tsd-returns-title">Returns <a href="Machine.html" class="tsd-signature-type" data-tsd-kind="Class">Machine</a><span class="tsd-signature-symbol"><</span><span class="tsd-signature-type" data-tsd-kind="Type parameter">mDT</span><span class="tsd-signature-symbol">></span></h4></li></ul></section><section class="tsd-panel tsd-member tsd-kind-method tsd-parent-kind-class"><a id="hook_standard_transition" class="tsd-anchor"></a><h3 class="tsd-anchor-link">hook_<wbr/>standard_<wbr/>transition<a href="#hook_standard_transition" aria-label="Permalink" class="tsd-anchor-icon"><svg xmlns="http://www.w3.org/2000/svg" class="icon icon-tabler icon-tabler-link" viewBox="0 0 24 24" stroke-width="2" stroke="currentColor" fill="none" stroke-linecap="round" stroke-linejoin="round"><path stroke="none" d="M0 0h24v24H0z" fill="none"></path><path d="M10 14a3.5 3.5 0 0 0 5 0l4 -4a3.5 3.5 0 0 0 -5 -5l-.5 .5"></path><path d="M14 10a3.5 3.5 0 0 0 -5 0l-4 4a3.5 3.5 0 0 0 5 5l.5 -.5"></path></svg></a></h3><ul class="tsd-signatures tsd-kind-method tsd-parent-kind-class"><li class="tsd-signature tsd-kind-icon">hook_<wbr/>standard_<wbr/>transition<span class="tsd-signature-symbol">(</span>handler<span class="tsd-signature-symbol">: </span><span class="tsd-signature-type">Function</span><span class="tsd-signature-symbol">)</span><span class="tsd-signature-symbol">: </span><a href="Machine.html" class="tsd-signature-type" data-tsd-kind="Class">Machine</a><span class="tsd-signature-symbol"><</span><span class="tsd-signature-type" data-tsd-kind="Type parameter">mDT</span><span class="tsd-signature-symbol">></span></li></ul><ul class="tsd-descriptions"><li class="tsd-description"><aside class="tsd-sources"><ul><li>Defined in <a href="https://github.com/StoneCypher/jssm/blob/0fe3acc/src/ts/jssm.ts#L1707">jssm.ts:1707</a></li></ul></aside><h4 class="tsd-parameters-title">Parameters</h4><ul class="tsd-parameters"><li><h5>handler: <span class="tsd-signature-type">Function</span></h5></li></ul><h4 class="tsd-returns-title">Returns <a href="Machine.html" class="tsd-signature-type" data-tsd-kind="Class">Machine</a><span class="tsd-signature-symbol"><</span><span class="tsd-signature-type" data-tsd-kind="Type parameter">mDT</span><span class="tsd-signature-symbol">></span></h4></li></ul></section><section class="tsd-panel tsd-member tsd-kind-method tsd-parent-kind-class"><a id="instance_name" class="tsd-anchor"></a><h3 class="tsd-anchor-link">instance_<wbr/>name<a href="#instance_name" aria-label="Permalink" class="tsd-anchor-icon"><svg xmlns="http://www.w3.org/2000/svg" class="icon icon-tabler icon-tabler-link" viewBox="0 0 24 24" stroke-width="2" stroke="currentColor" fill="none" stroke-linecap="round" stroke-linejoin="round"><path stroke="none" d="M0 0h24v24H0z" fill="none"></path><path d="M10 14a3.5 3.5 0 0 0 5 0l4 -4a3.5 3.5 0 0 0 -5 -5l-.5 .5"></path><path d="M14 10a3.5 3.5 0 0 0 -5 0l-4 4a3.5 3.5 0 0 0 5 5l.5 -.5"></path></svg></a></h3><ul class="tsd-signatures tsd-kind-method tsd-parent-kind-class"><li class="tsd-signature tsd-kind-icon">instance_<wbr/>name<span class="tsd-signature-symbol">(</span><span class="tsd-signature-symbol">)</span><span class="tsd-signature-symbol">: </span><span class="tsd-signature-type">string</span></li></ul><ul class="tsd-descriptions"><li class="tsd-description"><aside class="tsd-sources"><ul><li>Defined in <a href="https://github.com/StoneCypher/jssm/blob/0fe3acc/src/ts/jssm.ts#L2070">jssm.ts:2070</a></li></ul></aside><h4 class="tsd-returns-title">Returns <span class="tsd-signature-type">string</span></h4></li></ul></section><section class="tsd-panel tsd-member tsd-kind-method tsd-parent-kind-class"><a id="is_complete" class="tsd-anchor"></a><h3 class="tsd-anchor-link">is_<wbr/>complete<a href="#is_complete" aria-label="Permalink" class="tsd-anchor-icon"><svg xmlns="http://www.w3.org/2000/svg" class="icon icon-tabler icon-tabler-link" viewBox="0 0 24 24" stroke-width="2" stroke="currentColor" fill="none" stroke-linecap="round" stroke-linejoin="round"><path stroke="none" d="M0 0h24v24H0z" fill="none"></path><path d="M10 14a3.5 3.5 0 0 0 5 0l4 -4a3.5 3.5 0 0 0 -5 -5l-.5 .5"></path><path d="M14 10a3.5 3.5 0 0 0 -5 0l-4 4a3.5 3.5 0 0 0 5 5l.5 -.5"></path></svg></a></h3><ul class="tsd-signatures tsd-kind-method tsd-parent-kind-class"><li class="tsd-signature tsd-kind-icon">is_<wbr/>complete<span class="tsd-signature-symbol">(</span><span class="tsd-signature-symbol">)</span><span class="tsd-signature-symbol">: </span><span class="tsd-signature-type">boolean</span></li></ul><ul class="tsd-descriptions"><li class="tsd-description"><aside class="tsd-sources"><ul><li>Defined in <a href="https://github.com/StoneCypher/jssm/blob/0fe3acc/src/ts/jssm.ts#L1579">jssm.ts:1579</a></li></ul></aside><h4 class="tsd-returns-title">Returns <span class="tsd-signature-type">boolean</span></h4></li></ul></section><section class="tsd-panel tsd-member tsd-kind-method tsd-parent-kind-class"><a id="is_final" class="tsd-anchor"></a><h3 class="tsd-anchor-link">is_<wbr/>final<a href="#is_final" aria-label="Permalink" class="tsd-anchor-icon"><svg xmlns="http://www.w3.org/2000/svg" class="icon icon-tabler icon-tabler-link" viewBox="0 0 24 24" stroke-width="2" stroke="currentColor" fill="none" stroke-linecap="round" stroke-linejoin="round"><path stroke="none" d="M0 0h24v24H0z" fill="none"></path><path d="M10 14a3.5 3.5 0 0 0 5 0l4 -4a3.5 3.5 0 0 0 -5 -5l-.5 .5"></path><path d="M14 10a3.5 3.5 0 0 0 -5 0l-4 4a3.5 3.5 0 0 0 5 5l.5 -.5"></path></svg></a></h3><ul class="tsd-signatures tsd-kind-method tsd-parent-kind-class"><li class="tsd-signature tsd-kind-icon">is_<wbr/>final<span class="tsd-signature-symbol">(</span><span class="tsd-signature-symbol">)</span><span class="tsd-signature-symbol">: </span><span class="tsd-signature-type">boolean</span></li></ul><ul class="tsd-descriptions"><li class="tsd-description"><aside class="tsd-sources"><ul><li>Defined in <a href="https://github.com/StoneCypher/jssm/blob/0fe3acc/src/ts/jssm.ts#L1049">jssm.ts:1049</a></li></ul></aside><div class="tsd-comment tsd-typography"><div class="lead">
<p> Check whether the current state is final (either has no exits or is marked
<code>complete</code>.)</p>
</div><div><pre><code class="language-typescript"><span class="hl-0">import</span><span class="hl-1"> { </span><span class="hl-2">sm</span><span class="hl-1">, </span><span class="hl-2">state_is_final</span><span class="hl-1"> } </span><span class="hl-0">from</span><span class="hl-1"> </span><span class="hl-3">'jssm'</span><span class="hl-1">;</span><br/><br/><span class="hl-7">const</span><span class="hl-1"> </span><span class="hl-8">final_test</span><span class="hl-1"> = </span><span class="hl-4">sm</span><span class="hl-3">`first -> second;`</span><span class="hl-1">;</span><br/><br/><span class="hl-2">console</span><span class="hl-1">.</span><span class="hl-4">log</span><span class="hl-1">( </span><span class="hl-2">final_test</span><span class="hl-1">.</span><span class="hl-4">is_final</span><span class="hl-1">() ); </span><span class="hl-6">// false</span><br/><span class="hl-2">state</span><span class="hl-1">.</span><span class="hl-4">transition</span><span class="hl-1">(</span><span class="hl-3">'second'</span><span class="hl-1">);</span><br/><span class="hl-2">console</span><span class="hl-1">.</span><span class="hl-4">log</span><span class="hl-1">( </span><span class="hl-2">final_test</span><span class="hl-1">.</span><span class="hl-4">is_final</span><span class="hl-1">() ); </span><span class="hl-6">// true</span>
</code></pre>
</div></div><h4 class="tsd-returns-title">Returns <span class="tsd-signature-type">boolean</span></h4></li></ul></section><section class="tsd-panel tsd-member tsd-kind-method tsd-parent-kind-class"><a id="is_terminal" class="tsd-anchor"></a><h3 class="tsd-anchor-link">is_<wbr/>terminal<a href="#is_terminal" aria-label="Permalink" class="tsd-anchor-icon"><svg xmlns="http://www.w3.org/2000/svg" class="icon icon-tabler icon-tabler-link" viewBox="0 0 24 24" stroke-width="2" stroke="currentColor" fill="none" stroke-linecap="round" stroke-linejoin="round"><path stroke="none" d="M0 0h24v24H0z" fill="none"></path><path d="M10 14a3.5 3.5 0 0 0 5 0l4 -4a3.5 3.5 0 0 0 -5 -5l-.5 .5"></path><path d="M14 10a3.5 3.5 0 0 0 -5 0l-4 4a3.5 3.5 0 0 0 5 5l.5 -.5"></path></svg></a></h3><ul class="tsd-signatures tsd-kind-method tsd-parent-kind-class"><li class="tsd-signature tsd-kind-icon">is_<wbr/>terminal<span class="tsd-signature-symbol">(</span><span class="tsd-signature-symbol">)</span><span class="tsd-signature-symbol">: </span><span class="tsd-signature-type">boolean</span></li></ul><ul class="tsd-descriptions"><li class="tsd-description"><aside class="tsd-sources"><ul><li>Defined in <a href="https://github.com/StoneCypher/jssm/blob/0fe3acc/src/ts/jssm.ts#L1563">jssm.ts:1563</a></li></ul></aside><h4 class="tsd-returns-title">Returns <span class="tsd-signature-type">boolean</span></h4></li></ul></section><section class="tsd-panel tsd-member tsd-kind-method tsd-parent-kind-class"><a id="is_unenterable" class="tsd-anchor"></a><h3 class="tsd-anchor-link">is_<wbr/>unenterable<a href="#is_unenterable" aria-label="Permalink" class="tsd-anchor-icon"><svg xmlns="http://www.w3.org/2000/svg" class="icon icon-tabler icon-tabler-link" viewBox="0 0 24 24" stroke-width="2" stroke="currentColor" fill="none" stroke-linecap="round" stroke-linejoin="round"><path stroke="none" d="M0 0h24v24H0z" fill="none"></path><path d="M10 14a3.5 3.5 0 0 0 5 0l4 -4a3.5 3.5 0 0 0 -5 -5l-.5 .5"></path><path d="M14 10a3.5 3.5 0 0 0 -5 0l-4 4a3.5 3.5 0 0 0 5 5l.5 -.5"></path></svg></a></h3><ul class="tsd-signatures tsd-kind-method tsd-parent-kind-class"><li class="tsd-signature tsd-kind-icon">is_<wbr/>unenterable<span class="tsd-signature-symbol">(</span>whichState<span class="tsd-signature-symbol">: </span><span class="tsd-signature-type">string</span><span class="tsd-signature-symbol">)</span><span class="tsd-signature-symbol">: </span><span class="tsd-signature-type">boolean</span></li></ul><ul class="tsd-descriptions"><li class="tsd-description"><aside class="tsd-sources"><ul><li>Defined in <a href="https://github.com/StoneCypher/jssm/blob/0fe3acc/src/ts/jssm.ts#L1552">jssm.ts:1552</a></li></ul></aside><h4 class="tsd-parameters-title">Parameters</h4><ul class="tsd-parameters"><li><h5>whichState: <span class="tsd-signature-type">string</span></h5></li></ul><h4 class="tsd-returns-title">Returns <span class="tsd-signature-type">boolean</span></h4></li></ul></section><section class="tsd-panel tsd-member tsd-kind-method tsd-parent-kind-class"><a id="list_actions" class="tsd-anchor"></a><h3 class="tsd-anchor-link">list_<wbr/>actions<a href="#list_actions" aria-label="Permalink" class="tsd-anchor-icon"><svg xmlns="http://www.w3.org/2000/svg" class="icon icon-tabler icon-tabler-link" viewBox="0 0 24 24" stroke-width="2" stroke="currentColor" fill="none" stroke-linecap="round" stroke-linejoin="round"><path stroke="none" d="M0 0h24v24H0z" fill="none"></path><path d="M10 14a3.5 3.5 0 0 0 5 0l4 -4a3.5 3.5 0 0 0 -5 -5l-.5 .5"></path><path d="M14 10a3.5 3.5 0 0 0 -5 0l-4 4a3.5 3.5 0 0 0 5 5l.5 -.5"></path></svg></a></h3><ul class="tsd-signatures tsd-kind-method tsd-parent-kind-class"><li class="tsd-signature tsd-kind-icon">list_<wbr/>actions<span class="tsd-signature-symbol">(</span><span class="tsd-signature-symbol">)</span><span class="tsd-signature-symbol">: </span><span class="tsd-signature-type">string</span><span class="tsd-signature-symbol">[]</span></li></ul><ul class="tsd-descriptions"><li class="tsd-description"><aside class="tsd-sources"><ul><li>Defined in <a href="https://github.com/StoneCypher/jssm/blob/0fe3acc/src/ts/jssm.ts#L1250">jssm.ts:1250</a></li></ul></aside><h4 class="tsd-returns-title">Returns <span class="tsd-signature-type">string</span><span class="tsd-signature-symbol">[]</span></h4></li></ul></section><section class="tsd-panel tsd-member tsd-kind-method tsd-parent-kind-class"><a id="list_edges" class="tsd-anchor"></a><h3 class="tsd-anchor-link">list_<wbr/>edges<a href="#list_edges" aria-label="Permalink" class="tsd-anchor-icon"><svg xmlns="http://www.w3.org/2000/svg" class="icon icon-tabler icon-tabler-link" viewBox="0 0 24 24" stroke-width="2" stroke="currentColor" fill="none" stroke-linecap="round" stroke-linejoin="round"><path stroke="none" d="M0 0h24v24H0z" fill="none"></path><path d="M10 14a3.5 3.5 0 0 0 5 0l4 -4a3.5 3.5 0 0 0 -5 -5l-.5 .5"></path><path d="M14 10a3.5 3.5 0 0 0 -5 0l-4 4a3.5 3.5 0 0 0 5 5l.5 -.5"></path></svg></a></h3><ul class="tsd-signatures tsd-kind-method tsd-parent-kind-class"><li class="tsd-signature tsd-kind-icon">list_<wbr/>edges<span class="tsd-signature-symbol">(</span><span class="tsd-signature-symbol">)</span><span class="tsd-signature-symbol">: </span><span class="tsd-signature-type">JssmTransition</span><span class="tsd-signature-symbol"><</span><span class="tsd-signature-type" data-tsd-kind="Type parameter">mDT</span><span class="tsd-signature-symbol">></span><span class="tsd-signature-symbol">[]</span></li></ul><ul class="tsd-descriptions"><li class="tsd-description"><aside class="tsd-sources"><ul><li>Defined in <a href="https://github.com/StoneCypher/jssm/blob/0fe3acc/src/ts/jssm.ts#L1242">jssm.ts:1242</a></li></ul></aside><div class="tsd-comment tsd-typography"><div class="lead">
<p> Lists all edges of a machine.</p>
</div><div><pre><code class="language-typescript"><span class="hl-0">import</span><span class="hl-1"> { </span><span class="hl-2">sm</span><span class="hl-1"> } </span><span class="hl-0">from</span><span class="hl-1"> </span><span class="hl-3">'jssm'</span><span class="hl-1">;</span><br/><br/><span class="hl-7">const</span><span class="hl-1"> </span><span class="hl-8">lswitch</span><span class="hl-1"> = </span><span class="hl-4">sm</span><span class="hl-3">`on 'toggle' <=> 'toggle' off;`</span><span class="hl-1">;</span><br/><br/><span class="hl-2">lswitch</span><span class="hl-1">.</span><span class="hl-4">list_edges</span><span class="hl-1">();</span><br/><span class="hl-1">[</span><br/><span class="hl-1"> {</span><br/><span class="hl-1"> </span><span class="hl-2">from:</span><span class="hl-1"> </span><span class="hl-3">'on'</span><span class="hl-1">,</span><br/><span class="hl-1"> </span><span class="hl-2">to:</span><span class="hl-1"> </span><span class="hl-3">'off'</span><span class="hl-1">,</span><br/><span class="hl-1"> </span><span class="hl-2">kind:</span><span class="hl-1"> </span><span class="hl-3">'main'</span><span class="hl-1">,</span><br/><span class="hl-1"> </span><span class="hl-2">forced_only:</span><span class="hl-1"> </span><span class="hl-7">false</span><span class="hl-1">,</span><br/><span class="hl-1"> </span><span class="hl-2">main_path:</span><span class="hl-1"> </span><span class="hl-7">true</span><span class="hl-1">,</span><br/><span class="hl-1"> </span><span class="hl-2">action:</span><span class="hl-1"> </span><span class="hl-3">'toggle'</span><br/><span class="hl-1"> },</span><br/><span class="hl-1"> {</span><br/><span class="hl-1"> </span><span class="hl-2">from:</span><span class="hl-1"> </span><span class="hl-3">'off'</span><span class="hl-1">,</span><br/><span class="hl-1"> </span><span class="hl-2">to:</span><span class="hl-1"> </span><span class="hl-3">'on'</span><span class="hl-1">,</span><br/><span class="hl-1"> </span><span class="hl-2">kind:</span><span class="hl-1"> </span><span class="hl-3">'main'</span><span class="hl-1">,</span><br/><span class="hl-1"> </span><span class="hl-2">forced_only:</span><span class="hl-1"> </span><span class="hl-7">false</span><span class="hl-1">,</span><br/><span class="hl-1"> </span><span class="hl-2">main_path:</span><span class="hl-1"> </span><span class="hl-7">true</span><span class="hl-1">,</span><br/><span class="hl-1"> </span><span class="hl-2">action:</span><span class="hl-1"> </span><span class="hl-3">'toggle'</span><br/><span class="hl-1"> }</span><br/><span class="hl-1">]</span>
</code></pre>
</div></div><h4 class="tsd-returns-title">Returns <span class="tsd-signature-type">JssmTransition</span><span class="tsd-signature-symbol"><</span><span class="tsd-signature-type" data-tsd-kind="Type parameter">mDT</span><span class="tsd-signature-symbol">></span><span class="tsd-signature-symbol">[]</span></h4></li></ul></section><section class="tsd-panel tsd-member tsd-kind-method tsd-parent-kind-class"><a id="list_entrances" class="tsd-anchor"></a><h3 class="tsd-anchor-link">list_<wbr/>entrances<a href="#list_entrances" aria-label="Permalink" class="tsd-anchor-icon"><svg xmlns="http://www.w3.org/2000/svg" class="icon icon-tabler icon-tabler-link" viewBox="0 0 24 24" stroke-width="2" stroke="currentColor" fill="none" stroke-linecap="round" stroke-linejoin="round"><path stroke="none" d="M0 0h24v24H0z" fill="none"></path><path d="M10 14a3.5 3.5 0 0 0 5 0l4 -4a3.5 3.5 0 0 0 -5 -5l-.5 .5"></path><path d="M14 10a3.5 3.5 0 0 0 -5 0l-4 4a3.5 3.5 0 0 0 5 5l.5 -.5"></path></svg></a></h3><ul class="tsd-signatures tsd-kind-method tsd-parent-kind-class"><li class="tsd-signature tsd-kind-icon">list_<wbr/>entrances<span class="tsd-signature-symbol">(</span>whichState<span class="tsd-signature-symbol">?: </span><span class="tsd-signature-type">string</span><span class="tsd-signature-symbol">)</span><span class="tsd-signature-symbol">: </span><span class="tsd-signature-type">string</span><span class="tsd-signature-symbol">[]</span></li></ul><ul class="tsd-descriptions"><li class="tsd-description"><aside class="tsd-sources"><ul><li>Defined in <a href="https://github.com/StoneCypher/jssm/blob/0fe3acc/src/ts/jssm.ts#L1338">jssm.ts:1338</a></li></ul></aside><div class="tsd-comment tsd-typography"><div class="lead">
<p> List all entrances attached to the current state. Please note that the
order of the list is not defined.</p>
</div><div><pre><code class="language-typescript"><span class="hl-0">import</span><span class="hl-1"> { </span><span class="hl-2">sm</span><span class="hl-1"> } </span><span class="hl-0">from</span><span class="hl-1"> </span><span class="hl-3">'jssm'</span><span class="hl-1">;</span><br/><br/><span class="hl-7">const</span><span class="hl-1"> </span><span class="hl-8">light</span><span class="hl-1"> = </span><span class="hl-4">sm</span><span class="hl-3">`red 'next' -> green 'next' -> yellow 'next' -> red; [red yellow green] 'shutdown' ~> off 'start' -> red;`</span><span class="hl-1">;</span><br/><br/><span class="hl-2">light</span><span class="hl-1">.</span><span class="hl-4">state</span><span class="hl-1">(); </span><span class="hl-6">// 'red'</span><br/><span class="hl-2">light</span><span class="hl-1">.</span><span class="hl-4">list_entrances</span><span class="hl-1">(); </span><span class="hl-6">// [ 'yellow', 'off' ]</span>
</code></pre>
</div></div><h4 class="tsd-parameters-title">Parameters</h4><ul class="tsd-parameters"><li><h5>whichState: <span class="tsd-signature-type">string</span><span class="tsd-signature-symbol"> = ...</span></h5><div class="tsd-comment tsd-typography"><div class="lead">
<p>The state whose entrances to have listed</p>
</div></div></li></ul><h4 class="tsd-returns-title">Returns <span class="tsd-signature-type">string</span><span class="tsd-signature-symbol">[]</span></h4></li></ul></section><section class="tsd-panel tsd-member tsd-kind-method tsd-parent-kind-class"><a id="list_exit_actions" class="tsd-anchor"></a><h3 class="tsd-anchor-link">list_<wbr/>exit_<wbr/>actions<a href="#list_exit_actions" aria-label="Permalink" class="tsd-anchor-icon"><svg xmlns="http://www.w3.org/2000/svg" class="icon icon-tabler icon-tabler-link" viewBox="0 0 24 24" stroke-width="2" stroke="currentColor" fill="none" stroke-linecap="round" stroke-linejoin="round"><path stroke="none" d="M0 0h24v24H0z" fill="none"></path><path d="M10 14a3.5 3.5 0 0 0 5 0l4 -4a3.5 3.5 0 0 0 -5 -5l-.5 .5"></path><path d="M14 10a3.5 3.5 0 0 0 -5 0l-4 4a3.5 3.5 0 0 0 5 5l.5 -.5"></path></svg></a></h3><ul class="tsd-signatures tsd-kind-method tsd-parent-kind-class"><li class="tsd-signature tsd-kind-icon">list_<wbr/>exit_<wbr/>actions<span class="tsd-signature-symbol">(</span>whichState<span class="tsd-signature-symbol">?: </span><span class="tsd-signature-type">string</span><span class="tsd-signature-symbol">)</span><span class="tsd-signature-symbol">: </span><span class="tsd-signature-type">string</span><span class="tsd-signature-symbol">[]</span></li></ul><ul class="tsd-descriptions"><li class="tsd-description"><aside class="tsd-sources"><ul><li>Defined in <a href="https://github.com/StoneCypher/jssm/blob/0fe3acc/src/ts/jssm.ts#L1516">jssm.ts:1516</a></li></ul></aside><h4 class="tsd-parameters-title">Parameters</h4><ul class="tsd-parameters"><li><h5>whichState: <span class="tsd-signature-type">string</span><span class="tsd-signature-symbol"> = ...</span></h5></li></ul><h4 class="tsd-returns-title">Returns <span class="tsd-signature-type">string</span><span class="tsd-signature-symbol">[]</span></h4></li></ul></section><section class="tsd-panel tsd-member tsd-kind-method tsd-parent-kind-class"><a id="list_exits" class="tsd-anchor"></a><h3 class="tsd-anchor-link">list_<wbr/>exits<a href="#list_exits" aria-label="Permalink" class="tsd-anchor-icon"><svg xmlns="http://www.w3.org/2000/svg" class="icon icon-tabler icon-tabler-link" viewBox="0 0 24 24" stroke-width="2" stroke="currentColor" fill="none" stroke-linecap="round" stroke-linejoin="round"><path stroke="none" d="M0 0h24v24H0z" fill="none"></path><path d="M10 14a3.5 3.5 0 0 0 5 0l4 -4a3.5 3.5 0 0 0 -5 -5l-.5 .5"></path><path d="M14 10a3.5 3.5 0 0 0 -5 0l-4 4a3.5 3.5 0 0 0 5 5l.5 -.5"></path></svg></a></h3><ul class="tsd-signatures tsd-kind-method tsd-parent-kind-class"><li class="tsd-signature tsd-kind-icon">list_<wbr/>exits<span class="tsd-signature-symbol">(</span>whichState<span class="tsd-signature-symbol">?: </span><span class="tsd-signature-type">string</span><span class="tsd-signature-symbol">)</span><span class="tsd-signature-symbol">: </span><span class="tsd-signature-type">string</span><span class="tsd-signature-symbol">[]</span></li></ul><ul class="tsd-descriptions"><li class="tsd-description"><aside class="tsd-sources"><ul><li>Defined in <a href="https://github.com/StoneCypher/jssm/blob/0fe3acc/src/ts/jssm.ts#L1368">jssm.ts:1368</a></li></ul></aside><div class="tsd-comment tsd-typography"><div class="lead">
<p> List all exits attached to the current state. Please note that the order
of the list is not defined.</p>
</div><div><pre><code class="language-typescript"><span class="hl-0">import</span><span class="hl-1"> { </span><span class="hl-2">sm</span><span class="hl-1"> } </span><span class="hl-0">from</span><span class="hl-1"> </span><span class="hl-3">'jssm'</span><span class="hl-1">;</span><br/><br/><span class="hl-7">const</span><span class="hl-1"> </span><span class="hl-8">light</span><span class="hl-1"> = </span><span class="hl-4">sm</span><span class="hl-3">`red 'next' -> green 'next' -> yellow 'next' -> red; [red yellow green] 'shutdown' ~> off 'start' -> red;`</span><span class="hl-1">;</span><br/><br/><span class="hl-2">light</span><span class="hl-1">.</span><span class="hl-4">state</span><span class="hl-1">(); </span><span class="hl-6">// 'red'</span><br/><span class="hl-2">light</span><span class="hl-1">.</span><span class="hl-4">list_exits</span><span class="hl-1">(); </span><span class="hl-6">// [ 'green', 'off' ]</span>
</code></pre>
</div></div><h4 class="tsd-parameters-title">Parameters</h4><ul class="tsd-parameters"><li><h5>whichState: <span class="tsd-signature-type">string</span><span class="tsd-signature-symbol"> = ...</span></h5><div class="tsd-comment tsd-typography"><div class="lead">
<p>The state whose exits to have listed</p>
</div></div></li></ul><h4 class="tsd-returns-title">Returns <span class="tsd-signature-type">string</span><span class="tsd-signature-symbol">[]</span></h4></li></ul></section><section class="tsd-panel tsd-member tsd-kind-method tsd-parent-kind-class"><a id="list_named_transitions" class="tsd-anchor"></a><h3 class="tsd-anchor-link">list_<wbr/>named_<wbr/>transitions<a href="#list_named_transitions" aria-label="Permalink" class="tsd-anchor-icon"><svg xmlns="http://www.w3.org/2000/svg" class="icon icon-tabler icon-tabler-link" viewBox="0 0 24 24" stroke-width="2" stroke="currentColor" fill="none" stroke-linecap="round" stroke-linejoin="round"><path stroke="none" d="M0 0h24v24H0z" fill="none"></path><path d="M10 14a3.5 3.5 0 0 0 5 0l4 -4a3.5 3.5 0 0 0 -5 -5l-.5 .5"></path><path d="M14 10a3.5 3.5 0 0 0 -5 0l-4 4a3.5 3.5 0 0 0 5 5l.5 -.5"></path></svg></a></h3><ul class="tsd-signatures tsd-kind-method tsd-parent-kind-class"><li class="tsd-signature tsd-kind-icon">list_<wbr/>named_<wbr/>transitions<span class="tsd-signature-symbol">(</span><span class="tsd-signature-symbol">)</span><span class="tsd-signature-symbol">: </span><span class="tsd-signature-type">Map</span><span class="tsd-signature-symbol"><</span><span class="tsd-signature-type">string</span><span class="tsd-signature-symbol">, </span><span class="tsd-signature-type">number</span><span class="tsd-signature-symbol">></span></li></ul><ul class="tsd-descriptions"><li class="tsd-description"><aside class="tsd-sources"><ul><li>Defined in <a href="https://github.com/StoneCypher/jssm/blob/0fe3acc/src/ts/jssm.ts#L1246">jssm.ts:1246</a></li></ul></aside><h4 class="tsd-returns-title">Returns <span class="tsd-signature-type">Map</span><span class="tsd-signature-symbol"><</span><span class="tsd-signature-type">string</span><span class="tsd-signature-symbol">, </span><span class="tsd-signature-type">number</span><span class="tsd-signature-symbol">></span></h4></li></ul></section><section class="tsd-panel tsd-member tsd-kind-method tsd-parent-kind-class"><a id="list_states_having_action" class="tsd-anchor"></a><h3 class="tsd-anchor-link">list_<wbr/>states_<wbr/>having_<wbr/>action<a href="#list_states_having_action" aria-label="Permalink" class="tsd-anchor-icon"><svg xmlns="http://www.w3.org/2000/svg" class="icon icon-tabler icon-tabler-link" viewBox="0 0 24 24" stroke-width="2" stroke="currentColor" fill="none" stroke-linecap="round" stroke-linejoin="round"><path stroke="none" d="M0 0h24v24H0z" fill="none"></path><path d="M10 14a3.5 3.5 0 0 0 5 0l4 -4a3.5 3.5 0 0 0 -5 -5l-.5 .5"></path><path d="M14 10a3.5 3.5 0 0 0 -5 0l-4 4a3.5 3.5 0 0 0 5 5l.5 -.5"></path></svg></a></h3><ul class="tsd-signatures tsd-kind-method tsd-parent-kind-class"><li class="tsd-signature tsd-kind-icon">list_<wbr/>states_<wbr/>having_<wbr/>action<span class="tsd-signature-symbol">(</span>whichState<span class="tsd-signature-symbol">: </span><span class="tsd-signature-type">string</span><span class="tsd-signature-symbol">)</span><span class="tsd-signature-symbol">: </span><span class="tsd-signature-type">string</span><span class="tsd-signature-symbol">[]</span></li></ul><ul class="tsd-descriptions"><li class="tsd-description"><aside class="tsd-sources"><ul><li>Defined in <a href="https://github.com/StoneCypher/jssm/blob/0fe3acc/src/ts/jssm.ts#L1490">jssm.ts:1490</a></li></ul></aside><div class="tsd-comment tsd-typography"><div class="lead">
<p> List all states that have a specific action attached. Please note that
the order of the states is not guaranteed.</p>
</div><div><pre><code class="language-typescript"><span class="hl-0">import</span><span class="hl-1"> { </span><span class="hl-2">sm</span><span class="hl-1"> } </span><span class="hl-0">from</span><span class="hl-1"> </span><span class="hl-3">'jssm'</span><span class="hl-1">;</span><br/><br/><span class="hl-7">const</span><span class="hl-1"> </span><span class="hl-8">machine</span><span class="hl-1"> = </span><span class="hl-4">sm</span><span class="hl-3">`</span><br/><span class="hl-3"> red 'next' -> green 'next' -> yellow 'next' -> red;</span><br/><span class="hl-3"> [red yellow green] 'shutdown' ~> off 'start' -> red;</span><br/><span class="hl-3">`</span><span class="hl-1">;</span><br/><br/><span class="hl-2">console</span><span class="hl-1">.</span><span class="hl-4">log</span><span class="hl-1">( </span><span class="hl-2">machine</span><span class="hl-1">.</span><span class="hl-4">list_states_having_action</span><span class="hl-1">(</span><span class="hl-3">'next'</span><span class="hl-1">) ); </span><span class="hl-6">// ['red', 'green', 'yellow']</span><br/><span class="hl-2">console</span><span class="hl-1">.</span><span class="hl-4">log</span><span class="hl-1">( </span><span class="hl-2">machine</span><span class="hl-1">.</span><span class="hl-4">list_states_having_action</span><span class="hl-1">(</span><span class="hl-3">'start'</span><span class="hl-1">) ); </span><span class="hl-6">// ['off']</span>
</code></pre>
</div></div><h4 class="tsd-parameters-title">Parameters</h4><ul class="tsd-parameters"><li><h5>whichState: <span class="tsd-signature-type">string</span></h5><div class="tsd-comment tsd-typography"><div class="lead">
<p>The action to be checked for associated states</p>
</div></div></li></ul><h4 class="tsd-returns-title">Returns <span class="tsd-signature-type">string</span><span class="tsd-signature-symbol">[]</span></h4></li></ul></section><section class="tsd-panel tsd-member tsd-kind-method tsd-parent-kind-class"><a id="list_transitions" class="tsd-anchor"></a><h3 class="tsd-anchor-link">list_<wbr/>transitions<a href="#list_transitions" aria-label="Permalink" class="tsd-anchor-icon"><svg xmlns="http://www.w3.org/2000/svg" class="icon icon-tabler icon-tabler-link" viewBox="0 0 24 24" stroke-width="2" stroke="currentColor" fill="none" stroke-linecap="round" stroke-linejoin="round"><path stroke="none" d="M0 0h24v24H0z" fill="none"></path><path d="M10 14a3.5 3.5 0 0 0 5 0l4 -4a3.5 3.5 0 0 0 -5 -5l-.5 .5"></path><path d="M14 10a3.5 3.5 0 0 0 -5 0l-4 4a3.5 3.5 0 0 0 5 5l.5 -.5"></path></svg></a></h3><ul class="tsd-signatures tsd-kind-method tsd-parent-kind-class"><li class="tsd-signature tsd-kind-icon">list_<wbr/>transitions<span class="tsd-signature-symbol">(</span>whichState<span class="tsd-signature-symbol">?: </span><span class="tsd-signature-type">string</span><span class="tsd-signature-symbol">)</span><span class="tsd-signature-symbol">: </span><span class="tsd-signature-type">JssmTransitionList</span></li></ul><ul class="tsd-descriptions"><li class="tsd-description"><aside class="tsd-sources"><ul><li>Defined in <a href="https://github.com/StoneCypher/jssm/blob/0fe3acc/src/ts/jssm.ts#L1310">jssm.ts:1310</a></li></ul></aside><div class="tsd-comment tsd-typography"><div class="lead">
<p> List all transitions attached to the current state, sorted by entrance and
exit. The order of each sublist is not defined. A node could appear in
both lists.</p>
</div><div><pre><code class="language-typescript"><span class="hl-0">import</span><span class="hl-1"> { </span><span class="hl-2">sm</span><span class="hl-1"> } </span><span class="hl-0">from</span><span class="hl-1"> </span><span class="hl-3">'jssm'</span><span class="hl-1">;</span><br/><br/><span class="hl-7">const</span><span class="hl-1"> </span><span class="hl-8">light</span><span class="hl-1"> = </span><span class="hl-4">sm</span><span class="hl-3">`red 'next' -> green 'next' -> yellow 'next' -> red; [red yellow green] 'shutdown' ~> off 'start' -> red;`</span><span class="hl-1">;</span><br/><br/><span class="hl-2">light</span><span class="hl-1">.</span><span class="hl-4">state</span><span class="hl-1">(); </span><span class="hl-6">// 'red'</span><br/><span class="hl-2">light</span><span class="hl-1">.</span><span class="hl-4">list_transitions</span><span class="hl-1">(); </span><span class="hl-6">// { entrances: [ 'yellow', 'off' ], exits: [ 'green', 'off' ] }</span>
</code></pre>
</div></div><h4 class="tsd-parameters-title">Parameters</h4><ul class="tsd-parameters"><li><h5>whichState: <span class="tsd-signature-type">string</span><span class="tsd-signature-symbol"> = ...</span></h5><div class="tsd-comment tsd-typography"><div class="lead">
<p>The state whose transitions to have listed</p>
</div></div></li></ul><h4 class="tsd-returns-title">Returns <span class="tsd-signature-type">JssmTransitionList</span></h4></li></ul></section><section class="tsd-panel tsd-member tsd-kind-method tsd-parent-kind-class"><a id="lookup_transition_for" class="tsd-anchor"></a><h3 class="tsd-anchor-link">lookup_<wbr/>transition_<wbr/>for<a href="#lookup_transition_for" aria-label="Permalink" class="tsd-anchor-icon"><svg xmlns="http://www.w3.org/2000/svg" class="icon icon-tabler icon-tabler-link" viewBox="0 0 24 24" stroke-width="2" stroke="currentColor" fill="none" stroke-linecap="round" stroke-linejoin="round"><path stroke="none" d="M0 0h24v24H0z" fill="none"></path><path d="M10 14a3.5 3.5 0 0 0 5 0l4 -4a3.5 3.5 0 0 0 -5 -5l-.5 .5"></path><path d="M14 10a3.5 3.5 0 0 0 -5 0l-4 4a3.5 3.5 0 0 0 5 5l.5 -.5"></path></svg></a></h3><ul class="tsd-signatures tsd-kind-method tsd-parent-kind-class"><li class="tsd-signature tsd-kind-icon">lookup_<wbr/>transition_<wbr/>for<span class="tsd-signature-symbol">(</span>from<span class="tsd-signature-symbol">: </span><span class="tsd-signature-type">string</span>, to<span class="tsd-signature-symbol">: </span><span class="tsd-signature-type">string</span><span class="tsd-signature-symbol">)</span><span class="tsd-signature-symbol">: </span><span class="tsd-signature-type">JssmTransition</span><span class="tsd-signature-symbol"><</span><span class="tsd-signature-type" data-tsd-kind="Type parameter">mDT</span><span class="tsd-signature-symbol">></span></li></ul><ul class="tsd-descriptions"><li class="tsd-description"><aside class="tsd-sources"><ul><li>Defined in <a href="https://github.com/StoneCypher/jssm/blob/0fe3acc/src/ts/jssm.ts#L1280">jssm.ts:1280</a></li></ul></aside><h4 class="tsd-parameters-title">Parameters</h4><ul class="tsd-parameters"><li><h5>from: <span class="tsd-signature-type">string</span></h5></li><li><h5>to: <span class="tsd-signature-type">string</span></h5></li></ul><h4 class="tsd-returns-title">Returns <span class="tsd-signature-type">JssmTransition</span><span class="tsd-signature-symbol"><</span><span class="tsd-signature-type" data-tsd-kind="Type parameter">mDT</span><span class="tsd-signature-symbol">></span></h4></li></ul></section><section class="tsd-panel tsd-member tsd-kind-method tsd-parent-kind-class"><a id="machine_author" class="tsd-anchor"></a><h3 class="tsd-anchor-link">machine_<wbr/>author<a href="#machine_author" aria-label="Permalink" class="tsd-anchor-icon"><svg xmlns="http://www.w3.org/2000/svg" class="icon icon-tabler icon-tabler-link" viewBox="0 0 24 24" stroke-width="2" stroke="currentColor" fill="none" stroke-linecap="round" stroke-linejoin="round"><path stroke="none" d="M0 0h24v24H0z" fill="none"></path><path d="M10 14a3.5 3.5 0 0 0 5 0l4 -4a3.5 3.5 0 0 0 -5 -5l-.5 .5"></path><path d="M14 10a3.5 3.5 0 0 0 -5 0l-4 4a3.5 3.5 0 0 0 5 5l.5 -.5"></path></svg></a></h3><ul class="tsd-signatures tsd-kind-method tsd-parent-kind-class"><li class="tsd-signature tsd-kind-icon">machine_<wbr/>author<span class="tsd-signature-symbol">(</span><span class="tsd-signature-symbol">)</span><span class="tsd-signature-symbol">: </span><span class="tsd-signature-type">string</span><span class="tsd-signature-symbol">[]</span></li></ul><ul class="tsd-descriptions"><li class="tsd-description"><aside class="tsd-sources"><ul><li>Defined in <a href="https://github.com/StoneCypher/jssm/blob/0fe3acc/src/ts/jssm.ts#L1068">jssm.ts:1068</a></li></ul></aside><h4 class="tsd-returns-title">Returns <span class="tsd-signature-type">string</span><span class="tsd-signature-symbol">[]</span></h4></li></ul></section><section class="tsd-panel tsd-member tsd-kind-method tsd-parent-kind-class"><a id="machine_comment" class="tsd-anchor"></a><h3 class="tsd-anchor-link">machine_<wbr/>comment<a href="#machine_comment" aria-label="Permalink" class="tsd-anchor-icon"><svg xmlns="http://www.w3.org/2000/svg" class="icon icon-tabler icon-tabler-link" viewBox="0 0 24 24" stroke-width="2" stroke="currentColor" fill="none" stroke-linecap="round" stroke-linejoin="round"><path stroke="none" d="M0 0h24v24H0z" fill="none"></path><path d="M10 14a3.5 3.5 0 0 0 5 0l4 -4a3.5 3.5 0 0 0 -5 -5l-.5 .5"></path><path d="M14 10a3.5 3.5 0 0 0 -5 0l-4 4a3.5 3.5 0 0 0 5 5l.5 -.5"></path></svg></a></h3><ul class="tsd-signatures tsd-kind-method tsd-parent-kind-class"><li class="tsd-signature tsd-kind-icon">machine_<wbr/>comment<span class="tsd-signature-symbol">(</span><span class="tsd-signature-symbol">)</span><span class="tsd-signature-symbol">: </span><span class="tsd-signature-type">string</span></li></ul><ul class="tsd-descriptions"><li class="tsd-description"><aside class="tsd-sources"><ul><li>Defined in <a href="https://github.com/StoneCypher/jssm/blob/0fe3acc/src/ts/jssm.ts#L1072">jssm.ts:1072</a></li></ul></aside><h4 class="tsd-returns-title">Returns <span class="tsd-signature-type">string</span></h4></li></ul></section><section class="tsd-panel tsd-member tsd-kind-method tsd-parent-kind-class"><a id="machine_contributor" class="tsd-anchor"></a><h3 class="tsd-anchor-link">machine_<wbr/>contributor<a href="#machine_contributor" aria-label="Permalink" class="tsd-anchor-icon"><svg xmlns="http://www.w3.org/2000/svg" class="icon icon-tabler icon-tabler-link" viewBox="0 0 24 24" stroke-width="2" stroke="currentColor" fill="none" stroke-linecap="round" stroke-linejoin="round"><path stroke="none" d="M0 0h24v24H0z" fill="none"></path><path d="M10 14a3.5 3.5 0 0 0 5 0l4 -4a3.5 3.5 0 0 0 -5 -5l-.5 .5"></path><path d="M14 10a3.5 3.5 0 0 0 -5 0l-4 4a3.5 3.5 0 0 0 5 5l.5 -.5"></path></svg></a></h3><ul class="tsd-signatures tsd-kind-method tsd-parent-kind-class"><li class="tsd-signature tsd-kind-icon">machine_<wbr/>contributor<span class="tsd-signature-symbol">(</span><span class="tsd-signature-symbol">)</span><span class="tsd-signature-symbol">: </span><span class="tsd-signature-type">string</span><span class="tsd-signature-symbol">[]</span></li></ul><ul class="tsd-descriptions"><li class="tsd-description"><aside class="tsd-sources"><ul><li>Defined in <a href="https://github.com/StoneCypher/jssm/blob/0fe3acc/src/ts/jssm.ts#L1076">jssm.ts:1076</a></li></ul></aside><h4 class="tsd-returns-title">Returns <span class="tsd-signature-type">string</span><span class="tsd-signature-symbol">[]</span></h4></li></ul></section><section class="tsd-panel tsd-member tsd-kind-method tsd-parent-kind-class"><a id="machine_definition" class="tsd-anchor"></a><h3 class="tsd-anchor-link">machine_<wbr/>definition<a href="#machine_definition" aria-label="Permalink" class="tsd-anchor-icon"><svg xmlns="http://www.w3.org/2000/svg" class="icon icon-tabler icon-tabler-link" viewBox="0 0 24 24" stroke-width="2" stroke="currentColor" fill="none" stroke-linecap="round" stroke-linejoin="round"><path stroke="none" d="M0 0h24v24H0z" fill="none"></path><path d="M10 14a3.5 3.5 0 0 0 5 0l4 -4a3.5 3.5 0 0 0 -5 -5l-.5 .5"></path><path d="M14 10a3.5 3.5 0 0 0 -5 0l-4 4a3.5 3.5 0 0 0 5 5l.5 -.5"></path></svg></a></h3><ul class="tsd-signatures tsd-kind-method tsd-parent-kind-class"><li class="tsd-signature tsd-kind-icon">machine_<wbr/>definition<span class="tsd-signature-symbol">(</span><span class="tsd-signature-symbol">)</span><span class="tsd-signature-symbol">: </span><span class="tsd-signature-type">string</span></li></ul><ul class="tsd-descriptions"><li class="tsd-description"><aside class="tsd-sources"><ul><li>Defined in <a href="https://github.com/StoneCypher/jssm/blob/0fe3acc/src/ts/jssm.ts#L1080">jssm.ts:1080</a></li></ul></aside><h4 class="tsd-returns-title">Returns <span class="tsd-signature-type">string</span></h4></li></ul></section><section class="tsd-panel tsd-member tsd-kind-method tsd-parent-kind-class"><a id="machine_language" class="tsd-anchor"></a><h3 class="tsd-anchor-link">machine_<wbr/>language<a href="#machine_language" aria-label="Permalink" class="tsd-anchor-icon"><svg xmlns="http://www.w3.org/2000/svg" class="icon icon-tabler icon-tabler-link" viewBox="0 0 24 24" stroke-width="2" stroke="currentColor" fill="none" stroke-linecap="round" stroke-linejoin="round"><path stroke="none" d="M0 0h24v24H0z" fill="none"></path><path d="M10 14a3.5 3.5 0 0 0 5 0l4 -4a3.5 3.5 0 0 0 -5 -5l-.5 .5"></path><path d="M14 10a3.5 3.5 0 0 0 -5 0l-4 4a3.5 3.5 0 0 0 5 5l.5 -.5"></path></svg></a></h3><ul class="tsd-signatures tsd-kind-method tsd-parent-kind-class"><li class="tsd-signature tsd-kind-icon">machine_<wbr/>language<span class="tsd-signature-symbol">(</span><span class="tsd-signature-symbol">)</span><span class="tsd-signature-symbol">: </span><span class="tsd-signature-type">string</span></li></ul><ul class="tsd-descriptions"><li class="tsd-description"><aside class="tsd-sources"><ul><li>Defined in <a href="https://github.com/StoneCypher/jssm/blob/0fe3acc/src/ts/jssm.ts#L1084">jssm.ts:1084</a></li></ul></aside><h4 class="tsd-returns-title">Returns <span class="tsd-signature-type">string</span></h4></li></ul></section><section class="tsd-panel tsd-member tsd-kind-method tsd-parent-kind-class"><a id="machine_license" class="tsd-anchor"></a><h3 class="tsd-anchor-link">machine_<wbr/>license<a href="#machine_license" aria-label="Permalink" class="tsd-anchor-icon"><svg xmlns="http://www.w3.org/2000/svg" class="icon icon-tabler icon-tabler-link" viewBox="0 0 24 24" stroke-width="2" stroke="currentColor" fill="none" stroke-linecap="round" stroke-linejoin="round"><path stroke="none" d="M0 0h24v24H0z" fill="none"></path><path d="M10 14a3.5 3.5 0 0 0 5 0l4 -4a3.5 3.5 0 0 0 -5 -5l-.5 .5"></path><path d="M14 10a3.5 3.5 0 0 0 -5 0l-4 4a3.5 3.5 0 0 0 5 5l.5 -.5"></path></svg></a></h3><ul class="tsd-signatures tsd-kind-method tsd-parent-kind-class"><li class="tsd-signature tsd-kind-icon">machine_<wbr/>license<span class="tsd-signature-symbol">(</span><span class="tsd-signature-symbol">)</span><span class="tsd-signature-symbol">: </span><span class="tsd-signature-type">string</span></li></ul><ul class="tsd-descriptions"><li class="tsd-description"><aside class="tsd-sources"><ul><li>Defined in <a href="https://github.com/StoneCypher/jssm/blob/0fe3acc/src/ts/jssm.ts#L1088">jssm.ts:1088</a></li></ul></aside><h4 class="tsd-returns-title">Returns <span class="tsd-signature-type">string</span></h4></li></ul></section><section class="tsd-panel tsd-member tsd-kind-method tsd-parent-kind-class"><a id="machine_name" class="tsd-anchor"></a><h3 class="tsd-anchor-link">machine_<wbr/>name<a href="#machine_name" aria-label="Permalink" class="tsd-anchor-icon"><svg xmlns="http://www.w3.org/2000/svg" class="icon icon-tabler icon-tabler-link" viewBox="0 0 24 24" stroke-width="2" stroke="currentColor" fill="none" stroke-linecap="round" stroke-linejoin="round"><path stroke="none" d="M0 0h24v24H0z" fill="none"></path><path d="M10 14a3.5 3.5 0 0 0 5 0l4 -4a3.5 3.5 0 0 0 -5 -5l-.5 .5"></path><path d="M14 10a3.5 3.5 0 0 0 -5 0l-4 4a3.5 3.5 0 0 0 5 5l.5 -.5"></path></svg></a></h3><ul class="tsd-signatures tsd-kind-method tsd-parent-kind-class"><li class="tsd-signature tsd-kind-icon">machine_<wbr/>name<span class="tsd-signature-symbol">(</span><span class="tsd-signature-symbol">)</span><span class="tsd-signature-symbol">: </span><span class="tsd-signature-type">string</span></li></ul><ul class="tsd-descriptions"><li class="tsd-description"><aside class="tsd-sources"><ul><li>Defined in <a href="https://github.com/StoneCypher/jssm/blob/0fe3acc/src/ts/jssm.ts#L1092">jssm.ts:1092</a></li></ul></aside><h4 class="tsd-returns-title">Returns <span class="tsd-signature-type">string</span></h4></li></ul></section><section class="tsd-panel tsd-member tsd-kind-method tsd-parent-kind-class"><a id="machine_state" class="tsd-anchor"></a><h3 class="tsd-anchor-link">machine_<wbr/>state<a href="#machine_state" aria-label="Permalink" class="tsd-anchor-icon"><svg xmlns="http://www.w3.org/2000/svg" class="icon icon-tabler icon-tabler-link" viewBox="0 0 24 24" stroke-width="2" stroke="currentColor" fill="none" stroke-linecap="round" stroke-linejoin="round"><path stroke="none" d="M0 0h24v24H0z" fill="none"></path><path d="M10 14a3.5 3.5 0 0 0 5 0l4 -4a3.5 3.5 0 0 0 -5 -5l-.5 .5"></path><path d="M14 10a3.5 3.5 0 0 0 -5 0l-4 4a3.5 3.5 0 0 0 5 5l.5 -.5"></path></svg></a></h3><ul class="tsd-signatures tsd-kind-method tsd-parent-kind-class"><li class="tsd-signature tsd-kind-icon">machine_<wbr/>state<span class="tsd-signature-symbol">(</span><span class="tsd-signature-symbol">)</span><span class="tsd-signature-symbol">: </span><span class="tsd-signature-type">JssmMachineInternalState</span><span class="tsd-signature-symbol"><</span><span class="tsd-signature-type" data-tsd-kind="Type parameter">mDT</span><span class="tsd-signature-symbol">></span></li></ul><ul class="tsd-descriptions"><li class="tsd-description"><aside class="tsd-sources"><ul><li>Defined in <a href="https://github.com/StoneCypher/jssm/blob/0fe3acc/src/ts/jssm.ts#L1118">jssm.ts:1118</a></li></ul></aside><h4 class="tsd-returns-title">Returns <span class="tsd-signature-type">JssmMachineInternalState</span><span class="tsd-signature-symbol"><</span><span class="tsd-signature-type" data-tsd-kind="Type parameter">mDT</span><span class="tsd-signature-symbol">></span></h4></li></ul></section><section class="tsd-panel tsd-member tsd-kind-method tsd-parent-kind-class"><a id="machine_version" class="tsd-anchor"></a><h3 class="tsd-anchor-link">machine_<wbr/>version<a href="#machine_version" aria-label="Permalink" class="tsd-anchor-icon"><svg xmlns="http://www.w3.org/2000/svg" class="icon icon-tabler icon-tabler-link" viewBox="0 0 24 24" stroke-width="2" stroke="currentColor" fill="none" stroke-linecap="round" stroke-linejoin="round"><path stroke="none" d="M0 0h24v24H0z" fill="none"></path><path d="M10 14a3.5 3.5 0 0 0 5 0l4 -4a3.5 3.5 0 0 0 -5 -5l-.5 .5"></path><path d="M14 10a3.5 3.5 0 0 0 -5 0l-4 4a3.5 3.5 0 0 0 5 5l.5 -.5"></path></svg></a></h3><ul class="tsd-signatures tsd-kind-method tsd-parent-kind-class"><li class="tsd-signature tsd-kind-icon">machine_<wbr/>version<span class="tsd-signature-symbol">(</span><span class="tsd-signature-symbol">)</span><span class="tsd-signature-symbol">: </span><span class="tsd-signature-type">string</span></li></ul><ul class="tsd-descriptions"><li class="tsd-description"><aside class="tsd-sources"><ul><li>Defined in <a href="https://github.com/StoneCypher/jssm/blob/0fe3acc/src/ts/jssm.ts#L1096">jssm.ts:1096</a></li></ul></aside><h4 class="tsd-returns-title">Returns <span class="tsd-signature-type">string</span></h4></li></ul></section><section class="tsd-panel tsd-member tsd-kind-method tsd-parent-kind-class"><a id="probabilistic_histo_walk" class="tsd-anchor"></a><h3 class="tsd-anchor-link">probabilistic_<wbr/>histo_<wbr/>walk<a href="#probabilistic_histo_walk" aria-label="Permalink" class="tsd-anchor-icon"><svg xmlns="http://www.w3.org/2000/svg" class="icon icon-tabler icon-tabler-link" viewBox="0 0 24 24" stroke-width="2" stroke="currentColor" fill="none" stroke-linecap="round" stroke-linejoin="round"><path stroke="none" d="M0 0h24v24H0z" fill="none"></path><path d="M10 14a3.5 3.5 0 0 0 5 0l4 -4a3.5 3.5 0 0 0 -5 -5l-.5 .5"></path><path d="M14 10a3.5 3.5 0 0 0 -5 0l-4 4a3.5 3.5 0 0 0 5 5l.5 -.5"></path></svg></a></h3><ul class="tsd-signatures tsd-kind-method tsd-parent-kind-class"><li class="tsd-signature tsd-kind-icon">probabilistic_<wbr/>histo_<wbr/>walk<span class="tsd-signature-symbol">(</span>n<span class="tsd-signature-symbol">: </span><span class="tsd-signature-type">number</span><span class="tsd-signature-symbol">)</span><span class="tsd-signature-symbol">: </span><span class="tsd-signature-type">Map</span><span class="tsd-signature-symbol"><</span><span class="tsd-signature-type">string</span><span class="tsd-signature-symbol">, </span><span class="tsd-signature-type">number</span><span class="tsd-signature-symbol">></span></li></ul><ul class="tsd-descriptions"><li class="tsd-description"><aside class="tsd-sources"><ul><li>Defined in <a href="https://github.com/StoneCypher/jssm/blob/0fe3acc/src/ts/jssm.ts#L1409">jssm.ts:1409</a></li></ul></aside><h4 class="tsd-parameters-title">Parameters</h4><ul class="tsd-parameters"><li><h5>n: <span class="tsd-signature-type">number</span></h5></li></ul><h4 class="tsd-returns-title">Returns <span class="tsd-signature-type">Map</span><span class="tsd-signature-symbol"><</span><span class="tsd-signature-type">string</span><span class="tsd-signature-symbol">, </span><span class="tsd-signature-type">number</span><span class="tsd-signature-symbol">></span></h4></li></ul></section><section class="tsd-panel tsd-member tsd-kind-method tsd-parent-kind-class"><a id="probabilistic_transition" class="tsd-anchor"></a><h3 class="tsd-anchor-link">probabilistic_<wbr/>transition<a href="#probabilistic_transition" aria-label="Permalink" class="tsd-anchor-icon"><svg xmlns="http://www.w3.org/2000/svg" class="icon icon-tabler icon-tabler-link" viewBox="0 0 24 24" stroke-width="2" stroke="currentColor" fill="none" stroke-linecap="round" stroke-linejoin="round"><path stroke="none" d="M0 0h24v24H0z" fill="none"></path><path d="M10 14a3.5 3.5 0 0 0 5 0l4 -4a3.5 3.5 0 0 0 -5 -5l-.5 .5"></path><path d="M14 10a3.5 3.5 0 0 0 -5 0l-4 4a3.5 3.5 0 0 0 5 5l.5 -.5"></path></svg></a></h3><ul class="tsd-signatures tsd-kind-method tsd-parent-kind-class"><li class="tsd-signature tsd-kind-icon">probabilistic_<wbr/>transition<span class="tsd-signature-symbol">(</span><span class="tsd-signature-symbol">)</span><span class="tsd-signature-symbol">: </span><span class="tsd-signature-type">boolean</span></li></ul><ul class="tsd-descriptions"><li class="tsd-description"><aside class="tsd-sources"><ul><li>Defined in <a href="https://github.com/StoneCypher/jssm/blob/0fe3acc/src/ts/jssm.ts#L1394">jssm.ts:1394</a></li></ul></aside><h4 class="tsd-returns-title">Returns <span class="tsd-signature-type">boolean</span></h4></li></ul></section><section class="tsd-panel tsd-member tsd-kind-method tsd-parent-kind-class"><a id="probabilistic_walk" class="tsd-anchor"></a><h3 class="tsd-anchor-link">probabilistic_<wbr/>walk<a href="#probabilistic_walk" aria-label="Permalink" class="tsd-anchor-icon"><svg xmlns="http://www.w3.org/2000/svg" class="icon icon-tabler icon-tabler-link" viewBox="0 0 24 24" stroke-width="2" stroke="currentColor" fill="none" stroke-linecap="round" stroke-linejoin="round"><path stroke="none" d="M0 0h24v24H0z" fill="none"></path><path d="M10 14a3.5 3.5 0 0 0 5 0l4 -4a3.5 3.5 0 0 0 -5 -5l-.5 .5"></path><path d="M14 10a3.5 3.5 0 0 0 -5 0l-4 4a3.5 3.5 0 0 0 5 5l.5 -.5"></path></svg></a></h3><ul class="tsd-signatures tsd-kind-method tsd-parent-kind-class"><li class="tsd-signature tsd-kind-icon">probabilistic_<wbr/>walk<span class="tsd-signature-symbol">(</span>n<span class="tsd-signature-symbol">: </span><span class="tsd-signature-type">number</span><span class="tsd-signature-symbol">)</span><span class="tsd-signature-symbol">: </span><span class="tsd-signature-type">string</span><span class="tsd-signature-symbol">[]</span></li></ul><ul class="tsd-descriptions"><li class="tsd-description"><aside class="tsd-sources"><ul><li>Defined in <a href="https://github.com/StoneCypher/jssm/blob/0fe3acc/src/ts/jssm.ts#L1399">jssm.ts:1399</a></li></ul></aside><h4 class="tsd-parameters-title">Parameters</h4><ul class="tsd-parameters"><li><h5>n: <span class="tsd-signature-type">number</span></h5></li></ul><h4 class="tsd-returns-title">Returns <span class="tsd-signature-type">string</span><span class="tsd-signature-symbol">[]</span></h4></li></ul></section><section class="tsd-panel tsd-member tsd-kind-method tsd-parent-kind-class"><a id="probable_action_exits" class="tsd-anchor"></a><h3 class="tsd-anchor-link">probable_<wbr/>action_<wbr/>exits<a href="#probable_action_exits" aria-label="Permalink" class="tsd-anchor-icon"><svg xmlns="http://www.w3.org/2000/svg" class="icon icon-tabler icon-tabler-link" viewBox="0 0 24 24" stroke-width="2" stroke="currentColor" fill="none" stroke-linecap="round" stroke-linejoin="round"><path stroke="none" d="M0 0h24v24H0z" fill="none"></path><path d="M10 14a3.5 3.5 0 0 0 5 0l4 -4a3.5 3.5 0 0 0 -5 -5l-.5 .5"></path><path d="M14 10a3.5 3.5 0 0 0 -5 0l-4 4a3.5 3.5 0 0 0 5 5l.5 -.5"></path></svg></a></h3><ul class="tsd-signatures tsd-kind-method tsd-parent-kind-class"><li class="tsd-signature tsd-kind-icon">probable_<wbr/>action_<wbr/>exits<span class="tsd-signature-symbol">(</span>whichState<span class="tsd-signature-symbol">?: </span><span class="tsd-signature-type">string</span><span class="tsd-signature-symbol">)</span><span class="tsd-signature-symbol">: </span><span class="tsd-signature-type">any</span><span class="tsd-signature-symbol">[]</span></li></ul><ul class="tsd-descriptions"><li class="tsd-description"><aside class="tsd-sources"><ul><li>Defined in <a href="https://github.com/StoneCypher/jssm/blob/0fe3acc/src/ts/jssm.ts#L1535">jssm.ts:1535</a></li></ul></aside><h4 class="tsd-parameters-title">Parameters</h4><ul class="tsd-parameters"><li><h5>whichState: <span class="tsd-signature-type">string</span><span class="tsd-signature-symbol"> = ...</span></h5></li></ul><h4 class="tsd-returns-title">Returns <span class="tsd-signature-type">any</span><span class="tsd-signature-symbol">[]</span></h4></li></ul></section><section class="tsd-panel tsd-member tsd-kind-method tsd-parent-kind-class"><a id="probable_exits_for" class="tsd-anchor"></a><h3 class="tsd-anchor-link">probable_<wbr/>exits_<wbr/>for<a href="#probable_exits_for" aria-label="Permalink" class="tsd-anchor-icon"><svg xmlns="http://www.w3.org/2000/svg" class="icon icon-tabler icon-tabler-link" viewBox="0 0 24 24" stroke-width="2" stroke="currentColor" fill="none" stroke-linecap="round" stroke-linejoin="round"><path stroke="none" d="M0 0h24v24H0z" fill="none"></path><path d="M10 14a3.5 3.5 0 0 0 5 0l4 -4a3.5 3.5 0 0 0 -5 -5l-.5 .5"></path><path d="M14 10a3.5 3.5 0 0 0 -5 0l-4 4a3.5 3.5 0 0 0 5 5l.5 -.5"></path></svg></a></h3><ul class="tsd-signatures tsd-kind-method tsd-parent-kind-class"><li class="tsd-signature tsd-kind-icon">probable_<wbr/>exits_<wbr/>for<span class="tsd-signature-symbol">(</span>whichState<span class="tsd-signature-symbol">: </span><span class="tsd-signature-type">string</span><span class="tsd-signature-symbol">)</span><span class="tsd-signature-symbol">: </span><span class="tsd-signature-type">JssmTransition</span><span class="tsd-signature-symbol"><</span><span class="tsd-signature-type" data-tsd-kind="Type parameter">mDT</span><span class="tsd-signature-symbol">></span><span class="tsd-signature-symbol">[]</span></li></ul><ul class="tsd-descriptions"><li class="tsd-description"><aside class="tsd-sources"><ul><li>Defined in <a href="https://github.com/StoneCypher/jssm/blob/0fe3acc/src/ts/jssm.ts#L1378">jssm.ts:1378</a></li></ul></aside><h4 class="tsd-parameters-title">Parameters</h4><ul class="tsd-parameters"><li><h5>whichState: <span class="tsd-signature-type">string</span></h5></li></ul><h4 class="tsd-returns-title">Returns <span class="tsd-signature-type">JssmTransition</span><span class="tsd-signature-symbol"><</span><span class="tsd-signature-type" data-tsd-kind="Type parameter">mDT</span><span class="tsd-signature-symbol">></span><span class="tsd-signature-symbol">[]</span></h4></li></ul></section><section class="tsd-panel tsd-member tsd-kind-method tsd-parent-kind-class"><a id="raw_state_declarations" class="tsd-anchor"></a><h3 class="tsd-anchor-link">raw_<wbr/>state_<wbr/>declarations<a href="#raw_state_declarations" aria-label="Permalink" class="tsd-anchor-icon"><svg xmlns="http://www.w3.org/2000/svg" class="icon icon-tabler icon-tabler-link" viewBox="0 0 24 24" stroke-width="2" stroke="currentColor" fill="none" stroke-linecap="round" stroke-linejoin="round"><path stroke="none" d="M0 0h24v24H0z" fill="none"></path><path d="M10 14a3.5 3.5 0 0 0 5 0l4 -4a3.5 3.5 0 0 0 -5 -5l-.5 .5"></path><path d="M14 10a3.5 3.5 0 0 0 -5 0l-4 4a3.5 3.5 0 0 0 5 5l.5 -.5"></path></svg></a></h3><ul class="tsd-signatures tsd-kind-method tsd-parent-kind-class"><li class="tsd-signature tsd-kind-icon">raw_<wbr/>state_<wbr/>declarations<span class="tsd-signature-symbol">(</span><span class="tsd-signature-symbol">)</span><span class="tsd-signature-symbol">: </span><span class="tsd-signature-type">Object</span><span class="tsd-signature-symbol">[]</span></li></ul><ul class="tsd-descriptions"><li class="tsd-description"><aside class="tsd-sources"><ul><li>Defined in <a href="https://github.com/StoneCypher/jssm/blob/0fe3acc/src/ts/jssm.ts#L1100">jssm.ts:1100</a></li></ul></aside><h4 class="tsd-returns-title">Returns <span class="tsd-signature-type">Object</span><span class="tsd-signature-symbol">[]</span></h4></li></ul></section><section class="tsd-panel tsd-member tsd-kind-method tsd-parent-kind-class"><a id="set_hook" class="tsd-anchor"></a><h3 class="tsd-anchor-link">set_<wbr/>hook<a href="#set_hook" aria-label="Permalink" class="tsd-anchor-icon"><svg xmlns="http://www.w3.org/2000/svg" class="icon icon-tabler icon-tabler-link" viewBox="0 0 24 24" stroke-width="2" stroke="currentColor" fill="none" stroke-linecap="round" stroke-linejoin="round"><path stroke="none" d="M0 0h24v24H0z" fill="none"></path><path d="M10 14a3.5 3.5 0 0 0 5 0l4 -4a3.5 3.5 0 0 0 -5 -5l-.5 .5"></path><path d="M14 10a3.5 3.5 0 0 0 -5 0l-4 4a3.5 3.5 0 0 0 5 5l.5 -.5"></path></svg></a></h3><ul class="tsd-signatures tsd-kind-method tsd-parent-kind-class"><li class="tsd-signature tsd-kind-icon">set_<wbr/>hook<span class="tsd-signature-symbol">(</span>HookDesc<span class="tsd-signature-symbol">: </span><span class="tsd-signature-type">HookDescription</span><span class="tsd-signature-symbol">)</span><span class="tsd-signature-symbol">: </span><span class="tsd-signature-type">void</span></li></ul><ul class="tsd-descriptions"><li class="tsd-description"><aside class="tsd-sources"><ul><li>Defined in <a href="https://github.com/StoneCypher/jssm/blob/0fe3acc/src/ts/jssm.ts#L1597">jssm.ts:1597</a></li></ul></aside><h4 class="tsd-parameters-title">Parameters</h4><ul class="tsd-parameters"><li><h5>HookDesc: <span class="tsd-signature-type">HookDescription</span></h5></li></ul><h4 class="tsd-returns-title">Returns <span class="tsd-signature-type">void</span></h4></li></ul></section><section class="tsd-panel tsd-member tsd-kind-method tsd-parent-kind-class"><a id="sm" class="tsd-anchor"></a><h3 class="tsd-anchor-link">sm<a href="#sm" aria-label="Permalink" class="tsd-anchor-icon"><svg xmlns="http://www.w3.org/2000/svg" class="icon icon-tabler icon-tabler-link" viewBox="0 0 24 24" stroke-width="2" stroke="currentColor" fill="none" stroke-linecap="round" stroke-linejoin="round"><path stroke="none" d="M0 0h24v24H0z" fill="none"></path><path d="M10 14a3.5 3.5 0 0 0 5 0l4 -4a3.5 3.5 0 0 0 -5 -5l-.5 .5"></path><path d="M14 10a3.5 3.5 0 0 0 -5 0l-4 4a3.5 3.5 0 0 0 5 5l.5 -.5"></path></svg></a></h3><ul class="tsd-signatures tsd-kind-method tsd-parent-kind-class"><li class="tsd-signature tsd-kind-icon">sm<span class="tsd-signature-symbol">(</span>template_strings<span class="tsd-signature-symbol">: </span><span class="tsd-signature-type">TemplateStringsArray</span>, <span class="tsd-signature-symbol">...</span>remainder<span class="tsd-signature-symbol">: </span><span class="tsd-signature-type">any</span><span class="tsd-signature-symbol">[]</span><span class="tsd-signature-symbol">)</span><span class="tsd-signature-symbol">: </span><a href="Machine.html" class="tsd-signature-type" data-tsd-kind="Class">Machine</a><span class="tsd-signature-symbol"><</span><span class="tsd-signature-type" data-tsd-kind="Type parameter">mDT</span><span class="tsd-signature-symbol">></span></li></ul><ul class="tsd-descriptions"><li class="tsd-description"><aside class="tsd-sources"><ul><li>Defined in <a href="https://github.com/StoneCypher/jssm/blob/0fe3acc/src/ts/jssm.ts#L2076">jssm.ts:2076</a></li></ul></aside><h4 class="tsd-parameters-title">Parameters</h4><ul class="tsd-parameters"><li><h5>template_strings: <span class="tsd-signature-type">TemplateStringsArray</span></h5></li><li><h5><span class="tsd-flag ts-flagRest">Rest</span> <span class="tsd-signature-symbol">...</span>remainder: <span class="tsd-signature-type">any</span><span class="tsd-signature-symbol">[]</span></h5></li></ul><h4 class="tsd-returns-title">Returns <a href="Machine.html" class="tsd-signature-type" data-tsd-kind="Class">Machine</a><span class="tsd-signature-symbol"><</span><span class="tsd-signature-type" data-tsd-kind="Type parameter">mDT</span><span class="tsd-signature-symbol">></span></h4></li></ul></section><section class="tsd-panel tsd-member tsd-kind-method tsd-parent-kind-class"><a id="state" class="tsd-anchor"></a><h3 class="tsd-anchor-link">state<a href="#state" aria-label="Permalink" class="tsd-anchor-icon"><svg xmlns="http://www.w3.org/2000/svg" class="icon icon-tabler icon-tabler-link" viewBox="0 0 24 24" stroke-width="2" stroke="currentColor" fill="none" stroke-linecap="round" stroke-linejoin="round"><path stroke="none" d="M0 0h24v24H0z" fill="none"></path><path d="M10 14a3.5 3.5 0 0 0 5 0l4 -4a3.5 3.5 0 0 0 -5 -5l-.5 .5"></path><path d="M14 10a3.5 3.5 0 0 0 -5 0l-4 4a3.5 3.5 0 0 0 5 5l.5 -.5"></path></svg></a></h3><ul class="tsd-signatures tsd-kind-method tsd-parent-kind-class"><li class="tsd-signature tsd-kind-icon">state<span class="tsd-signature-symbol">(</span><span class="tsd-signature-symbol">)</span><span class="tsd-signature-symbol">: </span><span class="tsd-signature-type">string</span></li></ul><ul class="tsd-descriptions"><li class="tsd-description"><aside class="tsd-sources"><ul><li>Defined in <a href="https://github.com/StoneCypher/jssm/blob/0fe3acc/src/ts/jssm.ts#L987">jssm.ts:987</a></li></ul></aside><div class="tsd-comment tsd-typography"><div class="lead">
<p> Get the current state of a machine.</p>
</div><div><pre><code class="language-typescript"><span class="hl-0">import</span><span class="hl-1"> </span><span class="hl-7">*</span><span class="hl-1"> </span><span class="hl-0">as</span><span class="hl-1"> </span><span class="hl-2">jssm</span><span class="hl-1"> </span><span class="hl-0">from</span><span class="hl-1"> </span><span class="hl-3">'jssm'</span><span class="hl-1">;</span><br/><br/><span class="hl-7">const</span><span class="hl-1"> </span><span class="hl-8">switch</span><span class="hl-1"> = </span><span class="hl-2">jssm</span><span class="hl-1">.</span><span class="hl-4">from</span><span class="hl-1">(</span><span class="hl-3">'on <=> off;'</span><span class="hl-1">);</span><br/><span class="hl-2">console</span><span class="hl-1">.</span><span class="hl-4">log</span><span class="hl-1">( </span><span class="hl-2">switch</span><span class="hl-1">.</span><span class="hl-4">state</span><span class="hl-1">() ); </span><span class="hl-6">// 'on'</span><br/><br/><span class="hl-2">switch</span><span class="hl-1">.</span><span class="hl-4">transition</span><span class="hl-1">(</span><span class="hl-3">'off'</span><span class="hl-1">);</span><br/><span class="hl-2">console</span><span class="hl-1">.</span><span class="hl-4">log</span><span class="hl-1">( </span><span class="hl-2">switch</span><span class="hl-1">.</span><span class="hl-4">state</span><span class="hl-1">() ); </span><span class="hl-6">// 'off'</span>
</code></pre>
</div></div><h4 class="tsd-returns-title">Returns <span class="tsd-signature-type">string</span></h4></li></ul></section><section class="tsd-panel tsd-member tsd-kind-method tsd-parent-kind-class"><a id="state_declaration" class="tsd-anchor"></a><h3 class="tsd-anchor-link">state_<wbr/>declaration<a href="#state_declaration" aria-label="Permalink" class="tsd-anchor-icon"><svg xmlns="http://www.w3.org/2000/svg" class="icon icon-tabler icon-tabler-link" viewBox="0 0 24 24" stroke-width="2" stroke="currentColor" fill="none" stroke-linecap="round" stroke-linejoin="round"><path stroke="none" d="M0 0h24v24H0z" fill="none"></path><path d="M10 14a3.5 3.5 0 0 0 5 0l4 -4a3.5 3.5 0 0 0 -5 -5l-.5 .5"></path><path d="M14 10a3.5 3.5 0 0 0 -5 0l-4 4a3.5 3.5 0 0 0 5 5l.5 -.5"></path></svg></a></h3><ul class="tsd-signatures tsd-kind-method tsd-parent-kind-class"><li class="tsd-signature tsd-kind-icon">state_<wbr/>declaration<span class="tsd-signature-symbol">(</span>which<span class="tsd-signature-symbol">: </span><span class="tsd-signature-type">string</span><span class="tsd-signature-symbol">)</span><span class="tsd-signature-symbol">: </span><span class="tsd-signature-type">JssmStateDeclaration</span></li></ul><ul class="tsd-descriptions"><li class="tsd-description"><aside class="tsd-sources"><ul><li>Defined in <a href="https://github.com/StoneCypher/jssm/blob/0fe3acc/src/ts/jssm.ts#L1104">jssm.ts:1104</a></li></ul></aside><h4 class="tsd-parameters-title">Parameters</h4><ul class="tsd-parameters"><li><h5>which: <span class="tsd-signature-type">string</span></h5></li></ul><h4 class="tsd-returns-title">Returns <span class="tsd-signature-type">JssmStateDeclaration</span></h4></li></ul></section><section class="tsd-panel tsd-member tsd-kind-method tsd-parent-kind-class"><a id="state_declarations" class="tsd-anchor"></a><h3 class="tsd-anchor-link">state_<wbr/>declarations<a href="#state_declarations" aria-label="Permalink" class="tsd-anchor-icon"><svg xmlns="http://www.w3.org/2000/svg" class="icon icon-tabler icon-tabler-link" viewBox="0 0 24 24" stroke-width="2" stroke="currentColor" fill="none" stroke-linecap="round" stroke-linejoin="round"><path stroke="none" d="M0 0h24v24H0z" fill="none"></path><path d="M10 14a3.5 3.5 0 0 0 5 0l4 -4a3.5 3.5 0 0 0 -5 -5l-.5 .5"></path><path d="M14 10a3.5 3.5 0 0 0 -5 0l-4 4a3.5 3.5 0 0 0 5 5l.5 -.5"></path></svg></a></h3><ul class="tsd-signatures tsd-kind-method tsd-parent-kind-class"><li class="tsd-signature tsd-kind-icon">state_<wbr/>declarations<span class="tsd-signature-symbol">(</span><span class="tsd-signature-symbol">)</span><span class="tsd-signature-symbol">: </span><span class="tsd-signature-type">Map</span><span class="tsd-signature-symbol"><</span><span class="tsd-signature-type">string</span><span class="tsd-signature-symbol">, </span><span class="tsd-signature-type">JssmStateDeclaration</span><span class="tsd-signature-symbol">></span></li></ul><ul class="tsd-descriptions"><li class="tsd-description"><aside class="tsd-sources"><ul><li>Defined in <a href="https://github.com/StoneCypher/jssm/blob/0fe3acc/src/ts/jssm.ts#L1108">jssm.ts:1108</a></li></ul></aside><h4 class="tsd-returns-title">Returns <span class="tsd-signature-type">Map</span><span class="tsd-signature-symbol"><</span><span class="tsd-signature-type">string</span><span class="tsd-signature-symbol">, </span><span class="tsd-signature-type">JssmStateDeclaration</span><span class="tsd-signature-symbol">></span></h4></li></ul></section><section class="tsd-panel tsd-member tsd-kind-method tsd-parent-kind-class"><a id="state_for" class="tsd-anchor"></a><h3 class="tsd-anchor-link">state_<wbr/>for<a href="#state_for" aria-label="Permalink" class="tsd-anchor-icon"><svg xmlns="http://www.w3.org/2000/svg" class="icon icon-tabler icon-tabler-link" viewBox="0 0 24 24" stroke-width="2" stroke="currentColor" fill="none" stroke-linecap="round" stroke-linejoin="round"><path stroke="none" d="M0 0h24v24H0z" fill="none"></path><path d="M10 14a3.5 3.5 0 0 0 5 0l4 -4a3.5 3.5 0 0 0 -5 -5l-.5 .5"></path><path d="M14 10a3.5 3.5 0 0 0 -5 0l-4 4a3.5 3.5 0 0 0 5 5l.5 -.5"></path></svg></a></h3><ul class="tsd-signatures tsd-kind-method tsd-parent-kind-class"><li class="tsd-signature tsd-kind-icon">state_<wbr/>for<span class="tsd-signature-symbol">(</span>whichState<span class="tsd-signature-symbol">: </span><span class="tsd-signature-type">string</span><span class="tsd-signature-symbol">)</span><span class="tsd-signature-symbol">: </span><span class="tsd-signature-type">JssmGenericState</span></li></ul><ul class="tsd-descriptions"><li class="tsd-description"><aside class="tsd-sources"><ul><li>Defined in <a href="https://github.com/StoneCypher/jssm/blob/0fe3acc/src/ts/jssm.ts#L1171">jssm.ts:1171</a></li></ul></aside><h4 class="tsd-parameters-title">Parameters</h4><ul class="tsd-parameters"><li><h5>whichState: <span class="tsd-signature-type">string</span></h5></li></ul><h4 class="tsd-returns-title">Returns <span class="tsd-signature-type">JssmGenericState</span></h4></li></ul></section><section class="tsd-panel tsd-member tsd-kind-method tsd-parent-kind-class"><a id="state_is_complete" class="tsd-anchor"></a><h3 class="tsd-anchor-link">state_<wbr/>is_<wbr/>complete<a href="#state_is_complete" aria-label="Permalink" class="tsd-anchor-icon"><svg xmlns="http://www.w3.org/2000/svg" class="icon icon-tabler icon-tabler-link" viewBox="0 0 24 24" stroke-width="2" stroke="currentColor" fill="none" stroke-linecap="round" stroke-linejoin="round"><path stroke="none" d="M0 0h24v24H0z" fill="none"></path><path d="M10 14a3.5 3.5 0 0 0 5 0l4 -4a3.5 3.5 0 0 0 -5 -5l-.5 .5"></path><path d="M14 10a3.5 3.5 0 0 0 -5 0l-4 4a3.5 3.5 0 0 0 5 5l.5 -.5"></path></svg></a></h3><ul class="tsd-signatures tsd-kind-method tsd-parent-kind-class"><li class="tsd-signature tsd-kind-icon">state_<wbr/>is_<wbr/>complete<span class="tsd-signature-symbol">(</span>whichState<span class="tsd-signature-symbol">: </span><span class="tsd-signature-type">string</span><span class="tsd-signature-symbol">)</span><span class="tsd-signature-symbol">: </span><span class="tsd-signature-type">boolean</span></li></ul><ul class="tsd-descriptions"><li class="tsd-description"><aside class="tsd-sources"><ul><li>Defined in <a href="https://github.com/StoneCypher/jssm/blob/0fe3acc/src/ts/jssm.ts#L1583">jssm.ts:1583</a></li></ul></aside><h4 class="tsd-parameters-title">Parameters</h4><ul class="tsd-parameters"><li><h5>whichState: <span class="tsd-signature-type">string</span></h5></li></ul><h4 class="tsd-returns-title">Returns <span class="tsd-signature-type">boolean</span></h4></li></ul></section><section class="tsd-panel tsd-member tsd-kind-method tsd-parent-kind-class"><a id="state_is_final" class="tsd-anchor"></a><h3 class="tsd-anchor-link">state_<wbr/>is_<wbr/>final<a href="#state_is_final" aria-label="Permalink" class="tsd-anchor-icon"><svg xmlns="http://www.w3.org/2000/svg" class="icon icon-tabler icon-tabler-link" viewBox="0 0 24 24" stroke-width="2" stroke="currentColor" fill="none" stroke-linecap="round" stroke-linejoin="round"><path stroke="none" d="M0 0h24v24H0z" fill="none"></path><path d="M10 14a3.5 3.5 0 0 0 5 0l4 -4a3.5 3.5 0 0 0 -5 -5l-.5 .5"></path><path d="M14 10a3.5 3.5 0 0 0 -5 0l-4 4a3.5 3.5 0 0 0 5 5l.5 -.5"></path></svg></a></h3><ul class="tsd-signatures tsd-kind-method tsd-parent-kind-class"><li class="tsd-signature tsd-kind-icon">state_<wbr/>is_<wbr/>final<span class="tsd-signature-symbol">(</span>whichState<span class="tsd-signature-symbol">: </span><span class="tsd-signature-type">string</span><span class="tsd-signature-symbol">)</span><span class="tsd-signature-symbol">: </span><span class="tsd-signature-type">boolean</span></li></ul><ul class="tsd-descriptions"><li class="tsd-description"><aside class="tsd-sources"><ul><li>Defined in <a href="https://github.com/StoneCypher/jssm/blob/0fe3acc/src/ts/jssm.ts#L1022">jssm.ts:1022</a></li></ul></aside><div class="tsd-comment tsd-typography"><div class="lead">
<p> Check whether a given state is final (either has no exits or is marked
<code>complete</code>.)</p>
</div><div><pre><code class="language-typescript"><span class="hl-0">import</span><span class="hl-1"> { </span><span class="hl-2">sm</span><span class="hl-1">, </span><span class="hl-2">state_is_final</span><span class="hl-1"> } </span><span class="hl-0">from</span><span class="hl-1"> </span><span class="hl-3">'jssm'</span><span class="hl-1">;</span><br/><br/><span class="hl-7">const</span><span class="hl-1"> </span><span class="hl-8">final_test</span><span class="hl-1"> = </span><span class="hl-4">sm</span><span class="hl-3">`first -> second;`</span><span class="hl-1">;</span><br/><br/><span class="hl-2">console</span><span class="hl-1">.</span><span class="hl-4">log</span><span class="hl-1">( </span><span class="hl-2">final_test</span><span class="hl-1">.</span><span class="hl-4">state_is_final</span><span class="hl-1">(</span><span class="hl-3">'first'</span><span class="hl-1">) ); </span><span class="hl-6">// false</span><br/><span class="hl-2">console</span><span class="hl-1">.</span><span class="hl-4">log</span><span class="hl-1">( </span><span class="hl-2">final_test</span><span class="hl-1">.</span><span class="hl-4">state_is_final</span><span class="hl-1">(</span><span class="hl-3">'second'</span><span class="hl-1">) ); </span><span class="hl-6">// true</span>
</code></pre>
</div></div><h4 class="tsd-parameters-title">Parameters</h4><ul class="tsd-parameters"><li><h5>whichState: <span class="tsd-signature-type">string</span></h5><div class="tsd-comment tsd-typography"><div class="lead">
<p>The name of the state to check for finality</p>
</div></div></li></ul><h4 class="tsd-returns-title">Returns <span class="tsd-signature-type">boolean</span></h4></li></ul></section><section class="tsd-panel tsd-member tsd-kind-method tsd-parent-kind-class"><a id="state_is_terminal" class="tsd-anchor"></a><h3 class="tsd-anchor-link">state_<wbr/>is_<wbr/>terminal<a href="#state_is_terminal" aria-label="Permalink" class="tsd-anchor-icon"><svg xmlns="http://www.w3.org/2000/svg" class="icon icon-tabler icon-tabler-link" viewBox="0 0 24 24" stroke-width="2" stroke="currentColor" fill="none" stroke-linecap="round" stroke-linejoin="round"><path stroke="none" d="M0 0h24v24H0z" fill="none"></path><path d="M10 14a3.5 3.5 0 0 0 5 0l4 -4a3.5 3.5 0 0 0 -5 -5l-.5 .5"></path><path d="M14 10a3.5 3.5 0 0 0 -5 0l-4 4a3.5 3.5 0 0 0 5 5l.5 -.5"></path></svg></a></h3><ul class="tsd-signatures tsd-kind-method tsd-parent-kind-class"><li class="tsd-signature tsd-kind-icon">state_<wbr/>is_<wbr/>terminal<span class="tsd-signature-symbol">(</span>whichState<span class="tsd-signature-symbol">: </span><span class="tsd-signature-type">string</span><span class="tsd-signature-symbol">)</span><span class="tsd-signature-symbol">: </span><span class="tsd-signature-type">boolean</span></li></ul><ul class="tsd-descriptions"><li class="tsd-description"><aside class="tsd-sources"><ul><li>Defined in <a href="https://github.com/StoneCypher/jssm/blob/0fe3acc/src/ts/jssm.ts#L1568">jssm.ts:1568</a></li></ul></aside><h4 class="tsd-parameters-title">Parameters</h4><ul class="tsd-parameters"><li><h5>whichState: <span class="tsd-signature-type">string</span></h5></li></ul><h4 class="tsd-returns-title">Returns <span class="tsd-signature-type">boolean</span></h4></li></ul></section><section class="tsd-panel tsd-member tsd-kind-method tsd-parent-kind-class"><a id="states" class="tsd-anchor"></a><h3 class="tsd-anchor-link">states<a href="#states" aria-label="Permalink" class="tsd-anchor-icon"><svg xmlns="http://www.w3.org/2000/svg" class="icon icon-tabler icon-tabler-link" viewBox="0 0 24 24" stroke-width="2" stroke="currentColor" fill="none" stroke-linecap="round" stroke-linejoin="round"><path stroke="none" d="M0 0h24v24H0z" fill="none"></path><path d="M10 14a3.5 3.5 0 0 0 5 0l4 -4a3.5 3.5 0 0 0 -5 -5l-.5 .5"></path><path d="M14 10a3.5 3.5 0 0 0 -5 0l-4 4a3.5 3.5 0 0 0 5 5l.5 -.5"></path></svg></a></h3><ul class="tsd-signatures tsd-kind-method tsd-parent-kind-class"><li class="tsd-signature tsd-kind-icon">states<span class="tsd-signature-symbol">(</span><span class="tsd-signature-symbol">)</span><span class="tsd-signature-symbol">: </span><span class="tsd-signature-type">string</span><span class="tsd-signature-symbol">[]</span></li></ul><ul class="tsd-descriptions"><li class="tsd-description"><aside class="tsd-sources"><ul><li>Defined in <a href="https://github.com/StoneCypher/jssm/blob/0fe3acc/src/ts/jssm.ts#L1163">jssm.ts:1163</a></li></ul></aside><div class="tsd-comment tsd-typography"><div class="lead">
<p> List all the states known by the machine. Please note that the order of
these states is not guaranteed.</p>
</div><div><pre><code class="language-typescript"><span class="hl-0">import</span><span class="hl-1"> </span><span class="hl-7">*</span><span class="hl-1"> </span><span class="hl-0">as</span><span class="hl-1"> </span><span class="hl-2">jssm</span><span class="hl-1"> </span><span class="hl-0">from</span><span class="hl-1"> </span><span class="hl-3">'jssm'</span><span class="hl-1">;</span><br/><br/><span class="hl-7">const</span><span class="hl-1"> </span><span class="hl-8">switch</span><span class="hl-1"> = </span><span class="hl-2">jssm</span><span class="hl-1">.</span><span class="hl-4">from</span><span class="hl-1">(</span><span class="hl-3">'on <=> off;'</span><span class="hl-1">);</span><br/><span class="hl-2">console</span><span class="hl-1">.</span><span class="hl-4">log</span><span class="hl-1">( </span><span class="hl-2">switch</span><span class="hl-1">.</span><span class="hl-4">states</span><span class="hl-1">() ); </span><span class="hl-6">// ['on', 'off']</span>
</code></pre>
</div></div><h4 class="tsd-returns-title">Returns <span class="tsd-signature-type">string</span><span class="tsd-signature-symbol">[]</span></h4></li></ul></section><section class="tsd-panel tsd-member tsd-kind-method tsd-parent-kind-class"><a id="theme" class="tsd-anchor"></a><h3 class="tsd-anchor-link">theme<a href="#theme" aria-label="Permalink" class="tsd-anchor-icon"><svg xmlns="http://www.w3.org/2000/svg" class="icon icon-tabler icon-tabler-link" viewBox="0 0 24 24" stroke-width="2" stroke="currentColor" fill="none" stroke-linecap="round" stroke-linejoin="round"><path stroke="none" d="M0 0h24v24H0z" fill="none"></path><path d="M10 14a3.5 3.5 0 0 0 5 0l4 -4a3.5 3.5 0 0 0 -5 -5l-.5 .5"></path><path d="M14 10a3.5 3.5 0 0 0 -5 0l-4 4a3.5 3.5 0 0 0 5 5l.5 -.5"></path></svg></a></h3><ul class="tsd-signatures tsd-kind-method tsd-parent-kind-class"><li class="tsd-signature tsd-kind-icon">theme<span class="tsd-signature-symbol">(</span><span class="tsd-signature-symbol">)</span><span class="tsd-signature-symbol">: </span><span class="tsd-signature-type">FslTheme</span></li></ul><ul class="tsd-descriptions"><li class="tsd-description"><aside class="tsd-sources"><ul><li>Defined in <a href="https://github.com/StoneCypher/jssm/blob/0fe3acc/src/ts/jssm.ts#L1256">jssm.ts:1256</a></li></ul></aside><h4 class="tsd-returns-title">Returns <span class="tsd-signature-type">FslTheme</span></h4></li></ul></section><section class="tsd-panel tsd-member tsd-kind-method tsd-parent-kind-class"><a id="transition" class="tsd-anchor"></a><h3 class="tsd-anchor-link">transition<a href="#transition" aria-label="Permalink" class="tsd-anchor-icon"><svg xmlns="http://www.w3.org/2000/svg" class="icon icon-tabler icon-tabler-link" viewBox="0 0 24 24" stroke-width="2" stroke="currentColor" fill="none" stroke-linecap="round" stroke-linejoin="round"><path stroke="none" d="M0 0h24v24H0z" fill="none"></path><path d="M10 14a3.5 3.5 0 0 0 5 0l4 -4a3.5 3.5 0 0 0 -5 -5l-.5 .5"></path><path d="M14 10a3.5 3.5 0 0 0 -5 0l-4 4a3.5 3.5 0 0 0 5 5l.5 -.5"></path></svg></a></h3><ul class="tsd-signatures tsd-kind-method tsd-parent-kind-class"><li class="tsd-signature tsd-kind-icon">transition<span class="tsd-signature-symbol">(</span>newState<span class="tsd-signature-symbol">: </span><span class="tsd-signature-type">string</span>, newData<span class="tsd-signature-symbol">?: </span><span class="tsd-signature-type" data-tsd-kind="Type parameter">mDT</span><span class="tsd-signature-symbol">)</span><span class="tsd-signature-symbol">: </span><span class="tsd-signature-type">boolean</span></li></ul><ul class="tsd-descriptions"><li class="tsd-description"><aside class="tsd-sources"><ul><li>Defined in <a href="https://github.com/StoneCypher/jssm/blob/0fe3acc/src/ts/jssm.ts#L1994">jssm.ts:1994</a></li></ul></aside><div class="tsd-comment tsd-typography"><div class="lead">
<p> Instruct the machine to complete a transition.</p>
</div><div><pre><code class="language-typescript"><span class="hl-7">const</span><span class="hl-1"> </span><span class="hl-8">light</span><span class="hl-1"> = </span><span class="hl-4">sm</span><span class="hl-3">`red -> green -> yellow -> red; [red yellow green] 'shutdown' ~> off 'start' -> red;`</span><span class="hl-1">;</span><br/><br/><span class="hl-2">light</span><span class="hl-1">.</span><span class="hl-4">state</span><span class="hl-1">(); </span><span class="hl-6">// 'red'</span><br/><span class="hl-2">light</span><span class="hl-1">.</span><span class="hl-4">transition</span><span class="hl-1">(</span><span class="hl-3">'green'</span><span class="hl-1">); </span><span class="hl-6">// true</span><br/><span class="hl-2">light</span><span class="hl-1">.</span><span class="hl-4">state</span><span class="hl-1">(); </span><span class="hl-6">// 'green'</span>
</code></pre>
</div></div><h4 class="tsd-parameters-title">Parameters</h4><ul class="tsd-parameters"><li><h5>newState: <span class="tsd-signature-type">string</span></h5><div class="tsd-comment tsd-typography"><div class="lead">
<p>The state to switch to</p>
</div></div></li><li><h5><span class="tsd-flag ts-flagOptional">Optional</span> newData: <span class="tsd-signature-type" data-tsd-kind="Type parameter">mDT</span></h5><div class="tsd-comment tsd-typography"><div class="lead">
<p>The data change to insert during the transition</p>
</div></div></li></ul><h4 class="tsd-returns-title">Returns <span class="tsd-signature-type">boolean</span></h4></li></ul></section><section class="tsd-panel tsd-member tsd-kind-method tsd-parent-kind-class"><a id="transition_impl" class="tsd-anchor"></a><h3 class="tsd-anchor-link">transition_<wbr/>impl<a href="#transition_impl" aria-label="Permalink" class="tsd-anchor-icon"><svg xmlns="http://www.w3.org/2000/svg" class="icon icon-tabler icon-tabler-link" viewBox="0 0 24 24" stroke-width="2" stroke="currentColor" fill="none" stroke-linecap="round" stroke-linejoin="round"><path stroke="none" d="M0 0h24v24H0z" fill="none"></path><path d="M10 14a3.5 3.5 0 0 0 5 0l4 -4a3.5 3.5 0 0 0 -5 -5l-.5 .5"></path><path d="M14 10a3.5 3.5 0 0 0 -5 0l-4 4a3.5 3.5 0 0 0 5 5l.5 -.5"></path></svg></a></h3><ul class="tsd-signatures tsd-kind-method tsd-parent-kind-class"><li class="tsd-signature tsd-kind-icon">transition_<wbr/>impl<span class="tsd-signature-symbol">(</span>newStateOrAction<span class="tsd-signature-symbol">: </span><span class="tsd-signature-type">string</span>, newData<span class="tsd-signature-symbol">: </span><span class="tsd-signature-type" data-tsd-kind="Type parameter">mDT</span>, wasForced<span class="tsd-signature-symbol">: </span><span class="tsd-signature-type">boolean</span>, wasAction<span class="tsd-signature-symbol">: </span><span class="tsd-signature-type">boolean</span><span class="tsd-signature-symbol">)</span><span class="tsd-signature-symbol">: </span><span class="tsd-signature-type">boolean</span></li></ul><ul class="tsd-descriptions"><li class="tsd-description"><aside class="tsd-sources"><ul><li>Defined in <a href="https://github.com/StoneCypher/jssm/blob/0fe3acc/src/ts/jssm.ts#L1779">jssm.ts:1779</a></li></ul></aside><h4 class="tsd-parameters-title">Parameters</h4><ul class="tsd-parameters"><li><h5>newStateOrAction: <span class="tsd-signature-type">string</span></h5></li><li><h5>newData: <span class="tsd-signature-type" data-tsd-kind="Type parameter">mDT</span></h5></li><li><h5>wasForced: <span class="tsd-signature-type">boolean</span></h5></li><li><h5>wasAction: <span class="tsd-signature-type">boolean</span></h5></li></ul><h4 class="tsd-returns-title">Returns <span class="tsd-signature-type">boolean</span></h4></li></ul></section><section class="tsd-panel tsd-member tsd-kind-method tsd-parent-kind-class"><a id="valid_action" class="tsd-anchor"></a><h3 class="tsd-anchor-link">valid_<wbr/>action<a href="#valid_action" aria-label="Permalink" class="tsd-anchor-icon"><svg xmlns="http://www.w3.org/2000/svg" class="icon icon-tabler icon-tabler-link" viewBox="0 0 24 24" stroke-width="2" stroke="currentColor" fill="none" stroke-linecap="round" stroke-linejoin="round"><path stroke="none" d="M0 0h24v24H0z" fill="none"></path><path d="M10 14a3.5 3.5 0 0 0 5 0l4 -4a3.5 3.5 0 0 0 -5 -5l-.5 .5"></path><path d="M14 10a3.5 3.5 0 0 0 -5 0l-4 4a3.5 3.5 0 0 0 5 5l.5 -.5"></path></svg></a></h3><ul class="tsd-signatures tsd-kind-method tsd-parent-kind-class"><li class="tsd-signature tsd-kind-icon">valid_<wbr/>action<span class="tsd-signature-symbol">(</span>action<span class="tsd-signature-symbol">: </span><span class="tsd-signature-type">string</span>, _newData<span class="tsd-signature-symbol">?: </span><span class="tsd-signature-type" data-tsd-kind="Type parameter">mDT</span><span class="tsd-signature-symbol">)</span><span class="tsd-signature-symbol">: </span><span class="tsd-signature-type">boolean</span></li></ul><ul class="tsd-descriptions"><li class="tsd-description"><aside class="tsd-sources"><ul><li>Defined in <a href="https://github.com/StoneCypher/jssm/blob/0fe3acc/src/ts/jssm.ts#L2046">jssm.ts:2046</a></li></ul></aside><h4 class="tsd-parameters-title">Parameters</h4><ul class="tsd-parameters"><li><h5>action: <span class="tsd-signature-type">string</span></h5></li><li><h5><span class="tsd-flag ts-flagOptional">Optional</span> _newData: <span class="tsd-signature-type" data-tsd-kind="Type parameter">mDT</span></h5></li></ul><h4 class="tsd-returns-title">Returns <span class="tsd-signature-type">boolean</span></h4></li></ul></section><section class="tsd-panel tsd-member tsd-kind-method tsd-parent-kind-class"><a id="valid_force_transition" class="tsd-anchor"></a><h3 class="tsd-anchor-link">valid_<wbr/>force_<wbr/>transition<a href="#valid_force_transition" aria-label="Permalink" class="tsd-anchor-icon"><svg xmlns="http://www.w3.org/2000/svg" class="icon icon-tabler icon-tabler-link" viewBox="0 0 24 24" stroke-width="2" stroke="currentColor" fill="none" stroke-linecap="round" stroke-linejoin="round"><path stroke="none" d="M0 0h24v24H0z" fill="none"></path><path d="M10 14a3.5 3.5 0 0 0 5 0l4 -4a3.5 3.5 0 0 0 -5 -5l-.5 .5"></path><path d="M14 10a3.5 3.5 0 0 0 -5 0l-4 4a3.5 3.5 0 0 0 5 5l.5 -.5"></path></svg></a></h3><ul class="tsd-signatures tsd-kind-method tsd-parent-kind-class"><li class="tsd-signature tsd-kind-icon">valid_<wbr/>force_<wbr/>transition<span class="tsd-signature-symbol">(</span>newState<span class="tsd-signature-symbol">: </span><span class="tsd-signature-type">string</span>, _newData<span class="tsd-signature-symbol">?: </span><span class="tsd-signature-type" data-tsd-kind="Type parameter">mDT</span><span class="tsd-signature-symbol">)</span><span class="tsd-signature-symbol">: </span><span class="tsd-signature-type">boolean</span></li></ul><ul class="tsd-descriptions"><li class="tsd-description"><aside class="tsd-sources"><ul><li>Defined in <a href="https://github.com/StoneCypher/jssm/blob/0fe3acc/src/ts/jssm.ts#L2064">jssm.ts:2064</a></li></ul></aside><h4 class="tsd-parameters-title">Parameters</h4><ul class="tsd-parameters"><li><h5>newState: <span class="tsd-signature-type">string</span></h5></li><li><h5><span class="tsd-flag ts-flagOptional">Optional</span> _newData: <span class="tsd-signature-type" data-tsd-kind="Type parameter">mDT</span></h5></li></ul><h4 class="tsd-returns-title">Returns <span class="tsd-signature-type">boolean</span></h4></li></ul></section><section class="tsd-panel tsd-member tsd-kind-method tsd-parent-kind-class"><a id="valid_transition" class="tsd-anchor"></a><h3 class="tsd-anchor-link">valid_<wbr/>transition<a href="#valid_transition" aria-label="Permalink" class="tsd-anchor-icon"><svg xmlns="http://www.w3.org/2000/svg" class="icon icon-tabler icon-tabler-link" viewBox="0 0 24 24" stroke-width="2" stroke="currentColor" fill="none" stroke-linecap="round" stroke-linejoin="round"><path stroke="none" d="M0 0h24v24H0z" fill="none"></path><path d="M10 14a3.5 3.5 0 0 0 5 0l4 -4a3.5 3.5 0 0 0 -5 -5l-.5 .5"></path><path d="M14 10a3.5 3.5 0 0 0 -5 0l-4 4a3.5 3.5 0 0 0 5 5l.5 -.5"></path></svg></a></h3><ul class="tsd-signatures tsd-kind-method tsd-parent-kind-class"><li class="tsd-signature tsd-kind-icon">valid_<wbr/>transition<span class="tsd-signature-symbol">(</span>newState<span class="tsd-signature-symbol">: </span><span class="tsd-signature-type">string</span>, _newData<span class="tsd-signature-symbol">?: </span><span class="tsd-signature-type" data-tsd-kind="Type parameter">mDT</span><span class="tsd-signature-symbol">)</span><span class="tsd-signature-symbol">: </span><span class="tsd-signature-type">boolean</span></li></ul><ul class="tsd-descriptions"><li class="tsd-description"><aside class="tsd-sources"><ul><li>Defined in <a href="https://github.com/StoneCypher/jssm/blob/0fe3acc/src/ts/jssm.ts#L2052">jssm.ts:2052</a></li></ul></aside><h4 class="tsd-parameters-title">Parameters</h4><ul class="tsd-parameters"><li><h5>newState: <span class="tsd-signature-type">string</span></h5></li><li><h5><span class="tsd-flag ts-flagOptional">Optional</span> _newData: <span class="tsd-signature-type" data-tsd-kind="Type parameter">mDT</span></h5></li></ul><h4 class="tsd-returns-title">Returns <span class="tsd-signature-type">boolean</span></h4></li></ul></section></section></div><div class="col-4 col-menu menu-sticky-wrap menu-highlight"><nav class="tsd-navigation primary"><ul><li class=""><a href="../modules.html">Exports</a></li><li class=" pages-entry pages-entry-menu pages-entry-depth-0"><a>Tutorials</a></li><li class=" pages-entry pages-entry-page pages-entry-depth-1"><a href="../pages/WhatAreStateMachines.html">What are state machines?</a></li><li class=" pages-entry pages-entry-page pages-entry-depth-1"><a href="../pages/GettingStarted.html">☕ <wbr/>Quick <wbr/>Start</a></li><li class=" pages-entry pages-entry-page pages-entry-depth-1"><a href="../pages/LanguageReference.html">Language reference</a></li><li class=" pages-entry pages-entry-page pages-entry-depth-1"><a href="../pages/todo.html">API reference</a></li><li class=" pages-entry pages-entry-page pages-entry-depth-1"><a href="../pages/ExampleMachines.html">Example machines</a></li><li class=" pages-entry pages-entry-menu pages-entry-depth-1"><a>Howtos and <wbr/>Recipes</a></li><li class=" pages-entry pages-entry-page pages-entry-depth-2"><a href="../pages/todo.html">Environments</a></li><li class=" pages-entry pages-entry-page pages-entry-depth-2"><a href="../pages/todo.html">Bundling</a></li><li class=" pages-entry pages-entry-page pages-entry-depth-2"><a href="../pages/todo.html">Publishing</a></li><li class=" pages-entry pages-entry-page pages-entry-depth-2"><a href="../pages/Styling.html">Theme, style, color</a></li><li class=" pages-entry pages-entry-menu pages-entry-depth-1"><a>Comparisons</a></li><li class=" pages-entry pages-entry-page pages-entry-depth-2"><a href="../pages/FeatureComparison.html">Feature comparison</a></li><li class=" pages-entry pages-entry-page pages-entry-depth-2"><a href="../pages/Shootout.html">LOC <wbr/>Shootout</a></li><li class=" pages-entry pages-entry-menu pages-entry-depth-0"><a>Tools</a></li><li class=" pages-entry pages-entry-page pages-entry-depth-1"><a href="../pages/live_editor.html">Live <wbr/>Editor</a></li><li class=" pages-entry pages-entry-page pages-entry-depth-1"><a href="../pages/todo.html">Github <wbr/>Action</a></li><li class=" pages-entry pages-entry-page pages-entry-depth-0"><a href="../pages/community.html">Community</a></li><li class=" pages-entry pages-entry-page pages-entry-depth-0"><a href="../pages/CHANGELOG.long.html">Changelog</a></li></ul></nav><nav class="tsd-navigation secondary menu-sticky"><ul><li class="current tsd-kind-class tsd-has-type-parameter"><a href="Machine.html" class="tsd-kind-icon">Machine</a><ul><li class="tsd-kind-constructor tsd-parent-kind-class tsd-has-type-parameter"><a href="Machine.html#constructor" class="tsd-kind-icon">constructor</a></li><li class="tsd-kind-property tsd-parent-kind-class"><a href="Machine.html#_actions" class="tsd-kind-icon">_actions</a></li><li class="tsd-kind-property tsd-parent-kind-class"><a href="Machine.html#_any_action_hook" class="tsd-kind-icon">_any_<wbr/>action_<wbr/>hook</a></li><li class="tsd-kind-property tsd-parent-kind-class"><a href="Machine.html#_any_transition_hook" class="tsd-kind-icon">_any_<wbr/>transition_<wbr/>hook</a></li><li class="tsd-kind-property tsd-parent-kind-class"><a href="Machine.html#_arrange_declaration" class="tsd-kind-icon">_arrange_<wbr/>declaration</a></li><li class="tsd-kind-property tsd-parent-kind-class"><a href="Machine.html#_arrange_end_declaration" class="tsd-kind-icon">_arrange_<wbr/>end_<wbr/>declaration</a></li><li class="tsd-kind-property tsd-parent-kind-class"><a href="Machine.html#_arrange_start_declaration" class="tsd-kind-icon">_arrange_<wbr/>start_<wbr/>declaration</a></li><li class="tsd-kind-property tsd-parent-kind-class"><a href="Machine.html#_dot_preamble" class="tsd-kind-icon">_dot_<wbr/>preamble</a></li><li class="tsd-kind-property tsd-parent-kind-class"><a href="Machine.html#_edge_map" class="tsd-kind-icon">_edge_<wbr/>map</a></li><li class="tsd-kind-property tsd-parent-kind-class"><a href="Machine.html#_edges" class="tsd-kind-icon">_edges</a></li><li class="tsd-kind-property tsd-parent-kind-class"><a href="Machine.html#_entry_hooks" class="tsd-kind-icon">_entry_<wbr/>hooks</a></li><li class="tsd-kind-property tsd-parent-kind-class"><a href="Machine.html#_exit_hooks" class="tsd-kind-icon">_exit_<wbr/>hooks</a></li><li class="tsd-kind-property tsd-parent-kind-class"><a href="Machine.html#_flow" class="tsd-kind-icon">_flow</a></li><li class="tsd-kind-property tsd-parent-kind-class"><a href="Machine.html#_forced_transition_hook" class="tsd-kind-icon">_forced_<wbr/>transition_<wbr/>hook</a></li><li class="tsd-kind-property tsd-parent-kind-class"><a href="Machine.html#_fsl_version" class="tsd-kind-icon">_fsl_<wbr/>version</a></li><li class="tsd-kind-property tsd-parent-kind-class"><a href="Machine.html#_global_action_hooks" class="tsd-kind-icon">_global_<wbr/>action_<wbr/>hooks</a></li><li class="tsd-kind-property tsd-parent-kind-class"><a href="Machine.html#_graph_layout" class="tsd-kind-icon">_graph_<wbr/>layout</a></li><li class="tsd-kind-property tsd-parent-kind-class"><a href="Machine.html#_has_basic_hooks" class="tsd-kind-icon">_has_<wbr/>basic_<wbr/>hooks</a></li><li class="tsd-kind-property tsd-parent-kind-class"><a href="Machine.html#_has_entry_hooks" class="tsd-kind-icon">_has_<wbr/>entry_<wbr/>hooks</a></li><li class="tsd-kind-property tsd-parent-kind-class"><a href="Machine.html#_has_exit_hooks" class="tsd-kind-icon">_has_<wbr/>exit_<wbr/>hooks</a></li><li class="tsd-kind-property tsd-parent-kind-class"><a href="Machine.html#_has_global_action_hooks" class="tsd-kind-icon">_has_<wbr/>global_<wbr/>action_<wbr/>hooks</a></li><li class="tsd-kind-property tsd-parent-kind-class"><a href="Machine.html#_has_hooks" class="tsd-kind-icon">_has_<wbr/>hooks</a></li><li class="tsd-kind-property tsd-parent-kind-class"><a href="Machine.html#_has_named_hooks" class="tsd-kind-icon">_has_<wbr/>named_<wbr/>hooks</a></li><li class="tsd-kind-property tsd-parent-kind-class"><a href="Machine.html#_has_transition_hooks" class="tsd-kind-icon">_has_<wbr/>transition_<wbr/>hooks</a></li><li class="tsd-kind-property tsd-parent-kind-class"><a href="Machine.html#_hooks" class="tsd-kind-icon">_hooks</a></li><li class="tsd-kind-property tsd-parent-kind-class"><a href="Machine.html#_instance_name" class="tsd-kind-icon">_instance_<wbr/>name</a></li><li class="tsd-kind-property tsd-parent-kind-class"><a href="Machine.html#_machine_author" class="tsd-kind-icon">_machine_<wbr/>author</a></li><li class="tsd-kind-property tsd-parent-kind-class"><a href="Machine.html#_machine_comment" class="tsd-kind-icon">_machine_<wbr/>comment</a></li><li class="tsd-kind-property tsd-parent-kind-class"><a href="Machine.html#_machine_contributor" class="tsd-kind-icon">_machine_<wbr/>contributor</a></li><li class="tsd-kind-property tsd-parent-kind-class"><a href="Machine.html#_machine_definition" class="tsd-kind-icon">_machine_<wbr/>definition</a></li><li class="tsd-kind-property tsd-parent-kind-class"><a href="Machine.html#_machine_language" class="tsd-kind-icon">_machine_<wbr/>language</a></li><li class="tsd-kind-property tsd-parent-kind-class"><a href="Machine.html#_machine_license" class="tsd-kind-icon">_machine_<wbr/>license</a></li><li class="tsd-kind-property tsd-parent-kind-class"><a href="Machine.html#_machine_name" class="tsd-kind-icon">_machine_<wbr/>name</a></li><li class="tsd-kind-property tsd-parent-kind-class"><a href="Machine.html#_machine_version" class="tsd-kind-icon">_machine_<wbr/>version</a></li><li class="tsd-kind-property tsd-parent-kind-class"><a href="Machine.html#_main_transition_hook" class="tsd-kind-icon">_main_<wbr/>transition_<wbr/>hook</a></li><li class="tsd-kind-property tsd-parent-kind-class"><a href="Machine.html#_named_hooks" class="tsd-kind-icon">_named_<wbr/>hooks</a></li><li class="tsd-kind-property tsd-parent-kind-class"><a href="Machine.html#_named_transitions" class="tsd-kind-icon">_named_<wbr/>transitions</a></li><li class="tsd-kind-property tsd-parent-kind-class"><a href="Machine.html#_raw_state_declaration" class="tsd-kind-icon">_raw_<wbr/>state_<wbr/>declaration</a></li><li class="tsd-kind-property tsd-parent-kind-class"><a href="Machine.html#_reverse_action_targets" class="tsd-kind-icon">_reverse_<wbr/>action_<wbr/>targets</a></li><li class="tsd-kind-property tsd-parent-kind-class"><a href="Machine.html#_reverse_actions" class="tsd-kind-icon">_reverse_<wbr/>actions</a></li><li class="tsd-kind-property tsd-parent-kind-class"><a href="Machine.html#_standard_transition_hook" class="tsd-kind-icon">_standard_<wbr/>transition_<wbr/>hook</a></li><li class="tsd-kind-property tsd-parent-kind-class"><a href="Machine.html#_state" class="tsd-kind-icon">_state</a></li><li class="tsd-kind-property tsd-parent-kind-class"><a href="Machine.html#_state_declarations" class="tsd-kind-icon">_state_<wbr/>declarations</a></li><li class="tsd-kind-property tsd-parent-kind-class"><a href="Machine.html#_states" class="tsd-kind-icon">_states</a></li><li class="tsd-kind-property tsd-parent-kind-class"><a href="Machine.html#_theme" class="tsd-kind-icon">_theme</a></li><li class="tsd-kind-method tsd-parent-kind-class"><a href="Machine.html#_new_state" class="tsd-kind-icon">_new_<wbr/>state</a></li><li class="tsd-kind-method tsd-parent-kind-class"><a href="Machine.html#action" class="tsd-kind-icon">action</a></li><li class="tsd-kind-method tsd-parent-kind-class"><a href="Machine.html#actions" class="tsd-kind-icon">actions</a></li><li class="tsd-kind-method tsd-parent-kind-class"><a href="Machine.html#current_action_edge_for" class="tsd-kind-icon">current_<wbr/>action_<wbr/>edge_<wbr/>for</a></li><li class="tsd-kind-method tsd-parent-kind-class"><a href="Machine.html#current_action_for" class="tsd-kind-icon">current_<wbr/>action_<wbr/>for</a></li><li class="tsd-kind-method tsd-parent-kind-class"><a href="Machine.html#dot_preamble" class="tsd-kind-icon">dot_<wbr/>preamble</a></li><li class="tsd-kind-method tsd-parent-kind-class"><a href="Machine.html#edges_between" class="tsd-kind-icon">edges_<wbr/>between</a></li><li class="tsd-kind-method tsd-parent-kind-class"><a href="Machine.html#flow" class="tsd-kind-icon">flow</a></li><li class="tsd-kind-method tsd-parent-kind-class"><a href="Machine.html#force_transition" class="tsd-kind-icon">force_<wbr/>transition</a></li><li class="tsd-kind-method tsd-parent-kind-class"><a href="Machine.html#fsl_version" class="tsd-kind-icon">fsl_<wbr/>version</a></li><li class="tsd-kind-method tsd-parent-kind-class"><a href="Machine.html#get_transition_by_state_names" class="tsd-kind-icon">get_<wbr/>transition_<wbr/>by_<wbr/>state_<wbr/>names</a></li><li class="tsd-kind-method tsd-parent-kind-class"><a href="Machine.html#graph_layout" class="tsd-kind-icon">graph_<wbr/>layout</a></li><li class="tsd-kind-method tsd-parent-kind-class"><a href="Machine.html#has_completes" class="tsd-kind-icon">has_<wbr/>completes</a></li><li class="tsd-kind-method tsd-parent-kind-class"><a href="Machine.html#has_state" class="tsd-kind-icon">has_<wbr/>state</a></li><li class="tsd-kind-method tsd-parent-kind-class"><a href="Machine.html#has_terminals" class="tsd-kind-icon">has_<wbr/>terminals</a></li><li class="tsd-kind-method tsd-parent-kind-class"><a href="Machine.html#has_unenterables" class="tsd-kind-icon">has_<wbr/>unenterables</a></li><li class="tsd-kind-method tsd-parent-kind-class"><a href="Machine.html#hook" class="tsd-kind-icon">hook</a></li><li class="tsd-kind-method tsd-parent-kind-class"><a href="Machine.html#hook_action" class="tsd-kind-icon">hook_<wbr/>action</a></li><li class="tsd-kind-method tsd-parent-kind-class"><a href="Machine.html#hook_any_action" class="tsd-kind-icon">hook_<wbr/>any_<wbr/>action</a></li><li class="tsd-kind-method tsd-parent-kind-class"><a href="Machine.html#hook_any_transition" class="tsd-kind-icon">hook_<wbr/>any_<wbr/>transition</a></li><li class="tsd-kind-method tsd-parent-kind-class"><a href="Machine.html#hook_entry" class="tsd-kind-icon">hook_<wbr/>entry</a></li><li class="tsd-kind-method tsd-parent-kind-class"><a href="Machine.html#hook_exit" class="tsd-kind-icon">hook_<wbr/>exit</a></li><li class="tsd-kind-method tsd-parent-kind-class"><a href="Machine.html#hook_forced_transition" class="tsd-kind-icon">hook_<wbr/>forced_<wbr/>transition</a></li><li class="tsd-kind-method tsd-parent-kind-class"><a href="Machine.html#hook_global_action" class="tsd-kind-icon">hook_<wbr/>global_<wbr/>action</a></li><li class="tsd-kind-method tsd-parent-kind-class"><a href="Machine.html#hook_main_transition" class="tsd-kind-icon">hook_<wbr/>main_<wbr/>transition</a></li><li class="tsd-kind-method tsd-parent-kind-class"><a href="Machine.html#hook_standard_transition" class="tsd-kind-icon">hook_<wbr/>standard_<wbr/>transition</a></li><li class="tsd-kind-method tsd-parent-kind-class"><a href="Machine.html#instance_name" class="tsd-kind-icon">instance_<wbr/>name</a></li><li class="tsd-kind-method tsd-parent-kind-class"><a href="Machine.html#is_complete" class="tsd-kind-icon">is_<wbr/>complete</a></li><li class="tsd-kind-method tsd-parent-kind-class"><a href="Machine.html#is_final" class="tsd-kind-icon">is_<wbr/>final</a></li><li class="tsd-kind-method tsd-parent-kind-class"><a href="Machine.html#is_terminal" class="tsd-kind-icon">is_<wbr/>terminal</a></li><li class="tsd-kind-method tsd-parent-kind-class"><a href="Machine.html#is_unenterable" class="tsd-kind-icon">is_<wbr/>unenterable</a></li><li class="tsd-kind-method tsd-parent-kind-class"><a href="Machine.html#list_actions" class="tsd-kind-icon">list_<wbr/>actions</a></li><li class="tsd-kind-method tsd-parent-kind-class"><a href="Machine.html#list_edges" class="tsd-kind-icon">list_<wbr/>edges</a></li><li class="tsd-kind-method tsd-parent-kind-class"><a href="Machine.html#list_entrances" class="tsd-kind-icon">list_<wbr/>entrances</a></li><li class="tsd-kind-method tsd-parent-kind-class"><a href="Machine.html#list_exit_actions" class="tsd-kind-icon">list_<wbr/>exit_<wbr/>actions</a></li><li class="tsd-kind-method tsd-parent-kind-class"><a href="Machine.html#list_exits" class="tsd-kind-icon">list_<wbr/>exits</a></li><li class="tsd-kind-method tsd-parent-kind-class"><a href="Machine.html#list_named_transitions" class="tsd-kind-icon">list_<wbr/>named_<wbr/>transitions</a></li><li class="tsd-kind-method tsd-parent-kind-class"><a href="Machine.html#list_states_having_action" class="tsd-kind-icon">list_<wbr/>states_<wbr/>having_<wbr/>action</a></li><li class="tsd-kind-method tsd-parent-kind-class"><a href="Machine.html#list_transitions" class="tsd-kind-icon">list_<wbr/>transitions</a></li><li class="tsd-kind-method tsd-parent-kind-class"><a href="Machine.html#lookup_transition_for" class="tsd-kind-icon">lookup_<wbr/>transition_<wbr/>for</a></li><li class="tsd-kind-method tsd-parent-kind-class"><a href="Machine.html#machine_author" class="tsd-kind-icon">machine_<wbr/>author</a></li><li class="tsd-kind-method tsd-parent-kind-class"><a href="Machine.html#machine_comment" class="tsd-kind-icon">machine_<wbr/>comment</a></li><li class="tsd-kind-method tsd-parent-kind-class"><a href="Machine.html#machine_contributor" class="tsd-kind-icon">machine_<wbr/>contributor</a></li><li class="tsd-kind-method tsd-parent-kind-class"><a href="Machine.html#machine_definition" class="tsd-kind-icon">machine_<wbr/>definition</a></li><li class="tsd-kind-method tsd-parent-kind-class"><a href="Machine.html#machine_language" class="tsd-kind-icon">machine_<wbr/>language</a></li><li class="tsd-kind-method tsd-parent-kind-class"><a href="Machine.html#machine_license" class="tsd-kind-icon">machine_<wbr/>license</a></li><li class="tsd-kind-method tsd-parent-kind-class"><a href="Machine.html#machine_name" class="tsd-kind-icon">machine_<wbr/>name</a></li><li class="tsd-kind-method tsd-parent-kind-class"><a href="Machine.html#machine_state" class="tsd-kind-icon">machine_<wbr/>state</a></li><li class="tsd-kind-method tsd-parent-kind-class"><a href="Machine.html#machine_version" class="tsd-kind-icon">machine_<wbr/>version</a></li><li class="tsd-kind-method tsd-parent-kind-class"><a href="Machine.html#probabilistic_histo_walk" class="tsd-kind-icon">probabilistic_<wbr/>histo_<wbr/>walk</a></li><li class="tsd-kind-method tsd-parent-kind-class"><a href="Machine.html#probabilistic_transition" class="tsd-kind-icon">probabilistic_<wbr/>transition</a></li><li class="tsd-kind-method tsd-parent-kind-class"><a href="Machine.html#probabilistic_walk" class="tsd-kind-icon">probabilistic_<wbr/>walk</a></li><li class="tsd-kind-method tsd-parent-kind-class"><a href="Machine.html#probable_action_exits" class="tsd-kind-icon">probable_<wbr/>action_<wbr/>exits</a></li><li class="tsd-kind-method tsd-parent-kind-class"><a href="Machine.html#probable_exits_for" class="tsd-kind-icon">probable_<wbr/>exits_<wbr/>for</a></li><li class="tsd-kind-method tsd-parent-kind-class"><a href="Machine.html#raw_state_declarations" class="tsd-kind-icon">raw_<wbr/>state_<wbr/>declarations</a></li><li class="tsd-kind-method tsd-parent-kind-class"><a href="Machine.html#set_hook" class="tsd-kind-icon">set_<wbr/>hook</a></li><li class="tsd-kind-method tsd-parent-kind-class"><a href="Machine.html#sm" class="tsd-kind-icon">sm</a></li><li class="tsd-kind-method tsd-parent-kind-class"><a href="Machine.html#state" class="tsd-kind-icon">state</a></li><li class="tsd-kind-method tsd-parent-kind-class"><a href="Machine.html#state_declaration" class="tsd-kind-icon">state_<wbr/>declaration</a></li><li class="tsd-kind-method tsd-parent-kind-class"><a href="Machine.html#state_declarations" class="tsd-kind-icon">state_<wbr/>declarations</a></li><li class="tsd-kind-method tsd-parent-kind-class"><a href="Machine.html#state_for" class="tsd-kind-icon">state_<wbr/>for</a></li><li class="tsd-kind-method tsd-parent-kind-class"><a href="Machine.html#state_is_complete" class="tsd-kind-icon">state_<wbr/>is_<wbr/>complete</a></li><li class="tsd-kind-method tsd-parent-kind-class"><a href="Machine.html#state_is_final" class="tsd-kind-icon">state_<wbr/>is_<wbr/>final</a></li><li class="tsd-kind-method tsd-parent-kind-class"><a href="Machine.html#state_is_terminal" class="tsd-kind-icon">state_<wbr/>is_<wbr/>terminal</a></li><li class="tsd-kind-method tsd-parent-kind-class"><a href="Machine.html#states" class="tsd-kind-icon">states</a></li><li class="tsd-kind-method tsd-parent-kind-class"><a href="Machine.html#theme" class="tsd-kind-icon">theme</a></li><li class="tsd-kind-method tsd-parent-kind-class"><a href="Machine.html#transition" class="tsd-kind-icon">transition</a></li><li class="tsd-kind-method tsd-parent-kind-class"><a href="Machine.html#transition_impl" class="tsd-kind-icon">transition_<wbr/>impl</a></li><li class="tsd-kind-method tsd-parent-kind-class"><a href="Machine.html#valid_action" class="tsd-kind-icon">valid_<wbr/>action</a></li><li class="tsd-kind-method tsd-parent-kind-class"><a href="Machine.html#valid_force_transition" class="tsd-kind-icon">valid_<wbr/>force_<wbr/>transition</a></li><li class="tsd-kind-method tsd-parent-kind-class"><a href="Machine.html#valid_transition" class="tsd-kind-icon">valid_<wbr/>transition</a></li></ul></li></ul></nav></div></div></div><footer class="with-border-bottom"><div class="container"><h2>Legend</h2><div class="tsd-legend-group"><ul class="tsd-legend"><li class="tsd-kind-property tsd-parent-kind-class"><span class="tsd-kind-icon">Property</span></li><li class="tsd-kind-method tsd-parent-kind-class"><span class="tsd-kind-icon">Method</span></li></ul></div><h2>Settings</h2><p>Theme <select id="theme"><option value="os">OS</option><option value="light">Light</option><option value="dark">Dark</option></select></p></div></footer><div class="container tsd-generator"><p>Generated using <a href="https://typedoc.org/" target="_blank">TypeDoc</a></p></div><div class="overlay"></div><script src="../assets/main.js"></script></body></html>