@calmo/task-runner 3.8.1 → 3.8.3

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 (52) hide show
  1. package/CHANGELOG.md +9 -0
  2. package/coverage/coverage-final.json +4 -3
  3. package/coverage/index.html +7 -7
  4. package/coverage/lcov-report/index.html +7 -7
  5. package/coverage/lcov-report/src/EventBus.ts.html +70 -34
  6. package/coverage/lcov-report/src/ExecutionConstants.ts.html +121 -0
  7. package/coverage/lcov-report/src/TaskGraphValidationError.ts.html +1 -1
  8. package/coverage/lcov-report/src/TaskGraphValidator.ts.html +1 -1
  9. package/coverage/lcov-report/src/TaskRunner.ts.html +1 -1
  10. package/coverage/lcov-report/src/TaskRunnerBuilder.ts.html +1 -1
  11. package/coverage/lcov-report/src/TaskRunnerExecutionConfig.ts.html +1 -1
  12. package/coverage/lcov-report/src/TaskStateManager.ts.html +34 -34
  13. package/coverage/lcov-report/src/WorkflowExecutor.ts.html +151 -97
  14. package/coverage/lcov-report/src/contracts/ErrorTypes.ts.html +1 -1
  15. package/coverage/lcov-report/src/contracts/RunnerEvents.ts.html +1 -1
  16. package/coverage/lcov-report/src/contracts/index.html +1 -1
  17. package/coverage/lcov-report/src/index.html +26 -11
  18. package/coverage/lcov-report/src/strategies/DryRunExecutionStrategy.ts.html +1 -1
  19. package/coverage/lcov-report/src/strategies/RetryingExecutionStrategy.ts.html +1 -1
  20. package/coverage/lcov-report/src/strategies/StandardExecutionStrategy.ts.html +1 -1
  21. package/coverage/lcov-report/src/strategies/index.html +1 -1
  22. package/coverage/lcov.info +216 -200
  23. package/coverage/src/EventBus.ts.html +70 -34
  24. package/coverage/src/ExecutionConstants.ts.html +121 -0
  25. package/coverage/src/TaskGraphValidationError.ts.html +1 -1
  26. package/coverage/src/TaskGraphValidator.ts.html +1 -1
  27. package/coverage/src/TaskRunner.ts.html +1 -1
  28. package/coverage/src/TaskRunnerBuilder.ts.html +1 -1
  29. package/coverage/src/TaskRunnerExecutionConfig.ts.html +1 -1
  30. package/coverage/src/TaskStateManager.ts.html +34 -34
  31. package/coverage/src/WorkflowExecutor.ts.html +151 -97
  32. package/coverage/src/contracts/ErrorTypes.ts.html +1 -1
  33. package/coverage/src/contracts/RunnerEvents.ts.html +1 -1
  34. package/coverage/src/contracts/index.html +1 -1
  35. package/coverage/src/index.html +26 -11
  36. package/coverage/src/strategies/DryRunExecutionStrategy.ts.html +1 -1
  37. package/coverage/src/strategies/RetryingExecutionStrategy.ts.html +1 -1
  38. package/coverage/src/strategies/StandardExecutionStrategy.ts.html +1 -1
  39. package/coverage/src/strategies/index.html +1 -1
  40. package/dist/EventBus.js +11 -2
  41. package/dist/EventBus.js.map +1 -1
  42. package/dist/ExecutionConstants.d.ts +12 -0
  43. package/dist/ExecutionConstants.js +13 -0
  44. package/dist/ExecutionConstants.js.map +1 -0
  45. package/dist/WorkflowExecutor.d.ts +4 -0
  46. package/dist/WorkflowExecutor.js +62 -49
  47. package/dist/WorkflowExecutor.js.map +1 -1
  48. package/package.json +1 -1
  49. package/src/EventBus.ts +27 -15
  50. package/src/ExecutionConstants.ts +12 -0
  51. package/src/WorkflowExecutor.ts +69 -51
  52. package/test-report.xml +155 -131
@@ -3,45 +3,58 @@ SF:src/EventBus.ts
3
3
  FN:19,(anonymous_0)
4
4
  FN:39,(anonymous_1)
5
5
  FN:55,(anonymous_2)
6
- FN:64,(anonymous_3)
7
- FN:68,(anonymous_4)
8
- FNF:5
9
- FNH:5
10
- FNDA:16,(anonymous_0)
11
- FNDA:3,(anonymous_1)
12
- FNDA:437,(anonymous_2)
13
- FNDA:14,(anonymous_3)
6
+ FN:68,(anonymous_3)
7
+ FN:73,(anonymous_4)
8
+ FN:88,(anonymous_5)
9
+ FNF:6
10
+ FNH:6
11
+ FNDA:24,(anonymous_0)
12
+ FNDA:8,(anonymous_1)
13
+ FNDA:451,(anonymous_2)
14
+ FNDA:19,(anonymous_3)
14
15
  FNDA:1,(anonymous_4)
15
- DA:12,81
16
- DA:23,16
17
- DA:26,14
18
- DA:29,16
19
- DA:43,3
20
- DA:44,2
21
- DA:59,437
22
- DA:62,437
23
- DA:63,14
24
- DA:64,14
25
- DA:65,14
26
- DA:66,14
27
- DA:67,14
28
- DA:68,1
29
- DA:69,1
30
- DA:77,1
31
- LF:16
32
- LH:16
33
- BRDA:23,0,0,14
34
- BRDA:23,0,1,2
35
- BRDA:43,1,0,2
36
- BRDA:43,1,1,1
37
- BRDA:62,2,0,14
38
- BRDA:62,2,1,423
39
- BRDA:67,3,0,1
40
- BRDA:67,3,1,13
16
+ FNDA:1,(anonymous_5)
17
+ DA:12,92
18
+ DA:23,24
19
+ DA:26,21
20
+ DA:29,24
21
+ DA:43,8
22
+ DA:44,6
23
+ DA:59,451
24
+ DA:62,451
25
+ DA:63,19
26
+ DA:67,19
27
+ DA:69,19
28
+ DA:70,19
29
+ DA:71,19
30
+ DA:73,1
31
+ DA:74,1
32
+ DA:82,3
33
+ DA:90,1
34
+ LF:17
35
+ LH:17
36
+ BRDA:23,0,0,21
37
+ BRDA:23,0,1,3
38
+ BRDA:43,1,0,6
39
+ BRDA:43,1,1,2
40
+ BRDA:62,2,0,19
41
+ BRDA:62,2,1,432
42
+ BRDA:71,3,0,1
43
+ BRDA:71,3,1,18
41
44
  BRF:8
42
45
  BRH:8
43
46
  end_of_record
44
47
  TN:
48
+ SF:src/ExecutionConstants.ts
49
+ FNF:0
50
+ FNH:0
51
+ DA:4,18
52
+ LF:1
53
+ LH:1
54
+ BRF:0
55
+ BRH:0
56
+ end_of_record
57
+ TN:
45
58
  SF:src/TaskGraphValidationError.ts
46
59
  FN:8,(anonymous_0)
47
60
  FNF:1
@@ -316,78 +329,78 @@ FN:134,(anonymous_8)
316
329
  FN:143,(anonymous_9)
317
330
  FNF:10
318
331
  FNH:10
319
- FNDA:66,(anonymous_0)
320
- FNDA:65,(anonymous_1)
321
- FNDA:318,(anonymous_2)
322
- FNDA:142,(anonymous_3)
323
- FNDA:147,(anonymous_4)
324
- FNDA:88,(anonymous_5)
325
- FNDA:65,(anonymous_6)
326
- FNDA:144,(anonymous_7)
327
- FNDA:180,(anonymous_8)
332
+ FNDA:68,(anonymous_0)
333
+ FNDA:67,(anonymous_1)
334
+ FNDA:311,(anonymous_2)
335
+ FNDA:144,(anonymous_3)
336
+ FNDA:149,(anonymous_4)
337
+ FNDA:90,(anonymous_5)
338
+ FNDA:67,(anonymous_6)
339
+ FNDA:136,(anonymous_7)
340
+ FNDA:171,(anonymous_8)
328
341
  FNDA:12,(anonymous_9)
329
- DA:10,66
330
- DA:11,66
331
- DA:12,66
332
- DA:14,66
333
- DA:21,65
334
- DA:22,65
335
- DA:23,65
336
- DA:32,318
337
- DA:33,318
338
- DA:35,318
339
- DA:36,418
340
- DA:37,418
341
- DA:40,418
342
- DA:41,1170
343
- DA:42,1170
344
- DA:44,1013
342
+ DA:10,68
343
+ DA:11,68
344
+ DA:12,68
345
+ DA:14,68
346
+ DA:21,67
347
+ DA:22,67
348
+ DA:23,67
349
+ DA:32,311
350
+ DA:33,311
351
+ DA:35,311
352
+ DA:36,415
353
+ DA:37,415
354
+ DA:40,415
355
+ DA:41,1145
356
+ DA:42,1145
357
+ DA:44,988
345
358
  DA:45,157
346
359
  DA:46,9
347
360
  DA:47,9
348
- DA:51,418
361
+ DA:51,415
349
362
  DA:52,9
350
363
  DA:53,9
351
364
  DA:54,9
352
365
  DA:58,9
353
366
  DA:59,9
354
- DA:60,409
355
- DA:61,149
356
- DA:62,149
357
- DA:67,318
358
- DA:68,158
359
- DA:71,318
360
- DA:79,142
361
- DA:80,142
362
- DA:90,147
363
- DA:91,147
364
- DA:92,147
365
- DA:101,88
367
+ DA:60,406
368
+ DA:61,151
369
+ DA:62,151
370
+ DA:67,311
371
+ DA:68,160
372
+ DA:71,311
373
+ DA:79,144
374
+ DA:80,144
375
+ DA:90,149
376
+ DA:91,149
377
+ DA:92,149
378
+ DA:101,90
366
379
  DA:104,8
367
380
  DA:105,7
368
381
  DA:109,7
369
382
  DA:110,7
370
- DA:114,88
371
- DA:121,65
372
- DA:128,144
373
- DA:135,180
383
+ DA:114,90
384
+ DA:121,67
385
+ DA:128,136
386
+ DA:135,171
374
387
  DA:144,12
375
388
  DA:145,12
376
389
  DA:146,12
377
390
  LF:48
378
391
  LH:48
379
- BRDA:36,0,0,418
380
- BRDA:36,0,1,98
381
- BRDA:42,1,0,1013
392
+ BRDA:36,0,0,415
393
+ BRDA:36,0,1,100
394
+ BRDA:42,1,0,988
382
395
  BRDA:42,1,1,157
383
396
  BRDA:45,2,0,9
384
397
  BRDA:45,2,1,148
385
398
  BRDA:51,3,0,9
386
- BRDA:51,3,1,409
399
+ BRDA:51,3,1,406
387
400
  BRDA:53,4,0,5
388
401
  BRDA:53,4,1,4
389
- BRDA:60,5,0,149
390
- BRDA:60,5,1,260
402
+ BRDA:60,5,0,151
403
+ BRDA:60,5,1,255
391
404
  BRDA:104,6,0,7
392
405
  BRDA:104,6,1,1
393
406
  BRDA:104,7,0,8
@@ -397,128 +410,131 @@ BRH:16
397
410
  end_of_record
398
411
  TN:
399
412
  SF:src/WorkflowExecutor.ts
400
- FN:21,(anonymous_0)
401
- FN:35,(anonymous_1)
402
- FN:54,(anonymous_2)
403
- FN:106,(anonymous_3)
404
- FN:118,(anonymous_4)
405
- FN:131,(anonymous_5)
406
- FN:179,(anonymous_6)
407
- FN:182,(anonymous_7)
408
- FNF:8
409
- FNH:8
410
- FNDA:64,(anonymous_0)
411
- FNDA:64,(anonymous_1)
413
+ FN:22,(anonymous_0)
414
+ FN:36,(anonymous_1)
415
+ FN:55,(anonymous_2)
416
+ FN:109,(anonymous_3)
417
+ FN:121,(anonymous_4)
418
+ FN:135,(anonymous_5)
419
+ FN:148,(anonymous_6)
420
+ FNF:7
421
+ FNH:7
422
+ FNDA:66,(anonymous_0)
423
+ FNDA:66,(anonymous_1)
412
424
  FNDA:11,(anonymous_2)
413
- FNDA:319,(anonymous_3)
425
+ FNDA:312,(anonymous_3)
414
426
  FNDA:84,(anonymous_4)
415
- FNDA:149,(anonymous_5)
416
- FNDA:142,(anonymous_6)
417
- FNDA:149,(anonymous_7)
418
- DA:12,64
419
- DA:22,64
420
- DA:23,64
421
- DA:24,64
422
- DA:25,64
423
- DA:26,64
424
- DA:39,64
425
- DA:40,64
426
- DA:43,64
427
- DA:44,3
428
- DA:47,3
427
+ FNDA:151,(anonymous_5)
428
+ FNDA:151,(anonymous_6)
429
+ DA:13,66
430
+ DA:23,66
431
+ DA:24,66
432
+ DA:25,66
433
+ DA:26,66
434
+ DA:27,66
435
+ DA:40,66
436
+ DA:41,66
437
+ DA:44,66
438
+ DA:45,3
429
439
  DA:48,3
430
440
  DA:49,3
431
- DA:52,61
432
- DA:54,61
433
- DA:56,11
434
- DA:59,61
435
- DA:60,11
436
- DA:63,61
437
- DA:65,61
438
- DA:67,61
439
- DA:75,122
440
- DA:76,2
441
- DA:79,120
442
- DA:82,120
443
- DA:83,11
444
- DA:86,109
445
- DA:91,61
446
- DA:93,61
447
- DA:94,61
448
- DA:95,61
449
- DA:97,61
450
- DA:98,11
451
- DA:110,319
452
- DA:113,319
453
- DA:114,149
454
- DA:118,319
455
- DA:121,319
456
- DA:122,177
457
- DA:126,28
458
- DA:129,149
459
- DA:131,149
460
- DA:132,149
461
- DA:133,149
462
- DA:134,7
463
- DA:135,7
464
- DA:137,7
465
- DA:138,1
466
- DA:142,1
467
- DA:145,4
468
- DA:146,3
469
- DA:150,3
470
- DA:151,3
471
- DA:155,2
472
- DA:163,2
473
- DA:164,2
474
- DA:167,143
475
- DA:168,1
476
- DA:172,1
477
- DA:175,142
478
- DA:177,142
479
- DA:180,142
480
- DA:183,149
481
- DA:185,149
482
- DA:188,149
483
- LF:65
484
- LH:65
485
- BRDA:43,0,0,3
486
- BRDA:43,0,1,61
487
- BRDA:59,1,0,11
488
- BRDA:59,1,1,50
489
- BRDA:68,2,0,61
490
- BRDA:68,2,1,144
491
- BRDA:68,2,2,76
492
- BRDA:75,3,0,2
493
- BRDA:75,3,1,120
494
- BRDA:82,4,0,11
495
- BRDA:82,4,1,109
496
- BRDA:97,5,0,11
497
- BRDA:97,5,1,50
498
- BRDA:118,6,0,84
499
- BRDA:118,6,1,62
500
- BRDA:118,7,0,84
501
- BRDA:118,7,1,64
502
- BRDA:122,8,0,28
503
- BRDA:122,8,1,149
504
- BRDA:123,9,0,177
505
- BRDA:123,9,1,58
506
- BRDA:133,10,0,7
507
- BRDA:133,10,1,142
508
- BRDA:135,11,0,2
509
- BRDA:135,11,1,3
510
- BRDA:137,12,0,1
511
- BRDA:137,12,1,6
512
- BRDA:145,13,0,3
513
- BRDA:145,13,1,1
514
- BRDA:158,14,0,1
515
- BRDA:158,14,1,1
516
- BRDA:161,15,0,1
517
- BRDA:161,15,1,1
518
- BRDA:167,16,0,1
519
- BRDA:167,16,1,142
520
- BRF:35
521
- BRH:35
441
+ DA:50,3
442
+ DA:53,63
443
+ DA:55,63
444
+ DA:57,11
445
+ DA:60,63
446
+ DA:61,11
447
+ DA:64,63
448
+ DA:66,63
449
+ DA:68,63
450
+ DA:76,111
451
+ DA:77,2
452
+ DA:80,109
453
+ DA:83,109
454
+ DA:84,11
455
+ DA:89,98
456
+ DA:94,63
457
+ DA:96,63
458
+ DA:97,63
459
+ DA:98,63
460
+ DA:100,63
461
+ DA:101,11
462
+ DA:113,312
463
+ DA:116,312
464
+ DA:117,151
465
+ DA:121,312
466
+ DA:124,312
467
+ DA:125,179
468
+ DA:129,28
469
+ DA:132,151
470
+ DA:134,151
471
+ DA:136,151
472
+ DA:138,151
473
+ DA:141,151
474
+ DA:152,151
475
+ DA:153,151
476
+ DA:154,7
477
+ DA:155,7
478
+ DA:157,7
479
+ DA:158,1
480
+ DA:162,1
481
+ DA:165,4
482
+ DA:166,3
483
+ DA:170,3
484
+ DA:171,3
485
+ DA:175,2
486
+ DA:183,2
487
+ DA:184,2
488
+ DA:187,145
489
+ DA:188,1
490
+ DA:192,1
491
+ DA:195,144
492
+ DA:197,144
493
+ DA:198,144
494
+ DA:199,142
495
+ DA:201,2
496
+ DA:206,2
497
+ LF:68
498
+ LH:68
499
+ BRDA:44,0,0,3
500
+ BRDA:44,0,1,63
501
+ BRDA:60,1,0,11
502
+ BRDA:60,1,1,52
503
+ BRDA:69,2,0,63
504
+ BRDA:69,2,1,136
505
+ BRDA:69,2,2,66
506
+ BRDA:76,3,0,2
507
+ BRDA:76,3,1,109
508
+ BRDA:83,4,0,11
509
+ BRDA:83,4,1,98
510
+ BRDA:100,5,0,11
511
+ BRDA:100,5,1,52
512
+ BRDA:121,6,0,84
513
+ BRDA:121,6,1,62
514
+ BRDA:121,7,0,84
515
+ BRDA:121,7,1,64
516
+ BRDA:125,8,0,28
517
+ BRDA:125,8,1,151
518
+ BRDA:126,9,0,179
519
+ BRDA:126,9,1,58
520
+ BRDA:153,10,0,7
521
+ BRDA:153,10,1,144
522
+ BRDA:155,11,0,2
523
+ BRDA:155,11,1,3
524
+ BRDA:157,12,0,1
525
+ BRDA:157,12,1,6
526
+ BRDA:165,13,0,3
527
+ BRDA:165,13,1,1
528
+ BRDA:178,14,0,1
529
+ BRDA:178,14,1,1
530
+ BRDA:181,15,0,1
531
+ BRDA:181,15,1,1
532
+ BRDA:187,16,0,1
533
+ BRDA:187,16,1,144
534
+ BRDA:204,17,0,1
535
+ BRDA:204,17,1,1
536
+ BRF:37
537
+ BRH:37
522
538
  end_of_record
523
539
  TN:
524
540
  SF:src/contracts/ErrorTypes.ts
@@ -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'>16/16</span>
28
+ <span class='fraction'>17/17</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'>5/5</span>
42
+ <span class='fraction'>6/6</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'>16/16</span>
49
+ <span class='fraction'>17/17</span>
50
50
  </div>
51
51
 
52
52
 
@@ -149,7 +149,19 @@
149
149
  <a name='L84'></a><a href='#L84'>84</a>
150
150
  <a name='L85'></a><a href='#L85'>85</a>
151
151
  <a name='L86'></a><a href='#L86'>86</a>
152
- <a name='L87'></a><a href='#L87'>87</a></td><td class="line-coverage quiet"><span class="cline-any cline-neutral">&nbsp;</span>
152
+ <a name='L87'></a><a href='#L87'>87</a>
153
+ <a name='L88'></a><a href='#L88'>88</a>
154
+ <a name='L89'></a><a href='#L89'>89</a>
155
+ <a name='L90'></a><a href='#L90'>90</a>
156
+ <a name='L91'></a><a href='#L91'>91</a>
157
+ <a name='L92'></a><a href='#L92'>92</a>
158
+ <a name='L93'></a><a href='#L93'>93</a>
159
+ <a name='L94'></a><a href='#L94'>94</a>
160
+ <a name='L95'></a><a href='#L95'>95</a>
161
+ <a name='L96'></a><a href='#L96'>96</a>
162
+ <a name='L97'></a><a href='#L97'>97</a>
163
+ <a name='L98'></a><a href='#L98'>98</a>
164
+ <a name='L99'></a><a href='#L99'>99</a></td><td class="line-coverage quiet"><span class="cline-any cline-neutral">&nbsp;</span>
153
165
  <span class="cline-any cline-neutral">&nbsp;</span>
154
166
  <span class="cline-any cline-neutral">&nbsp;</span>
155
167
  <span class="cline-any cline-neutral">&nbsp;</span>
@@ -160,7 +172,7 @@
160
172
  <span class="cline-any cline-neutral">&nbsp;</span>
161
173
  <span class="cline-any cline-neutral">&nbsp;</span>
162
174
  <span class="cline-any cline-neutral">&nbsp;</span>
163
- <span class="cline-any cline-yes">81x</span>
175
+ <span class="cline-any cline-yes">92x</span>
164
176
  <span class="cline-any cline-neutral">&nbsp;</span>
165
177
  <span class="cline-any cline-neutral">&nbsp;</span>
166
178
  <span class="cline-any cline-neutral">&nbsp;</span>
@@ -171,13 +183,13 @@
171
183
  <span class="cline-any cline-neutral">&nbsp;</span>
172
184
  <span class="cline-any cline-neutral">&nbsp;</span>
173
185
  <span class="cline-any cline-neutral">&nbsp;</span>
174
- <span class="cline-any cline-yes">16x</span>
186
+ <span class="cline-any cline-yes">24x</span>
175
187
  <span class="cline-any cline-neutral">&nbsp;</span>
176
188
  <span class="cline-any cline-neutral">&nbsp;</span>
177
- <span class="cline-any cline-yes">14x</span>
189
+ <span class="cline-any cline-yes">21x</span>
178
190
  <span class="cline-any cline-neutral">&nbsp;</span>
179
191
  <span class="cline-any cline-neutral">&nbsp;</span>
180
- <span class="cline-any cline-yes">16x</span>
192
+ <span class="cline-any cline-yes">24x</span>
181
193
  <span class="cline-any cline-neutral">&nbsp;</span>
182
194
  <span class="cline-any cline-neutral">&nbsp;</span>
183
195
  <span class="cline-any cline-neutral">&nbsp;</span>
@@ -191,8 +203,11 @@
191
203
  <span class="cline-any cline-neutral">&nbsp;</span>
192
204
  <span class="cline-any cline-neutral">&nbsp;</span>
193
205
  <span class="cline-any cline-neutral">&nbsp;</span>
194
- <span class="cline-any cline-yes">3x</span>
195
- <span class="cline-any cline-yes">2x</span>
206
+ <span class="cline-any cline-yes">8x</span>
207
+ <span class="cline-any cline-yes">6x</span>
208
+ <span class="cline-any cline-neutral">&nbsp;</span>
209
+ <span class="cline-any cline-neutral">&nbsp;</span>
210
+ <span class="cline-any cline-neutral">&nbsp;</span>
196
211
  <span class="cline-any cline-neutral">&nbsp;</span>
197
212
  <span class="cline-any cline-neutral">&nbsp;</span>
198
213
  <span class="cline-any cline-neutral">&nbsp;</span>
@@ -204,18 +219,20 @@
204
219
  <span class="cline-any cline-neutral">&nbsp;</span>
205
220
  <span class="cline-any cline-neutral">&nbsp;</span>
206
221
  <span class="cline-any cline-neutral">&nbsp;</span>
222
+ <span class="cline-any cline-yes">451x</span>
207
223
  <span class="cline-any cline-neutral">&nbsp;</span>
208
224
  <span class="cline-any cline-neutral">&nbsp;</span>
225
+ <span class="cline-any cline-yes">451x</span>
226
+ <span class="cline-any cline-yes">19x</span>
209
227
  <span class="cline-any cline-neutral">&nbsp;</span>
210
- <span class="cline-any cline-yes">437x</span>
211
228
  <span class="cline-any cline-neutral">&nbsp;</span>
212
229
  <span class="cline-any cline-neutral">&nbsp;</span>
213
- <span class="cline-any cline-yes">437x</span>
214
- <span class="cline-any cline-yes">14x</span>
215
- <span class="cline-any cline-yes">14x</span>
216
- <span class="cline-any cline-yes">14x</span>
217
- <span class="cline-any cline-yes">14x</span>
218
- <span class="cline-any cline-yes">14x</span>
230
+ <span class="cline-any cline-yes">19x</span>
231
+ <span class="cline-any cline-neutral">&nbsp;</span>
232
+ <span class="cline-any cline-yes">19x</span>
233
+ <span class="cline-any cline-yes">19x</span>
234
+ <span class="cline-any cline-yes">19x</span>
235
+ <span class="cline-any cline-neutral">&nbsp;</span>
219
236
  <span class="cline-any cline-yes">1x</span>
220
237
  <span class="cline-any cline-yes">1x</span>
221
238
  <span class="cline-any cline-neutral">&nbsp;</span>
@@ -225,7 +242,7 @@
225
242
  <span class="cline-any cline-neutral">&nbsp;</span>
226
243
  <span class="cline-any cline-neutral">&nbsp;</span>
227
244
  <span class="cline-any cline-neutral">&nbsp;</span>
228
- <span class="cline-any cline-yes">1x</span>
245
+ <span class="cline-any cline-yes">3x</span>
229
246
  <span class="cline-any cline-neutral">&nbsp;</span>
230
247
  <span class="cline-any cline-neutral">&nbsp;</span>
231
248
  <span class="cline-any cline-neutral">&nbsp;</span>
@@ -233,6 +250,13 @@
233
250
  <span class="cline-any cline-neutral">&nbsp;</span>
234
251
  <span class="cline-any cline-neutral">&nbsp;</span>
235
252
  <span class="cline-any cline-neutral">&nbsp;</span>
253
+ <span class="cline-any cline-yes">1x</span>
254
+ <span class="cline-any cline-neutral">&nbsp;</span>
255
+ <span class="cline-any cline-neutral">&nbsp;</span>
256
+ <span class="cline-any cline-neutral">&nbsp;</span>
257
+ <span class="cline-any cline-neutral">&nbsp;</span>
258
+ <span class="cline-any cline-neutral">&nbsp;</span>
259
+ <span class="cline-any cline-neutral">&nbsp;</span>
236
260
  <span class="cline-any cline-neutral">&nbsp;</span>
237
261
  <span class="cline-any cline-neutral">&nbsp;</span>
238
262
  <span class="cline-any cline-neutral">&nbsp;</span></td><td class="text"><pre class="prettyprint lang-js">import {
@@ -298,25 +322,37 @@ export class EventBus&lt;TContext&gt; {
298
322
  | undefined;
299
323
  if (listeners) {
300
324
  for (const listener of listeners) {
301
- Promise.resolve().then(() =&gt; {
302
- try {
303
- const result = listener(data);
304
- if (result instanceof Promise) {
305
- result.catch((error) =&gt; {
306
- console.error(
307
- `Error in event listener for ${String(event)}:`,
308
- error
309
- );
310
- });
325
+ // We use Promise.resolve().then() to schedule the listener on the microtask queue,
326
+ // ensuring the emit method remains non-blocking.
327
+ // The final .catch() ensures that any errors in the promise infrastructure itself are logged.
328
+ Promise.resolve()
329
+ .then(() =&gt; {
330
+ try {
331
+ const result = listener(data);
332
+ if (result instanceof Promise) {
333
+ // Handle async listener rejections
334
+ result.catch((error) =&gt; {
335
+ console.error(
336
+ `Error in event listener for ${String(event)}:`,
337
+ error
338
+ );
339
+ });
340
+ }
341
+ } catch (error) {
342
+ // Handle sync listener errors
343
+ console.error(
344
+ `Error in event listener for ${String(event)}:`,
345
+ error
346
+ );
311
347
  }
312
- } catch (error) {
313
- // Prevent listener errors from bubbling up
348
+ })
349
+ .catch((error) =&gt; {
350
+ // detailed handling for the promise chain itself
314
351
  console.error(
315
- `Error in event listener for ${String(event)}:`,
352
+ `Unexpected error in event bus execution for ${String(event)}:`,
316
353
  error
317
354
  );
318
- }
319
- });
355
+ });
320
356
  }
321
357
  }
322
358
  }
@@ -328,7 +364,7 @@ export class EventBus&lt;TContext&gt; {
328
364
  <div class='footer quiet pad2 space-top1 center small'>
329
365
  Code coverage generated by
330
366
  <a href="https://istanbul.js.org/" target="_blank" rel="noopener noreferrer">istanbul</a>
331
- at 2026-01-21T01:05:21.392Z
367
+ at 2026-01-21T01:20:30.153Z
332
368
  </div>
333
369
  <script src="../prettify.js"></script>
334
370
  <script>