@peter.naydenov/fsm 4.0.0 → 4.0.1

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 (31) hide show
  1. package/README.md +2 -0
  2. package/coverage/lcov-report/index.html +19 -19
  3. package/coverage/lcov-report/src/index.html +7 -7
  4. package/coverage/lcov-report/src/index.js.html +12 -18
  5. package/coverage/lcov-report/src/methods/_getChain.js.html +1 -1
  6. package/coverage/lcov-report/src/methods/_onUpdateTask.js.html +1 -1
  7. package/coverage/lcov-report/src/methods/_setTransitions.js.html +1 -1
  8. package/coverage/lcov-report/src/methods/_transit.js.html +2 -2
  9. package/coverage/lcov-report/src/methods/_triggerCacheUpdate.js.html +1 -1
  10. package/coverage/lcov-report/src/methods/_updateStep.js.html +1 -1
  11. package/coverage/lcov-report/src/methods/_warn.js.html +9 -18
  12. package/coverage/lcov-report/src/methods/exportState.js.html +2 -2
  13. package/coverage/lcov-report/src/methods/getState.js.html +1 -1
  14. package/coverage/lcov-report/src/methods/ignoreCacheUpdates.js.html +1 -1
  15. package/coverage/lcov-report/src/methods/importState.js.html +10 -7
  16. package/coverage/lcov-report/src/methods/index.html +18 -18
  17. package/coverage/lcov-report/src/methods/index.js.html +1 -1
  18. package/coverage/lcov-report/src/methods/off.js.html +1 -1
  19. package/coverage/lcov-report/src/methods/on.js.html +1 -1
  20. package/coverage/lcov-report/src/methods/reset.js.html +9 -6
  21. package/coverage/lcov-report/src/methods/setDependencies.js.html +1 -1
  22. package/coverage/lcov-report/src/methods/update.js.html +1 -1
  23. package/coverage/lcov.info +23 -27
  24. package/coverage/tmp/{coverage-25644-1668538233889-0.json → coverage-29775-1668580484020-0.json} +1 -1
  25. package/package.json +1 -1
  26. package/src/index.js +5 -7
  27. package/src/methods/_transit.js +1 -1
  28. package/src/methods/_warn.js +3 -6
  29. package/src/methods/exportState.js +1 -1
  30. package/src/methods/importState.js +4 -3
  31. package/src/methods/reset.js +2 -1
package/README.md CHANGED
@@ -411,6 +411,8 @@ So... about changes:
411
411
  ## Release History
412
412
 
413
413
 
414
+ ### 4.0.1 ( 2022-11-16)
415
+ - [x] Walk was removed. Generates a lot of problems with objects in stateData(HTMLElement, Date, URL). StateData is using a shallow copy. Developer should take care of immutability himself;
414
416
 
415
417
  ### 4.0.0 (2022-11-15)
416
418
  - [x] The library become a ES module;
@@ -23,30 +23,30 @@
23
23
  <div class='clearfix'>
24
24
 
25
25
  <div class='fl pad1y space-right2'>
26
- <span class="strong">96.67% </span>
26
+ <span class="strong">97.48% </span>
27
27
  <span class="quiet">Statements</span>
28
- <span class='fraction'>349/361</span>
28
+ <span class='fraction'>349/358</span>
29
29
  </div>
30
30
 
31
31
 
32
32
  <div class='fl pad1y space-right2'>
33
- <span class="strong">96.73% </span>
33
+ <span class="strong">96.77% </span>
34
34
  <span class="quiet">Branches</span>
35
- <span class='fraction'>89/92</span>
35
+ <span class='fraction'>90/93</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'>20/20</span>
42
+ <span class='fraction'>19/19</span>
43
43
  </div>
44
44
 
45
45
 
46
46
  <div class='fl pad1y space-right2'>
47
- <span class="strong">96.67% </span>
47
+ <span class="strong">97.48% </span>
48
48
  <span class="quiet">Lines</span>
49
- <span class='fraction'>349/361</span>
49
+ <span class='fraction'>349/358</span>
50
50
  </div>
51
51
 
52
52
 
@@ -84,28 +84,28 @@
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="41" class="abs high">41/41</td>
87
+ <td data-value="39" class="abs high">39/39</td>
88
88
  <td data-value="83.33" class="pct high">83.33%</td>
89
89
  <td data-value="6" class="abs high">5/6</td>
90
90
  <td data-value="100" class="pct high">100%</td>
91
- <td data-value="2" class="abs high">2/2</td>
91
+ <td data-value="1" class="abs high">1/1</td>
92
92
  <td data-value="100" class="pct high">100%</td>
93
- <td data-value="41" class="abs high">41/41</td>
93
+ <td data-value="39" class="abs high">39/39</td>
94
94
  </tr>
95
95
 
96
96
  <tr>
97
97
  <td class="file high" data-value="src/methods"><a href="src/methods/index.html">src/methods</a></td>
98
- <td data-value="96.25" class="pic high">
99
- <div class="chart"><div class="cover-fill" style="width: 96%"></div><div class="cover-empty" style="width: 4%"></div></div>
98
+ <td data-value="97.17" class="pic high">
99
+ <div class="chart"><div class="cover-fill" style="width: 97%"></div><div class="cover-empty" style="width: 3%"></div></div>
100
100
  </td>
101
- <td data-value="96.25" class="pct high">96.25%</td>
102
- <td data-value="320" class="abs high">308/320</td>
103
- <td data-value="97.67" class="pct high">97.67%</td>
104
- <td data-value="86" class="abs high">84/86</td>
101
+ <td data-value="97.17" class="pct high">97.17%</td>
102
+ <td data-value="319" class="abs high">310/319</td>
103
+ <td data-value="97.7" class="pct high">97.7%</td>
104
+ <td data-value="87" class="abs high">85/87</td>
105
105
  <td data-value="100" class="pct high">100%</td>
106
106
  <td data-value="18" class="abs high">18/18</td>
107
- <td data-value="96.25" class="pct high">96.25%</td>
108
- <td data-value="320" class="abs high">308/320</td>
107
+ <td data-value="97.17" class="pct high">97.17%</td>
108
+ <td data-value="319" class="abs high">310/319</td>
109
109
  </tr>
110
110
 
111
111
  </tbody>
@@ -116,7 +116,7 @@
116
116
  <div class='footer quiet pad2 space-top1 center small'>
117
117
  Code coverage generated by
118
118
  <a href="https://istanbul.js.org/" target="_blank" rel="noopener noreferrer">istanbul</a>
119
- at 2022-11-15T18:50:33.953Z
119
+ at 2022-11-16T06:34:44.092Z
120
120
  </div>
121
121
  <script src="prettify.js"></script>
122
122
  <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'>41/41</span>
28
+ <span class='fraction'>39/39</span>
29
29
  </div>
30
30
 
31
31
 
@@ -39,14 +39,14 @@
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'>2/2</span>
42
+ <span class='fraction'>1/1</span>
43
43
  </div>
44
44
 
45
45
 
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'>41/41</span>
49
+ <span class='fraction'>39/39</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="41" class="abs high">41/41</td>
87
+ <td data-value="39" class="abs high">39/39</td>
88
88
  <td data-value="83.33" class="pct high">83.33%</td>
89
89
  <td data-value="6" class="abs high">5/6</td>
90
90
  <td data-value="100" class="pct high">100%</td>
91
- <td data-value="2" class="abs high">2/2</td>
91
+ <td data-value="1" class="abs high">1/1</td>
92
92
  <td data-value="100" class="pct high">100%</td>
93
- <td data-value="41" class="abs high">41/41</td>
93
+ <td data-value="39" class="abs high">39/39</td>
94
94
  </tr>
95
95
 
96
96
  </tbody>
@@ -101,7 +101,7 @@
101
101
  <div class='footer quiet pad2 space-top1 center small'>
102
102
  Code coverage generated by
103
103
  <a href="https://istanbul.js.org/" target="_blank" rel="noopener noreferrer">istanbul</a>
104
- at 2022-11-15T18:50:33.953Z
104
+ at 2022-11-16T06:34:44.092Z
105
105
  </div>
106
106
  <script src="../prettify.js"></script>
107
107
  <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'>41/41</span>
28
+ <span class='fraction'>39/39</span>
29
29
  </div>
30
30
 
31
31
 
@@ -39,14 +39,14 @@
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'>2/2</span>
42
+ <span class='fraction'>1/1</span>
43
43
  </div>
44
44
 
45
45
 
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'>41/41</span>
49
+ <span class='fraction'>39/39</span>
50
50
  </div>
51
51
 
52
52
 
@@ -104,9 +104,7 @@
104
104
  <a name='L39'></a><a href='#L39'>39</a>
105
105
  <a name='L40'></a><a href='#L40'>40</a>
106
106
  <a name='L41'></a><a href='#L41'>41</a>
107
- <a name='L42'></a><a href='#L42'>42</a>
108
- <a name='L43'></a><a href='#L43'>43</a>
109
- <a name='L44'></a><a href='#L44'>44</a></td><td class="line-coverage quiet"><span class="cline-any cline-yes">1x</span>
107
+ <a name='L42'></a><a href='#L42'>42</a></td><td class="line-coverage quiet"><span class="cline-any cline-yes">1x</span>
110
108
  <span class="cline-any cline-yes">1x</span>
111
109
  <span class="cline-any cline-yes">1x</span>
112
110
  <span class="cline-any cline-yes">1x</span>
@@ -132,10 +130,8 @@
132
130
  <span class="cline-any cline-yes">17x</span>
133
131
  <span class="cline-any cline-yes">17x</span>
134
132
  <span class="cline-any cline-yes">17x</span>
135
- <span class="cline-any cline-yes">17x</span>
136
- <span class="cline-any cline-yes">17x</span>
137
- <span class="cline-any cline-yes">17x</span>
138
- <span class="cline-any cline-yes">17x</span>
133
+ <span class="cline-any cline-yes">272x</span>
134
+ <span class="cline-any cline-yes">272x</span>
139
135
  <span class="cline-any cline-yes">17x</span>
140
136
  <span class="cline-any cline-yes">17x</span>
141
137
  <span class="cline-any cline-yes">17x</span>
@@ -163,10 +159,9 @@ function Fsm ({init, table, stateData, debug }, lib={} ) {
163
159
  fsm.lock = false // switch 'ON' during transition in progress. Write other updates in cache.
164
160
  fsm.cache = [] // cached 'update' commands
165
161
  fsm.askForPromise = askForPromise
166
- fsm.___walk = walk
167
162
  &nbsp;
168
- fsm.stateData = walk ({ data:stateData })
169
- fsm.initialStateData = walk ({ data:stateData })
163
+ fsm.stateData = { ...stateData }
164
+ fsm.initialStateData = Object.freeze ({ ...stateData })
170
165
  fsm.dependencies = { walk, askForPromise }
171
166
  fsm.callback = {
172
167
  update : []
@@ -175,10 +170,9 @@ function Fsm ({init, table, stateData, debug }, lib={} ) {
175
170
  , negative : []
176
171
  }
177
172
  &nbsp;
178
- walk ({ // Attach methods to fsm
179
- data:methods
180
- , keyCallback : ({key:k}) =&gt; fsm[k] = methods[k](fsm)
181
- })
173
+ for ( let k in methods ) {
174
+ fsm[k] = methods[k](fsm)
175
+ }
182
176
  &nbsp;
183
177
  const {transitions, nextState, chainActions } = fsm._setTransitions ( table, lib );
184
178
  if ( debug ) <span class="branch-0 cbranch-no" title="branch not covered" >fsm._warn ( transitions )</span>
@@ -199,7 +193,7 @@ export default Fsm
199
193
  <div class='footer quiet pad2 space-top1 center small'>
200
194
  Code coverage generated by
201
195
  <a href="https://istanbul.js.org/" target="_blank" rel="noopener noreferrer">istanbul</a>
202
- at 2022-11-15T18:50:33.953Z
196
+ at 2022-11-16T06:34:44.092Z
203
197
  </div>
204
198
  <script src="../prettify.js"></script>
205
199
  <script>
@@ -103,7 +103,7 @@ export default _getChain
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 2022-11-15T18:50:33.953Z
106
+ at 2022-11-16T06:34:44.092Z
107
107
  </div>
108
108
  <script src="../../prettify.js"></script>
109
109
  <script>
@@ -139,7 +139,7 @@ export default _onUpdateTask
139
139
  <div class='footer quiet pad2 space-top1 center small'>
140
140
  Code coverage generated by
141
141
  <a href="https://istanbul.js.org/" target="_blank" rel="noopener noreferrer">istanbul</a>
142
- at 2022-11-15T18:50:33.953Z
142
+ at 2022-11-16T06:34:44.092Z
143
143
  </div>
144
144
  <script src="../../prettify.js"></script>
145
145
  <script>
@@ -202,7 +202,7 @@ export default _setTransitions
202
202
  <div class='footer quiet pad2 space-top1 center small'>
203
203
  Code coverage generated by
204
204
  <a href="https://istanbul.js.org/" target="_blank" rel="noopener noreferrer">istanbul</a>
205
- at 2022-11-15T18:50:33.953Z
205
+ at 2022-11-16T06:34:44.092Z
206
206
  </div>
207
207
  <script src="../../prettify.js"></script>
208
208
  <script>
@@ -102,7 +102,7 @@ return function ( task, key, dt ) { // ( promiseObj, transitionKey, addition
102
102
  // *** Execute transition if exists. Ignore all non-predefined cases
103
103
  const
104
104
  dependencies = fsm.dependencies
105
- , stateData = fsm.___walk ({ data:fsm.stateData })
105
+ , stateData = { ...fsm.stateData }
106
106
  , transition = fsm.transitions [ key ]
107
107
  ;
108
108
  if ( typeof transition === 'function' ) transition ( task, dependencies, stateData, dt )
@@ -121,7 +121,7 @@ export default _transit
121
121
  <div class='footer quiet pad2 space-top1 center small'>
122
122
  Code coverage generated by
123
123
  <a href="https://istanbul.js.org/" target="_blank" rel="noopener noreferrer">istanbul</a>
124
- at 2022-11-15T18:50:33.953Z
124
+ at 2022-11-16T06:34:44.092Z
125
125
  </div>
126
126
  <script src="../../prettify.js"></script>
127
127
  <script>
@@ -127,7 +127,7 @@ export default _triggerCacheUpdate
127
127
  <div class='footer quiet pad2 space-top1 center small'>
128
128
  Code coverage generated by
129
129
  <a href="https://istanbul.js.org/" target="_blank" rel="noopener noreferrer">istanbul</a>
130
- at 2022-11-15T18:50:33.953Z
130
+ at 2022-11-16T06:34:44.092Z
131
131
  </div>
132
132
  <script src="../../prettify.js"></script>
133
133
  <script>
@@ -247,7 +247,7 @@ export default _updateStep
247
247
  <div class='footer quiet pad2 space-top1 center small'>
248
248
  Code coverage generated by
249
249
  <a href="https://istanbul.js.org/" target="_blank" rel="noopener noreferrer">istanbul</a>
250
- at 2022-11-15T18:50:33.953Z
250
+ at 2022-11-16T06:34:44.092Z
251
251
  </div>
252
252
  <script src="../../prettify.js"></script>
253
253
  <script>
@@ -23,9 +23,9 @@
23
23
  <div class='clearfix'>
24
24
 
25
25
  <div class='fl pad1y space-right2'>
26
- <span class="strong">50% </span>
26
+ <span class="strong">63.63% </span>
27
27
  <span class="quiet">Statements</span>
28
- <span class='fraction'>7/14</span>
28
+ <span class='fraction'>7/11</span>
29
29
  </div>
30
30
 
31
31
 
@@ -44,9 +44,9 @@
44
44
 
45
45
 
46
46
  <div class='fl pad1y space-right2'>
47
- <span class="strong">50% </span>
47
+ <span class="strong">63.63% </span>
48
48
  <span class="quiet">Lines</span>
49
- <span class='fraction'>7/14</span>
49
+ <span class='fraction'>7/11</span>
50
50
  </div>
51
51
 
52
52
 
@@ -76,18 +76,12 @@
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>
80
- <a name='L15'></a><a href='#L15'>15</a>
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>
79
+ <a name='L14'></a><a href='#L14'>14</a></td><td class="line-coverage quiet"><span class="cline-any cline-yes">17x</span>
83
80
  <span class="cline-any cline-yes">17x</span>
84
81
  <span class="cline-any cline-no">&nbsp;</span>
85
82
  <span class="cline-any cline-no">&nbsp;</span>
86
83
  <span class="cline-any cline-no">&nbsp;</span>
87
84
  <span class="cline-any cline-no">&nbsp;</span>
88
- <span class="cline-any cline-no">&nbsp;</span>
89
- <span class="cline-any cline-no">&nbsp;</span>
90
- <span class="cline-any cline-no">&nbsp;</span>
91
85
  <span class="cline-any cline-yes">1x</span>
92
86
  <span class="cline-any cline-yes">1x</span>
93
87
  <span class="cline-any cline-yes">1x</span>
@@ -98,12 +92,9 @@
98
92
  <span class="cline-any cline-neutral">&nbsp;</span></td><td class="text"><pre class="prettyprint lang-js">function _warn ( fsm ) {
99
93
  return function ( transitions ) {
100
94
  <span class="cstat-no" title="statement not covered" > // *** Warn if transition function used in description table is not defined.</span>
101
- <span class="cstat-no" title="statement not covered" > fsm.___walk ({ </span>
102
- <span class="cstat-no" title="statement not covered" > data : transitions</span>
103
- <span class="cstat-no" title="statement not covered" > , keyCallback : (v,k) =&gt; {</span>
104
- <span class="cstat-no" title="statement not covered" > if ( v == null ) console.log ( `Warning: Transition for ${k} is not defined` )</span>
105
- <span class="cstat-no" title="statement not covered" > }</span>
106
- <span class="cstat-no" title="statement not covered" > })</span>
95
+ <span class="cstat-no" title="statement not covered" > Object.entries ( transitions ).forEach ( ([v,k]) =&gt; {</span>
96
+ <span class="cstat-no" title="statement not covered" > if ( v == null ) console.log ( `Warning: Transition for ${k} is not defined` )</span>
97
+ <span class="cstat-no" title="statement not covered" > })</span>
107
98
  }} // warn func.
108
99
  &nbsp;
109
100
  &nbsp;
@@ -118,7 +109,7 @@ export default _warn
118
109
  <div class='footer quiet pad2 space-top1 center small'>
119
110
  Code coverage generated by
120
111
  <a href="https://istanbul.js.org/" target="_blank" rel="noopener noreferrer">istanbul</a>
121
- at 2022-11-15T18:50:33.953Z
112
+ at 2022-11-16T06:34:44.092Z
122
113
  </div>
123
114
  <script src="../../prettify.js"></script>
124
115
  <script>
@@ -104,7 +104,7 @@ return function () {
104
104
  // *** Export internal flags and state as an object
105
105
  const
106
106
  state = fsm.state
107
- , stateData = fsm.___walk ({ data : fsm.stateData })
107
+ , stateData = { ...fsm.stateData }
108
108
  ;
109
109
  return {
110
110
  state
@@ -124,7 +124,7 @@ export default exportState
124
124
  <div class='footer quiet pad2 space-top1 center small'>
125
125
  Code coverage generated by
126
126
  <a href="https://istanbul.js.org/" target="_blank" rel="noopener noreferrer">istanbul</a>
127
- at 2022-11-15T18:50:33.953Z
127
+ at 2022-11-16T06:34:44.092Z
128
128
  </div>
129
129
  <script src="../../prettify.js"></script>
130
130
  <script>
@@ -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 2022-11-15T18:50:33.953Z
103
+ at 2022-11-16T06:34:44.092Z
104
104
  </div>
105
105
  <script src="../../prettify.js"></script>
106
106
  <script>
@@ -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 2022-11-15T18:50:33.953Z
112
+ at 2022-11-16T06:34:44.092Z
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'>13/13</span>
28
+ <span class='fraction'>14/14</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'>13/13</span>
49
+ <span class='fraction'>14/14</span>
50
50
  </div>
51
51
 
52
52
 
@@ -78,7 +78,8 @@
78
78
  <a name='L13'></a><a href='#L13'>13</a>
79
79
  <a name='L14'></a><a href='#L14'>14</a>
80
80
  <a name='L15'></a><a href='#L15'>15</a>
81
- <a name='L16'></a><a href='#L16'>16</a></td><td class="line-coverage quiet"><span class="cline-any cline-yes">17x</span>
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>
82
83
  <span class="cline-any cline-yes">17x</span>
83
84
  <span class="cline-any cline-yes">1x</span>
84
85
  <span class="cline-any cline-yes">1x</span>
@@ -91,15 +92,17 @@
91
92
  <span class="cline-any cline-yes">1x</span>
92
93
  <span class="cline-any cline-yes">1x</span>
93
94
  <span class="cline-any cline-yes">1x</span>
95
+ <span class="cline-any cline-yes">1x</span>
94
96
  <span class="cline-any cline-neutral">&nbsp;</span>
95
97
  <span class="cline-any cline-neutral">&nbsp;</span>
96
98
  <span class="cline-any cline-neutral">&nbsp;</span></td><td class="text"><pre class="prettyprint lang-js">function importState (fsm) {
97
- return function ( {state, stateData} ) {
99
+ return function ( {state, stateData } ) {
98
100
  // *** Import existing state to fsm
99
101
  if ( state ) {
100
102
  fsm.state = state
101
- fsm.stateData = fsm.___walk ({ data : stateData })
102
- // TODO: test if stateData exist ??!
103
+ if ( stateData ) {
104
+ fsm.stateData = { ...stateData }
105
+ }
103
106
  }
104
107
  }} // importState func.
105
108
  &nbsp;
@@ -115,7 +118,7 @@ export default importState
115
118
  <div class='footer quiet pad2 space-top1 center small'>
116
119
  Code coverage generated by
117
120
  <a href="https://istanbul.js.org/" target="_blank" rel="noopener noreferrer">istanbul</a>
118
- at 2022-11-15T18:50:33.953Z
121
+ at 2022-11-16T06:34:44.092Z
119
122
  </div>
120
123
  <script src="../../prettify.js"></script>
121
124
  <script>
@@ -23,16 +23,16 @@
23
23
  <div class='clearfix'>
24
24
 
25
25
  <div class='fl pad1y space-right2'>
26
- <span class="strong">96.25% </span>
26
+ <span class="strong">97.17% </span>
27
27
  <span class="quiet">Statements</span>
28
- <span class='fraction'>308/320</span>
28
+ <span class='fraction'>310/319</span>
29
29
  </div>
30
30
 
31
31
 
32
32
  <div class='fl pad1y space-right2'>
33
- <span class="strong">97.67% </span>
33
+ <span class="strong">97.7% </span>
34
34
  <span class="quiet">Branches</span>
35
- <span class='fraction'>84/86</span>
35
+ <span class='fraction'>85/87</span>
36
36
  </div>
37
37
 
38
38
 
@@ -44,9 +44,9 @@
44
44
 
45
45
 
46
46
  <div class='fl pad1y space-right2'>
47
- <span class="strong">96.25% </span>
47
+ <span class="strong">97.17% </span>
48
48
  <span class="quiet">Lines</span>
49
- <span class='fraction'>308/320</span>
49
+ <span class='fraction'>310/319</span>
50
50
  </div>
51
51
 
52
52
 
@@ -170,17 +170,17 @@
170
170
 
171
171
  <tr>
172
172
  <td class="file medium" data-value="_warn.js"><a href="_warn.js.html">_warn.js</a></td>
173
- <td data-value="50" class="pic medium">
174
- <div class="chart"><div class="cover-fill" style="width: 50%"></div><div class="cover-empty" style="width: 50%"></div></div>
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>
175
175
  </td>
176
- <td data-value="50" class="pct medium">50%</td>
177
- <td data-value="14" class="abs medium">7/14</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
178
  <td data-value="100" class="pct high">100%</td>
179
179
  <td data-value="2" class="abs high">2/2</td>
180
180
  <td data-value="100" class="pct high">100%</td>
181
181
  <td data-value="1" class="abs high">1/1</td>
182
- <td data-value="50" class="pct medium">50%</td>
183
- <td data-value="14" class="abs medium">7/14</td>
182
+ <td data-value="63.63" class="pct medium">63.63%</td>
183
+ <td data-value="11" class="abs medium">7/11</td>
184
184
  </tr>
185
185
 
186
186
  <tr>
@@ -234,13 +234,13 @@
234
234
  <div class="chart"><div class="cover-fill cover-full" style="width: 100%"></div><div class="cover-empty" style="width: 0%"></div></div>
235
235
  </td>
236
236
  <td data-value="100" class="pct high">100%</td>
237
- <td data-value="13" class="abs high">13/13</td>
237
+ <td data-value="14" class="abs high">14/14</td>
238
238
  <td data-value="100" class="pct high">100%</td>
239
239
  <td data-value="3" class="abs high">3/3</td>
240
240
  <td data-value="100" class="pct high">100%</td>
241
241
  <td data-value="1" class="abs high">1/1</td>
242
242
  <td data-value="100" class="pct high">100%</td>
243
- <td data-value="13" class="abs high">13/13</td>
243
+ <td data-value="14" class="abs high">14/14</td>
244
244
  </tr>
245
245
 
246
246
  <tr>
@@ -294,13 +294,13 @@
294
294
  <div class="chart"><div class="cover-fill cover-full" style="width: 100%"></div><div class="cover-empty" style="width: 0%"></div></div>
295
295
  </td>
296
296
  <td data-value="100" class="pct high">100%</td>
297
- <td data-value="9" class="abs high">9/9</td>
297
+ <td data-value="10" class="abs high">10/10</td>
298
298
  <td data-value="100" class="pct high">100%</td>
299
- <td data-value="3" class="abs high">3/3</td>
299
+ <td data-value="4" class="abs high">4/4</td>
300
300
  <td data-value="100" class="pct high">100%</td>
301
301
  <td data-value="1" class="abs high">1/1</td>
302
302
  <td data-value="100" class="pct high">100%</td>
303
- <td data-value="9" class="abs high">9/9</td>
303
+ <td data-value="10" class="abs high">10/10</td>
304
304
  </tr>
305
305
 
306
306
  <tr>
@@ -341,7 +341,7 @@
341
341
  <div class='footer quiet pad2 space-top1 center small'>
342
342
  Code coverage generated by
343
343
  <a href="https://istanbul.js.org/" target="_blank" rel="noopener noreferrer">istanbul</a>
344
- at 2022-11-15T18:50:33.953Z
344
+ at 2022-11-16T06:34:44.092Z
345
345
  </div>
346
346
  <script src="../../prettify.js"></script>
347
347
  <script>
@@ -205,7 +205,7 @@ export default fn
205
205
  <div class='footer quiet pad2 space-top1 center small'>
206
206
  Code coverage generated by
207
207
  <a href="https://istanbul.js.org/" target="_blank" rel="noopener noreferrer">istanbul</a>
208
- at 2022-11-15T18:50:33.953Z
208
+ at 2022-11-16T06:34:44.092Z
209
209
  </div>
210
210
  <script src="../../prettify.js"></script>
211
211
  <script>
@@ -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 2022-11-15T18:50:33.953Z
106
+ at 2022-11-16T06:34:44.092Z
107
107
  </div>
108
108
  <script src="../../prettify.js"></script>
109
109
  <script>
@@ -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 2022-11-15T18:50:33.953Z
109
+ at 2022-11-16T06:34:44.092Z
110
110
  </div>
111
111
  <script src="../../prettify.js"></script>
112
112
  <script>