@peter.naydenov/fsm 5.1.2 → 5.2.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (34) hide show
  1. package/Changelog.md +18 -0
  2. package/coverage/lcov-report/index.html +21 -21
  3. package/coverage/lcov-report/src/index.html +10 -10
  4. package/coverage/lcov-report/src/main.js.html +310 -0
  5. package/coverage/lcov-report/src/methods/_getChain.js.html +12 -9
  6. package/coverage/lcov-report/src/methods/_onUpdateTask.js.html +15 -15
  7. package/coverage/lcov-report/src/methods/_setTransitions.js.html +27 -27
  8. package/coverage/lcov-report/src/methods/_transit.js.html +26 -17
  9. package/coverage/lcov-report/src/methods/_triggerCacheUpdate.js.html +19 -13
  10. package/coverage/lcov-report/src/methods/_updateStateData.js.html +214 -0
  11. package/coverage/lcov-report/src/methods/_updateStep.js.html +55 -64
  12. package/coverage/lcov-report/src/methods/_warn.js.html +17 -17
  13. package/coverage/lcov-report/src/methods/exportState.js.html +11 -20
  14. package/coverage/lcov-report/src/methods/extractList.js.html +163 -0
  15. package/coverage/lcov-report/src/methods/getDependencies.js.html +115 -0
  16. package/coverage/lcov-report/src/methods/getState.js.html +4 -4
  17. package/coverage/lcov-report/src/methods/ignoreCacheUpdates.js.html +3 -3
  18. package/coverage/lcov-report/src/methods/importState.js.html +12 -6
  19. package/coverage/lcov-report/src/methods/index.html +88 -43
  20. package/coverage/lcov-report/src/methods/index.js.html +43 -19
  21. package/coverage/lcov-report/src/methods/off.js.html +3 -3
  22. package/coverage/lcov-report/src/methods/on.js.html +3 -3
  23. package/coverage/lcov-report/src/methods/reset.js.html +12 -9
  24. package/coverage/lcov-report/src/methods/setDependencies.js.html +5 -5
  25. package/coverage/lcov-report/src/methods/update.js.html +51 -21
  26. package/coverage/lcov.info +515 -315
  27. package/coverage/tmp/coverage-73715-1707034637130-0.json +1 -0
  28. package/coverage/tmp/coverage-73716-1707034635507-0.json +1 -0
  29. package/dist/fsm.cjs +1 -0
  30. package/dist/fsm.esm.mjs +1 -0
  31. package/dist/fsm.umd.js +1 -0
  32. package/package.json +27 -12
  33. package/rollup.config.js +42 -0
  34. package/coverage/tmp/coverage-51040-1691437648869-0.json +0 -1
@@ -73,9 +73,9 @@
73
73
  <a name='L8'></a><a href='#L8'>8</a>
74
74
  <a name='L9'></a><a href='#L9'>9</a>
75
75
  <a name='L10'></a><a href='#L10'>10</a>
76
- <a name='L11'></a><a href='#L11'>11</a></td><td class="line-coverage quiet"><span class="cline-any cline-yes">17x</span>
77
- <span class="cline-any cline-yes">17x</span>
78
- <span class="cline-any cline-yes">7x</span>
76
+ <a name='L11'></a><a href='#L11'>11</a></td><td class="line-coverage quiet"><span class="cline-any cline-yes">19x</span>
77
+ <span class="cline-any cline-yes">19x</span>
78
+ <span class="cline-any cline-yes">10x</span>
79
79
  <span class="cline-any cline-yes">1x</span>
80
80
  <span class="cline-any cline-yes">1x</span>
81
81
  <span class="cline-any cline-yes">1x</span>
@@ -100,7 +100,7 @@ export default getState
100
100
  <div class='footer quiet pad2 space-top1 center small'>
101
101
  Code coverage generated by
102
102
  <a href="https://istanbul.js.org/" target="_blank" rel="noopener noreferrer">istanbul</a>
103
- at 2023-08-07T19:47:29.021Z
103
+ at 2024-02-04T08:17:17.198Z
104
104
  </div>
105
105
  <script src="../../prettify.js"></script>
106
106
  <script>
@@ -76,8 +76,8 @@
76
76
  <a name='L11'></a><a href='#L11'>11</a>
77
77
  <a name='L12'></a><a href='#L12'>12</a>
78
78
  <a name='L13'></a><a href='#L13'>13</a>
79
- <a name='L14'></a><a href='#L14'>14</a></td><td class="line-coverage quiet"><span class="cline-any cline-yes">17x</span>
80
- <span class="cline-any cline-yes">17x</span>
79
+ <a name='L14'></a><a href='#L14'>14</a></td><td class="line-coverage quiet"><span class="cline-any cline-yes">19x</span>
80
+ <span class="cline-any cline-yes">19x</span>
81
81
  <span class="cline-any cline-yes">1x</span>
82
82
  <span class="cline-any cline-yes">1x</span>
83
83
  <span class="cline-any cline-yes">1x</span>
@@ -109,7 +109,7 @@ export default ignoreCachedUpdates
109
109
  <div class='footer quiet pad2 space-top1 center small'>
110
110
  Code coverage generated by
111
111
  <a href="https://istanbul.js.org/" target="_blank" rel="noopener noreferrer">istanbul</a>
112
- at 2023-08-07T19:47:29.021Z
112
+ at 2024-02-04T08:17:17.198Z
113
113
  </div>
114
114
  <script src="../../prettify.js"></script>
115
115
  <script>
@@ -25,7 +25,7 @@
25
25
  <div class='fl pad1y space-right2'>
26
26
  <span class="strong">100% </span>
27
27
  <span class="quiet">Statements</span>
28
- <span class='fraction'>14/14</span>
28
+ <span class='fraction'>16/16</span>
29
29
  </div>
30
30
 
31
31
 
@@ -46,7 +46,7 @@
46
46
  <div class='fl pad1y space-right2'>
47
47
  <span class="strong">100% </span>
48
48
  <span class="quiet">Lines</span>
49
- <span class='fraction'>14/14</span>
49
+ <span class='fraction'>16/16</span>
50
50
  </div>
51
51
 
52
52
 
@@ -79,8 +79,12 @@
79
79
  <a name='L14'></a><a href='#L14'>14</a>
80
80
  <a name='L15'></a><a href='#L15'>15</a>
81
81
  <a name='L16'></a><a href='#L16'>16</a>
82
- <a name='L17'></a><a href='#L17'>17</a></td><td class="line-coverage quiet"><span class="cline-any cline-yes">17x</span>
83
- <span class="cline-any cline-yes">17x</span>
82
+ <a name='L17'></a><a href='#L17'>17</a>
83
+ <a name='L18'></a><a href='#L18'>18</a>
84
+ <a name='L19'></a><a href='#L19'>19</a></td><td class="line-coverage quiet"><span class="cline-any cline-yes">19x</span>
85
+ <span class="cline-any cline-yes">19x</span>
86
+ <span class="cline-any cline-yes">1x</span>
87
+ <span class="cline-any cline-yes">1x</span>
84
88
  <span class="cline-any cline-yes">1x</span>
85
89
  <span class="cline-any cline-yes">1x</span>
86
90
  <span class="cline-any cline-yes">1x</span>
@@ -98,10 +102,12 @@
98
102
  <span class="cline-any cline-neutral">&nbsp;</span></td><td class="text"><pre class="prettyprint lang-js">function importState (fsm) {
99
103
  return function ( {state, stateData } ) {
100
104
  // *** Import existing state to fsm
105
+ const { dtbox, query } = fsm.dependencies;
101
106
  if ( state ) {
102
107
  fsm.state = state
103
108
  if ( stateData ) {
104
- fsm.stateData = { ...stateData }
109
+ const update = dtbox.load ( stateData ).query ( query.splitSegments )
110
+ fsm.stateData = fsm.stateData.query ( query.updateState, update )
105
111
  }
106
112
  }
107
113
  }} // importState func.
@@ -118,7 +124,7 @@ export default importState
118
124
  <div class='footer quiet pad2 space-top1 center small'>
119
125
  Code coverage generated by
120
126
  <a href="https://istanbul.js.org/" target="_blank" rel="noopener noreferrer">istanbul</a>
121
- at 2023-08-07T19:47:29.021Z
127
+ at 2024-02-04T08:17:17.198Z
122
128
  </div>
123
129
  <script src="../../prettify.js"></script>
124
130
  <script>
@@ -23,30 +23,30 @@
23
23
  <div class='clearfix'>
24
24
 
25
25
  <div class='fl pad1y space-right2'>
26
- <span class="strong">97.17% </span>
26
+ <span class="strong">98.06% </span>
27
27
  <span class="quiet">Statements</span>
28
- <span class='fraction'>310/319</span>
28
+ <span class='fraction'>405/413</span>
29
29
  </div>
30
30
 
31
31
 
32
32
  <div class='fl pad1y space-right2'>
33
- <span class="strong">97.7% </span>
33
+ <span class="strong">97.27% </span>
34
34
  <span class="quiet">Branches</span>
35
- <span class='fraction'>85/87</span>
35
+ <span class='fraction'>107/110</span>
36
36
  </div>
37
37
 
38
38
 
39
39
  <div class='fl pad1y space-right2'>
40
40
  <span class="strong">100% </span>
41
41
  <span class="quiet">Functions</span>
42
- <span class='fraction'>18/18</span>
42
+ <span class='fraction'>28/28</span>
43
43
  </div>
44
44
 
45
45
 
46
46
  <div class='fl pad1y space-right2'>
47
- <span class="strong">97.17% </span>
47
+ <span class="strong">98.06% </span>
48
48
  <span class="quiet">Lines</span>
49
- <span class='fraction'>310/319</span>
49
+ <span class='fraction'>405/413</span>
50
50
  </div>
51
51
 
52
52
 
@@ -84,13 +84,13 @@
84
84
  <div class="chart"><div class="cover-fill cover-full" style="width: 100%"></div><div class="cover-empty" style="width: 0%"></div></div>
85
85
  </td>
86
86
  <td data-value="100" class="pct high">100%</td>
87
- <td data-value="9" class="abs high">9/9</td>
87
+ <td data-value="10" class="abs high">10/10</td>
88
88
  <td data-value="100" class="pct high">100%</td>
89
89
  <td data-value="5" class="abs high">5/5</td>
90
90
  <td data-value="100" class="pct high">100%</td>
91
- <td data-value="1" class="abs high">1/1</td>
91
+ <td data-value="2" class="abs high">2/2</td>
92
92
  <td data-value="100" class="pct high">100%</td>
93
- <td data-value="9" class="abs high">9/9</td>
93
+ <td data-value="10" class="abs high">10/10</td>
94
94
  </tr>
95
95
 
96
96
  <tr>
@@ -129,13 +129,13 @@
129
129
  <div class="chart"><div class="cover-fill cover-full" style="width: 100%"></div><div class="cover-empty" style="width: 0%"></div></div>
130
130
  </td>
131
131
  <td data-value="100" class="pct high">100%</td>
132
- <td data-value="15" class="abs high">15/15</td>
132
+ <td data-value="18" class="abs high">18/18</td>
133
133
  <td data-value="100" class="pct high">100%</td>
134
134
  <td data-value="5" class="abs high">5/5</td>
135
135
  <td data-value="100" class="pct high">100%</td>
136
136
  <td data-value="1" class="abs high">1/1</td>
137
137
  <td data-value="100" class="pct high">100%</td>
138
- <td data-value="15" class="abs high">15/15</td>
138
+ <td data-value="18" class="abs high">18/18</td>
139
139
  </tr>
140
140
 
141
141
  <tr>
@@ -144,43 +144,58 @@
144
144
  <div class="chart"><div class="cover-fill cover-full" style="width: 100%"></div><div class="cover-empty" style="width: 0%"></div></div>
145
145
  </td>
146
146
  <td data-value="100" class="pct high">100%</td>
147
- <td data-value="17" class="abs high">17/17</td>
147
+ <td data-value="19" class="abs high">19/19</td>
148
148
  <td data-value="100" class="pct high">100%</td>
149
149
  <td data-value="7" class="abs high">7/7</td>
150
150
  <td data-value="100" class="pct high">100%</td>
151
151
  <td data-value="1" class="abs high">1/1</td>
152
152
  <td data-value="100" class="pct high">100%</td>
153
- <td data-value="17" class="abs high">17/17</td>
153
+ <td data-value="19" class="abs high">19/19</td>
154
+ </tr>
155
+
156
+ <tr>
157
+ <td class="file high" data-value="_updateStateData.js"><a href="_updateStateData.js.html">_updateStateData.js</a></td>
158
+ <td data-value="92.68" class="pic high">
159
+ <div class="chart"><div class="cover-fill" style="width: 92%"></div><div class="cover-empty" style="width: 8%"></div></div>
160
+ </td>
161
+ <td data-value="92.68" class="pct high">92.68%</td>
162
+ <td data-value="41" class="abs high">38/41</td>
163
+ <td data-value="91.66" class="pct high">91.66%</td>
164
+ <td data-value="12" class="abs high">11/12</td>
165
+ <td data-value="100" class="pct high">100%</td>
166
+ <td data-value="2" class="abs high">2/2</td>
167
+ <td data-value="92.68" class="pct high">92.68%</td>
168
+ <td data-value="41" class="abs high">38/41</td>
154
169
  </tr>
155
170
 
156
171
  <tr>
157
172
  <td class="file high" data-value="_updateStep.js"><a href="_updateStep.js.html">_updateStep.js</a></td>
158
- <td data-value="94.73" class="pic high">
173
+ <td data-value="94.44" class="pic high">
159
174
  <div class="chart"><div class="cover-fill" style="width: 94%"></div><div class="cover-empty" style="width: 6%"></div></div>
160
175
  </td>
161
- <td data-value="94.73" class="pct high">94.73%</td>
162
- <td data-value="57" class="abs high">54/57</td>
163
176
  <td data-value="94.44" class="pct high">94.44%</td>
164
- <td data-value="18" class="abs high">17/18</td>
177
+ <td data-value="54" class="abs high">51/54</td>
178
+ <td data-value="93.75" class="pct high">93.75%</td>
179
+ <td data-value="16" class="abs high">15/16</td>
165
180
  <td data-value="100" class="pct high">100%</td>
166
181
  <td data-value="1" class="abs high">1/1</td>
167
- <td data-value="94.73" class="pct high">94.73%</td>
168
- <td data-value="57" class="abs high">54/57</td>
182
+ <td data-value="94.44" class="pct high">94.44%</td>
183
+ <td data-value="54" class="abs high">51/54</td>
169
184
  </tr>
170
185
 
171
186
  <tr>
172
- <td class="file medium" data-value="_warn.js"><a href="_warn.js.html">_warn.js</a></td>
173
- <td data-value="63.63" class="pic medium">
174
- <div class="chart"><div class="cover-fill" style="width: 63%"></div><div class="cover-empty" style="width: 37%"></div></div>
187
+ <td class="file high" data-value="_warn.js"><a href="_warn.js.html">_warn.js</a></td>
188
+ <td data-value="100" class="pic high">
189
+ <div class="chart"><div class="cover-fill cover-full" style="width: 100%"></div><div class="cover-empty" style="width: 0%"></div></div>
175
190
  </td>
176
- <td data-value="63.63" class="pct medium">63.63%</td>
177
- <td data-value="11" class="abs medium">7/11</td>
178
191
  <td data-value="100" class="pct high">100%</td>
179
- <td data-value="2" class="abs high">2/2</td>
192
+ <td data-value="11" class="abs high">11/11</td>
193
+ <td data-value="100" class="pct high">100%</td>
194
+ <td data-value="5" class="abs high">5/5</td>
180
195
  <td data-value="100" class="pct high">100%</td>
181
196
  <td data-value="1" class="abs high">1/1</td>
182
- <td data-value="63.63" class="pct medium">63.63%</td>
183
- <td data-value="11" class="abs medium">7/11</td>
197
+ <td data-value="100" class="pct high">100%</td>
198
+ <td data-value="11" class="abs high">11/11</td>
184
199
  </tr>
185
200
 
186
201
  <tr>
@@ -189,13 +204,43 @@
189
204
  <div class="chart"><div class="cover-fill cover-full" style="width: 100%"></div><div class="cover-empty" style="width: 0%"></div></div>
190
205
  </td>
191
206
  <td data-value="100" class="pct high">100%</td>
192
- <td data-value="16" class="abs high">16/16</td>
207
+ <td data-value="13" class="abs high">13/13</td>
193
208
  <td data-value="100" class="pct high">100%</td>
194
209
  <td data-value="3" class="abs high">3/3</td>
195
210
  <td data-value="100" class="pct high">100%</td>
196
- <td data-value="1" class="abs high">1/1</td>
211
+ <td data-value="2" class="abs high">2/2</td>
197
212
  <td data-value="100" class="pct high">100%</td>
198
- <td data-value="16" class="abs high">16/16</td>
213
+ <td data-value="13" class="abs high">13/13</td>
214
+ </tr>
215
+
216
+ <tr>
217
+ <td class="file high" data-value="extractList.js"><a href="extractList.js.html">extractList.js</a></td>
218
+ <td data-value="100" class="pic high">
219
+ <div class="chart"><div class="cover-fill cover-full" style="width: 100%"></div><div class="cover-empty" style="width: 0%"></div></div>
220
+ </td>
221
+ <td data-value="100" class="pct high">100%</td>
222
+ <td data-value="24" class="abs high">24/24</td>
223
+ <td data-value="100" class="pct high">100%</td>
224
+ <td data-value="8" class="abs high">8/8</td>
225
+ <td data-value="100" class="pct high">100%</td>
226
+ <td data-value="2" class="abs high">2/2</td>
227
+ <td data-value="100" class="pct high">100%</td>
228
+ <td data-value="24" class="abs high">24/24</td>
229
+ </tr>
230
+
231
+ <tr>
232
+ <td class="file high" data-value="getDependencies.js"><a href="getDependencies.js.html">getDependencies.js</a></td>
233
+ <td data-value="100" class="pic high">
234
+ <div class="chart"><div class="cover-fill cover-full" style="width: 100%"></div><div class="cover-empty" style="width: 0%"></div></div>
235
+ </td>
236
+ <td data-value="100" class="pct high">100%</td>
237
+ <td data-value="8" class="abs high">8/8</td>
238
+ <td data-value="100" class="pct high">100%</td>
239
+ <td data-value="3" class="abs high">3/3</td>
240
+ <td data-value="100" class="pct high">100%</td>
241
+ <td data-value="2" class="abs high">2/2</td>
242
+ <td data-value="100" class="pct high">100%</td>
243
+ <td data-value="8" class="abs high">8/8</td>
199
244
  </tr>
200
245
 
201
246
  <tr>
@@ -234,13 +279,13 @@
234
279
  <div class="chart"><div class="cover-fill cover-full" style="width: 100%"></div><div class="cover-empty" style="width: 0%"></div></div>
235
280
  </td>
236
281
  <td data-value="100" class="pct high">100%</td>
237
- <td data-value="14" class="abs high">14/14</td>
282
+ <td data-value="16" class="abs high">16/16</td>
238
283
  <td data-value="100" class="pct high">100%</td>
239
284
  <td data-value="3" class="abs high">3/3</td>
240
285
  <td data-value="100" class="pct high">100%</td>
241
286
  <td data-value="1" class="abs high">1/1</td>
242
287
  <td data-value="100" class="pct high">100%</td>
243
- <td data-value="14" class="abs high">14/14</td>
288
+ <td data-value="16" class="abs high">16/16</td>
244
289
  </tr>
245
290
 
246
291
  <tr>
@@ -249,13 +294,13 @@
249
294
  <div class="chart"><div class="cover-fill cover-full" style="width: 100%"></div><div class="cover-empty" style="width: 0%"></div></div>
250
295
  </td>
251
296
  <td data-value="100" class="pct high">100%</td>
252
- <td data-value="43" class="abs high">43/43</td>
297
+ <td data-value="51" class="abs high">51/51</td>
253
298
  <td data-value="100" class="pct high">100%</td>
254
299
  <td data-value="1" class="abs high">1/1</td>
255
300
  <td data-value="100" class="pct high">100%</td>
256
301
  <td data-value="0" class="abs high">0/0</td>
257
302
  <td data-value="100" class="pct high">100%</td>
258
- <td data-value="43" class="abs high">43/43</td>
303
+ <td data-value="51" class="abs high">51/51</td>
259
304
  </tr>
260
305
 
261
306
  <tr>
@@ -294,13 +339,13 @@
294
339
  <div class="chart"><div class="cover-fill cover-full" style="width: 100%"></div><div class="cover-empty" style="width: 0%"></div></div>
295
340
  </td>
296
341
  <td data-value="100" class="pct high">100%</td>
297
- <td data-value="10" class="abs high">10/10</td>
342
+ <td data-value="11" class="abs high">11/11</td>
298
343
  <td data-value="100" class="pct high">100%</td>
299
- <td data-value="4" class="abs high">4/4</td>
344
+ <td data-value="3" class="abs high">3/3</td>
300
345
  <td data-value="100" class="pct high">100%</td>
301
346
  <td data-value="1" class="abs high">1/1</td>
302
347
  <td data-value="100" class="pct high">100%</td>
303
- <td data-value="10" class="abs high">10/10</td>
348
+ <td data-value="11" class="abs high">11/11</td>
304
349
  </tr>
305
350
 
306
351
  <tr>
@@ -313,7 +358,7 @@
313
358
  <td data-value="100" class="pct high">100%</td>
314
359
  <td data-value="3" class="abs high">3/3</td>
315
360
  <td data-value="100" class="pct high">100%</td>
316
- <td data-value="1" class="abs high">1/1</td>
361
+ <td data-value="2" class="abs high">2/2</td>
317
362
  <td data-value="100" class="pct high">100%</td>
318
363
  <td data-value="8" class="abs high">8/8</td>
319
364
  </tr>
@@ -324,13 +369,13 @@
324
369
  <div class="chart"><div class="cover-fill cover-full" style="width: 100%"></div><div class="cover-empty" style="width: 0%"></div></div>
325
370
  </td>
326
371
  <td data-value="100" class="pct high">100%</td>
327
- <td data-value="18" class="abs high">18/18</td>
372
+ <td data-value="28" class="abs high">28/28</td>
328
373
  <td data-value="100" class="pct high">100%</td>
329
374
  <td data-value="6" class="abs high">6/6</td>
330
375
  <td data-value="100" class="pct high">100%</td>
331
- <td data-value="1" class="abs high">1/1</td>
376
+ <td data-value="2" class="abs high">2/2</td>
332
377
  <td data-value="100" class="pct high">100%</td>
333
- <td data-value="18" class="abs high">18/18</td>
378
+ <td data-value="28" class="abs high">28/28</td>
334
379
  </tr>
335
380
 
336
381
  </tbody>
@@ -341,7 +386,7 @@
341
386
  <div class='footer quiet pad2 space-top1 center small'>
342
387
  Code coverage generated by
343
388
  <a href="https://istanbul.js.org/" target="_blank" rel="noopener noreferrer">istanbul</a>
344
- at 2023-08-07T19:47:29.021Z
389
+ at 2024-02-04T08:17:17.198Z
345
390
  </div>
346
391
  <script src="../../prettify.js"></script>
347
392
  <script>
@@ -25,7 +25,7 @@
25
25
  <div class='fl pad1y space-right2'>
26
26
  <span class="strong">100% </span>
27
27
  <span class="quiet">Statements</span>
28
- <span class='fraction'>43/43</span>
28
+ <span class='fraction'>51/51</span>
29
29
  </div>
30
30
 
31
31
 
@@ -46,7 +46,7 @@
46
46
  <div class='fl pad1y space-right2'>
47
47
  <span class="strong">100% </span>
48
48
  <span class="quiet">Lines</span>
49
- <span class='fraction'>43/43</span>
49
+ <span class='fraction'>51/51</span>
50
50
  </div>
51
51
 
52
52
 
@@ -108,7 +108,23 @@
108
108
  <a name='L43'></a><a href='#L43'>43</a>
109
109
  <a name='L44'></a><a href='#L44'>44</a>
110
110
  <a name='L45'></a><a href='#L45'>45</a>
111
- <a name='L46'></a><a href='#L46'>46</a></td><td class="line-coverage quiet"><span class="cline-any cline-yes">1x</span>
111
+ <a name='L46'></a><a href='#L46'>46</a>
112
+ <a name='L47'></a><a href='#L47'>47</a>
113
+ <a name='L48'></a><a href='#L48'>48</a>
114
+ <a name='L49'></a><a href='#L49'>49</a>
115
+ <a name='L50'></a><a href='#L50'>50</a>
116
+ <a name='L51'></a><a href='#L51'>51</a>
117
+ <a name='L52'></a><a href='#L52'>52</a>
118
+ <a name='L53'></a><a href='#L53'>53</a>
119
+ <a name='L54'></a><a href='#L54'>54</a></td><td class="line-coverage quiet"><span class="cline-any cline-yes">1x</span>
120
+ <span class="cline-any cline-yes">1x</span>
121
+ <span class="cline-any cline-yes">1x</span>
122
+ <span class="cline-any cline-yes">1x</span>
123
+ <span class="cline-any cline-yes">1x</span>
124
+ <span class="cline-any cline-yes">1x</span>
125
+ <span class="cline-any cline-yes">1x</span>
126
+ <span class="cline-any cline-yes">1x</span>
127
+ <span class="cline-any cline-yes">1x</span>
112
128
  <span class="cline-any cline-yes">1x</span>
113
129
  <span class="cline-any cline-yes">1x</span>
114
130
  <span class="cline-any cline-yes">1x</span>
@@ -153,28 +169,34 @@
153
169
  <span class="cline-any cline-yes">1x</span>
154
170
  <span class="cline-any cline-neutral">&nbsp;</span>
155
171
  <span class="cline-any cline-neutral">&nbsp;</span>
156
- <span class="cline-any cline-neutral">&nbsp;</span></td><td class="text"><pre class="prettyprint lang-js">import _setTransitions from './_setTransitions.js'
157
- import _updateStep from './_updateStep.js'
158
- import _warn from './_warn.js'
159
- import _transit from './_transit.js'
160
- import _getChain from './_getChain.js'
172
+ <span class="cline-any cline-neutral">&nbsp;</span></td><td class="text"><pre class="prettyprint lang-js">import _setTransitions from './_setTransitions.js'
173
+ &nbsp;
174
+ import _updateStateData from './_updateStateData.js'
175
+ import _updateStep from './_updateStep.js'
176
+ import _warn from './_warn.js'
177
+ import _transit from './_transit.js'
178
+ import _getChain from './_getChain.js'
161
179
  import _triggerCacheUpdate from './_triggerCacheUpdate.js'
162
- import _onUpdateTask from './_onUpdateTask.js'
163
- import setDependencies from './setDependencies.js'
164
- import on from './on.js'
165
- import off from './off.js'
166
- import importState from './importState.js'
167
- import exportState from './exportState.js'
168
- import update from './update.js'
169
- import reset from './reset.js'
180
+ import _onUpdateTask from './_onUpdateTask.js'
181
+ &nbsp;
182
+ import setDependencies from './setDependencies.js'
183
+ import getDependencies from './getDependencies.js'
184
+ import on from './on.js'
185
+ import off from './off.js'
186
+ import importState from './importState.js'
187
+ import exportState from './exportState.js'
188
+ import update from './update.js'
189
+ import reset from './reset.js'
170
190
  import ignoreCachedUpdates from './ignoreCacheUpdates.js'
171
- import getState from './getState.js'
191
+ import getState from './getState.js'
192
+ import extractList from './extractList.js'
172
193
  &nbsp;
173
194
  &nbsp;
174
195
  &nbsp;
175
196
  const fn = {
176
197
  // *** "Private" methods
177
198
  _setTransitions // Convert machine configuration and transition library in a internal fsm structures
199
+ , _updateStateData // Update stateData dt-object
178
200
  , _updateStep // Process results of transitions
179
201
  , _warn // Warn on issues if "debug:true" in machine configuration
180
202
  , _transit // Executes a transition if it is defined
@@ -182,7 +204,8 @@ const fn = {
182
204
  , _triggerCacheUpdate // Call next transition from the cache
183
205
  , _onUpdateTask // Executes on update success. Used in "update" and "_triggerCacheUpdate"
184
206
  // *** Public methods
185
- , setDependencies // Add objects in dependencies
207
+ , setDependencies // Add objects to dependencies object
208
+ , getDependencies // Returns the dependencies object
186
209
  , on // Register callback functions on: 'update', 'transition', 'negative', 'positive'
187
210
  , off // Remove callbacks
188
211
  , importState // Get state and data from outside
@@ -191,6 +214,7 @@ const fn = {
191
214
  , reset // Change state and stateData to initial values
192
215
  , ignoreCachedUpdates // Disable update records in the cache
193
216
  , getState // Return a state value
217
+ , extractList // Return a stateData values
194
218
  }
195
219
  &nbsp;
196
220
  &nbsp;
@@ -205,7 +229,7 @@ export default fn
205
229
  <div class='footer quiet pad2 space-top1 center small'>
206
230
  Code coverage generated by
207
231
  <a href="https://istanbul.js.org/" target="_blank" rel="noopener noreferrer">istanbul</a>
208
- at 2023-08-07T19:47:29.021Z
232
+ at 2024-02-04T08:17:17.198Z
209
233
  </div>
210
234
  <script src="../../prettify.js"></script>
211
235
  <script>
@@ -74,8 +74,8 @@
74
74
  <a name='L9'></a><a href='#L9'>9</a>
75
75
  <a name='L10'></a><a href='#L10'>10</a>
76
76
  <a name='L11'></a><a href='#L11'>11</a>
77
- <a name='L12'></a><a href='#L12'>12</a></td><td class="line-coverage quiet"><span class="cline-any cline-yes">17x</span>
78
- <span class="cline-any cline-yes">17x</span>
77
+ <a name='L12'></a><a href='#L12'>12</a></td><td class="line-coverage quiet"><span class="cline-any cline-yes">19x</span>
78
+ <span class="cline-any cline-yes">19x</span>
79
79
  <span class="cline-any cline-no">&nbsp;</span>
80
80
  <span class="cline-any cline-no">&nbsp;</span>
81
81
  <span class="cline-any cline-yes">1x</span>
@@ -103,7 +103,7 @@ export default off
103
103
  <div class='footer quiet pad2 space-top1 center small'>
104
104
  Code coverage generated by
105
105
  <a href="https://istanbul.js.org/" target="_blank" rel="noopener noreferrer">istanbul</a>
106
- at 2023-08-07T19:47:29.021Z
106
+ at 2024-02-04T08:17:17.198Z
107
107
  </div>
108
108
  <script src="../../prettify.js"></script>
109
109
  <script>
@@ -75,8 +75,8 @@
75
75
  <a name='L10'></a><a href='#L10'>10</a>
76
76
  <a name='L11'></a><a href='#L11'>11</a>
77
77
  <a name='L12'></a><a href='#L12'>12</a>
78
- <a name='L13'></a><a href='#L13'>13</a></td><td class="line-coverage quiet"><span class="cline-any cline-yes">17x</span>
79
- <span class="cline-any cline-yes">17x</span>
78
+ <a name='L13'></a><a href='#L13'>13</a></td><td class="line-coverage quiet"><span class="cline-any cline-yes">19x</span>
79
+ <span class="cline-any cline-yes">19x</span>
80
80
  <span class="cline-any cline-yes">6x</span>
81
81
  <span class="cline-any cline-yes">6x</span>
82
82
  <span class="cline-any cline-yes">6x</span>
@@ -106,7 +106,7 @@ export default on
106
106
  <div class='footer quiet pad2 space-top1 center small'>
107
107
  Code coverage generated by
108
108
  <a href="https://istanbul.js.org/" target="_blank" rel="noopener noreferrer">istanbul</a>
109
- at 2023-08-07T19:47:29.021Z
109
+ at 2024-02-04T08:17:17.198Z
110
110
  </div>
111
111
  <script src="../../prettify.js"></script>
112
112
  <script>
@@ -25,14 +25,14 @@
25
25
  <div class='fl pad1y space-right2'>
26
26
  <span class="strong">100% </span>
27
27
  <span class="quiet">Statements</span>
28
- <span class='fraction'>10/10</span>
28
+ <span class='fraction'>11/11</span>
29
29
  </div>
30
30
 
31
31
 
32
32
  <div class='fl pad1y space-right2'>
33
33
  <span class="strong">100% </span>
34
34
  <span class="quiet">Branches</span>
35
- <span class='fraction'>4/4</span>
35
+ <span class='fraction'>3/3</span>
36
36
  </div>
37
37
 
38
38
 
@@ -46,7 +46,7 @@
46
46
  <div class='fl pad1y space-right2'>
47
47
  <span class="strong">100% </span>
48
48
  <span class="quiet">Lines</span>
49
- <span class='fraction'>10/10</span>
49
+ <span class='fraction'>11/11</span>
50
50
  </div>
51
51
 
52
52
 
@@ -75,8 +75,10 @@
75
75
  <a name='L10'></a><a href='#L10'>10</a>
76
76
  <a name='L11'></a><a href='#L11'>11</a>
77
77
  <a name='L12'></a><a href='#L12'>12</a>
78
- <a name='L13'></a><a href='#L13'>13</a></td><td class="line-coverage quiet"><span class="cline-any cline-yes">17x</span>
79
- <span class="cline-any cline-yes">17x</span>
78
+ <a name='L13'></a><a href='#L13'>13</a>
79
+ <a name='L14'></a><a href='#L14'>14</a></td><td class="line-coverage quiet"><span class="cline-any cline-yes">1x</span>
80
+ <span class="cline-any cline-yes">19x</span>
81
+ <span class="cline-any cline-yes">19x</span>
80
82
  <span class="cline-any cline-yes">1x</span>
81
83
  <span class="cline-any cline-yes">1x</span>
82
84
  <span class="cline-any cline-yes">1x</span>
@@ -87,11 +89,12 @@
87
89
  <span class="cline-any cline-yes">1x</span>
88
90
  <span class="cline-any cline-neutral">&nbsp;</span>
89
91
  <span class="cline-any cline-neutral">&nbsp;</span>
90
- <span class="cline-any cline-neutral">&nbsp;</span></td><td class="text"><pre class="prettyprint lang-js">function reset ( fsm ) {
92
+ <span class="cline-any cline-neutral">&nbsp;</span></td><td class="text"><pre class="prettyprint lang-js">'use strict'
93
+ function reset ( fsm ) {
91
94
  return function () {
95
+ const { dtbox } = fsm.dependencies;
92
96
  fsm.state = fsm.initialState
93
- fsm.stateData = {}
94
- Object.entries ( fsm.initialStateData ).forEach ( ([key,value]) =&gt; fsm.stateData[key] = value )
97
+ fsm.stateData = dtbox.load ( fsm.initialStateData.export() )
95
98
  }} // reset func.
96
99
  &nbsp;
97
100
  &nbsp;
@@ -106,7 +109,7 @@ export default reset
106
109
  <div class='footer quiet pad2 space-top1 center small'>
107
110
  Code coverage generated by
108
111
  <a href="https://istanbul.js.org/" target="_blank" rel="noopener noreferrer">istanbul</a>
109
- at 2023-08-07T19:47:29.021Z
112
+ at 2024-02-04T08:17:17.198Z
110
113
  </div>
111
114
  <script src="../../prettify.js"></script>
112
115
  <script>