jssm 5.71.1 → 5.72.2

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/CHANGELOG.md CHANGED
@@ -2,7 +2,7 @@
2
2
 
3
3
  All notable changes to this project will be documented in this file.
4
4
 
5
- 917 merges; 114 releases; Changlogging the last 10 commits; Full changelog at [CHANGELOG.long.md](CHANGELOG.long.md)
5
+ 920 merges; 114 releases; Changlogging the last 10 commits; Full changelog at [CHANGELOG.long.md](CHANGELOG.long.md)
6
6
 
7
7
 
8
8
 
@@ -22,13 +22,13 @@ Published tags:
22
22
 
23
23
   
24
24
 
25
- ## [Untagged] - 6/23/2022 1:41:18 PM
25
+ ## [Untagged] - 6/24/2022 4:55:33 PM
26
26
 
27
- Commit [67c3240798d31933413aab27db7ea9fbb5de3b2a](https://github.com/StoneCypher/jssm/commit/67c3240798d31933413aab27db7ea9fbb5de3b2a)
27
+ Commit [547e35599ed312bf5300d3f1685e2cb16b80a73e](https://github.com/StoneCypher/jssm/commit/547e35599ed312bf5300d3f1685e2cb16b80a73e)
28
28
 
29
29
  Author: `John Haugeland <stonecypher@gmail.com>`
30
30
 
31
- * Normalize arguments to hooks, fixes StoneCypher/fsl#895; more docs
31
+ * Can read data from outside, fixes StoneCypher/fsl#929
32
32
 
33
33
 
34
34
 
@@ -37,15 +37,13 @@ Author: `John Haugeland <stonecypher@gmail.com>`
37
37
 
38
38
  &nbsp;
39
39
 
40
- <a name="5__70__36" />
40
+ ## [Untagged] - 6/24/2022 4:08:35 PM
41
41
 
42
- ## [5.70.36] - 6/21/2022 6:53:36 PM
43
-
44
- Commit [093db23b719161e35e477cc0fe7d9f1132bc28b8](https://github.com/StoneCypher/jssm/commit/093db23b719161e35e477cc0fe7d9f1132bc28b8)
42
+ Commit [a1c43e9f65f2fd8e856a2544f7c3056b4c06d9d3](https://github.com/StoneCypher/jssm/commit/a1c43e9f65f2fd8e856a2544f7c3056b4c06d9d3)
45
43
 
46
44
  Author: `John Haugeland <stonecypher@gmail.com>`
47
45
 
48
- * Another trivial build - this one to cause chain publishment
46
+ * First steps towards being a Moore machine - initial data in constructor fixes StoneCypher/fsl#923 , can read in hooks fixes StoneCypher/fsl#924
49
47
 
50
48
 
51
49
 
@@ -54,15 +52,13 @@ Author: `John Haugeland <stonecypher@gmail.com>`
54
52
 
55
53
  &nbsp;
56
54
 
57
- <a name="5__70__35" />
55
+ ## [Untagged] - 6/23/2022 6:34:38 PM
58
56
 
59
- ## [5.70.35] - 6/19/2022 10:56:41 AM
60
-
61
- Commit [13ee9eb71ca9ab868699e535abf6ba30c8ad5829](https://github.com/StoneCypher/jssm/commit/13ee9eb71ca9ab868699e535abf6ba30c8ad5829)
57
+ Commit [1dc7c24bfb651eec57fddc902f78db796f71a6c5](https://github.com/StoneCypher/jssm/commit/1dc7c24bfb651eec57fddc902f78db796f71a6c5)
62
58
 
63
59
  Author: `John Haugeland <stonecypher@gmail.com>`
64
60
 
65
- * new trigger with replaced token - this time with a bump
61
+ * Small documentation tweaks. First attempt to lodge on deno.land
66
62
 
67
63
 
68
64
 
@@ -71,13 +67,13 @@ Author: `John Haugeland <stonecypher@gmail.com>`
71
67
 
72
68
  &nbsp;
73
69
 
74
- ## [Untagged] - 6/19/2022 10:37:04 AM
70
+ ## [Untagged] - 6/23/2022 1:41:18 PM
75
71
 
76
- Commit [b3e69d9745b92d845bedcfbc08f342997137af3d](https://github.com/StoneCypher/jssm/commit/b3e69d9745b92d845bedcfbc08f342997137af3d)
72
+ Commit [67c3240798d31933413aab27db7ea9fbb5de3b2a](https://github.com/StoneCypher/jssm/commit/67c3240798d31933413aab27db7ea9fbb5de3b2a)
77
73
 
78
74
  Author: `John Haugeland <stonecypher@gmail.com>`
79
75
 
80
- * new trigger with replaced token
76
+ * Normalize arguments to hooks, fixes StoneCypher/fsl#895; more docs
81
77
 
82
78
 
83
79
 
@@ -86,15 +82,15 @@ Author: `John Haugeland <stonecypher@gmail.com>`
86
82
 
87
83
  &nbsp;
88
84
 
89
- <a name="5__70__34" />
85
+ <a name="5__70__36" />
90
86
 
91
- ## [5.70.34] - 6/18/2022 9:40:31 PM
87
+ ## [5.70.36] - 6/21/2022 6:53:36 PM
92
88
 
93
- Commit [a0f295f060c7f08a8b10b2208dd1c95dc7f3c97a](https://github.com/StoneCypher/jssm/commit/a0f295f060c7f08a8b10b2208dd1c95dc7f3c97a)
89
+ Commit [093db23b719161e35e477cc0fe7d9f1132bc28b8](https://github.com/StoneCypher/jssm/commit/093db23b719161e35e477cc0fe7d9f1132bc28b8)
94
90
 
95
91
  Author: `John Haugeland <stonecypher@gmail.com>`
96
92
 
97
- * another trigger commit with mild doc extension
93
+ * Another trivial build - this one to cause chain publishment
98
94
 
99
95
 
100
96
 
@@ -103,15 +99,15 @@ Author: `John Haugeland <stonecypher@gmail.com>`
103
99
 
104
100
  &nbsp;
105
101
 
106
- <a name="5__70__33" />
102
+ <a name="5__70__35" />
107
103
 
108
- ## [5.70.33] - 6/18/2022 8:57:42 PM
104
+ ## [5.70.35] - 6/19/2022 10:56:41 AM
109
105
 
110
- Commit [ca254f455f2c19f21e77834e993c310e05272822](https://github.com/StoneCypher/jssm/commit/ca254f455f2c19f21e77834e993c310e05272822)
106
+ Commit [13ee9eb71ca9ab868699e535abf6ba30c8ad5829](https://github.com/StoneCypher/jssm/commit/13ee9eb71ca9ab868699e535abf6ba30c8ad5829)
111
107
 
112
108
  Author: `John Haugeland <stonecypher@gmail.com>`
113
109
 
114
- * holy another facile build for triggering, batman
110
+ * new trigger with replaced token - this time with a bump
115
111
 
116
112
 
117
113
 
@@ -120,15 +116,13 @@ Author: `John Haugeland <stonecypher@gmail.com>`
120
116
 
121
117
  &nbsp;
122
118
 
123
- <a name="5__70__32" />
124
-
125
- ## [5.70.32] - 6/18/2022 8:48:07 PM
119
+ ## [Untagged] - 6/19/2022 10:37:04 AM
126
120
 
127
- Commit [8115e8b62d8ac1cff3c7eb07afabced097f1be42](https://github.com/StoneCypher/jssm/commit/8115e8b62d8ac1cff3c7eb07afabced097f1be42)
121
+ Commit [b3e69d9745b92d845bedcfbc08f342997137af3d](https://github.com/StoneCypher/jssm/commit/b3e69d9745b92d845bedcfbc08f342997137af3d)
128
122
 
129
123
  Author: `John Haugeland <stonecypher@gmail.com>`
130
124
 
131
- * yet another small commit as a trigger, this time to get the extended diff
125
+ * new trigger with replaced token
132
126
 
133
127
 
134
128
 
@@ -137,15 +131,15 @@ Author: `John Haugeland <stonecypher@gmail.com>`
137
131
 
138
132
  &nbsp;
139
133
 
140
- <a name="5__70__31" />
134
+ <a name="5__70__34" />
141
135
 
142
- ## [5.70.31] - 6/18/2022 8:00:06 PM
136
+ ## [5.70.34] - 6/18/2022 9:40:31 PM
143
137
 
144
- Commit [de3d8a105aa85045a9f19ed46b4b3c5e5fb1e235](https://github.com/StoneCypher/jssm/commit/de3d8a105aa85045a9f19ed46b4b3c5e5fb1e235)
138
+ Commit [a0f295f060c7f08a8b10b2208dd1c95dc7f3c97a](https://github.com/StoneCypher/jssm/commit/a0f295f060c7f08a8b10b2208dd1c95dc7f3c97a)
145
139
 
146
140
  Author: `John Haugeland <stonecypher@gmail.com>`
147
141
 
148
- * another small commit as a trigger, this time to get the diff
142
+ * another trigger commit with mild doc extension
149
143
 
150
144
 
151
145
 
@@ -154,15 +148,15 @@ Author: `John Haugeland <stonecypher@gmail.com>`
154
148
 
155
149
  &nbsp;
156
150
 
157
- <a name="5__70__30" />
151
+ <a name="5__70__33" />
158
152
 
159
- ## [5.70.30] - 6/18/2022 10:54:02 AM
153
+ ## [5.70.33] - 6/18/2022 8:57:42 PM
160
154
 
161
- Commit [3211f94bb943a63ae07f202eb168916d73f94f90](https://github.com/StoneCypher/jssm/commit/3211f94bb943a63ae07f202eb168916d73f94f90)
155
+ Commit [ca254f455f2c19f21e77834e993c310e05272822](https://github.com/StoneCypher/jssm/commit/ca254f455f2c19f21e77834e993c310e05272822)
162
156
 
163
157
  Author: `John Haugeland <stonecypher@gmail.com>`
164
158
 
165
- * missing closing div tag was breaking examples page
159
+ * holy another facile build for triggering, batman
166
160
 
167
161
 
168
162
 
@@ -171,12 +165,12 @@ Author: `John Haugeland <stonecypher@gmail.com>`
171
165
 
172
166
  &nbsp;
173
167
 
174
- <a name="5__70__29" />
168
+ <a name="5__70__32" />
175
169
 
176
- ## [5.70.29] - 6/18/2022 8:40:30 AM
170
+ ## [5.70.32] - 6/18/2022 8:48:07 PM
177
171
 
178
- Commit [7373cfa90383dc2adbe0649be86cb89bef1c0518](https://github.com/StoneCypher/jssm/commit/7373cfa90383dc2adbe0649be86cb89bef1c0518)
172
+ Commit [8115e8b62d8ac1cff3c7eb07afabced097f1be42](https://github.com/StoneCypher/jssm/commit/8115e8b62d8ac1cff3c7eb07afabced097f1be42)
179
173
 
180
174
  Author: `John Haugeland <stonecypher@gmail.com>`
181
175
 
182
- * One more build to trigger remote.
176
+ * yet another small commit as a trigger, this time to get the extended diff
@@ -208,6 +208,7 @@ declare class Machine<mDT> {
208
208
  _raw_state_declaration?: Array<Object>;
209
209
  _state_declarations: Map<StateType, JssmStateDeclaration>;
210
210
  _instance_name: string;
211
+ _data?: mDT;
211
212
  _graph_layout: JssmLayout;
212
213
  _dot_preamble: string;
213
214
  _arrange_declaration: Array<Array<StateType>>;
@@ -227,12 +228,12 @@ declare class Machine<mDT> {
227
228
  _entry_hooks: Map<string, Function>;
228
229
  _exit_hooks: Map<string, Function>;
229
230
  _global_action_hooks: Map<string, Function>;
230
- _any_action_hook: HookHandler | undefined;
231
- _standard_transition_hook: HookHandler | undefined;
232
- _main_transition_hook: HookHandler | undefined;
233
- _forced_transition_hook: HookHandler | undefined;
234
- _any_transition_hook: HookHandler | undefined;
235
- constructor({ start_states, complete, transitions, machine_author, machine_comment, machine_contributor, machine_definition, machine_language, machine_license, machine_name, machine_version, state_declaration, fsl_version, dot_preamble, arrange_declaration, arrange_start_declaration, arrange_end_declaration, theme, flow, graph_layout, instance_name }: JssmGenericConfig<mDT>);
231
+ _any_action_hook: HookHandler<mDT> | undefined;
232
+ _standard_transition_hook: HookHandler<mDT> | undefined;
233
+ _main_transition_hook: HookHandler<mDT> | undefined;
234
+ _forced_transition_hook: HookHandler<mDT> | undefined;
235
+ _any_transition_hook: HookHandler<mDT> | undefined;
236
+ constructor({ start_states, complete, transitions, machine_author, machine_comment, machine_contributor, machine_definition, machine_language, machine_license, machine_name, machine_version, state_declaration, fsl_version, dot_preamble, arrange_declaration, arrange_start_declaration, arrange_end_declaration, theme, flow, graph_layout, instance_name, data }: JssmGenericConfig<mDT>);
236
237
  /********
237
238
  *
238
239
  * Internal method for fabricating states. Not meant for external use.
@@ -259,6 +260,21 @@ declare class Machine<mDT> {
259
260
  *
260
261
  */
261
262
  state(): StateType;
263
+ /*********
264
+ *
265
+ * Get the current data of a machine.
266
+ *
267
+ * ```typescript
268
+ * import * as jssm from 'jssm';
269
+ *
270
+ * const switch = jssm.from('on <=> off;', {data: 1});
271
+ * console.log( switch.data() ); // 1
272
+ * ```
273
+ *
274
+ * @typeparam mDT The type of the machine data member; usually omitted
275
+ *
276
+ */
277
+ data(): mDT;
262
278
  /********
263
279
  *
264
280
  * Check whether a given state is final (either has no exits or is marked
@@ -522,17 +538,17 @@ declare class Machine<mDT> {
522
538
  is_complete(): boolean;
523
539
  state_is_complete(whichState: StateType): boolean;
524
540
  has_completes(): boolean;
525
- set_hook(HookDesc: HookDescription): void;
526
- hook(from: string, to: string, handler: HookHandler): Machine<mDT>;
527
- hook_action(from: string, to: string, action: string, handler: HookHandler): Machine<mDT>;
528
- hook_global_action(action: string, handler: HookHandler): Machine<mDT>;
529
- hook_any_action(handler: HookHandler): Machine<mDT>;
530
- hook_standard_transition(handler: HookHandler): Machine<mDT>;
531
- hook_main_transition(handler: HookHandler): Machine<mDT>;
532
- hook_forced_transition(handler: HookHandler): Machine<mDT>;
533
- hook_any_transition(handler: HookHandler): Machine<mDT>;
534
- hook_entry(to: string, handler: HookHandler): Machine<mDT>;
535
- hook_exit(from: string, handler: HookHandler): Machine<mDT>;
541
+ set_hook(HookDesc: HookDescription<mDT>): void;
542
+ hook(from: string, to: string, handler: HookHandler<mDT>): Machine<mDT>;
543
+ hook_action(from: string, to: string, action: string, handler: HookHandler<mDT>): Machine<mDT>;
544
+ hook_global_action(action: string, handler: HookHandler<mDT>): Machine<mDT>;
545
+ hook_any_action(handler: HookHandler<mDT>): Machine<mDT>;
546
+ hook_standard_transition(handler: HookHandler<mDT>): Machine<mDT>;
547
+ hook_main_transition(handler: HookHandler<mDT>): Machine<mDT>;
548
+ hook_forced_transition(handler: HookHandler<mDT>): Machine<mDT>;
549
+ hook_any_transition(handler: HookHandler<mDT>): Machine<mDT>;
550
+ hook_entry(to: string, handler: HookHandler<mDT>): Machine<mDT>;
551
+ hook_exit(from: string, handler: HookHandler<mDT>): Machine<mDT>;
536
552
  edges_between(from: string, to: string): JssmTransition<mDT>[];
537
553
  transition_impl(newStateOrAction: StateType, newData: mDT | undefined, wasForced: boolean, wasAction: boolean): boolean;
538
554
  /********
package/dist/es6/jssm.js CHANGED
@@ -534,7 +534,7 @@ function transfer_state_properties(state_decl) {
534
534
  // TODO add a lotta docblock here
535
535
  class Machine {
536
536
  // whargarbl this badly needs to be broken up, monolith master
537
- constructor({ start_states, complete = [], transitions, machine_author, machine_comment, machine_contributor, machine_definition, machine_language, machine_license, machine_name, machine_version, state_declaration, fsl_version, dot_preamble = undefined, arrange_declaration = [], arrange_start_declaration = [], arrange_end_declaration = [], theme = 'default', flow = 'down', graph_layout = 'dot', instance_name }) {
537
+ constructor({ start_states, complete = [], transitions, machine_author, machine_comment, machine_contributor, machine_definition, machine_language, machine_license, machine_name, machine_version, state_declaration, fsl_version, dot_preamble = undefined, arrange_declaration = [], arrange_start_declaration = [], arrange_end_declaration = [], theme = 'default', flow = 'down', graph_layout = 'dot', instance_name, data }) {
538
538
  this._instance_name = instance_name;
539
539
  this._state = start_states[0];
540
540
  this._states = new Map();
@@ -581,6 +581,7 @@ class Machine {
581
581
  this._forced_transition_hook = undefined;
582
582
  this._any_transition_hook = undefined;
583
583
  this._standard_transition_hook = undefined;
584
+ this._data = data;
584
585
  if (state_declaration) {
585
586
  state_declaration.map((state_decl) => {
586
587
  if (this._state_declarations.has(state_decl.state)) { // no repeats
@@ -718,6 +719,30 @@ class Machine {
718
719
  return true; // todo whargarbl
719
720
  }
720
721
  */
722
+ /*********
723
+ *
724
+ * Get the current data of a machine.
725
+ *
726
+ * ```typescript
727
+ * import * as jssm from 'jssm';
728
+ *
729
+ * const switch = jssm.from('on <=> off;', {data: 1});
730
+ * console.log( switch.data() ); // 1
731
+ * ```
732
+ *
733
+ * @typeparam mDT The type of the machine data member; usually omitted
734
+ *
735
+ */
736
+ data() {
737
+ return this._data;
738
+ }
739
+ /* whargarbl todo major
740
+ when we reimplement this, reintroduce this change to the is_final call
741
+
742
+ is_changing(): boolean {
743
+ return true; // todo whargarbl
744
+ }
745
+ */
721
746
  /********
722
747
  *
723
748
  * Check whether a given state is final (either has no exits or is marked
@@ -1229,52 +1254,42 @@ class Machine {
1229
1254
  }
1230
1255
  }
1231
1256
  hook(from, to, handler) {
1232
- // TODO: should this throw if setting the hook fails, or ignore it and continue?
1233
1257
  this.set_hook({ kind: 'hook', from, to, handler });
1234
1258
  return this;
1235
1259
  }
1236
1260
  hook_action(from, to, action, handler) {
1237
- // TODO: should this throw if setting the hook fails, or ignore it and continue?
1238
1261
  this.set_hook({ kind: 'named', from, to, action, handler });
1239
1262
  return this;
1240
1263
  }
1241
1264
  hook_global_action(action, handler) {
1242
- // TODO: should this throw if setting the hook fails, or ignore it and continue?
1243
1265
  this.set_hook({ kind: 'global action', action, handler });
1244
1266
  return this;
1245
1267
  }
1246
1268
  hook_any_action(handler) {
1247
- // TODO: should this throw if setting the hook fails, or ignore it and continue?
1248
1269
  this.set_hook({ kind: 'any action', handler });
1249
1270
  return this;
1250
1271
  }
1251
1272
  hook_standard_transition(handler) {
1252
- // TODO: should this throw if setting the hook fails, or ignore it and continue?
1253
1273
  this.set_hook({ kind: 'standard transition', handler });
1254
1274
  return this;
1255
1275
  }
1256
1276
  hook_main_transition(handler) {
1257
- // TODO: should this throw if setting the hook fails, or ignore it and continue?
1258
1277
  this.set_hook({ kind: 'main transition', handler });
1259
1278
  return this;
1260
1279
  }
1261
1280
  hook_forced_transition(handler) {
1262
- // TODO: should this throw if setting the hook fails, or ignore it and continue?
1263
1281
  this.set_hook({ kind: 'forced transition', handler });
1264
1282
  return this;
1265
1283
  }
1266
1284
  hook_any_transition(handler) {
1267
- // TODO: should this throw if setting the hook fails, or ignore it and continue?
1268
1285
  this.set_hook({ kind: 'any transition', handler });
1269
1286
  return this;
1270
1287
  }
1271
1288
  hook_entry(to, handler) {
1272
- // TODO: should this throw if setting the hook fails, or ignore it and continue?
1273
1289
  this.set_hook({ kind: 'entry', to, handler });
1274
1290
  return this;
1275
1291
  }
1276
1292
  hook_exit(from, handler) {
1277
- // TODO: should this throw if setting the hook fails, or ignore it and continue?
1278
1293
  this.set_hook({ kind: 'exit', from, handler });
1279
1294
  return this;
1280
1295
  }
@@ -1317,7 +1332,7 @@ class Machine {
1317
1332
  // todo major incomplete whargarbl comeback
1318
1333
  if (valid) {
1319
1334
  if (this._has_hooks) {
1320
- const hook_args = { action: fromAction, from: this._state, to: newState, forced: wasForced };
1335
+ const hook_args = { data: this._data, action: fromAction, from: this._state, to: newState, forced: wasForced };
1321
1336
  if (wasAction) {
1322
1337
  // 1. any action hook
1323
1338
  if (this._any_action_hook !== undefined) {
@@ -149,57 +149,61 @@ declare type JssmCompileSeStart<DataType> = {
149
149
  };
150
150
  declare type JssmParseTree = Array<JssmCompileSeStart<StateType>>;
151
151
  declare type JssmParseFunctionType = (string: any) => JssmParseTree;
152
- declare type HookHandler = Function;
153
- declare type BasicHookDescription = {
152
+ declare type BasicHookDescription<mDT> = {
154
153
  kind: 'hook';
155
154
  from: string;
156
155
  to: string;
157
- handler: HookHandler;
156
+ handler: HookHandler<mDT>;
158
157
  };
159
- declare type HookDescriptionWithAction = {
158
+ declare type HookDescriptionWithAction<mDT> = {
160
159
  kind: 'named';
161
160
  from: string;
162
161
  to: string;
163
162
  action: string;
164
- handler: HookHandler;
163
+ handler: HookHandler<mDT>;
165
164
  };
166
- declare type StandardTransitionHook = {
165
+ declare type StandardTransitionHook<mDT> = {
167
166
  kind: 'standard transition';
168
- handler: HookHandler;
167
+ handler: HookHandler<mDT>;
169
168
  };
170
- declare type MainTransitionHook = {
169
+ declare type MainTransitionHook<mDT> = {
171
170
  kind: 'main transition';
172
- handler: HookHandler;
171
+ handler: HookHandler<mDT>;
173
172
  };
174
- declare type ForcedTransitionHook = {
173
+ declare type ForcedTransitionHook<mDT> = {
175
174
  kind: 'forced transition';
176
- handler: HookHandler;
175
+ handler: HookHandler<mDT>;
177
176
  };
178
- declare type AnyTransitionHook = {
177
+ declare type AnyTransitionHook<mDT> = {
179
178
  kind: 'any transition';
180
- handler: HookHandler;
179
+ handler: HookHandler<mDT>;
181
180
  };
182
- declare type GlobalActionHook = {
181
+ declare type GlobalActionHook<mDT> = {
183
182
  kind: 'global action';
184
183
  action: string;
185
- handler: HookHandler;
184
+ handler: HookHandler<mDT>;
186
185
  };
187
- declare type AnyActionHook = {
186
+ declare type AnyActionHook<mDT> = {
188
187
  kind: 'any action';
189
- handler: HookHandler;
188
+ handler: HookHandler<mDT>;
190
189
  };
191
- declare type EntryHook = {
190
+ declare type EntryHook<mDT> = {
192
191
  kind: 'entry';
193
192
  to: string;
194
- handler: HookHandler;
193
+ handler: HookHandler<mDT>;
195
194
  };
196
- declare type ExitHook = {
195
+ declare type ExitHook<mDT> = {
197
196
  kind: 'exit';
198
197
  from: string;
199
- handler: HookHandler;
198
+ handler: HookHandler<mDT>;
200
199
  };
201
- declare type HookDescription = BasicHookDescription | HookDescriptionWithAction | GlobalActionHook | AnyActionHook | StandardTransitionHook | MainTransitionHook | ForcedTransitionHook | AnyTransitionHook | EntryHook | ExitHook;
200
+ declare type HookDescription<mDT> = BasicHookDescription<mDT> | HookDescriptionWithAction<mDT> | GlobalActionHook<mDT> | AnyActionHook<mDT> | StandardTransitionHook<mDT> | MainTransitionHook<mDT> | ForcedTransitionHook<mDT> | AnyTransitionHook<mDT> | EntryHook<mDT> | ExitHook<mDT>;
201
+ declare type HookResult = true | false | undefined | void;
202
+ declare type HookContext<mDT> = {
203
+ data: mDT;
204
+ };
205
+ declare type HookHandler<mDT> = (hook_context: HookContext<mDT>) => HookResult;
202
206
  declare type JssmErrorExtendedInfo = {
203
207
  requested_state?: StateType | undefined;
204
208
  };
205
- export { JssmColor, JssmTransition, JssmTransitions, JssmTransitionList, JssmTransitionRule, JssmArrow, JssmArrowKind, JssmArrowDirection, JssmGenericConfig, JssmGenericState, JssmGenericMachine, JssmParseTree, JssmCompileSe, JssmCompileSeStart, JssmCompileRule, JssmPermitted, JssmPermittedOpt, JssmResult, JssmStateDeclaration, JssmStateDeclarationRule, JssmLayout, JssmParseFunctionType, JssmMachineInternalState, JssmErrorExtendedInfo, FslDirection, FslTheme, HookDescription, HookHandler };
209
+ export { JssmColor, JssmTransition, JssmTransitions, JssmTransitionList, JssmTransitionRule, JssmArrow, JssmArrowKind, JssmArrowDirection, JssmGenericConfig, JssmGenericState, JssmGenericMachine, JssmParseTree, JssmCompileSe, JssmCompileSeStart, JssmCompileRule, JssmPermitted, JssmPermittedOpt, JssmResult, JssmStateDeclaration, JssmStateDeclarationRule, JssmLayout, JssmParseFunctionType, JssmMachineInternalState, JssmErrorExtendedInfo, FslDirection, FslTheme, HookDescription, HookHandler, HookResult };
@@ -1,2 +1,2 @@
1
- const version = "5.71.1";
1
+ const version = "5.72.2";
2
2
  export { version };