@peter.naydenov/notice 2.3.2 → 2.4.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.
- package/Changelog.md +12 -0
- package/coverage/lcov-report/index.html +19 -19
- package/coverage/lcov-report/main.js.html +176 -26
- package/coverage/lcov.info +211 -165
- package/coverage/tmp/coverage-25757-1746173432726-0.json +1 -0
- package/coverage/tmp/coverage-25758-1746173432668-0.json +1 -0
- package/dist/notice.cjs +1 -1
- package/dist/notice.esm.mjs +1 -1
- package/dist/notice.umd.js +1 -1
- package/package.json +7 -7
- package/src/main.js +16 -18
- package/types/main.d.ts +5 -5
- package/types/main.d.ts.map +1 -1
- package/coverage/tmp/coverage-18684-1734097425016-0.json +0 -1
- package/coverage/tmp/coverage-18685-1734097424934-0.json +0 -1
package/Changelog.md
CHANGED
|
@@ -2,6 +2,16 @@
|
|
|
2
2
|
|
|
3
3
|
|
|
4
4
|
|
|
5
|
+
### 2.4.1 ( 2025-05-02 )
|
|
6
|
+
- [x] Refactoring: Some speed optimizations;
|
|
7
|
+
|
|
8
|
+
|
|
9
|
+
|
|
10
|
+
### 2.4.0 ( 2025-01-11 )
|
|
11
|
+
- [x] Types: Name of the event could be a symbol;
|
|
12
|
+
|
|
13
|
+
|
|
14
|
+
|
|
5
15
|
### 2.3.2 ( 2024-12-13 )
|
|
6
16
|
- [x] JSDoc comments were added;
|
|
7
17
|
- [x] TypeScript generated types were added;
|
|
@@ -12,11 +22,13 @@
|
|
|
12
22
|
- [x] Fix: Callback stop should stop the wildcard callbacks as well;
|
|
13
23
|
|
|
14
24
|
|
|
25
|
+
|
|
15
26
|
### 2.3.0 ( 2024-03-14 )
|
|
16
27
|
- [x] Stop execution of the event callbacks on first callback that returns string 'stop';
|
|
17
28
|
- [ ] Bug: Callback stop should stop the wildcard callbacks as well;
|
|
18
29
|
|
|
19
30
|
|
|
31
|
+
|
|
20
32
|
### 2.2.3 ( 2024-01-29)
|
|
21
33
|
- [x] Folder 'dist' was added. It contains compiled files for commonjs and es6 modules;
|
|
22
34
|
- [x] Package.json: "exports" section was added. Allows you to use package as commonjs or es6 module without additional configuration;
|
|
@@ -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">93.41% </span>
|
|
27
27
|
<span class="quiet">Statements</span>
|
|
28
|
-
<span class='fraction'>
|
|
28
|
+
<span class='fraction'>156/167</span>
|
|
29
29
|
</div>
|
|
30
30
|
|
|
31
31
|
|
|
32
32
|
<div class='fl pad1y space-right2'>
|
|
33
|
-
<span class="strong">94
|
|
33
|
+
<span class="strong">94% </span>
|
|
34
34
|
<span class="quiet">Branches</span>
|
|
35
|
-
<span class='fraction'>
|
|
35
|
+
<span class='fraction'>47/50</span>
|
|
36
36
|
</div>
|
|
37
37
|
|
|
38
38
|
|
|
39
39
|
<div class='fl pad1y space-right2'>
|
|
40
|
-
<span class="strong">90
|
|
40
|
+
<span class="strong">90% </span>
|
|
41
41
|
<span class="quiet">Functions</span>
|
|
42
|
-
<span class='fraction'>10
|
|
42
|
+
<span class='fraction'>9/10</span>
|
|
43
43
|
</div>
|
|
44
44
|
|
|
45
45
|
|
|
46
46
|
<div class='fl pad1y space-right2'>
|
|
47
|
-
<span class="strong">
|
|
47
|
+
<span class="strong">93.41% </span>
|
|
48
48
|
<span class="quiet">Lines</span>
|
|
49
|
-
<span class='fraction'>
|
|
49
|
+
<span class='fraction'>156/167</span>
|
|
50
50
|
</div>
|
|
51
51
|
|
|
52
52
|
|
|
@@ -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="93.41" class="pic high">
|
|
84
|
+
<div class="chart"><div class="cover-fill" style="width: 93%"></div><div class="cover-empty" style="width: 7%"></div></div>
|
|
85
85
|
</td>
|
|
86
|
-
<td data-value="
|
|
87
|
-
<td data-value="
|
|
88
|
-
<td data-value="94
|
|
89
|
-
<td data-value="
|
|
90
|
-
<td data-value="90
|
|
91
|
-
<td data-value="
|
|
92
|
-
<td data-value="
|
|
93
|
-
<td data-value="
|
|
86
|
+
<td data-value="93.41" class="pct high">93.41%</td>
|
|
87
|
+
<td data-value="167" class="abs high">156/167</td>
|
|
88
|
+
<td data-value="94" class="pct high">94%</td>
|
|
89
|
+
<td data-value="50" class="abs high">47/50</td>
|
|
90
|
+
<td data-value="90" class="pct high">90%</td>
|
|
91
|
+
<td data-value="10" class="abs high">9/10</td>
|
|
92
|
+
<td data-value="93.41" class="pct high">93.41%</td>
|
|
93
|
+
<td data-value="167" class="abs high">156/167</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 2025-05-02T08:10:32.747Z
|
|
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">93.41% </span>
|
|
27
27
|
<span class="quiet">Statements</span>
|
|
28
|
-
<span class='fraction'>
|
|
28
|
+
<span class='fraction'>156/167</span>
|
|
29
29
|
</div>
|
|
30
30
|
|
|
31
31
|
|
|
32
32
|
<div class='fl pad1y space-right2'>
|
|
33
|
-
<span class="strong">94
|
|
33
|
+
<span class="strong">94% </span>
|
|
34
34
|
<span class="quiet">Branches</span>
|
|
35
|
-
<span class='fraction'>
|
|
35
|
+
<span class='fraction'>47/50</span>
|
|
36
36
|
</div>
|
|
37
37
|
|
|
38
38
|
|
|
39
39
|
<div class='fl pad1y space-right2'>
|
|
40
|
-
<span class="strong">90
|
|
40
|
+
<span class="strong">90% </span>
|
|
41
41
|
<span class="quiet">Functions</span>
|
|
42
|
-
<span class='fraction'>10
|
|
42
|
+
<span class='fraction'>9/10</span>
|
|
43
43
|
</div>
|
|
44
44
|
|
|
45
45
|
|
|
46
46
|
<div class='fl pad1y space-right2'>
|
|
47
|
-
<span class="strong">
|
|
47
|
+
<span class="strong">93.41% </span>
|
|
48
48
|
<span class="quiet">Lines</span>
|
|
49
|
-
<span class='fraction'>
|
|
49
|
+
<span class='fraction'>156/167</span>
|
|
50
50
|
</div>
|
|
51
51
|
|
|
52
52
|
|
|
@@ -182,7 +182,63 @@
|
|
|
182
182
|
<a name='L117'></a><a href='#L117'>117</a>
|
|
183
183
|
<a name='L118'></a><a href='#L118'>118</a>
|
|
184
184
|
<a name='L119'></a><a href='#L119'>119</a>
|
|
185
|
-
<a name='L120'></a><a href='#L120'>120</a
|
|
185
|
+
<a name='L120'></a><a href='#L120'>120</a>
|
|
186
|
+
<a name='L121'></a><a href='#L121'>121</a>
|
|
187
|
+
<a name='L122'></a><a href='#L122'>122</a>
|
|
188
|
+
<a name='L123'></a><a href='#L123'>123</a>
|
|
189
|
+
<a name='L124'></a><a href='#L124'>124</a>
|
|
190
|
+
<a name='L125'></a><a href='#L125'>125</a>
|
|
191
|
+
<a name='L126'></a><a href='#L126'>126</a>
|
|
192
|
+
<a name='L127'></a><a href='#L127'>127</a>
|
|
193
|
+
<a name='L128'></a><a href='#L128'>128</a>
|
|
194
|
+
<a name='L129'></a><a href='#L129'>129</a>
|
|
195
|
+
<a name='L130'></a><a href='#L130'>130</a>
|
|
196
|
+
<a name='L131'></a><a href='#L131'>131</a>
|
|
197
|
+
<a name='L132'></a><a href='#L132'>132</a>
|
|
198
|
+
<a name='L133'></a><a href='#L133'>133</a>
|
|
199
|
+
<a name='L134'></a><a href='#L134'>134</a>
|
|
200
|
+
<a name='L135'></a><a href='#L135'>135</a>
|
|
201
|
+
<a name='L136'></a><a href='#L136'>136</a>
|
|
202
|
+
<a name='L137'></a><a href='#L137'>137</a>
|
|
203
|
+
<a name='L138'></a><a href='#L138'>138</a>
|
|
204
|
+
<a name='L139'></a><a href='#L139'>139</a>
|
|
205
|
+
<a name='L140'></a><a href='#L140'>140</a>
|
|
206
|
+
<a name='L141'></a><a href='#L141'>141</a>
|
|
207
|
+
<a name='L142'></a><a href='#L142'>142</a>
|
|
208
|
+
<a name='L143'></a><a href='#L143'>143</a>
|
|
209
|
+
<a name='L144'></a><a href='#L144'>144</a>
|
|
210
|
+
<a name='L145'></a><a href='#L145'>145</a>
|
|
211
|
+
<a name='L146'></a><a href='#L146'>146</a>
|
|
212
|
+
<a name='L147'></a><a href='#L147'>147</a>
|
|
213
|
+
<a name='L148'></a><a href='#L148'>148</a>
|
|
214
|
+
<a name='L149'></a><a href='#L149'>149</a>
|
|
215
|
+
<a name='L150'></a><a href='#L150'>150</a>
|
|
216
|
+
<a name='L151'></a><a href='#L151'>151</a>
|
|
217
|
+
<a name='L152'></a><a href='#L152'>152</a>
|
|
218
|
+
<a name='L153'></a><a href='#L153'>153</a>
|
|
219
|
+
<a name='L154'></a><a href='#L154'>154</a>
|
|
220
|
+
<a name='L155'></a><a href='#L155'>155</a>
|
|
221
|
+
<a name='L156'></a><a href='#L156'>156</a>
|
|
222
|
+
<a name='L157'></a><a href='#L157'>157</a>
|
|
223
|
+
<a name='L158'></a><a href='#L158'>158</a>
|
|
224
|
+
<a name='L159'></a><a href='#L159'>159</a>
|
|
225
|
+
<a name='L160'></a><a href='#L160'>160</a>
|
|
226
|
+
<a name='L161'></a><a href='#L161'>161</a>
|
|
227
|
+
<a name='L162'></a><a href='#L162'>162</a>
|
|
228
|
+
<a name='L163'></a><a href='#L163'>163</a>
|
|
229
|
+
<a name='L164'></a><a href='#L164'>164</a>
|
|
230
|
+
<a name='L165'></a><a href='#L165'>165</a>
|
|
231
|
+
<a name='L166'></a><a href='#L166'>166</a>
|
|
232
|
+
<a name='L167'></a><a href='#L167'>167</a>
|
|
233
|
+
<a name='L168'></a><a href='#L168'>168</a>
|
|
234
|
+
<a name='L169'></a><a href='#L169'>169</a>
|
|
235
|
+
<a name='L170'></a><a href='#L170'>170</a></td><td class="line-coverage quiet"><span class="cline-any cline-yes">1x</span>
|
|
236
|
+
<span class="cline-any cline-yes">24x</span>
|
|
237
|
+
<span class="cline-any cline-yes">24x</span>
|
|
238
|
+
<span class="cline-any cline-yes">24x</span>
|
|
239
|
+
<span class="cline-any cline-yes">24x</span>
|
|
240
|
+
<span class="cline-any cline-yes">24x</span>
|
|
241
|
+
<span class="cline-any cline-yes">24x</span>
|
|
186
242
|
<span class="cline-any cline-yes">24x</span>
|
|
187
243
|
<span class="cline-any cline-yes">24x</span>
|
|
188
244
|
<span class="cline-any cline-yes">24x</span>
|
|
@@ -197,11 +253,26 @@
|
|
|
197
253
|
<span class="cline-any cline-yes">32x</span>
|
|
198
254
|
<span class="cline-any cline-yes">24x</span>
|
|
199
255
|
<span class="cline-any cline-yes">24x</span>
|
|
256
|
+
<span class="cline-any cline-yes">24x</span>
|
|
257
|
+
<span class="cline-any cline-yes">24x</span>
|
|
258
|
+
<span class="cline-any cline-yes">24x</span>
|
|
259
|
+
<span class="cline-any cline-yes">24x</span>
|
|
260
|
+
<span class="cline-any cline-yes">24x</span>
|
|
261
|
+
<span class="cline-any cline-yes">24x</span>
|
|
200
262
|
<span class="cline-any cline-yes">9x</span>
|
|
201
263
|
<span class="cline-any cline-yes">9x</span>
|
|
202
264
|
<span class="cline-any cline-yes">9x</span>
|
|
203
265
|
<span class="cline-any cline-yes">24x</span>
|
|
204
266
|
<span class="cline-any cline-yes">24x</span>
|
|
267
|
+
<span class="cline-any cline-yes">24x</span>
|
|
268
|
+
<span class="cline-any cline-yes">24x</span>
|
|
269
|
+
<span class="cline-any cline-yes">24x</span>
|
|
270
|
+
<span class="cline-any cline-yes">24x</span>
|
|
271
|
+
<span class="cline-any cline-yes">24x</span>
|
|
272
|
+
<span class="cline-any cline-yes">24x</span>
|
|
273
|
+
<span class="cline-any cline-yes">24x</span>
|
|
274
|
+
<span class="cline-any cline-yes">24x</span>
|
|
275
|
+
<span class="cline-any cline-yes">24x</span>
|
|
205
276
|
<span class="cline-any cline-yes">7x</span>
|
|
206
277
|
<span class="cline-any cline-yes">5x</span>
|
|
207
278
|
<span class="cline-any cline-yes">5x</span>
|
|
@@ -213,15 +284,34 @@
|
|
|
213
284
|
<span class="cline-any cline-yes">7x</span>
|
|
214
285
|
<span class="cline-any cline-yes">24x</span>
|
|
215
286
|
<span class="cline-any cline-yes">24x</span>
|
|
287
|
+
<span class="cline-any cline-yes">24x</span>
|
|
288
|
+
<span class="cline-any cline-yes">24x</span>
|
|
289
|
+
<span class="cline-any cline-yes">24x</span>
|
|
290
|
+
<span class="cline-any cline-yes">24x</span>
|
|
216
291
|
<span class="cline-any cline-yes">1x</span>
|
|
217
292
|
<span class="cline-any cline-yes">1x</span>
|
|
218
293
|
<span class="cline-any cline-yes">1x</span>
|
|
219
294
|
<span class="cline-any cline-yes">24x</span>
|
|
220
295
|
<span class="cline-any cline-yes">24x</span>
|
|
296
|
+
<span class="cline-any cline-yes">24x</span>
|
|
297
|
+
<span class="cline-any cline-yes">24x</span>
|
|
298
|
+
<span class="cline-any cline-yes">24x</span>
|
|
299
|
+
<span class="cline-any cline-yes">24x</span>
|
|
300
|
+
<span class="cline-any cline-yes">24x</span>
|
|
301
|
+
<span class="cline-any cline-yes">24x</span>
|
|
302
|
+
<span class="cline-any cline-yes">24x</span>
|
|
303
|
+
<span class="cline-any cline-yes">24x</span>
|
|
221
304
|
<span class="cline-any cline-no"> </span>
|
|
222
305
|
<span class="cline-any cline-no"> </span>
|
|
223
306
|
<span class="cline-any cline-yes">24x</span>
|
|
224
307
|
<span class="cline-any cline-yes">24x</span>
|
|
308
|
+
<span class="cline-any cline-yes">24x</span>
|
|
309
|
+
<span class="cline-any cline-yes">24x</span>
|
|
310
|
+
<span class="cline-any cline-yes">24x</span>
|
|
311
|
+
<span class="cline-any cline-yes">24x</span>
|
|
312
|
+
<span class="cline-any cline-yes">24x</span>
|
|
313
|
+
<span class="cline-any cline-yes">24x</span>
|
|
314
|
+
<span class="cline-any cline-yes">24x</span>
|
|
225
315
|
<span class="cline-any cline-yes">40x</span>
|
|
226
316
|
<span class="cline-any cline-yes">40x</span>
|
|
227
317
|
<span class="cline-any cline-no"> </span>
|
|
@@ -264,6 +354,12 @@
|
|
|
264
354
|
<span class="cline-any cline-yes">21x</span>
|
|
265
355
|
<span class="cline-any cline-yes">24x</span>
|
|
266
356
|
<span class="cline-any cline-yes">24x</span>
|
|
357
|
+
<span class="cline-any cline-yes">24x</span>
|
|
358
|
+
<span class="cline-any cline-yes">24x</span>
|
|
359
|
+
<span class="cline-any cline-yes">24x</span>
|
|
360
|
+
<span class="cline-any cline-yes">24x</span>
|
|
361
|
+
<span class="cline-any cline-yes">24x</span>
|
|
362
|
+
<span class="cline-any cline-yes">24x</span>
|
|
267
363
|
<span class="cline-any cline-yes">3x</span>
|
|
268
364
|
<span class="cline-any cline-yes">1x</span>
|
|
269
365
|
<span class="cline-any cline-yes">1x</span>
|
|
@@ -271,6 +367,12 @@
|
|
|
271
367
|
<span class="cline-any cline-yes">2x</span>
|
|
272
368
|
<span class="cline-any cline-yes">24x</span>
|
|
273
369
|
<span class="cline-any cline-yes">24x</span>
|
|
370
|
+
<span class="cline-any cline-yes">24x</span>
|
|
371
|
+
<span class="cline-any cline-yes">24x</span>
|
|
372
|
+
<span class="cline-any cline-yes">24x</span>
|
|
373
|
+
<span class="cline-any cline-yes">24x</span>
|
|
374
|
+
<span class="cline-any cline-yes">24x</span>
|
|
375
|
+
<span class="cline-any cline-yes">24x</span>
|
|
274
376
|
<span class="cline-any cline-yes">4x</span>
|
|
275
377
|
<span class="cline-any cline-yes">1x</span>
|
|
276
378
|
<span class="cline-any cline-yes">1x</span>
|
|
@@ -292,9 +394,7 @@
|
|
|
292
394
|
<span class="cline-any cline-yes">24x</span>
|
|
293
395
|
<span class="cline-any cline-yes">24x</span>
|
|
294
396
|
<span class="cline-any cline-yes">24x</span>
|
|
295
|
-
<span class="cline-any cline-yes">
|
|
296
|
-
<span class="cline-any cline-yes">24x</span>
|
|
297
|
-
<span class="cline-any cline-yes">24x</span>
|
|
397
|
+
<span class="cline-any cline-yes">1x</span>
|
|
298
398
|
<span class="cline-any cline-yes">1x</span>
|
|
299
399
|
<span class="cline-any cline-yes">1x</span>
|
|
300
400
|
<span class="cline-any cline-yes">1x</span>
|
|
@@ -303,23 +403,44 @@
|
|
|
303
403
|
<span class="cline-any cline-neutral"> </span>
|
|
304
404
|
<span class="cline-any cline-neutral"> </span></td><td class="text"><pre class="prettyprint lang-js">"use strict"
|
|
305
405
|
function notice () {
|
|
306
|
-
|
|
406
|
+
|
|
307
407
|
let
|
|
308
408
|
scroll = {'*':[]} // General events with their subscribers
|
|
309
409
|
, scrollOnce = {} // Single events with their subscribers
|
|
310
|
-
, ignore =
|
|
410
|
+
, ignore = new Set () // Ignore event names ( general and single )
|
|
311
411
|
, debugFlag = false
|
|
312
412
|
, debugHeader = ''
|
|
313
413
|
;
|
|
414
|
+
/**
|
|
415
|
+
* Register a regular event.
|
|
416
|
+
* @param {string|Symbol} e - Name of the event;
|
|
417
|
+
* @param {function} fn - Behaviour that will be assigned to this eventName;
|
|
418
|
+
* @returns void
|
|
419
|
+
*/
|
|
314
420
|
function on ( e, fn ) {
|
|
315
421
|
if ( !scroll[e] ) scroll[e] = []
|
|
316
422
|
scroll[e].push ( fn )
|
|
317
423
|
} // on func.
|
|
424
|
+
|
|
425
|
+
/**
|
|
426
|
+
* Register a single event that will be triggered only once.
|
|
427
|
+
* @param {string|Symbol} e - Name of the event; the wildcard '*' is not supported.
|
|
428
|
+
* @param {function} fn - Behaviour that will be executed when the event is triggered.
|
|
429
|
+
*/
|
|
318
430
|
function once ( e, fn ) {
|
|
319
431
|
if ( e === '*' ) <span class="branch-0 cbranch-no" title="branch not covered" >return </span> // The wildcard '*' doesn't work for 'once' events
|
|
320
432
|
if ( !scrollOnce[e] ) scrollOnce[e] = []
|
|
321
433
|
scrollOnce[e].push ( fn )
|
|
322
434
|
} // once func.
|
|
435
|
+
/**
|
|
436
|
+
* Remove a behavior (function) related to the specified event.
|
|
437
|
+
* If 'fx' is provided, only that specific function will be removed from the event.
|
|
438
|
+
* If 'fx' is not provided, all functions related to the event will be removed.
|
|
439
|
+
* Works with both regular and single events.
|
|
440
|
+
*
|
|
441
|
+
* @param {string|Symbol} e - Name of the event.
|
|
442
|
+
* @param {function} [fx] - Optional. The specific function to be removed.
|
|
443
|
+
*/
|
|
323
444
|
function off ( e, fx ) {
|
|
324
445
|
if ( fx ) { // fx is optional
|
|
325
446
|
if ( scroll[e] ) scroll[e] = scroll[e].filter ( fn => fn !== fx )
|
|
@@ -331,15 +452,34 @@ function notice () {
|
|
|
331
452
|
if ( scrollOnce[e] ) delete scrollOnce[e]
|
|
332
453
|
if ( scroll[e] ) delete scroll[e]
|
|
333
454
|
} // off func.
|
|
455
|
+
/**
|
|
456
|
+
* Resets all event-related data structures.
|
|
457
|
+
* Clears all general and single event subscriptions, as well as the ignore list.
|
|
458
|
+
*/
|
|
334
459
|
function reset () {
|
|
335
460
|
scroll = {'*':[]}
|
|
336
461
|
scrollOnce = {}
|
|
337
|
-
ignore =
|
|
462
|
+
ignore = new Set ()
|
|
338
463
|
} // reset func.
|
|
464
|
+
/**
|
|
465
|
+
* Enables or disables debug mode.
|
|
466
|
+
* In debug mode, every triggered event prints a message to the console, including the event name and arguments.
|
|
467
|
+
* The header argument is optional and can be used to provide a prefix string for the debug message.
|
|
468
|
+
* @param {boolean} val - Enable or disable debug mode.
|
|
469
|
+
* @param {string} [header] - Optional. The header string for the debug message.
|
|
470
|
+
* @returns void
|
|
471
|
+
*/
|
|
339
472
|
<span class="fstat-no" title="function not covered" > function debug ( val, header ) {</span>
|
|
340
473
|
<span class="cstat-no" title="statement not covered" > debugFlag = val ? true : false</span>
|
|
341
474
|
<span class="cstat-no" title="statement not covered" > if ( header && (typeof header === 'string') ) debugHeader = header</span>
|
|
342
475
|
} // debug func.
|
|
476
|
+
/**
|
|
477
|
+
* Triggers an event and executes all associated functions.
|
|
478
|
+
*
|
|
479
|
+
* @param {string|Symbol} e - Name of the event to be triggered.
|
|
480
|
+
* @param {...*} [args] - Optional. Arguments to be passed to the callback functions.
|
|
481
|
+
* @returns void
|
|
482
|
+
*/
|
|
343
483
|
function emit () {
|
|
344
484
|
const [ e, ...args ] = arguments
|
|
345
485
|
if ( debugFlag ) <span class="branch-0 cbranch-no" title="branch not covered" >{ </span>
|
|
@@ -355,7 +495,7 @@ function notice () {
|
|
|
355
495
|
function exeCallback ( name ) {
|
|
356
496
|
let stopped = false;
|
|
357
497
|
if ( name === '*' ) return
|
|
358
|
-
if ( ignore.
|
|
498
|
+
if ( ignore.has(name) ) return
|
|
359
499
|
scroll[name].every ( fn => {
|
|
360
500
|
const r = fn ( ...args );
|
|
361
501
|
if ( typeof(r) !== 'string' ) return true
|
|
@@ -365,7 +505,7 @@ function notice () {
|
|
|
365
505
|
}
|
|
366
506
|
<span class="cstat-no" title="statement not covered" ><span class="branch-0 cbranch-no" title="branch not covered" > return true</span></span>
|
|
367
507
|
})
|
|
368
|
-
if ( !stopped ) scroll['*'].forEach ( fn => fn(e,...args)
|
|
508
|
+
if ( !stopped ) scroll['*'].forEach ( fn => fn(e,...args) )
|
|
369
509
|
} // exeCallback func.
|
|
370
510
|
|
|
371
511
|
if ( e === '*' ) { // The wildcard '*' doesn't work for 'once' events
|
|
@@ -374,7 +514,7 @@ function notice () {
|
|
|
374
514
|
return
|
|
375
515
|
}
|
|
376
516
|
if ( scrollOnce[e] ) {
|
|
377
|
-
if ( ignore.
|
|
517
|
+
if ( ignore.has(e) ) return
|
|
378
518
|
scrollOnce[e].forEach ( fn => fn(...args) )
|
|
379
519
|
delete scrollOnce[e]
|
|
380
520
|
}
|
|
@@ -382,23 +522,35 @@ function notice () {
|
|
|
382
522
|
exeCallback ( e )
|
|
383
523
|
}
|
|
384
524
|
} // emit func.
|
|
525
|
+
/**
|
|
526
|
+
* Enables again specified event.
|
|
527
|
+
*
|
|
528
|
+
* @param {string|Symbol} e - Name of the event to be enabled again; the wildcard '*' is supported.
|
|
529
|
+
* @returns void
|
|
530
|
+
*/
|
|
385
531
|
function start ( e ) {
|
|
386
532
|
if ( e === '*' ) {
|
|
387
|
-
ignore
|
|
533
|
+
ignore.clear ()
|
|
388
534
|
return
|
|
389
535
|
}
|
|
390
|
-
ignore
|
|
536
|
+
ignore.delete ( e )
|
|
391
537
|
} // start func.
|
|
538
|
+
/**
|
|
539
|
+
* Temporarily disables specified event.
|
|
540
|
+
*
|
|
541
|
+
* @param {string|Symbol} e - Name of the event to be disabled; the wildcard '*' is supported.
|
|
542
|
+
* @returns void
|
|
543
|
+
*/
|
|
392
544
|
function stop ( e ) {
|
|
393
545
|
if ( e === '*' ) {
|
|
394
546
|
const
|
|
395
547
|
evNames = Object.keys ( scroll )
|
|
396
548
|
, evOnceNames = Object.keys ( scrollOnce )
|
|
397
549
|
;
|
|
398
|
-
ignore = [ ...evOnceNames, ...evNames ]
|
|
550
|
+
ignore = new Set ([ ...evOnceNames, ...evNames ])
|
|
399
551
|
return
|
|
400
552
|
}
|
|
401
|
-
ignore.
|
|
553
|
+
ignore.add ( e )
|
|
402
554
|
} // stop func.
|
|
403
555
|
|
|
404
556
|
return {
|
|
@@ -411,9 +563,7 @@ function notice () {
|
|
|
411
563
|
, start // Remove event from ignore list
|
|
412
564
|
, debug
|
|
413
565
|
}
|
|
414
|
-
|
|
415
|
-
return Notice ()
|
|
416
|
-
}
|
|
566
|
+
} // notice func.
|
|
417
567
|
|
|
418
568
|
|
|
419
569
|
|
|
@@ -427,7 +577,7 @@ export default notice
|
|
|
427
577
|
<div class='footer quiet pad2 space-top1 center small'>
|
|
428
578
|
Code coverage generated by
|
|
429
579
|
<a href="https://istanbul.js.org/" target="_blank" rel="noopener noreferrer">istanbul</a>
|
|
430
|
-
at
|
|
580
|
+
at 2025-05-02T08:10:32.747Z
|
|
431
581
|
</div>
|
|
432
582
|
<script src="prettify.js"></script>
|
|
433
583
|
<script>
|