@peter.naydenov/notice 2.4.2 → 2.4.4
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/.claude/settings.local.json +10 -0
- package/Changelog.md +16 -0
- package/coverage/lcov-report/block-navigation.js +1 -1
- package/coverage/lcov-report/index.html +20 -20
- package/coverage/lcov-report/main.js.html +171 -168
- package/coverage/lcov-report/sorter.js +21 -7
- package/coverage/lcov.info +136 -218
- package/graphify-out/.graphify_ast.json +1003 -0
- package/graphify-out/.graphify_detect.json +1 -0
- package/graphify-out/.graphify_python +1 -0
- package/graphify-out/.graphify_uncached.txt +15 -0
- package/graphify-out/GRAPH_REPORT.md +143 -0
- package/graphify-out/cache/0851b0e27934e7cb51d3d94f9e4d981e83b80e7047ebea01d717486978255d66.json +1 -0
- package/graphify-out/cache/313b49fbec137bd0ec64660ace8991e0ed210d1782fec8e86ca1a131901ff58d.json +1 -0
- package/graphify-out/cache/324c4626d3d3315ed33b0eec6c2158c55fcc53bb501ffe6a852f6e17e8164667.json +1 -0
- package/graphify-out/cache/3335588971cea52118dc77fccba5c33701442c573224f845a638cabe71c34240.json +1 -0
- package/graphify-out/cache/362bc8f53fda674a6b0ef29bda4b1be41833ddda276e0a3262ac101a5b5bba83.json +1 -0
- package/graphify-out/cache/3cd7d97905369ba8190edae73532006c760e252754e064ea6d9fffa261b552e6.json +1 -0
- package/graphify-out/cache/5d53ce3027d393c8fe8b1763ed54a0262ba10e18988e26cf273bcb179522bf4d.json +1 -0
- package/graphify-out/cache/68e13aab864f52d3708a714958556b7e25ff8233ab8173893de892b323e26d1a.json +1 -0
- package/graphify-out/cache/6f0048e5fcf58195aa0c14d4bcbcb2193f818dfe56904f151fd5cc8c406e2ffa.json +1 -0
- package/graphify-out/cache/8218f61ff570b6f101de672ba486677b4fb579677ce88ef537f21b9a40f9728d.json +1 -0
- package/graphify-out/cache/a65de5e681850c06dc779842b61d7468c9816b72a92417e3c6a8c7eaa005ecb6.json +1 -0
- package/graphify-out/cache/a97f881a55f97de2392f6fa86d8dd11ff9e0e0d40ec302ab9d240ec175bce333.json +1 -0
- package/graphify-out/cache/ab5f5634b51fc23275d76e77db87f37c1fec389b14b0228b0c8dbe70d0683c84.json +1 -0
- package/graphify-out/cache/ast/v0.8.39/234d10784603a5cf5a6f44fe83948a6c3a014590660e4ea32e3ef72f7b485a4b.json +1 -0
- package/graphify-out/cache/ast/v0.8.39/74c9623e575baefe69331b1ab4d1ad96ac2bc0f6552f04e59ff556f95a6dd2a7.json +1 -0
- package/graphify-out/cache/c7df89e129098aa0a6723787757bd7c58c92f7a50d365f16f92b44391a6a3256.json +1 -0
- package/graphify-out/cache/eda9833c7da551691f85741b4b2ac73e9eca5578b842c62002cd120c7bc70eb2.json +1 -0
- package/graphify-out/cache/stat-index.json +1 -0
- package/graphify-out/cost.json +12 -0
- package/graphify-out/graph.html +266 -0
- package/graphify-out/graph.json +2470 -0
- package/graphify-out/manifest.json +17 -0
- package/package.json +12 -27
- package/src/main.js +18 -15
- package/vitest.config.js +12 -0
- package/coverage/tmp/coverage-46509-1760816753149-0.json +0 -1
- package/coverage/tmp/coverage-46510-1760816753116-0.json +0 -1
|
@@ -0,0 +1,10 @@
|
|
|
1
|
+
{
|
|
2
|
+
"permissions": {
|
|
3
|
+
"allow": [
|
|
4
|
+
"Bash(npx vitest *)",
|
|
5
|
+
"Bash(node /private/tmp/claude-501/-Users-peternaydenov-Open-source-git-notice/5d42d1c1-e618-4ec6-8e58-148aaf476764/scratchpad/repro.mjs)",
|
|
6
|
+
"Bash(node /private/tmp/claude-501/-Users-peternaydenov-Open-source-git-notice/5d42d1c1-e618-4ec6-8e58-148aaf476764/scratchpad/repro2.mjs)",
|
|
7
|
+
"Bash(node /private/tmp/claude-501/-Users-peternaydenov-Open-source-git-notice/5d42d1c1-e618-4ec6-8e58-148aaf476764/scratchpad/repro3.mjs)"
|
|
8
|
+
]
|
|
9
|
+
}
|
|
10
|
+
}
|
package/Changelog.md
CHANGED
|
@@ -1,6 +1,22 @@
|
|
|
1
1
|
# Release History
|
|
2
2
|
|
|
3
3
|
|
|
4
|
+
### 2.4.4 ( 2026-07-07 )
|
|
5
|
+
- [x] Fix: Wildcard listeners are not notified for 'once' events;
|
|
6
|
+
- [x] Fix: Symbol events are invisible for wildcard 'emit' and 'stop';
|
|
7
|
+
- [x] Fix: Reserved object property names ( '__proto__', 'constructor' ) can not be used as event names;
|
|
8
|
+
|
|
9
|
+
|
|
10
|
+
|
|
11
|
+
### 2.4.3 ( 2026-07-07 )
|
|
12
|
+
- [x] Fix: Removing the last 'once' subscriber with 'off' deletes the regular subscribers of the event;
|
|
13
|
+
- [x] Fix: Removing the last wildcard listener breaks 'emit';
|
|
14
|
+
- [x] Fix: 'Once' subscriber that re-registers itself during 'emit' is lost;
|
|
15
|
+
- [x] Fix: Debug mode crashes on Symbol event names;
|
|
16
|
+
|
|
17
|
+
|
|
18
|
+
|
|
19
|
+
|
|
4
20
|
### 2.4.2 ( 2026-04-02 )
|
|
5
21
|
- [x] Dependencies and devDependencies updates;
|
|
6
22
|
|
|
@@ -9,7 +9,7 @@ var jumpToCode = (function init() {
|
|
|
9
9
|
// We don't want to select elements that are direct descendants of another match
|
|
10
10
|
var notSelector = ':not(' + missingCoverageClasses.join('):not(') + ') > '; // becomes `:not(a):not(b) > `
|
|
11
11
|
|
|
12
|
-
//
|
|
12
|
+
// Selector that finds elements on the page to which we can jump
|
|
13
13
|
var selector =
|
|
14
14
|
fileListingElements.join(', ') +
|
|
15
15
|
', ' +
|
|
@@ -23,30 +23,30 @@
|
|
|
23
23
|
<div class='clearfix'>
|
|
24
24
|
|
|
25
25
|
<div class='fl pad1y space-right2'>
|
|
26
|
-
<span class="strong">
|
|
26
|
+
<span class="strong">94.11% </span>
|
|
27
27
|
<span class="quiet">Statements</span>
|
|
28
|
-
<span class='fraction'>
|
|
28
|
+
<span class='fraction'>80/85</span>
|
|
29
29
|
</div>
|
|
30
30
|
|
|
31
31
|
|
|
32
32
|
<div class='fl pad1y space-right2'>
|
|
33
|
-
<span class="strong">
|
|
33
|
+
<span class="strong">91.52% </span>
|
|
34
34
|
<span class="quiet">Branches</span>
|
|
35
|
-
<span class='fraction'>
|
|
35
|
+
<span class='fraction'>54/59</span>
|
|
36
36
|
</div>
|
|
37
37
|
|
|
38
38
|
|
|
39
39
|
<div class='fl pad1y space-right2'>
|
|
40
|
-
<span class="strong">
|
|
40
|
+
<span class="strong">100% </span>
|
|
41
41
|
<span class="quiet">Functions</span>
|
|
42
|
-
<span class='fraction'>
|
|
42
|
+
<span class='fraction'>16/16</span>
|
|
43
43
|
</div>
|
|
44
44
|
|
|
45
45
|
|
|
46
46
|
<div class='fl pad1y space-right2'>
|
|
47
|
-
<span class="strong">93.
|
|
47
|
+
<span class="strong">93.75% </span>
|
|
48
48
|
<span class="quiet">Lines</span>
|
|
49
|
-
<span class='fraction'>
|
|
49
|
+
<span class='fraction'>60/64</span>
|
|
50
50
|
</div>
|
|
51
51
|
|
|
52
52
|
|
|
@@ -57,7 +57,7 @@
|
|
|
57
57
|
<template id="filterTemplate">
|
|
58
58
|
<div class="quiet">
|
|
59
59
|
Filter:
|
|
60
|
-
<input
|
|
60
|
+
<input type="search" id="fileSearch">
|
|
61
61
|
</div>
|
|
62
62
|
</template>
|
|
63
63
|
</div>
|
|
@@ -80,17 +80,17 @@
|
|
|
80
80
|
</thead>
|
|
81
81
|
<tbody><tr>
|
|
82
82
|
<td class="file high" data-value="main.js"><a href="main.js.html">main.js</a></td>
|
|
83
|
-
<td data-value="
|
|
84
|
-
<div class="chart"><div class="cover-fill" style="width:
|
|
83
|
+
<td data-value="94.11" class="pic high">
|
|
84
|
+
<div class="chart"><div class="cover-fill" style="width: 94%"></div><div class="cover-empty" style="width: 6%"></div></div>
|
|
85
85
|
</td>
|
|
86
|
-
<td data-value="
|
|
87
|
-
<td data-value="
|
|
88
|
-
<td data-value="
|
|
89
|
-
<td data-value="
|
|
90
|
-
<td data-value="
|
|
91
|
-
<td data-value="
|
|
92
|
-
<td data-value="93.
|
|
93
|
-
<td data-value="
|
|
86
|
+
<td data-value="94.11" class="pct high">94.11%</td>
|
|
87
|
+
<td data-value="85" class="abs high">80/85</td>
|
|
88
|
+
<td data-value="91.52" class="pct high">91.52%</td>
|
|
89
|
+
<td data-value="59" class="abs high">54/59</td>
|
|
90
|
+
<td data-value="100" class="pct high">100%</td>
|
|
91
|
+
<td data-value="16" class="abs high">16/16</td>
|
|
92
|
+
<td data-value="93.75" class="pct high">93.75%</td>
|
|
93
|
+
<td data-value="64" class="abs high">60/64</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
|
|
104
|
+
at 2026-07-06T22:03:47.324Z
|
|
105
105
|
</div>
|
|
106
106
|
<script src="prettify.js"></script>
|
|
107
107
|
<script>
|
|
@@ -23,30 +23,30 @@
|
|
|
23
23
|
<div class='clearfix'>
|
|
24
24
|
|
|
25
25
|
<div class='fl pad1y space-right2'>
|
|
26
|
-
<span class="strong">
|
|
26
|
+
<span class="strong">94.11% </span>
|
|
27
27
|
<span class="quiet">Statements</span>
|
|
28
|
-
<span class='fraction'>
|
|
28
|
+
<span class='fraction'>80/85</span>
|
|
29
29
|
</div>
|
|
30
30
|
|
|
31
31
|
|
|
32
32
|
<div class='fl pad1y space-right2'>
|
|
33
|
-
<span class="strong">
|
|
33
|
+
<span class="strong">91.52% </span>
|
|
34
34
|
<span class="quiet">Branches</span>
|
|
35
|
-
<span class='fraction'>
|
|
35
|
+
<span class='fraction'>54/59</span>
|
|
36
36
|
</div>
|
|
37
37
|
|
|
38
38
|
|
|
39
39
|
<div class='fl pad1y space-right2'>
|
|
40
|
-
<span class="strong">
|
|
40
|
+
<span class="strong">100% </span>
|
|
41
41
|
<span class="quiet">Functions</span>
|
|
42
|
-
<span class='fraction'>
|
|
42
|
+
<span class='fraction'>16/16</span>
|
|
43
43
|
</div>
|
|
44
44
|
|
|
45
45
|
|
|
46
46
|
<div class='fl pad1y space-right2'>
|
|
47
|
-
<span class="strong">93.
|
|
47
|
+
<span class="strong">93.75% </span>
|
|
48
48
|
<span class="quiet">Lines</span>
|
|
49
|
-
<span class='fraction'>
|
|
49
|
+
<span class='fraction'>60/64</span>
|
|
50
50
|
</div>
|
|
51
51
|
|
|
52
52
|
|
|
@@ -57,7 +57,7 @@
|
|
|
57
57
|
<template id="filterTemplate">
|
|
58
58
|
<div class="quiet">
|
|
59
59
|
Filter:
|
|
60
|
-
<input
|
|
60
|
+
<input type="search" id="fileSearch">
|
|
61
61
|
</div>
|
|
62
62
|
</template>
|
|
63
63
|
</div>
|
|
@@ -232,173 +232,175 @@
|
|
|
232
232
|
<a name='L167'></a><a href='#L167'>167</a>
|
|
233
233
|
<a name='L168'></a><a href='#L168'>168</a>
|
|
234
234
|
<a name='L169'></a><a href='#L169'>169</a>
|
|
235
|
-
<a name='L170'></a><a href='#L170'>170</a
|
|
236
|
-
<span class="cline-any cline-
|
|
237
|
-
<span class="cline-any cline-
|
|
238
|
-
<span class="cline-any cline-
|
|
239
|
-
<span class="cline-any cline-
|
|
240
|
-
<span class="cline-any cline-yes">
|
|
241
|
-
<span class="cline-any cline-yes">
|
|
242
|
-
<span class="cline-any cline-yes">
|
|
243
|
-
<span class="cline-any cline-yes">
|
|
244
|
-
<span class="cline-any cline-yes">
|
|
245
|
-
<span class="cline-any cline-
|
|
246
|
-
<span class="cline-any cline-
|
|
247
|
-
<span class="cline-any cline-
|
|
248
|
-
<span class="cline-any cline-
|
|
249
|
-
<span class="cline-any cline-
|
|
250
|
-
<span class="cline-any cline-
|
|
251
|
-
<span class="cline-any cline-
|
|
252
|
-
<span class="cline-any cline-
|
|
253
|
-
<span class="cline-any cline-yes">
|
|
254
|
-
<span class="cline-any cline-yes">
|
|
255
|
-
<span class="cline-any cline-
|
|
256
|
-
<span class="cline-any cline-
|
|
257
|
-
<span class="cline-any cline-
|
|
258
|
-
<span class="cline-any cline-
|
|
259
|
-
<span class="cline-any cline-
|
|
260
|
-
<span class="cline-any cline-
|
|
261
|
-
<span class="cline-any cline-
|
|
262
|
-
<span class="cline-any cline-
|
|
263
|
-
<span class="cline-any cline-yes">
|
|
264
|
-
<span class="cline-any cline-yes">
|
|
265
|
-
<span class="cline-any cline-yes">
|
|
266
|
-
<span class="cline-any cline-
|
|
267
|
-
<span class="cline-any cline-
|
|
268
|
-
<span class="cline-any cline-
|
|
269
|
-
<span class="cline-any cline-
|
|
270
|
-
<span class="cline-any cline-
|
|
271
|
-
<span class="cline-any cline-
|
|
272
|
-
<span class="cline-any cline-
|
|
273
|
-
<span class="cline-any cline-
|
|
274
|
-
<span class="cline-any cline-
|
|
275
|
-
<span class="cline-any cline-
|
|
235
|
+
<a name='L170'></a><a href='#L170'>170</a>
|
|
236
|
+
<a name='L171'></a><a href='#L171'>171</a></td><td class="line-coverage quiet"><span class="cline-any cline-neutral"> </span>
|
|
237
|
+
<span class="cline-any cline-neutral"> </span>
|
|
238
|
+
<span class="cline-any cline-neutral"> </span>
|
|
239
|
+
<span class="cline-any cline-neutral"> </span>
|
|
240
|
+
<span class="cline-any cline-yes">28x</span>
|
|
241
|
+
<span class="cline-any cline-yes">28x</span>
|
|
242
|
+
<span class="cline-any cline-yes">28x</span>
|
|
243
|
+
<span class="cline-any cline-yes">28x</span>
|
|
244
|
+
<span class="cline-any cline-yes">28x</span>
|
|
245
|
+
<span class="cline-any cline-neutral"> </span>
|
|
246
|
+
<span class="cline-any cline-neutral"> </span>
|
|
247
|
+
<span class="cline-any cline-neutral"> </span>
|
|
248
|
+
<span class="cline-any cline-neutral"> </span>
|
|
249
|
+
<span class="cline-any cline-neutral"> </span>
|
|
250
|
+
<span class="cline-any cline-neutral"> </span>
|
|
251
|
+
<span class="cline-any cline-neutral"> </span>
|
|
252
|
+
<span class="cline-any cline-neutral"> </span>
|
|
253
|
+
<span class="cline-any cline-yes">37x</span>
|
|
254
|
+
<span class="cline-any cline-yes">37x</span>
|
|
255
|
+
<span class="cline-any cline-neutral"> </span>
|
|
256
|
+
<span class="cline-any cline-neutral"> </span>
|
|
257
|
+
<span class="cline-any cline-neutral"> </span>
|
|
258
|
+
<span class="cline-any cline-neutral"> </span>
|
|
259
|
+
<span class="cline-any cline-neutral"> </span>
|
|
260
|
+
<span class="cline-any cline-neutral"> </span>
|
|
261
|
+
<span class="cline-any cline-neutral"> </span>
|
|
262
|
+
<span class="cline-any cline-neutral"> </span>
|
|
263
|
+
<span class="cline-any cline-yes">14x</span>
|
|
264
|
+
<span class="cline-any cline-yes">14x</span>
|
|
265
|
+
<span class="cline-any cline-yes">14x</span>
|
|
266
|
+
<span class="cline-any cline-neutral"> </span>
|
|
267
|
+
<span class="cline-any cline-neutral"> </span>
|
|
268
|
+
<span class="cline-any cline-neutral"> </span>
|
|
269
|
+
<span class="cline-any cline-neutral"> </span>
|
|
270
|
+
<span class="cline-any cline-neutral"> </span>
|
|
271
|
+
<span class="cline-any cline-neutral"> </span>
|
|
272
|
+
<span class="cline-any cline-neutral"> </span>
|
|
273
|
+
<span class="cline-any cline-neutral"> </span>
|
|
274
|
+
<span class="cline-any cline-neutral"> </span>
|
|
275
|
+
<span class="cline-any cline-neutral"> </span>
|
|
276
|
+
<span class="cline-any cline-neutral"> </span>
|
|
277
|
+
<span class="cline-any cline-yes">10x</span>
|
|
278
|
+
<span class="cline-any cline-yes">7x</span>
|
|
276
279
|
<span class="cline-any cline-yes">7x</span>
|
|
277
|
-
<span class="cline-any cline-yes">5x</span>
|
|
278
|
-
<span class="cline-any cline-yes">5x</span>
|
|
279
|
-
<span class="cline-any cline-yes">5x</span>
|
|
280
|
-
<span class="cline-any cline-yes">5x</span>
|
|
281
|
-
<span class="cline-any cline-yes">5x</span>
|
|
282
|
-
<span class="cline-any cline-yes">5x</span>
|
|
283
280
|
<span class="cline-any cline-yes">7x</span>
|
|
284
281
|
<span class="cline-any cline-yes">7x</span>
|
|
285
|
-
<span class="cline-any cline-yes">
|
|
286
|
-
<span class="cline-any cline-
|
|
287
|
-
<span class="cline-any cline-yes">
|
|
288
|
-
<span class="cline-any cline-yes">
|
|
289
|
-
<span class="cline-any cline-yes">
|
|
290
|
-
<span class="cline-any cline-
|
|
282
|
+
<span class="cline-any cline-yes">7x</span>
|
|
283
|
+
<span class="cline-any cline-neutral"> </span>
|
|
284
|
+
<span class="cline-any cline-yes">3x</span>
|
|
285
|
+
<span class="cline-any cline-yes">3x</span>
|
|
286
|
+
<span class="cline-any cline-yes">2x</span>
|
|
287
|
+
<span class="cline-any cline-neutral"> </span>
|
|
288
|
+
<span class="cline-any cline-neutral"> </span>
|
|
289
|
+
<span class="cline-any cline-neutral"> </span>
|
|
290
|
+
<span class="cline-any cline-neutral"> </span>
|
|
291
|
+
<span class="cline-any cline-neutral"> </span>
|
|
292
|
+
<span class="cline-any cline-neutral"> </span>
|
|
291
293
|
<span class="cline-any cline-yes">1x</span>
|
|
292
294
|
<span class="cline-any cline-yes">1x</span>
|
|
293
295
|
<span class="cline-any cline-yes">1x</span>
|
|
294
|
-
<span class="cline-any cline-
|
|
295
|
-
<span class="cline-any cline-
|
|
296
|
-
<span class="cline-any cline-
|
|
297
|
-
<span class="cline-any cline-
|
|
298
|
-
<span class="cline-any cline-
|
|
299
|
-
<span class="cline-any cline-
|
|
300
|
-
<span class="cline-any cline-
|
|
301
|
-
<span class="cline-any cline-
|
|
302
|
-
<span class="cline-any cline-
|
|
303
|
-
<span class="cline-any cline-
|
|
304
|
-
<span class="cline-any cline-
|
|
305
|
-
<span class="cline-any cline-
|
|
306
|
-
<span class="cline-any cline-
|
|
307
|
-
<span class="cline-any cline-
|
|
308
|
-
<span class="cline-any cline-
|
|
309
|
-
<span class="cline-any cline-
|
|
310
|
-
<span class="cline-any cline-
|
|
311
|
-
<span class="cline-any cline-
|
|
312
|
-
<span class="cline-any cline-
|
|
313
|
-
<span class="cline-any cline-
|
|
314
|
-
<span class="cline-any cline-
|
|
315
|
-
<span class="cline-any cline-yes">
|
|
316
|
-
<span class="cline-any cline-yes">
|
|
317
|
-
<span class="cline-any cline-
|
|
318
|
-
<span class="cline-any cline-
|
|
319
|
-
<span class="cline-any cline-no"> </span>
|
|
320
|
-
<span class="cline-any cline-no"> </span>
|
|
321
|
-
<span class="cline-any cline-no"> </span>
|
|
296
|
+
<span class="cline-any cline-neutral"> </span>
|
|
297
|
+
<span class="cline-any cline-neutral"> </span>
|
|
298
|
+
<span class="cline-any cline-neutral"> </span>
|
|
299
|
+
<span class="cline-any cline-neutral"> </span>
|
|
300
|
+
<span class="cline-any cline-neutral"> </span>
|
|
301
|
+
<span class="cline-any cline-neutral"> </span>
|
|
302
|
+
<span class="cline-any cline-neutral"> </span>
|
|
303
|
+
<span class="cline-any cline-neutral"> </span>
|
|
304
|
+
<span class="cline-any cline-neutral"> </span>
|
|
305
|
+
<span class="cline-any cline-neutral"> </span>
|
|
306
|
+
<span class="cline-any cline-yes">1x</span>
|
|
307
|
+
<span class="cline-any cline-yes">1x</span>
|
|
308
|
+
<span class="cline-any cline-neutral"> </span>
|
|
309
|
+
<span class="cline-any cline-neutral"> </span>
|
|
310
|
+
<span class="cline-any cline-neutral"> </span>
|
|
311
|
+
<span class="cline-any cline-neutral"> </span>
|
|
312
|
+
<span class="cline-any cline-neutral"> </span>
|
|
313
|
+
<span class="cline-any cline-neutral"> </span>
|
|
314
|
+
<span class="cline-any cline-neutral"> </span>
|
|
315
|
+
<span class="cline-any cline-neutral"> </span>
|
|
316
|
+
<span class="cline-any cline-neutral"> </span>
|
|
317
|
+
<span class="cline-any cline-yes">48x</span>
|
|
318
|
+
<span class="cline-any cline-yes">48x</span>
|
|
319
|
+
<span class="cline-any cline-yes">1x</span>
|
|
320
|
+
<span class="cline-any cline-yes">1x</span>
|
|
322
321
|
<span class="cline-any cline-no"> </span>
|
|
323
322
|
<span class="cline-any cline-no"> </span>
|
|
324
323
|
<span class="cline-any cline-no"> </span>
|
|
325
|
-
<span class="cline-any cline-
|
|
326
|
-
<span class="cline-any cline-
|
|
327
|
-
<span class="cline-any cline-
|
|
324
|
+
<span class="cline-any cline-neutral"> </span>
|
|
325
|
+
<span class="cline-any cline-neutral"> </span>
|
|
326
|
+
<span class="cline-any cline-neutral"> </span>
|
|
327
|
+
<span class="cline-any cline-neutral"> </span>
|
|
328
|
+
<span class="cline-any cline-yes">35x</span>
|
|
329
|
+
<span class="cline-any cline-yes">35x</span>
|
|
330
|
+
<span class="cline-any cline-yes">32x</span>
|
|
331
|
+
<span class="cline-any cline-yes">28x</span>
|
|
328
332
|
<span class="cline-any cline-yes">30x</span>
|
|
329
333
|
<span class="cline-any cline-yes">30x</span>
|
|
330
|
-
<span class="cline-any cline-yes">23x</span>
|
|
331
|
-
<span class="cline-any cline-yes">25x</span>
|
|
332
|
-
<span class="cline-any cline-yes">25x</span>
|
|
333
|
-
<span class="cline-any cline-yes">2x</span>
|
|
334
334
|
<span class="cline-any cline-yes">2x</span>
|
|
335
335
|
<span class="cline-any cline-yes">2x</span>
|
|
336
336
|
<span class="cline-any cline-yes">2x</span>
|
|
337
|
+
<span class="cline-any cline-neutral"> </span>
|
|
337
338
|
<span class="cline-any cline-no"> </span>
|
|
338
|
-
<span class="cline-any cline-
|
|
339
|
-
<span class="cline-any cline-yes">
|
|
340
|
-
<span class="cline-any cline-
|
|
341
|
-
<span class="cline-any cline-
|
|
342
|
-
<span class="cline-any cline-yes">
|
|
343
|
-
<span class="cline-any cline-yes">3x</span>
|
|
344
|
-
<span class="cline-any cline-yes">3x</span>
|
|
339
|
+
<span class="cline-any cline-neutral"> </span>
|
|
340
|
+
<span class="cline-any cline-yes">28x</span>
|
|
341
|
+
<span class="cline-any cline-neutral"> </span>
|
|
342
|
+
<span class="cline-any cline-neutral"> </span>
|
|
343
|
+
<span class="cline-any cline-yes">48x</span>
|
|
345
344
|
<span class="cline-any cline-yes">3x</span>
|
|
345
|
+
<span class="cline-any cline-yes">9x</span>
|
|
346
346
|
<span class="cline-any cline-yes">3x</span>
|
|
347
|
-
<span class="cline-any cline-
|
|
348
|
-
<span class="cline-any cline-yes">
|
|
349
|
-
<span class="cline-any cline-yes">
|
|
350
|
-
<span class="cline-any cline-yes">
|
|
351
|
-
<span class="cline-any cline-yes">
|
|
352
|
-
<span class="cline-any cline-yes">
|
|
353
|
-
<span class="cline-any cline-
|
|
354
|
-
<span class="cline-any cline-yes">
|
|
355
|
-
<span class="cline-any cline-yes">
|
|
356
|
-
<span class="cline-any cline-
|
|
357
|
-
<span class="cline-any cline-
|
|
358
|
-
<span class="cline-any cline-
|
|
359
|
-
<span class="cline-any cline-
|
|
360
|
-
<span class="cline-any cline-
|
|
361
|
-
<span class="cline-any cline-
|
|
362
|
-
<span class="cline-any cline-
|
|
347
|
+
<span class="cline-any cline-neutral"> </span>
|
|
348
|
+
<span class="cline-any cline-yes">45x</span>
|
|
349
|
+
<span class="cline-any cline-yes">8x</span>
|
|
350
|
+
<span class="cline-any cline-yes">7x</span>
|
|
351
|
+
<span class="cline-any cline-yes">7x</span>
|
|
352
|
+
<span class="cline-any cline-yes">8x</span>
|
|
353
|
+
<span class="cline-any cline-neutral"> </span>
|
|
354
|
+
<span class="cline-any cline-yes">44x</span>
|
|
355
|
+
<span class="cline-any cline-yes">26x</span>
|
|
356
|
+
<span class="cline-any cline-neutral"> </span>
|
|
357
|
+
<span class="cline-any cline-neutral"> </span>
|
|
358
|
+
<span class="cline-any cline-neutral"> </span>
|
|
359
|
+
<span class="cline-any cline-neutral"> </span>
|
|
360
|
+
<span class="cline-any cline-neutral"> </span>
|
|
361
|
+
<span class="cline-any cline-neutral"> </span>
|
|
362
|
+
<span class="cline-any cline-neutral"> </span>
|
|
363
|
+
<span class="cline-any cline-neutral"> </span>
|
|
364
|
+
<span class="cline-any cline-neutral"> </span>
|
|
363
365
|
<span class="cline-any cline-yes">3x</span>
|
|
364
366
|
<span class="cline-any cline-yes">1x</span>
|
|
365
367
|
<span class="cline-any cline-yes">1x</span>
|
|
366
|
-
<span class="cline-any cline-
|
|
368
|
+
<span class="cline-any cline-neutral"> </span>
|
|
367
369
|
<span class="cline-any cline-yes">2x</span>
|
|
368
|
-
<span class="cline-any cline-
|
|
369
|
-
<span class="cline-any cline-
|
|
370
|
-
<span class="cline-any cline-
|
|
371
|
-
<span class="cline-any cline-
|
|
372
|
-
<span class="cline-any cline-
|
|
373
|
-
<span class="cline-any cline-
|
|
374
|
-
<span class="cline-any cline-
|
|
375
|
-
<span class="cline-any cline-
|
|
370
|
+
<span class="cline-any cline-neutral"> </span>
|
|
371
|
+
<span class="cline-any cline-neutral"> </span>
|
|
372
|
+
<span class="cline-any cline-neutral"> </span>
|
|
373
|
+
<span class="cline-any cline-neutral"> </span>
|
|
374
|
+
<span class="cline-any cline-neutral"> </span>
|
|
375
|
+
<span class="cline-any cline-neutral"> </span>
|
|
376
|
+
<span class="cline-any cline-neutral"> </span>
|
|
377
|
+
<span class="cline-any cline-neutral"> </span>
|
|
376
378
|
<span class="cline-any cline-yes">4x</span>
|
|
379
|
+
<span class="cline-any cline-neutral"> </span>
|
|
377
380
|
<span class="cline-any cline-yes">1x</span>
|
|
378
381
|
<span class="cline-any cline-yes">1x</span>
|
|
382
|
+
<span class="cline-any cline-neutral"> </span>
|
|
379
383
|
<span class="cline-any cline-yes">1x</span>
|
|
380
384
|
<span class="cline-any cline-yes">1x</span>
|
|
381
|
-
<span class="cline-any cline-
|
|
382
|
-
<span class="cline-any cline-yes">1x</span>
|
|
383
|
-
<span class="cline-any cline-yes">1x</span>
|
|
385
|
+
<span class="cline-any cline-neutral"> </span>
|
|
384
386
|
<span class="cline-any cline-yes">3x</span>
|
|
385
|
-
<span class="cline-any cline-
|
|
386
|
-
<span class="cline-any cline-
|
|
387
|
-
<span class="cline-any cline-yes">
|
|
388
|
-
<span class="cline-any cline-
|
|
389
|
-
<span class="cline-any cline-
|
|
390
|
-
<span class="cline-any cline-
|
|
391
|
-
<span class="cline-any cline-
|
|
392
|
-
<span class="cline-any cline-
|
|
393
|
-
<span class="cline-any cline-
|
|
394
|
-
<span class="cline-any cline-
|
|
395
|
-
<span class="cline-any cline-
|
|
396
|
-
<span class="cline-any cline-
|
|
397
|
-
<span class="cline-any cline-
|
|
398
|
-
<span class="cline-any cline-
|
|
399
|
-
<span class="cline-any cline-
|
|
400
|
-
<span class="cline-any cline-
|
|
401
|
-
<span class="cline-any cline-
|
|
387
|
+
<span class="cline-any cline-neutral"> </span>
|
|
388
|
+
<span class="cline-any cline-neutral"> </span>
|
|
389
|
+
<span class="cline-any cline-yes">28x</span>
|
|
390
|
+
<span class="cline-any cline-neutral"> </span>
|
|
391
|
+
<span class="cline-any cline-neutral"> </span>
|
|
392
|
+
<span class="cline-any cline-neutral"> </span>
|
|
393
|
+
<span class="cline-any cline-neutral"> </span>
|
|
394
|
+
<span class="cline-any cline-neutral"> </span>
|
|
395
|
+
<span class="cline-any cline-neutral"> </span>
|
|
396
|
+
<span class="cline-any cline-neutral"> </span>
|
|
397
|
+
<span class="cline-any cline-neutral"> </span>
|
|
398
|
+
<span class="cline-any cline-neutral"> </span>
|
|
399
|
+
<span class="cline-any cline-neutral"> </span>
|
|
400
|
+
<span class="cline-any cline-neutral"> </span>
|
|
401
|
+
<span class="cline-any cline-neutral"> </span>
|
|
402
|
+
<span class="cline-any cline-neutral"> </span>
|
|
403
|
+
<span class="cline-any cline-neutral"> </span>
|
|
402
404
|
<span class="cline-any cline-neutral"> </span>
|
|
403
405
|
<span class="cline-any cline-neutral"> </span>
|
|
404
406
|
<span class="cline-any cline-neutral"> </span></td><td class="text"><pre class="prettyprint lang-js">"use strict"
|
|
@@ -428,7 +430,7 @@ function notice () {
|
|
|
428
430
|
* @param {function} fn - Behaviour that will be executed when the event is triggered.
|
|
429
431
|
*/
|
|
430
432
|
function once ( e, fn ) {
|
|
431
|
-
if ( e === '*' ) <span class="
|
|
433
|
+
<span class="missing-if-branch" title="if path not taken" >I</span>if ( e === '*' ) <span class="cstat-no" title="statement not covered" >return </span> // The wildcard '*' doesn't work for 'once' events
|
|
432
434
|
if ( !scrollOnce[e] ) scrollOnce[e] = []
|
|
433
435
|
scrollOnce[e].push ( fn )
|
|
434
436
|
} // once func.
|
|
@@ -445,12 +447,13 @@ function notice () {
|
|
|
445
447
|
if ( fx ) { // fx is optional
|
|
446
448
|
if ( scroll[e] ) scroll[e] = scroll[e].filter ( fn => fn !== fx )
|
|
447
449
|
if ( scrollOnce[e] ) scrollOnce[e] = scrollOnce[e].filter ( fn => fn !== fx )
|
|
448
|
-
if ( scroll[e] && scroll[e].length
|
|
449
|
-
if ( scrollOnce[e] && scrollOnce[e].length === 0 ) delete
|
|
450
|
+
if ( e !== '*' && scroll[e] && scroll[e].length === 0 ) delete scroll[e] // scroll['*'] must always exist - 'emit' relies on it
|
|
451
|
+
if ( scrollOnce[e] && scrollOnce[e].length === 0 ) delete scrollOnce[e]
|
|
450
452
|
return
|
|
451
453
|
}
|
|
452
454
|
if ( scrollOnce[e] ) delete scrollOnce[e]
|
|
453
|
-
if (
|
|
455
|
+
if ( e === '*' ) scroll['*'] = [] // scroll['*'] must always exist - 'emit' relies on it
|
|
456
|
+
else if ( scroll[e] ) delete scroll[e]
|
|
454
457
|
} // off func.
|
|
455
458
|
/**
|
|
456
459
|
* Resets all event-related data structures.
|
|
@@ -469,9 +472,9 @@ function notice () {
|
|
|
469
472
|
* @param {string} [header] - Optional. The header string for the debug message.
|
|
470
473
|
* @returns void
|
|
471
474
|
*/
|
|
472
|
-
|
|
473
|
-
<span class="
|
|
474
|
-
<span class="
|
|
475
|
+
function debug ( val, header ) {
|
|
476
|
+
debugFlag = val ? true : <span class="branch-1 cbranch-no" title="branch not covered" >false</span>
|
|
477
|
+
<span class="missing-if-branch" title="else path not taken" >E</span>if ( header && (typeof header === 'string') ) debugHeader = header
|
|
475
478
|
} // debug func.
|
|
476
479
|
/**
|
|
477
480
|
* Triggers an event and executes all associated functions.
|
|
@@ -482,28 +485,27 @@ function notice () {
|
|
|
482
485
|
*/
|
|
483
486
|
function emit () {
|
|
484
487
|
const [ e, ...args ] = arguments
|
|
485
|
-
if ( debugFlag )
|
|
486
|
-
|
|
487
|
-
<span class="
|
|
488
|
+
if ( debugFlag ) {
|
|
489
|
+
console.log ( `${debugHeader} Event "${String(e)}" was triggered.`) // String() - event names can be Symbols
|
|
490
|
+
<span class="missing-if-branch" title="if path not taken" >I</span>if ( args.length > 0 ) {
|
|
488
491
|
<span class="cstat-no" title="statement not covered" > console.log ( 'Arguments:')</span>
|
|
489
492
|
<span class="cstat-no" title="statement not covered" > console.log ( ...args )</span>
|
|
490
493
|
<span class="cstat-no" title="statement not covered" > console.log ( '^----' )</span>
|
|
491
|
-
|
|
492
|
-
|
|
493
|
-
<span class="cstat-no" title="statement not covered" > }</span>
|
|
494
|
+
}
|
|
495
|
+
}
|
|
494
496
|
|
|
495
497
|
function exeCallback ( name ) {
|
|
496
498
|
let stopped = false;
|
|
497
|
-
if ( name === '*' ) return
|
|
499
|
+
if ( name === '*' ) return
|
|
498
500
|
if ( ignore.has(name) ) return
|
|
499
501
|
scroll[name].every ( fn => {
|
|
500
502
|
const r = fn ( ...args );
|
|
501
503
|
if ( typeof(r) !== 'string' ) return true
|
|
502
|
-
if ( r.toUpperCase() === 'STOP' ) {
|
|
504
|
+
<span class="missing-if-branch" title="else path not taken" >E</span>if ( r.toUpperCase() === 'STOP' ) {
|
|
503
505
|
stopped = true
|
|
504
506
|
return false
|
|
505
507
|
}
|
|
506
|
-
<span class="cstat-no" title="statement not covered"
|
|
508
|
+
<span class="cstat-no" title="statement not covered" > return true</span>
|
|
507
509
|
})
|
|
508
510
|
if ( !stopped ) scroll['*'].forEach ( fn => fn(e,...args) )
|
|
509
511
|
} // exeCallback func.
|
|
@@ -515,8 +517,9 @@ function notice () {
|
|
|
515
517
|
}
|
|
516
518
|
if ( scrollOnce[e] ) {
|
|
517
519
|
if ( ignore.has(e) ) return
|
|
518
|
-
scrollOnce[e]
|
|
519
|
-
delete scrollOnce[e]
|
|
520
|
+
const onceFns = scrollOnce[e]
|
|
521
|
+
delete scrollOnce[e] // Delete before the calls, so handlers can re-register with 'once'
|
|
522
|
+
onceFns.forEach ( fn => fn(...args) )
|
|
520
523
|
}
|
|
521
524
|
if ( scroll[e] ) {
|
|
522
525
|
exeCallback ( e )
|
|
@@ -577,7 +580,7 @@ export default notice
|
|
|
577
580
|
<div class='footer quiet pad2 space-top1 center small'>
|
|
578
581
|
Code coverage generated by
|
|
579
582
|
<a href="https://istanbul.js.org/" target="_blank" rel="noopener noreferrer">istanbul</a>
|
|
580
|
-
at
|
|
583
|
+
at 2026-07-06T22:03:47.324Z
|
|
581
584
|
</div>
|
|
582
585
|
<script src="prettify.js"></script>
|
|
583
586
|
<script>
|