@peter.naydenov/cuts 1.6.0 → 2.0.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 (40) hide show
  1. package/Changelog.md +2 -1
  2. package/Migration.guide.md +93 -0
  3. package/README.md +30 -0
  4. package/coverage/lcov-report/base.css +224 -0
  5. package/coverage/lcov-report/block-navigation.js +87 -0
  6. package/coverage/lcov-report/favicon.png +0 -0
  7. package/coverage/lcov-report/index.html +131 -0
  8. package/coverage/lcov-report/prettify.css +1 -0
  9. package/coverage/lcov-report/prettify.js +2 -0
  10. package/coverage/lcov-report/sort-arrow-sprite.png +0 -0
  11. package/coverage/lcov-report/sorter.js +210 -0
  12. package/coverage/lcov-report/src/findInstructions.js.html +352 -0
  13. package/coverage/lcov-report/src/index.html +146 -0
  14. package/coverage/lcov-report/src/main.js.html +610 -0
  15. package/coverage/lcov-report/src/methods/hide.js.html +244 -0
  16. package/coverage/lcov-report/src/methods/index.html +206 -0
  17. package/coverage/lcov-report/src/methods/jump.js.html +148 -0
  18. package/coverage/lcov-report/src/methods/jumpBack.js.html +157 -0
  19. package/coverage/lcov-report/src/methods/jumpsReset.js.html +133 -0
  20. package/coverage/lcov-report/src/methods/listShortcuts.js.html +148 -0
  21. package/coverage/lcov-report/src/methods/setScenes.js.html +313 -0
  22. package/coverage/lcov-report/src/methods/show.js.html +466 -0
  23. package/coverage/lcov-report/src/setInstruction.js.html +157 -0
  24. package/coverage/lcov.info +461 -0
  25. package/cypress/support/component-index.html +11 -0
  26. package/dist/cuts.cjs +1 -1
  27. package/dist/cuts.esm.mjs +1 -1
  28. package/dist/cuts.umd.js +1 -1
  29. package/package.json +12 -12
  30. package/src/main.js +6 -4
  31. package/test/01-general.cy.js +348 -0
  32. package/test/blue.vue +13 -0
  33. package/test/dummy.vue +34 -0
  34. package/test/gray.vue +12 -0
  35. package/test/red.vue +11 -0
  36. package/tsconfig.json +13 -10
  37. package/types/main.d.ts +2 -2
  38. package/types/main.d.ts.map +1 -1
  39. package/test-vitest/01-findPosition.test.js +0 -119
  40. package/test-vitest/02-cuts.test.js +0 -412
@@ -0,0 +1,244 @@
1
+
2
+ <!doctype html>
3
+ <html lang="en">
4
+
5
+ <head>
6
+ <title>Code coverage report for src/methods/hide.js</title>
7
+ <meta charset="utf-8" />
8
+ <link rel="stylesheet" href="../../prettify.css" />
9
+ <link rel="stylesheet" href="../../base.css" />
10
+ <link rel="shortcut icon" type="image/x-icon" href="../../favicon.png" />
11
+ <meta name="viewport" content="width=device-width, initial-scale=1" />
12
+ <style type='text/css'>
13
+ .coverage-summary .sorter {
14
+ background-image: url(../../sort-arrow-sprite.png);
15
+ }
16
+ </style>
17
+ </head>
18
+
19
+ <body>
20
+ <div class='wrapper'>
21
+ <div class='pad1'>
22
+ <h1><a href="../../index.html">All files</a> / <a href="index.html">src/methods</a> hide.js</h1>
23
+ <div class='clearfix'>
24
+
25
+ <div class='fl pad1y space-right2'>
26
+ <span class="strong">4% </span>
27
+ <span class="quiet">Statements</span>
28
+ <span class='fraction'>1/25</span>
29
+ </div>
30
+
31
+
32
+ <div class='fl pad1y space-right2'>
33
+ <span class="strong">0% </span>
34
+ <span class="quiet">Branches</span>
35
+ <span class='fraction'>0/11</span>
36
+ </div>
37
+
38
+
39
+ <div class='fl pad1y space-right2'>
40
+ <span class="strong">20% </span>
41
+ <span class="quiet">Functions</span>
42
+ <span class='fraction'>1/5</span>
43
+ </div>
44
+
45
+
46
+ <div class='fl pad1y space-right2'>
47
+ <span class="strong">4.16% </span>
48
+ <span class="quiet">Lines</span>
49
+ <span class='fraction'>1/24</span>
50
+ </div>
51
+
52
+
53
+ </div>
54
+ <p class="quiet">
55
+ Press <em>n</em> or <em>j</em> to go to the next uncovered block, <em>b</em>, <em>p</em> or <em>k</em> for the previous block.
56
+ </p>
57
+ <template id="filterTemplate">
58
+ <div class="quiet">
59
+ Filter:
60
+ <input type="search" id="fileSearch">
61
+ </div>
62
+ </template>
63
+ </div>
64
+ <div class='status-line low'></div>
65
+ <pre><table class="coverage">
66
+ <tr><td class="line-count quiet"><a name='L1'></a><a href='#L1'>1</a>
67
+ <a name='L2'></a><a href='#L2'>2</a>
68
+ <a name='L3'></a><a href='#L3'>3</a>
69
+ <a name='L4'></a><a href='#L4'>4</a>
70
+ <a name='L5'></a><a href='#L5'>5</a>
71
+ <a name='L6'></a><a href='#L6'>6</a>
72
+ <a name='L7'></a><a href='#L7'>7</a>
73
+ <a name='L8'></a><a href='#L8'>8</a>
74
+ <a name='L9'></a><a href='#L9'>9</a>
75
+ <a name='L10'></a><a href='#L10'>10</a>
76
+ <a name='L11'></a><a href='#L11'>11</a>
77
+ <a name='L12'></a><a href='#L12'>12</a>
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>
83
+ <a name='L18'></a><a href='#L18'>18</a>
84
+ <a name='L19'></a><a href='#L19'>19</a>
85
+ <a name='L20'></a><a href='#L20'>20</a>
86
+ <a name='L21'></a><a href='#L21'>21</a>
87
+ <a name='L22'></a><a href='#L22'>22</a>
88
+ <a name='L23'></a><a href='#L23'>23</a>
89
+ <a name='L24'></a><a href='#L24'>24</a>
90
+ <a name='L25'></a><a href='#L25'>25</a>
91
+ <a name='L26'></a><a href='#L26'>26</a>
92
+ <a name='L27'></a><a href='#L27'>27</a>
93
+ <a name='L28'></a><a href='#L28'>28</a>
94
+ <a name='L29'></a><a href='#L29'>29</a>
95
+ <a name='L30'></a><a href='#L30'>30</a>
96
+ <a name='L31'></a><a href='#L31'>31</a>
97
+ <a name='L32'></a><a href='#L32'>32</a>
98
+ <a name='L33'></a><a href='#L33'>33</a>
99
+ <a name='L34'></a><a href='#L34'>34</a>
100
+ <a name='L35'></a><a href='#L35'>35</a>
101
+ <a name='L36'></a><a href='#L36'>36</a>
102
+ <a name='L37'></a><a href='#L37'>37</a>
103
+ <a name='L38'></a><a href='#L38'>38</a>
104
+ <a name='L39'></a><a href='#L39'>39</a>
105
+ <a name='L40'></a><a href='#L40'>40</a>
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>
110
+ <a name='L45'></a><a href='#L45'>45</a>
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-neutral">&nbsp;</span>
120
+ <span class="cline-any cline-neutral">&nbsp;</span>
121
+ <span class="cline-any cline-neutral">&nbsp;</span>
122
+ <span class="cline-any cline-neutral">&nbsp;</span>
123
+ <span class="cline-any cline-neutral">&nbsp;</span>
124
+ <span class="cline-any cline-neutral">&nbsp;</span>
125
+ <span class="cline-any cline-neutral">&nbsp;</span>
126
+ <span class="cline-any cline-neutral">&nbsp;</span>
127
+ <span class="cline-any cline-neutral">&nbsp;</span>
128
+ <span class="cline-any cline-neutral">&nbsp;</span>
129
+ <span class="cline-any cline-neutral">&nbsp;</span>
130
+ <span class="cline-any cline-yes">14x</span>
131
+ <span class="cline-any cline-neutral">&nbsp;</span>
132
+ <span class="cline-any cline-no">&nbsp;</span>
133
+ <span class="cline-any cline-no">&nbsp;</span>
134
+ <span class="cline-any cline-no">&nbsp;</span>
135
+ <span class="cline-any cline-no">&nbsp;</span>
136
+ <span class="cline-any cline-no">&nbsp;</span>
137
+ <span class="cline-any cline-neutral">&nbsp;</span>
138
+ <span class="cline-any cline-neutral">&nbsp;</span>
139
+ <span class="cline-any cline-neutral">&nbsp;</span>
140
+ <span class="cline-any cline-no">&nbsp;</span>
141
+ <span class="cline-any cline-no">&nbsp;</span>
142
+ <span class="cline-any cline-neutral">&nbsp;</span>
143
+ <span class="cline-any cline-no">&nbsp;</span>
144
+ <span class="cline-any cline-neutral">&nbsp;</span>
145
+ <span class="cline-any cline-no">&nbsp;</span>
146
+ <span class="cline-any cline-no">&nbsp;</span>
147
+ <span class="cline-any cline-no">&nbsp;</span>
148
+ <span class="cline-any cline-no">&nbsp;</span>
149
+ <span class="cline-any cline-no">&nbsp;</span>
150
+ <span class="cline-any cline-neutral">&nbsp;</span>
151
+ <span class="cline-any cline-neutral">&nbsp;</span>
152
+ <span class="cline-any cline-no">&nbsp;</span>
153
+ <span class="cline-any cline-no">&nbsp;</span>
154
+ <span class="cline-any cline-no">&nbsp;</span>
155
+ <span class="cline-any cline-no">&nbsp;</span>
156
+ <span class="cline-any cline-no">&nbsp;</span>
157
+ <span class="cline-any cline-neutral">&nbsp;</span>
158
+ <span class="cline-any cline-neutral">&nbsp;</span>
159
+ <span class="cline-any cline-no">&nbsp;</span>
160
+ <span class="cline-any cline-no">&nbsp;</span>
161
+ <span class="cline-any cline-no">&nbsp;</span>
162
+ <span class="cline-any cline-no">&nbsp;</span>
163
+ <span class="cline-any cline-neutral">&nbsp;</span>
164
+ <span class="cline-any cline-no">&nbsp;</span>
165
+ <span class="cline-any cline-neutral">&nbsp;</span>
166
+ <span class="cline-any cline-neutral">&nbsp;</span>
167
+ <span class="cline-any cline-neutral">&nbsp;</span>
168
+ <span class="cline-any cline-neutral">&nbsp;</span>
169
+ <span class="cline-any cline-neutral">&nbsp;</span>
170
+ <span class="cline-any cline-neutral">&nbsp;</span>
171
+ <span class="cline-any cline-neutral">&nbsp;</span>
172
+ <span class="cline-any cline-neutral">&nbsp;</span></td><td class="text"><pre class="prettyprint lang-js">'use strict'
173
+ &nbsp;
174
+ &nbsp;
175
+ &nbsp;
176
+ function hide ( dependencies, state ) {
177
+ /**
178
+ * @function hide
179
+ * @description Hide the current scene and returns to the parent one
180
+ * @param {number|string} endSteps - number of steps to end or '*' to end all scenes to the root
181
+ * @returns {Promise} - promise that resolves when the process 'end' is completed
182
+ */
183
+ return function <span class="fstat-no" title="function not covered" >hide </span>( endSteps=<span class="branch-0 cbranch-no" title="branch not covered" >1 </span>) {
184
+ const
185
+ { askForPromise, shortcutMngr, setInstruction } = <span class="cstat-no" title="statement not covered" >dependencies</span>
186
+ , { currentScene, currentParents, scenes } = <span class="cstat-no" title="statement not covered" >state</span>
187
+ , hideTask = <span class="cstat-no" title="statement not covered" >askForPromise ()</span>
188
+ , instructions = <span class="cstat-no" title="statement not covered" >[]</span>
189
+ , hasParents = <span class="cstat-no" title="statement not covered" >currentParents.length &gt; 0</span>
190
+ ;
191
+ let el;
192
+
193
+ <span class="cstat-no" title="statement not covered" > shortcutMngr.pause () </span> // Stop all shortcuts
194
+ <span class="cstat-no" title="statement not covered" > instructions.push ( setInstruction ( scenes[currentScene].hide )) </span> // Set instruction to hide current scene
195
+ &nbsp;
196
+ <span class="cstat-no" title="statement not covered" > if ( !hasParents ) <span class="cstat-no" title="statement not covered" >state.currentScene = null</span></span>
197
+
198
+ <span class="cstat-no" title="statement not covered" > if ( hasParents &amp;&amp; endSteps === '*' ) {</span>
199
+ <span class="cstat-no" title="statement not covered" > [...currentParents].reverse().forEach ( <span class="fstat-no" title="function not covered" >name </span>=&gt; {</span>
200
+ <span class="cstat-no" title="statement not covered" > el = state.currentParents.at ( -1 )</span>
201
+ <span class="cstat-no" title="statement not covered" > state.currentScene = el</span>
202
+ <span class="cstat-no" title="statement not covered" > instructions.push ( setInstruction ( scenes[name].hide)) </span>
203
+ })
204
+ }
205
+ <span class="cstat-no" title="statement not covered" > if ( hasParents &amp;&amp; ![ '*', 1].includes(endSteps) ) {</span>
206
+ <span class="cstat-no" title="statement not covered" > currentParents.slice ( `-${endSteps-1}` ).reverse().map ( <span class="fstat-no" title="function not covered" >name </span>=&gt; {</span>
207
+ <span class="cstat-no" title="statement not covered" > el = state.currentParents.at ( -1 )</span>
208
+ <span class="cstat-no" title="statement not covered" > state.currentScene = el</span>
209
+ <span class="cstat-no" title="statement not covered" > instructions.push ( setInstruction (scenes[name].hide))</span>
210
+ })
211
+ }
212
+ <span class="cstat-no" title="statement not covered" > endSteps = askForPromise.sequence ( instructions )</span>
213
+ <span class="cstat-no" title="statement not covered" > endSteps.onComplete ( <span class="fstat-no" title="function not covered" >()</span> =&gt; {</span>
214
+ <span class="cstat-no" title="statement not covered" > shortcutMngr.changeContext ( state.currentScene ) </span> // If state.currentScene is null, then all shortcuts are switched off and currentContext is null
215
+ <span class="cstat-no" title="statement not covered" > hideTask.done () </span>
216
+ })
217
+ <span class="cstat-no" title="statement not covered" > return hideTask.promise</span>
218
+ }} // hide func.
219
+ &nbsp;
220
+ &nbsp;
221
+ &nbsp;
222
+ export default hide
223
+ &nbsp;
224
+ &nbsp;
225
+ &nbsp;</pre></td></tr></table></pre>
226
+
227
+ <div class='push'></div><!-- for sticky footer -->
228
+ </div><!-- /wrapper -->
229
+ <div class='footer quiet pad2 space-top1 center small'>
230
+ Code coverage generated by
231
+ <a href="https://istanbul.js.org/" target="_blank" rel="noopener noreferrer">istanbul</a>
232
+ at 2025-11-09T11:05:03.156Z
233
+ </div>
234
+ <script src="../../prettify.js"></script>
235
+ <script>
236
+ window.onload = function () {
237
+ prettyPrint();
238
+ };
239
+ </script>
240
+ <script src="../../sorter.js"></script>
241
+ <script src="../../block-navigation.js"></script>
242
+ </body>
243
+ </html>
244
+
@@ -0,0 +1,206 @@
1
+
2
+ <!doctype html>
3
+ <html lang="en">
4
+
5
+ <head>
6
+ <title>Code coverage report for src/methods</title>
7
+ <meta charset="utf-8" />
8
+ <link rel="stylesheet" href="../../prettify.css" />
9
+ <link rel="stylesheet" href="../../base.css" />
10
+ <link rel="shortcut icon" type="image/x-icon" href="../../favicon.png" />
11
+ <meta name="viewport" content="width=device-width, initial-scale=1" />
12
+ <style type='text/css'>
13
+ .coverage-summary .sorter {
14
+ background-image: url(../../sort-arrow-sprite.png);
15
+ }
16
+ </style>
17
+ </head>
18
+
19
+ <body>
20
+ <div class='wrapper'>
21
+ <div class='pad1'>
22
+ <h1><a href="../../index.html">All files</a> src/methods</h1>
23
+ <div class='clearfix'>
24
+
25
+ <div class='fl pad1y space-right2'>
26
+ <span class="strong">79.36% </span>
27
+ <span class="quiet">Statements</span>
28
+ <span class='fraction'>100/126</span>
29
+ </div>
30
+
31
+
32
+ <div class='fl pad1y space-right2'>
33
+ <span class="strong">74.07% </span>
34
+ <span class="quiet">Branches</span>
35
+ <span class='fraction'>40/54</span>
36
+ </div>
37
+
38
+
39
+ <div class='fl pad1y space-right2'>
40
+ <span class="strong">79.16% </span>
41
+ <span class="quiet">Functions</span>
42
+ <span class='fraction'>19/24</span>
43
+ </div>
44
+
45
+
46
+ <div class='fl pad1y space-right2'>
47
+ <span class="strong">80% </span>
48
+ <span class="quiet">Lines</span>
49
+ <span class='fraction'>92/115</span>
50
+ </div>
51
+
52
+
53
+ </div>
54
+ <p class="quiet">
55
+ Press <em>n</em> or <em>j</em> to go to the next uncovered block, <em>b</em>, <em>p</em> or <em>k</em> for the previous block.
56
+ </p>
57
+ <template id="filterTemplate">
58
+ <div class="quiet">
59
+ Filter:
60
+ <input type="search" id="fileSearch">
61
+ </div>
62
+ </template>
63
+ </div>
64
+ <div class='status-line medium'></div>
65
+ <div class="pad1">
66
+ <table class="coverage-summary">
67
+ <thead>
68
+ <tr>
69
+ <th data-col="file" data-fmt="html" data-html="true" class="file">File</th>
70
+ <th data-col="pic" data-type="number" data-fmt="html" data-html="true" class="pic"></th>
71
+ <th data-col="statements" data-type="number" data-fmt="pct" class="pct">Statements</th>
72
+ <th data-col="statements_raw" data-type="number" data-fmt="html" class="abs"></th>
73
+ <th data-col="branches" data-type="number" data-fmt="pct" class="pct">Branches</th>
74
+ <th data-col="branches_raw" data-type="number" data-fmt="html" class="abs"></th>
75
+ <th data-col="functions" data-type="number" data-fmt="pct" class="pct">Functions</th>
76
+ <th data-col="functions_raw" data-type="number" data-fmt="html" class="abs"></th>
77
+ <th data-col="lines" data-type="number" data-fmt="pct" class="pct">Lines</th>
78
+ <th data-col="lines_raw" data-type="number" data-fmt="html" class="abs"></th>
79
+ </tr>
80
+ </thead>
81
+ <tbody><tr>
82
+ <td class="file low" data-value="hide.js"><a href="hide.js.html">hide.js</a></td>
83
+ <td data-value="4" class="pic low">
84
+ <div class="chart"><div class="cover-fill" style="width: 4%"></div><div class="cover-empty" style="width: 96%"></div></div>
85
+ </td>
86
+ <td data-value="4" class="pct low">4%</td>
87
+ <td data-value="25" class="abs low">1/25</td>
88
+ <td data-value="0" class="pct low">0%</td>
89
+ <td data-value="11" class="abs low">0/11</td>
90
+ <td data-value="20" class="pct low">20%</td>
91
+ <td data-value="5" class="abs low">1/5</td>
92
+ <td data-value="4.16" class="pct low">4.16%</td>
93
+ <td data-value="24" class="abs low">1/24</td>
94
+ </tr>
95
+
96
+ <tr>
97
+ <td class="file high" data-value="jump.js"><a href="jump.js.html">jump.js</a></td>
98
+ <td data-value="100" class="pic high">
99
+ <div class="chart"><div class="cover-fill cover-full" style="width: 100%"></div><div class="cover-empty" style="width: 0%"></div></div>
100
+ </td>
101
+ <td data-value="100" class="pct high">100%</td>
102
+ <td data-value="3" class="abs high">3/3</td>
103
+ <td data-value="100" class="pct high">100%</td>
104
+ <td data-value="0" class="abs high">0/0</td>
105
+ <td data-value="100" class="pct high">100%</td>
106
+ <td data-value="2" class="abs high">2/2</td>
107
+ <td data-value="100" class="pct high">100%</td>
108
+ <td data-value="3" class="abs high">3/3</td>
109
+ </tr>
110
+
111
+ <tr>
112
+ <td class="file high" data-value="jumpBack.js"><a href="jumpBack.js.html">jumpBack.js</a></td>
113
+ <td data-value="100" class="pic high">
114
+ <div class="chart"><div class="cover-fill cover-full" style="width: 100%"></div><div class="cover-empty" style="width: 0%"></div></div>
115
+ </td>
116
+ <td data-value="100" class="pct high">100%</td>
117
+ <td data-value="8" class="abs high">8/8</td>
118
+ <td data-value="100" class="pct high">100%</td>
119
+ <td data-value="3" class="abs high">3/3</td>
120
+ <td data-value="100" class="pct high">100%</td>
121
+ <td data-value="2" class="abs high">2/2</td>
122
+ <td data-value="100" class="pct high">100%</td>
123
+ <td data-value="6" class="abs high">6/6</td>
124
+ </tr>
125
+
126
+ <tr>
127
+ <td class="file high" data-value="jumpsReset.js"><a href="jumpsReset.js.html">jumpsReset.js</a></td>
128
+ <td data-value="100" class="pic high">
129
+ <div class="chart"><div class="cover-fill cover-full" style="width: 100%"></div><div class="cover-empty" style="width: 0%"></div></div>
130
+ </td>
131
+ <td data-value="100" class="pct high">100%</td>
132
+ <td data-value="2" class="abs high">2/2</td>
133
+ <td data-value="100" class="pct high">100%</td>
134
+ <td data-value="0" class="abs high">0/0</td>
135
+ <td data-value="100" class="pct high">100%</td>
136
+ <td data-value="2" class="abs high">2/2</td>
137
+ <td data-value="100" class="pct high">100%</td>
138
+ <td data-value="2" class="abs high">2/2</td>
139
+ </tr>
140
+
141
+ <tr>
142
+ <td class="file high" data-value="listShortcuts.js"><a href="listShortcuts.js.html">listShortcuts.js</a></td>
143
+ <td data-value="100" class="pic high">
144
+ <div class="chart"><div class="cover-fill cover-full" style="width: 100%"></div><div class="cover-empty" style="width: 0%"></div></div>
145
+ </td>
146
+ <td data-value="100" class="pct high">100%</td>
147
+ <td data-value="6" class="abs high">6/6</td>
148
+ <td data-value="100" class="pct high">100%</td>
149
+ <td data-value="2" class="abs high">2/2</td>
150
+ <td data-value="100" class="pct high">100%</td>
151
+ <td data-value="2" class="abs high">2/2</td>
152
+ <td data-value="100" class="pct high">100%</td>
153
+ <td data-value="5" class="abs high">5/5</td>
154
+ </tr>
155
+
156
+ <tr>
157
+ <td class="file high" data-value="setScenes.js"><a href="setScenes.js.html">setScenes.js</a></td>
158
+ <td data-value="95" class="pic high">
159
+ <div class="chart"><div class="cover-fill" style="width: 95%"></div><div class="cover-empty" style="width: 5%"></div></div>
160
+ </td>
161
+ <td data-value="95" class="pct high">95%</td>
162
+ <td data-value="20" class="abs high">19/20</td>
163
+ <td data-value="87.5" class="pct high">87.5%</td>
164
+ <td data-value="8" class="abs high">7/8</td>
165
+ <td data-value="100" class="pct high">100%</td>
166
+ <td data-value="3" class="abs high">3/3</td>
167
+ <td data-value="100" class="pct high">100%</td>
168
+ <td data-value="18" class="abs high">18/18</td>
169
+ </tr>
170
+
171
+ <tr>
172
+ <td class="file high" data-value="show.js"><a href="show.js.html">show.js</a></td>
173
+ <td data-value="98.38" class="pic high">
174
+ <div class="chart"><div class="cover-fill" style="width: 98%"></div><div class="cover-empty" style="width: 2%"></div></div>
175
+ </td>
176
+ <td data-value="98.38" class="pct high">98.38%</td>
177
+ <td data-value="62" class="abs high">61/62</td>
178
+ <td data-value="93.33" class="pct high">93.33%</td>
179
+ <td data-value="30" class="abs high">28/30</td>
180
+ <td data-value="87.5" class="pct high">87.5%</td>
181
+ <td data-value="8" class="abs high">7/8</td>
182
+ <td data-value="100" class="pct high">100%</td>
183
+ <td data-value="57" class="abs high">57/57</td>
184
+ </tr>
185
+
186
+ </tbody>
187
+ </table>
188
+ </div>
189
+ <div class='push'></div><!-- for sticky footer -->
190
+ </div><!-- /wrapper -->
191
+ <div class='footer quiet pad2 space-top1 center small'>
192
+ Code coverage generated by
193
+ <a href="https://istanbul.js.org/" target="_blank" rel="noopener noreferrer">istanbul</a>
194
+ at 2025-11-09T11:05:03.156Z
195
+ </div>
196
+ <script src="../../prettify.js"></script>
197
+ <script>
198
+ window.onload = function () {
199
+ prettyPrint();
200
+ };
201
+ </script>
202
+ <script src="../../sorter.js"></script>
203
+ <script src="../../block-navigation.js"></script>
204
+ </body>
205
+ </html>
206
+
@@ -0,0 +1,148 @@
1
+
2
+ <!doctype html>
3
+ <html lang="en">
4
+
5
+ <head>
6
+ <title>Code coverage report for src/methods/jump.js</title>
7
+ <meta charset="utf-8" />
8
+ <link rel="stylesheet" href="../../prettify.css" />
9
+ <link rel="stylesheet" href="../../base.css" />
10
+ <link rel="shortcut icon" type="image/x-icon" href="../../favicon.png" />
11
+ <meta name="viewport" content="width=device-width, initial-scale=1" />
12
+ <style type='text/css'>
13
+ .coverage-summary .sorter {
14
+ background-image: url(../../sort-arrow-sprite.png);
15
+ }
16
+ </style>
17
+ </head>
18
+
19
+ <body>
20
+ <div class='wrapper'>
21
+ <div class='pad1'>
22
+ <h1><a href="../../index.html">All files</a> / <a href="index.html">src/methods</a> jump.js</h1>
23
+ <div class='clearfix'>
24
+
25
+ <div class='fl pad1y space-right2'>
26
+ <span class="strong">100% </span>
27
+ <span class="quiet">Statements</span>
28
+ <span class='fraction'>3/3</span>
29
+ </div>
30
+
31
+
32
+ <div class='fl pad1y space-right2'>
33
+ <span class="strong">100% </span>
34
+ <span class="quiet">Branches</span>
35
+ <span class='fraction'>0/0</span>
36
+ </div>
37
+
38
+
39
+ <div class='fl pad1y space-right2'>
40
+ <span class="strong">100% </span>
41
+ <span class="quiet">Functions</span>
42
+ <span class='fraction'>2/2</span>
43
+ </div>
44
+
45
+
46
+ <div class='fl pad1y space-right2'>
47
+ <span class="strong">100% </span>
48
+ <span class="quiet">Lines</span>
49
+ <span class='fraction'>3/3</span>
50
+ </div>
51
+
52
+
53
+ </div>
54
+ <p class="quiet">
55
+ Press <em>n</em> or <em>j</em> to go to the next uncovered block, <em>b</em>, <em>p</em> or <em>k</em> for the previous block.
56
+ </p>
57
+ <template id="filterTemplate">
58
+ <div class="quiet">
59
+ Filter:
60
+ <input type="search" id="fileSearch">
61
+ </div>
62
+ </template>
63
+ </div>
64
+ <div class='status-line high'></div>
65
+ <pre><table class="coverage">
66
+ <tr><td class="line-count quiet"><a name='L1'></a><a href='#L1'>1</a>
67
+ <a name='L2'></a><a href='#L2'>2</a>
68
+ <a name='L3'></a><a href='#L3'>3</a>
69
+ <a name='L4'></a><a href='#L4'>4</a>
70
+ <a name='L5'></a><a href='#L5'>5</a>
71
+ <a name='L6'></a><a href='#L6'>6</a>
72
+ <a name='L7'></a><a href='#L7'>7</a>
73
+ <a name='L8'></a><a href='#L8'>8</a>
74
+ <a name='L9'></a><a href='#L9'>9</a>
75
+ <a name='L10'></a><a href='#L10'>10</a>
76
+ <a name='L11'></a><a href='#L11'>11</a>
77
+ <a name='L12'></a><a href='#L12'>12</a>
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>
83
+ <a name='L18'></a><a href='#L18'>18</a>
84
+ <a name='L19'></a><a href='#L19'>19</a>
85
+ <a name='L20'></a><a href='#L20'>20</a>
86
+ <a name='L21'></a><a href='#L21'>21</a>
87
+ <a name='L22'></a><a href='#L22'>22</a></td><td class="line-coverage quiet"><span class="cline-any cline-neutral">&nbsp;</span>
88
+ <span class="cline-any cline-neutral">&nbsp;</span>
89
+ <span class="cline-any cline-neutral">&nbsp;</span>
90
+ <span class="cline-any cline-neutral">&nbsp;</span>
91
+ <span class="cline-any cline-neutral">&nbsp;</span>
92
+ <span class="cline-any cline-neutral">&nbsp;</span>
93
+ <span class="cline-any cline-neutral">&nbsp;</span>
94
+ <span class="cline-any cline-neutral">&nbsp;</span>
95
+ <span class="cline-any cline-neutral">&nbsp;</span>
96
+ <span class="cline-any cline-neutral">&nbsp;</span>
97
+ <span class="cline-any cline-yes">4x</span>
98
+ <span class="cline-any cline-yes">4x</span>
99
+ <span class="cline-any cline-neutral">&nbsp;</span>
100
+ <span class="cline-any cline-yes">14x</span>
101
+ <span class="cline-any cline-neutral">&nbsp;</span>
102
+ <span class="cline-any cline-neutral">&nbsp;</span>
103
+ <span class="cline-any cline-neutral">&nbsp;</span>
104
+ <span class="cline-any cline-neutral">&nbsp;</span>
105
+ <span class="cline-any cline-neutral">&nbsp;</span>
106
+ <span class="cline-any cline-neutral">&nbsp;</span>
107
+ <span class="cline-any cline-neutral">&nbsp;</span>
108
+ <span class="cline-any cline-neutral">&nbsp;</span></td><td class="text"><pre class="prettyprint lang-js">function jump ( state, show ) {
109
+ /**
110
+ * @function jump
111
+ * @description Jump to a scene, saving the current scene on the jump stack for later return
112
+ * @param {Object} request - request object
113
+ * @param {string} request.scene - target scene name
114
+ * @param {Array} [args] - arguments to pass to the scene method
115
+ * @returns {Promise} - promise that resolves when the jump is completed
116
+ */
117
+ function jump ( { scene }, ...args ) {
118
+ state.jumpStack.push ( state.currentScene )
119
+ return show ( { scene }, ...args )
120
+ }
121
+ return jump
122
+ } // jump func.
123
+ &nbsp;
124
+ &nbsp;
125
+ &nbsp;
126
+ export default jump
127
+ &nbsp;
128
+ &nbsp;
129
+ &nbsp;</pre></td></tr></table></pre>
130
+
131
+ <div class='push'></div><!-- for sticky footer -->
132
+ </div><!-- /wrapper -->
133
+ <div class='footer quiet pad2 space-top1 center small'>
134
+ Code coverage generated by
135
+ <a href="https://istanbul.js.org/" target="_blank" rel="noopener noreferrer">istanbul</a>
136
+ at 2025-11-09T11:05:03.156Z
137
+ </div>
138
+ <script src="../../prettify.js"></script>
139
+ <script>
140
+ window.onload = function () {
141
+ prettyPrint();
142
+ };
143
+ </script>
144
+ <script src="../../sorter.js"></script>
145
+ <script src="../../block-navigation.js"></script>
146
+ </body>
147
+ </html>
148
+