topkat-utils 1.2.115 → 1.2.117
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/coverage/clover.xml +169 -158
- package/coverage/coverage-final.json +2 -2
- package/coverage/lcov-report/clean-stack-trace.ts.html +1 -1
- package/coverage/lcov-report/config.ts.html +2 -2
- package/coverage/lcov-report/error-utils.ts.html +1 -1
- package/coverage/lcov-report/index.html +20 -20
- package/coverage/lcov-report/is-empty.ts.html +1 -1
- package/coverage/lcov-report/is-nodejs.ts.html +1 -1
- package/coverage/lcov-report/is-object.ts.html +1 -1
- package/coverage/lcov-report/isset.ts.html +1 -1
- package/coverage/lcov-report/logger-utils.ts.html +233 -200
- package/coverage/lcov-report/loop-utils.ts.html +1 -1
- package/coverage/lcov-report/math-utils.ts.html +1 -1
- package/coverage/lcov-report/object-utils.ts.html +1 -1
- package/coverage/lcov-report/regexp-utils.ts.html +1 -1
- package/coverage/lcov-report/remove-circular-json-stringify.ts.html +1 -1
- package/coverage/lcov-report/string-utils.ts.html +1 -1
- package/coverage/lcov-report/timer-utils.ts.html +1 -1
- package/coverage/lcov-report/transaction-utils.ts.html +1 -1
- package/coverage/lcov.info +283 -185
- package/dist/src/logger-utils.d.ts +2 -1
- package/dist/src/logger-utils.js +11 -2
- package/dist/src/logger-utils.js.map +1 -1
- package/package.json +1 -1
- package/src/logger-utils.ts +13 -2
|
@@ -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">56.94% </span>
|
|
27
27
|
<span class="quiet">Statements</span>
|
|
28
|
-
<span class='fraction'>
|
|
28
|
+
<span class='fraction'>209/367</span>
|
|
29
29
|
</div>
|
|
30
30
|
|
|
31
31
|
|
|
32
32
|
<div class='fl pad1y space-right2'>
|
|
33
|
-
<span class="strong">
|
|
33
|
+
<span class="strong">72.22% </span>
|
|
34
34
|
<span class="quiet">Branches</span>
|
|
35
|
-
<span class='fraction'>
|
|
35
|
+
<span class='fraction'>26/36</span>
|
|
36
36
|
</div>
|
|
37
37
|
|
|
38
38
|
|
|
39
39
|
<div class='fl pad1y space-right2'>
|
|
40
|
-
<span class="strong">
|
|
40
|
+
<span class="strong">11.84% </span>
|
|
41
41
|
<span class="quiet">Functions</span>
|
|
42
|
-
<span class='fraction'>
|
|
42
|
+
<span class='fraction'>9/76</span>
|
|
43
43
|
</div>
|
|
44
44
|
|
|
45
45
|
|
|
46
46
|
<div class='fl pad1y space-right2'>
|
|
47
|
-
<span class="strong">
|
|
47
|
+
<span class="strong">56.94% </span>
|
|
48
48
|
<span class="quiet">Lines</span>
|
|
49
|
-
<span class='fraction'>
|
|
49
|
+
<span class='fraction'>209/367</span>
|
|
50
50
|
</div>
|
|
51
51
|
|
|
52
52
|
|
|
@@ -61,7 +61,7 @@
|
|
|
61
61
|
</div>
|
|
62
62
|
</template>
|
|
63
63
|
</div>
|
|
64
|
-
<div class='status-line
|
|
64
|
+
<div class='status-line medium'></div>
|
|
65
65
|
<pre><table class="coverage">
|
|
66
66
|
<tr><td class="line-count quiet"><a name='L1'></a><a href='#L1'>1</a>
|
|
67
67
|
<a name='L2'></a><a href='#L2'>2</a>
|
|
@@ -420,7 +420,18 @@
|
|
|
420
420
|
<a name='L355'></a><a href='#L355'>355</a>
|
|
421
421
|
<a name='L356'></a><a href='#L356'>356</a>
|
|
422
422
|
<a name='L357'></a><a href='#L357'>357</a>
|
|
423
|
-
<a name='L358'></a><a href='#L358'>358</a
|
|
423
|
+
<a name='L358'></a><a href='#L358'>358</a>
|
|
424
|
+
<a name='L359'></a><a href='#L359'>359</a>
|
|
425
|
+
<a name='L360'></a><a href='#L360'>360</a>
|
|
426
|
+
<a name='L361'></a><a href='#L361'>361</a>
|
|
427
|
+
<a name='L362'></a><a href='#L362'>362</a>
|
|
428
|
+
<a name='L363'></a><a href='#L363'>363</a>
|
|
429
|
+
<a name='L364'></a><a href='#L364'>364</a>
|
|
430
|
+
<a name='L365'></a><a href='#L365'>365</a>
|
|
431
|
+
<a name='L366'></a><a href='#L366'>366</a>
|
|
432
|
+
<a name='L367'></a><a href='#L367'>367</a>
|
|
433
|
+
<a name='L368'></a><a href='#L368'>368</a>
|
|
434
|
+
<a name='L369'></a><a href='#L369'>369</a></td><td class="line-coverage quiet"><span class="cline-any cline-yes">2x</span>
|
|
424
435
|
<span class="cline-any cline-yes">2x</span>
|
|
425
436
|
<span class="cline-any cline-yes">2x</span>
|
|
426
437
|
<span class="cline-any cline-yes">2x</span>
|
|
@@ -440,15 +451,20 @@
|
|
|
440
451
|
<span class="cline-any cline-yes">2x</span>
|
|
441
452
|
<span class="cline-any cline-yes">2x</span>
|
|
442
453
|
<span class="cline-any cline-yes">2x</span>
|
|
443
|
-
<span class="cline-any cline-
|
|
444
|
-
<span class="cline-any cline-yes">2x</span>
|
|
454
|
+
<span class="cline-any cline-yes">1x</span>
|
|
445
455
|
<span class="cline-any cline-yes">2x</span>
|
|
446
456
|
<span class="cline-any cline-yes">2x</span>
|
|
447
457
|
<span class="cline-any cline-yes">2x</span>
|
|
448
458
|
<span class="cline-any cline-yes">2x</span>
|
|
459
|
+
<span class="cline-any cline-yes">1x</span>
|
|
449
460
|
<span class="cline-any cline-yes">2x</span>
|
|
450
461
|
<span class="cline-any cline-yes">2x</span>
|
|
451
462
|
<span class="cline-any cline-yes">2x</span>
|
|
463
|
+
<span class="cline-any cline-yes">1x</span>
|
|
464
|
+
<span class="cline-any cline-yes">1x</span>
|
|
465
|
+
<span class="cline-any cline-yes">1x</span>
|
|
466
|
+
<span class="cline-any cline-yes">1x</span>
|
|
467
|
+
<span class="cline-any cline-yes">1x</span>
|
|
452
468
|
<span class="cline-any cline-no"> </span>
|
|
453
469
|
<span class="cline-any cline-no"> </span>
|
|
454
470
|
<span class="cline-any cline-no"> </span>
|
|
@@ -469,15 +485,15 @@
|
|
|
469
485
|
<span class="cline-any cline-no"> </span>
|
|
470
486
|
<span class="cline-any cline-no"> </span>
|
|
471
487
|
<span class="cline-any cline-no"> </span>
|
|
488
|
+
<span class="cline-any cline-yes">1x</span>
|
|
489
|
+
<span class="cline-any cline-yes">1x</span>
|
|
472
490
|
<span class="cline-any cline-no"> </span>
|
|
473
491
|
<span class="cline-any cline-no"> </span>
|
|
474
|
-
<span class="cline-any cline-
|
|
475
|
-
<span class="cline-any cline-no"> </span>
|
|
476
|
-
<span class="cline-any cline-no"> </span>
|
|
492
|
+
<span class="cline-any cline-yes">1x</span>
|
|
477
493
|
<span class="cline-any cline-yes">2x</span>
|
|
478
494
|
<span class="cline-any cline-yes">2x</span>
|
|
479
|
-
<span class="cline-any cline-
|
|
480
|
-
<span class="cline-any cline-
|
|
495
|
+
<span class="cline-any cline-yes">1x</span>
|
|
496
|
+
<span class="cline-any cline-yes">1x</span>
|
|
481
497
|
<span class="cline-any cline-yes">2x</span>
|
|
482
498
|
<span class="cline-any cline-yes">2x</span>
|
|
483
499
|
<span class="cline-any cline-yes">2x</span>
|
|
@@ -495,33 +511,28 @@
|
|
|
495
511
|
<span class="cline-any cline-yes">2x</span>
|
|
496
512
|
<span class="cline-any cline-yes">2x</span>
|
|
497
513
|
<span class="cline-any cline-yes">2x</span>
|
|
514
|
+
<span class="cline-any cline-yes">1x</span>
|
|
515
|
+
<span class="cline-any cline-yes">1x</span>
|
|
498
516
|
<span class="cline-any cline-yes">2x</span>
|
|
499
517
|
<span class="cline-any cline-yes">2x</span>
|
|
500
518
|
<span class="cline-any cline-yes">2x</span>
|
|
501
|
-
<span class="cline-any cline-yes">
|
|
502
|
-
<span class="cline-any cline-yes">
|
|
503
|
-
<span class="cline-any cline-no"> </span>
|
|
504
|
-
<span class="cline-any cline-no"> </span>
|
|
505
|
-
<span class="cline-any cline-yes">2x</span>
|
|
506
|
-
<span class="cline-any cline-yes">2x</span>
|
|
519
|
+
<span class="cline-any cline-yes">1x</span>
|
|
520
|
+
<span class="cline-any cline-yes">1x</span>
|
|
507
521
|
<span class="cline-any cline-yes">2x</span>
|
|
508
522
|
<span class="cline-any cline-yes">2x</span>
|
|
509
523
|
<span class="cline-any cline-yes">2x</span>
|
|
524
|
+
<span class="cline-any cline-yes">1x</span>
|
|
525
|
+
<span class="cline-any cline-yes">1x</span>
|
|
510
526
|
<span class="cline-any cline-yes">2x</span>
|
|
511
527
|
<span class="cline-any cline-yes">2x</span>
|
|
512
528
|
<span class="cline-any cline-yes">2x</span>
|
|
513
|
-
<span class="cline-any cline-
|
|
514
|
-
<span class="cline-any cline-
|
|
515
|
-
<span class="cline-any cline-yes">
|
|
516
|
-
<span class="cline-any cline-yes">
|
|
517
|
-
<span class="cline-any cline-yes">
|
|
518
|
-
<span class="cline-any cline-yes">
|
|
519
|
-
<span class="cline-any cline-yes">
|
|
520
|
-
<span class="cline-any cline-no"> </span>
|
|
521
|
-
<span class="cline-any cline-no"> </span>
|
|
522
|
-
<span class="cline-any cline-no"> </span>
|
|
523
|
-
<span class="cline-any cline-no"> </span>
|
|
524
|
-
<span class="cline-any cline-no"> </span>
|
|
529
|
+
<span class="cline-any cline-yes">1x</span>
|
|
530
|
+
<span class="cline-any cline-yes">1x</span>
|
|
531
|
+
<span class="cline-any cline-yes">1x</span>
|
|
532
|
+
<span class="cline-any cline-yes">1x</span>
|
|
533
|
+
<span class="cline-any cline-yes">1x</span>
|
|
534
|
+
<span class="cline-any cline-yes">1x</span>
|
|
535
|
+
<span class="cline-any cline-yes">1x</span>
|
|
525
536
|
<span class="cline-any cline-no"> </span>
|
|
526
537
|
<span class="cline-any cline-no"> </span>
|
|
527
538
|
<span class="cline-any cline-no"> </span>
|
|
@@ -529,66 +540,68 @@
|
|
|
529
540
|
<span class="cline-any cline-no"> </span>
|
|
530
541
|
<span class="cline-any cline-no"> </span>
|
|
531
542
|
<span class="cline-any cline-no"> </span>
|
|
532
|
-
<span class="cline-any cline-yes">
|
|
533
|
-
<span class="cline-any cline-yes">
|
|
534
|
-
<span class="cline-any cline-yes">
|
|
543
|
+
<span class="cline-any cline-yes">1x</span>
|
|
544
|
+
<span class="cline-any cline-yes">1x</span>
|
|
545
|
+
<span class="cline-any cline-yes">1x</span>
|
|
535
546
|
<span class="cline-any cline-no"> </span>
|
|
547
|
+
<span class="cline-any cline-yes">1x</span>
|
|
536
548
|
<span class="cline-any cline-yes">2x</span>
|
|
537
|
-
<span class="cline-any cline-yes">
|
|
549
|
+
<span class="cline-any cline-yes">1x</span>
|
|
550
|
+
<span class="cline-any cline-yes">1x</span>
|
|
538
551
|
<span class="cline-any cline-no"> </span>
|
|
539
|
-
<span class="cline-any cline-
|
|
540
|
-
<span class="cline-any cline-no"> </span>
|
|
541
|
-
<span class="cline-any cline-no"> </span>
|
|
542
|
-
<span class="cline-any cline-yes">2x</span>
|
|
552
|
+
<span class="cline-any cline-yes">1x</span>
|
|
543
553
|
<span class="cline-any cline-yes">2x</span>
|
|
554
|
+
<span class="cline-any cline-yes">1x</span>
|
|
544
555
|
<span class="cline-any cline-no"> </span>
|
|
545
556
|
<span class="cline-any cline-no"> </span>
|
|
546
557
|
<span class="cline-any cline-no"> </span>
|
|
547
|
-
<span class="cline-any cline-
|
|
548
|
-
<span class="cline-any cline-
|
|
549
|
-
<span class="cline-any cline-yes">
|
|
550
|
-
<span class="cline-any cline-yes">
|
|
551
|
-
<span class="cline-any cline-no"> </span>
|
|
558
|
+
<span class="cline-any cline-yes">1x</span>
|
|
559
|
+
<span class="cline-any cline-yes">1x</span>
|
|
560
|
+
<span class="cline-any cline-yes">1x</span>
|
|
561
|
+
<span class="cline-any cline-yes">1x</span>
|
|
552
562
|
<span class="cline-any cline-no"> </span>
|
|
553
563
|
<span class="cline-any cline-no"> </span>
|
|
554
564
|
<span class="cline-any cline-no"> </span>
|
|
565
|
+
<span class="cline-any cline-yes">1x</span>
|
|
555
566
|
<span class="cline-any cline-yes">2x</span>
|
|
567
|
+
<span class="cline-any cline-yes">1x</span>
|
|
568
|
+
<span class="cline-any cline-yes">1x</span>
|
|
569
|
+
<span class="cline-any cline-yes">1x</span>
|
|
570
|
+
<span class="cline-any cline-yes">1x</span>
|
|
556
571
|
<span class="cline-any cline-yes">2x</span>
|
|
557
572
|
<span class="cline-any cline-yes">2x</span>
|
|
558
573
|
<span class="cline-any cline-yes">2x</span>
|
|
559
574
|
<span class="cline-any cline-yes">2x</span>
|
|
560
575
|
<span class="cline-any cline-yes">2x</span>
|
|
561
|
-
<span class="cline-any cline-yes">
|
|
562
|
-
<span class="cline-any cline-yes">
|
|
576
|
+
<span class="cline-any cline-yes">1x</span>
|
|
577
|
+
<span class="cline-any cline-yes">1x</span>
|
|
578
|
+
<span class="cline-any cline-yes">1x</span>
|
|
563
579
|
<span class="cline-any cline-yes">2x</span>
|
|
564
580
|
<span class="cline-any cline-yes">2x</span>
|
|
565
581
|
<span class="cline-any cline-no"> </span>
|
|
566
582
|
<span class="cline-any cline-no"> </span>
|
|
567
583
|
<span class="cline-any cline-no"> </span>
|
|
584
|
+
<span class="cline-any cline-yes">1x</span>
|
|
568
585
|
<span class="cline-any cline-yes">2x</span>
|
|
569
|
-
<span class="cline-any cline-yes">
|
|
586
|
+
<span class="cline-any cline-yes">1x</span>
|
|
587
|
+
<span class="cline-any cline-yes">1x</span>
|
|
588
|
+
<span class="cline-any cline-yes">1x</span>
|
|
570
589
|
<span class="cline-any cline-no"> </span>
|
|
590
|
+
<span class="cline-any cline-yes">1x</span>
|
|
591
|
+
<span class="cline-any cline-yes">1x</span>
|
|
592
|
+
<span class="cline-any cline-yes">1x</span>
|
|
593
|
+
<span class="cline-any cline-yes">1x</span>
|
|
571
594
|
<span class="cline-any cline-no"> </span>
|
|
572
595
|
<span class="cline-any cline-no"> </span>
|
|
596
|
+
<span class="cline-any cline-yes">1x</span>
|
|
597
|
+
<span class="cline-any cline-yes">1x</span>
|
|
598
|
+
<span class="cline-any cline-yes">1x</span>
|
|
599
|
+
<span class="cline-any cline-yes">1x</span>
|
|
573
600
|
<span class="cline-any cline-no"> </span>
|
|
574
|
-
<span class="cline-any cline-yes">
|
|
575
|
-
<span class="cline-any cline-yes">
|
|
576
|
-
<span class="cline-any cline-yes">
|
|
577
|
-
<span class="cline-any cline-yes">
|
|
578
|
-
<span class="cline-any cline-no"> </span>
|
|
579
|
-
<span class="cline-any cline-no"> </span>
|
|
580
|
-
<span class="cline-any cline-no"> </span>
|
|
581
|
-
<span class="cline-any cline-no"> </span>
|
|
582
|
-
<span class="cline-any cline-no"> </span>
|
|
583
|
-
<span class="cline-any cline-no"> </span>
|
|
584
|
-
<span class="cline-any cline-no"> </span>
|
|
585
|
-
<span class="cline-any cline-yes">2x</span>
|
|
586
|
-
<span class="cline-any cline-yes">2x</span>
|
|
587
|
-
<span class="cline-any cline-yes">2x</span>
|
|
588
|
-
<span class="cline-any cline-yes">2x</span>
|
|
589
|
-
<span class="cline-any cline-no"> </span>
|
|
590
|
-
<span class="cline-any cline-no"> </span>
|
|
591
|
-
<span class="cline-any cline-no"> </span>
|
|
601
|
+
<span class="cline-any cline-yes">1x</span>
|
|
602
|
+
<span class="cline-any cline-yes">1x</span>
|
|
603
|
+
<span class="cline-any cline-yes">1x</span>
|
|
604
|
+
<span class="cline-any cline-yes">1x</span>
|
|
592
605
|
<span class="cline-any cline-no"> </span>
|
|
593
606
|
<span class="cline-any cline-no"> </span>
|
|
594
607
|
<span class="cline-any cline-no"> </span>
|
|
@@ -598,12 +611,24 @@
|
|
|
598
611
|
<span class="cline-any cline-no"> </span>
|
|
599
612
|
<span class="cline-any cline-no"> </span>
|
|
600
613
|
<span class="cline-any cline-no"> </span>
|
|
614
|
+
<span class="cline-any cline-yes">1x</span>
|
|
615
|
+
<span class="cline-any cline-yes">1x</span>
|
|
601
616
|
<span class="cline-any cline-no"> </span>
|
|
602
617
|
<span class="cline-any cline-no"> </span>
|
|
618
|
+
<span class="cline-any cline-yes">1x</span>
|
|
603
619
|
<span class="cline-any cline-yes">2x</span>
|
|
604
620
|
<span class="cline-any cline-yes">2x</span>
|
|
605
621
|
<span class="cline-any cline-no"> </span>
|
|
606
622
|
<span class="cline-any cline-no"> </span>
|
|
623
|
+
<span class="cline-any cline-yes">1x</span>
|
|
624
|
+
<span class="cline-any cline-yes">1x</span>
|
|
625
|
+
<span class="cline-any cline-yes">1x</span>
|
|
626
|
+
<span class="cline-any cline-yes">1x</span>
|
|
627
|
+
<span class="cline-any cline-yes">1x</span>
|
|
628
|
+
<span class="cline-any cline-yes">1x</span>
|
|
629
|
+
<span class="cline-any cline-yes">1x</span>
|
|
630
|
+
<span class="cline-any cline-yes">1x</span>
|
|
631
|
+
<span class="cline-any cline-yes">1x</span>
|
|
607
632
|
<span class="cline-any cline-yes">2x</span>
|
|
608
633
|
<span class="cline-any cline-yes">2x</span>
|
|
609
634
|
<span class="cline-any cline-yes">2x</span>
|
|
@@ -615,44 +640,41 @@
|
|
|
615
640
|
<span class="cline-any cline-yes">2x</span>
|
|
616
641
|
<span class="cline-any cline-yes">2x</span>
|
|
617
642
|
<span class="cline-any cline-yes">2x</span>
|
|
643
|
+
<span class="cline-any cline-yes">1x</span>
|
|
618
644
|
<span class="cline-any cline-yes">2x</span>
|
|
619
|
-
<span class="cline-any cline-yes">
|
|
620
|
-
<span class="cline-any cline-yes">
|
|
621
|
-
<span class="cline-any cline-yes">
|
|
622
|
-
<span class="cline-any cline-yes">2x</span>
|
|
623
|
-
<span class="cline-any cline-yes">2x</span>
|
|
624
|
-
<span class="cline-any cline-yes">2x</span>
|
|
625
|
-
<span class="cline-any cline-yes">2x</span>
|
|
626
|
-
<span class="cline-any cline-no"> </span>
|
|
627
|
-
<span class="cline-any cline-yes">2x</span>
|
|
628
|
-
<span class="cline-any cline-no"> </span>
|
|
629
|
-
<span class="cline-any cline-no"> </span>
|
|
630
|
-
<span class="cline-any cline-no"> </span>
|
|
645
|
+
<span class="cline-any cline-yes">1x</span>
|
|
646
|
+
<span class="cline-any cline-yes">1x</span>
|
|
647
|
+
<span class="cline-any cline-yes">1x</span>
|
|
631
648
|
<span class="cline-any cline-no"> </span>
|
|
649
|
+
<span class="cline-any cline-yes">1x</span>
|
|
632
650
|
<span class="cline-any cline-no"> </span>
|
|
633
651
|
<span class="cline-any cline-no"> </span>
|
|
634
652
|
<span class="cline-any cline-no"> </span>
|
|
635
653
|
<span class="cline-any cline-no"> </span>
|
|
636
654
|
<span class="cline-any cline-no"> </span>
|
|
637
655
|
<span class="cline-any cline-no"> </span>
|
|
638
|
-
<span class="cline-any cline-
|
|
639
|
-
<span class="cline-any cline-yes">
|
|
640
|
-
<span class="cline-any cline-yes">
|
|
641
|
-
<span class="cline-any cline-yes">
|
|
642
|
-
<span class="cline-any cline-yes">
|
|
643
|
-
<span class="cline-any cline-yes">
|
|
644
|
-
<span class="cline-any cline-
|
|
645
|
-
<span class="cline-any cline-no"> </span>
|
|
646
|
-
<span class="cline-any cline-yes">2x</span>
|
|
647
|
-
<span class="cline-any cline-yes">2x</span>
|
|
656
|
+
<span class="cline-any cline-yes">1x</span>
|
|
657
|
+
<span class="cline-any cline-yes">1x</span>
|
|
658
|
+
<span class="cline-any cline-yes">1x</span>
|
|
659
|
+
<span class="cline-any cline-yes">1x</span>
|
|
660
|
+
<span class="cline-any cline-yes">1x</span>
|
|
661
|
+
<span class="cline-any cline-yes">1x</span>
|
|
662
|
+
<span class="cline-any cline-yes">1x</span>
|
|
648
663
|
<span class="cline-any cline-yes">2x</span>
|
|
649
664
|
<span class="cline-any cline-yes">2x</span>
|
|
650
665
|
<span class="cline-any cline-yes">2x</span>
|
|
666
|
+
<span class="cline-any cline-yes">1x</span>
|
|
667
|
+
<span class="cline-any cline-yes">1x</span>
|
|
651
668
|
<span class="cline-any cline-yes">2x</span>
|
|
652
669
|
<span class="cline-any cline-yes">2x</span>
|
|
653
670
|
<span class="cline-any cline-yes">2x</span>
|
|
654
671
|
<span class="cline-any cline-yes">2x</span>
|
|
655
672
|
<span class="cline-any cline-yes">2x</span>
|
|
673
|
+
<span class="cline-any cline-yes">1x</span>
|
|
674
|
+
<span class="cline-any cline-yes">1x</span>
|
|
675
|
+
<span class="cline-any cline-yes">1x</span>
|
|
676
|
+
<span class="cline-any cline-yes">1x</span>
|
|
677
|
+
<span class="cline-any cline-yes">1x</span>
|
|
656
678
|
<span class="cline-any cline-no"> </span>
|
|
657
679
|
<span class="cline-any cline-no"> </span>
|
|
658
680
|
<span class="cline-any cline-no"> </span>
|
|
@@ -665,12 +687,12 @@
|
|
|
665
687
|
<span class="cline-any cline-no"> </span>
|
|
666
688
|
<span class="cline-any cline-no"> </span>
|
|
667
689
|
<span class="cline-any cline-no"> </span>
|
|
690
|
+
<span class="cline-any cline-yes">1x</span>
|
|
668
691
|
<span class="cline-any cline-no"> </span>
|
|
669
692
|
<span class="cline-any cline-no"> </span>
|
|
670
693
|
<span class="cline-any cline-no"> </span>
|
|
671
694
|
<span class="cline-any cline-no"> </span>
|
|
672
|
-
<span class="cline-any cline-
|
|
673
|
-
<span class="cline-any cline-yes">2x</span>
|
|
695
|
+
<span class="cline-any cline-yes">1x</span>
|
|
674
696
|
<span class="cline-any cline-no"> </span>
|
|
675
697
|
<span class="cline-any cline-no"> </span>
|
|
676
698
|
<span class="cline-any cline-no"> </span>
|
|
@@ -698,31 +720,29 @@
|
|
|
698
720
|
<span class="cline-any cline-no"> </span>
|
|
699
721
|
<span class="cline-any cline-no"> </span>
|
|
700
722
|
<span class="cline-any cline-no"> </span>
|
|
701
|
-
<span class="cline-any cline-
|
|
702
|
-
<span class="cline-any cline-
|
|
703
|
-
<span class="cline-any cline-
|
|
704
|
-
<span class="cline-any cline-
|
|
705
|
-
<span class="cline-any cline-
|
|
706
|
-
<span class="cline-any cline-yes">2x</span>
|
|
707
|
-
<span class="cline-any cline-yes">2x</span>
|
|
708
|
-
<span class="cline-any cline-yes">2x</span>
|
|
723
|
+
<span class="cline-any cline-yes">1x</span>
|
|
724
|
+
<span class="cline-any cline-yes">1x</span>
|
|
725
|
+
<span class="cline-any cline-yes">1x</span>
|
|
726
|
+
<span class="cline-any cline-yes">1x</span>
|
|
727
|
+
<span class="cline-any cline-yes">1x</span>
|
|
709
728
|
<span class="cline-any cline-yes">2x</span>
|
|
710
729
|
<span class="cline-any cline-yes">2x</span>
|
|
711
|
-
<span class="cline-any cline-yes">
|
|
712
|
-
<span class="cline-any cline-yes">
|
|
713
|
-
<span class="cline-any cline-
|
|
714
|
-
<span class="cline-any cline-
|
|
715
|
-
<span class="cline-any cline-
|
|
716
|
-
<span class="cline-any cline-no"> </span>
|
|
717
|
-
<span class="cline-any cline-no"> </span>
|
|
718
|
-
<span class="cline-any cline-no"> </span>
|
|
730
|
+
<span class="cline-any cline-yes">1x</span>
|
|
731
|
+
<span class="cline-any cline-yes">1x</span>
|
|
732
|
+
<span class="cline-any cline-yes">1x</span>
|
|
733
|
+
<span class="cline-any cline-yes">1x</span>
|
|
734
|
+
<span class="cline-any cline-yes">1x</span>
|
|
719
735
|
<span class="cline-any cline-no"> </span>
|
|
720
|
-
<span class="cline-any cline-yes">2x</span>
|
|
721
|
-
<span class="cline-any cline-yes">2x</span>
|
|
722
|
-
<span class="cline-any cline-yes">2x</span>
|
|
723
|
-
<span class="cline-any cline-yes">2x</span>
|
|
724
736
|
<span class="cline-any cline-no"> </span>
|
|
737
|
+
<span class="cline-any cline-yes">1x</span>
|
|
738
|
+
<span class="cline-any cline-yes">1x</span>
|
|
739
|
+
<span class="cline-any cline-yes">1x</span>
|
|
740
|
+
<span class="cline-any cline-yes">1x</span>
|
|
725
741
|
<span class="cline-any cline-no"> </span>
|
|
742
|
+
<span class="cline-any cline-yes">1x</span>
|
|
743
|
+
<span class="cline-any cline-yes">1x</span>
|
|
744
|
+
<span class="cline-any cline-yes">1x</span>
|
|
745
|
+
<span class="cline-any cline-yes">1x</span>
|
|
726
746
|
<span class="cline-any cline-no"> </span>
|
|
727
747
|
<span class="cline-any cline-no"> </span>
|
|
728
748
|
<span class="cline-any cline-no"> </span>
|
|
@@ -768,14 +788,16 @@
|
|
|
768
788
|
<span class="cline-any cline-no"> </span>
|
|
769
789
|
<span class="cline-any cline-no"> </span>
|
|
770
790
|
<span class="cline-any cline-no"> </span>
|
|
791
|
+
<span class="cline-any cline-yes">1x</span>
|
|
792
|
+
<span class="cline-any cline-yes">1x</span>
|
|
771
793
|
<span class="cline-any cline-no"> </span>
|
|
772
794
|
<span class="cline-any cline-no"> </span>
|
|
773
795
|
<span class="cline-any cline-no"> </span>
|
|
774
796
|
<span class="cline-any cline-yes">2x</span>
|
|
775
797
|
<span class="cline-any cline-yes">2x</span>
|
|
776
|
-
<span class="cline-any cline-
|
|
777
|
-
<span class="cline-any cline-
|
|
778
|
-
<span class="cline-any cline-
|
|
798
|
+
<span class="cline-any cline-yes">1x</span>
|
|
799
|
+
<span class="cline-any cline-yes">1x</span>
|
|
800
|
+
<span class="cline-any cline-yes">1x</span>
|
|
779
801
|
<span class="cline-any cline-neutral"> </span>
|
|
780
802
|
<span class="cline-any cline-neutral"> </span></td><td class="text"><pre class="prettyprint lang-js">/* eslint-disable no-console */
|
|
781
803
|
/* eslint-disable no-control-regex */
|
|
@@ -796,11 +818,16 @@ export const logger = {
|
|
|
796
818
|
log(str: string, level: LogLevels = 'info') {
|
|
797
819
|
const { preprocessLog } = configFn()
|
|
798
820
|
if (typeof preprocessLog === 'function') <span class="branch-0 cbranch-no" title="branch not covered" >str = preprocessLog(str) || str</span>
|
|
821
|
+
|
|
822
|
+
const paddingX = configFn()?.terminal?.theme?.paddingX
|
|
823
|
+
const padX = ' '.repeat(paddingX || 0)
|
|
824
|
+
str = padX + str.replace(/\n/g, '\n' + padX)
|
|
825
|
+
|
|
799
826
|
if (isset(console[level])) console[level](str)
|
|
800
|
-
<span class="
|
|
827
|
+
<span class="branch-0 cbranch-no" title="branch not covered" > else console.log(str)</span>
|
|
801
828
|
|
|
802
829
|
logger.raw.push(str + `\n`)
|
|
803
|
-
logger.raw = logger.raw.slice(logger.raw.length - configFn()?.nbOfLogsToKeep, logger?.raw?.length)
|
|
830
|
+
<span class="fstat-no" title="function not covered" > logger.raw = logger.raw.slice(logger.raw.length - configFn()?.nbOfLogsToKeep, logger?.raw?.length)</span>
|
|
804
831
|
},
|
|
805
832
|
/**
|
|
806
833
|
* @param {String[]|String} inputLogs
|
|
@@ -826,15 +853,15 @@ export const logger = {
|
|
|
826
853
|
<span class="cstat-no" title="statement not covered" > if (content) {</span>
|
|
827
854
|
<span class="cstat-no" title="statement not covered" > const style = !isset(R) ? isset(code) ? code2css[code] : undefined : `color:rgb(${R},${G},${B})`</span>
|
|
828
855
|
<span class="cstat-no" title="statement not covered" > htmlLogs += isset(style) ? `<span style='${style}'>${content.replace(/\n/g, '<br>')}</span>` : content.replace(/\n/g, '<br>')</span>
|
|
829
|
-
|
|
830
|
-
<span class="
|
|
856
|
+
}
|
|
857
|
+
<span class="fstat-no" title="function not covered" > } else htmlLogs += bit.replace(/\n/g, '<br>')</span>
|
|
831
858
|
<span class="cstat-no" title="statement not covered" > }</span>
|
|
832
859
|
<span class="cstat-no" title="statement not covered" > })</span>
|
|
833
|
-
|
|
860
|
+
return `<div style='color:#ccc'>${htmlLogs}<br></div>`
|
|
834
861
|
},
|
|
835
862
|
<span class="fstat-no" title="function not covered" > toText(inputLogs = [...logger.raw]) {</span>
|
|
836
|
-
|
|
837
|
-
|
|
863
|
+
const str = Array.isArray(inputLogs) ? inputLogs.join('\n') : inputLogs
|
|
864
|
+
return str.replace(/\x1b\[.*?m/g, '')
|
|
838
865
|
},
|
|
839
866
|
raw: [] as string[],
|
|
840
867
|
json: [] as string[],
|
|
@@ -843,32 +870,32 @@ export const logger = {
|
|
|
843
870
|
/**
|
|
844
871
|
// console colored output
|
|
845
872
|
// * console.log(C.green(C.dim('Hey bro !')))
|
|
846
|
-
// * or C
|
|
847
|
-
// * or C.
|
|
848
|
-
// * or C
|
|
873
|
+
// * or C<span class="fstat-no" title="function not covered" >.log() // will use paddi</span>ng and color defined by themes
|
|
874
|
+
// * or C.l<span class="fstat-no" title="function not covered" >ine('MY TITLE', 53)</span>
|
|
875
|
+
// * or C<span class="fstat-no" title="function not covered" >.gradientize(myLongString</span>)
|
|
849
876
|
*/
|
|
850
|
-
export
|
|
851
|
-
dim: <span class="fstat-no" title="function not covered" >str
|
|
852
|
-
green
|
|
853
|
-
red: <span class="fstat-no" title="function not covered" >
|
|
854
|
-
yellow: <span class="fstat-no" title="function not covered" >
|
|
877
|
+
export con<span class="fstat-no" title="function not covered" >st C = {</span>
|
|
878
|
+
dim: <span class="fstat-no" title="function not covered" >str <span class="fstat-no" title="function not covered" >=> C.output(2, str),</span> // o</span>pacity 0.5
|
|
879
|
+
green:<span class="fstat-no" title="function not covered" > <span class="fstat-no" title="function not covered" >str => C.output(32, str)</span>,</span>
|
|
880
|
+
red: <span class="fstat-no" title="function not covered" >s<span class="fstat-no" title="function not covered" >tr => C.output(31, str),</span></span>
|
|
881
|
+
yellow: <span class="fstat-no" title="function not covered" >s<span class="fstat-no" title="function not covered" >tr => C.output(33, str),</span></span>
|
|
855
882
|
grey: <span class="fstat-no" title="function not covered" >str => C.output(2, str),</span>
|
|
856
883
|
magenta: <span class="fstat-no" title="function not covered" >str => C.output(35, str),</span>
|
|
857
884
|
cyan: <span class="fstat-no" title="function not covered" >str => C.output(36, str),</span>
|
|
858
885
|
blue: <span class="fstat-no" title="function not covered" >str => C.output(34, str),</span>
|
|
859
|
-
primary
|
|
860
|
-
|
|
861
|
-
|
|
886
|
+
primary:<span class="fstat-no" title="function not covered" > <span class="fstat-no" title="function not covered" >str => {</span></span>
|
|
887
|
+
const primary: Color = configFn()?.terminal?.theme?.primary
|
|
888
|
+
return C.rgb(...primary) + str + C.reset
|
|
862
889
|
},
|
|
863
890
|
reset: '\x1b[0m',
|
|
864
|
-
output: <span class="fstat-no" title="function not covered" >(code, str = '') => configFn()?.terminal?.noColor ? str : `\x1b[${code}m${str}\x1b[0m`,</span>
|
|
891
|
+
<span class="fstat-no" title="function not covered" > output: <span class="fstat-no" title="function not covered" >(code, str = '') => configFn()?.terminal?.noColor ? str : `\x1b[${code}m${str}\x1b[0m`,</span></span>
|
|
865
892
|
// true RGB colors B-*
|
|
866
893
|
rgb: (r, g = 0, b = 0) => configFn()?.terminal?.noColor || !isset(r, g, b) <span class="branch-0 cbranch-no" title="branch not covered" >? '' </span>: `\x1b[38;2;${r};${g};${b}m`,
|
|
867
894
|
bg: <span class="fstat-no" title="function not covered" >(r?, g?, b?) => configFn()?.terminal?.noColor || !isset(r, g, b) ? '' : `${'\x1b['}48;2;${r};${g};${b}m`,</span>
|
|
868
895
|
/** Output a line of title */
|
|
869
896
|
<span class="fstat-no" title="function not covered" > line(title = '', length = configFn()?.terminal?.theme?.pageWidth, clr = configFn()?.terminal?.theme?.primary, char = '=', paddingX = configFn()?.terminal?.theme?.paddingX) {</span>
|
|
870
|
-
|
|
871
|
-
<span class="
|
|
897
|
+
const padX = ' '.repeat(paddingX || 0)
|
|
898
|
+
<span class="fstat-no" title="function not covered" > this.log('\u00A0\n' + padX + this.rgb(...clr) + (title + ' ').padEnd(length || 0, char) + this.reset + padX + '\u00A0\n')</span>
|
|
872
899
|
},
|
|
873
900
|
/** Eg: ['cell1', 'cell2', 'cell3'], [25, 15] will start cell2 at 25 and cell 3 at 25 + 15
|
|
874
901
|
* @param {Array} limits default divide the viewport
|
|
@@ -881,52 +908,52 @@ export const C = {
|
|
|
881
908
|
<span class="cstat-no" title="statement not covered" > }</span>
|
|
882
909
|
<span class="cstat-no" title="statement not covered" > const str = strings.reduce((glob, str = '', i) => {</span>
|
|
883
910
|
<span class="cstat-no" title="statement not covered" > const realCharLength = str.toString().replace(/\x1b\[.*?m/, '').length</span>
|
|
884
|
-
|
|
885
|
-
|
|
886
|
-
<span class="
|
|
911
|
+
const charLength = str.toString().length
|
|
912
|
+
const realLimit = limits[i] + charLength - realCharLength
|
|
913
|
+
<span class="fstat-no" title="function not covered" > return glob + str.toString().substring(0, realLimit || 999).padEnd(realLimit || 0, ' ')</span>
|
|
887
914
|
<span class="cstat-no" title="statement not covered" > }, '')</span>
|
|
888
|
-
|
|
889
|
-
}
|
|
915
|
+
this.logClr(str, clr, paddingX)
|
|
916
|
+
<span class="fstat-no" title="function not covered" > },</span>
|
|
890
917
|
/** Console log alias */
|
|
891
918
|
<span class="fstat-no" title="function not covered" > log(...stringsCtxMayBeFirstParam) {</span>
|
|
892
919
|
<span class="cstat-no" title="statement not covered" > stringsCtxMayBeFirstParam.forEach(str => this.logClr(str, undefined, undefined))</span>
|
|
893
920
|
},
|
|
894
921
|
<span class="fstat-no" title="function not covered" > logClr(str, clr = configFn()?.terminal?.theme?.fontColor, paddingX = configFn()?.terminal?.theme?.paddingX) {</span>
|
|
895
|
-
<span class="
|
|
922
|
+
<span class="fstat-no" title="function not covered" > if (!isset(str)) return</span>
|
|
896
923
|
<span class="cstat-no" title="statement not covered" > const padX = ' '.repeat(paddingX || 0)</span>
|
|
897
924
|
<span class="cstat-no" title="statement not covered" > str = padX + (typeof clr !== 'undefined' ? this.rgb(...clr) : '') + str.toString().replace(/\n/g, '\n' + padX + (typeof clr !== 'undefined' ? this.rgb(...clr) : ''))</span>
|
|
898
925
|
<span class="cstat-no" title="statement not covered" > logger.log(str + this.reset, 'info')</span>
|
|
899
926
|
},
|
|
900
927
|
<span class="fstat-no" title="function not covered" > info(...str) {</span>
|
|
901
|
-
|
|
902
|
-
<span class="
|
|
928
|
+
str.forEach((s, i) => {
|
|
929
|
+
<span class="fstat-no" title="function not covered" > if (i === 0) this.logClr('ⓘ ' + s, configFn()?.terminal?.theme?.primary)</span>
|
|
903
930
|
<span class="cstat-no" title="statement not covered" > else this.log(this.dimStrSplit(s))</span>
|
|
904
931
|
<span class="cstat-no" title="statement not covered" > })</span>
|
|
905
932
|
<span class="cstat-no" title="statement not covered" > this.log(' ')</span>
|
|
906
933
|
},
|
|
907
934
|
<span class="fstat-no" title="function not covered" > success(...str) {</span>
|
|
908
|
-
|
|
909
|
-
<span class="
|
|
910
|
-
|
|
911
|
-
|
|
935
|
+
str.forEach((s, i) => {
|
|
936
|
+
<span class="fstat-no" title="function not covered" > if (i === 0) this.log(this.green('✓ ' + s))</span>
|
|
937
|
+
else this.log(this.dimStrSplit(s))
|
|
938
|
+
})
|
|
912
939
|
},
|
|
913
|
-
/** First param **false** to avoid logging stack trace
|
|
914
|
-
error: <span class="fstat-no" title="function not covered" >(...errors) => logErrPrivate('error', [255, 0, 0], ...errors),</span>
|
|
915
|
-
/** First
|
|
916
|
-
warning: (...str) => logErrPrivate('warn', [255, 122, 0], ...str)
|
|
940
|
+
/** First param<span class="fstat-no" title="function not covered" > **false** to avoid logging stack trace */</span>
|
|
941
|
+
error: <span class="fstat-no" title="function not covered" >(...errors)<span class="fstat-no" title="function not covered" > => logErrPrivate('error', [255, 0, 0], ...errors),</span></span>
|
|
942
|
+
/** First para<span class="fstat-no" title="function not covered" >m **false** to avoid logging stack trace */</span>
|
|
943
|
+
<span class="fstat-no" title="function not covered" > warning: (...str) => logErrPrivate('warn', [255, 122, 0], ...str),</span>
|
|
917
944
|
customError: <span class="fstat-no" title="function not covered" >(color, ...str) => logErrPrivate('error', color, ...str),</span>
|
|
918
945
|
customWarning: <span class="fstat-no" title="function not covered" >(color, ...str) => logErrPrivate('warn', color, ...str),</span>
|
|
919
946
|
applicationError: <span class="fstat-no" title="function not covered" >(color, ...str) => logErrPrivate('warn', color, ...str),</span>
|
|
920
947
|
warningLight: <span class="fstat-no" title="function not covered" >(_, ...str) => logErrPrivate('warn', [196, 120, 52], ...str),</span>
|
|
921
|
-
<span class="fstat-no" title="function not covered" > dimStrSplit(...logs) {</span>
|
|
948
|
+
<span class="fstat-no" title="function not covered" ><span class="fstat-no" title="function not covered" > dimStrSplit(...logs) {</span></span>
|
|
922
949
|
<span class="cstat-no" title="statement not covered" > const logsStr: string[] = []</span>
|
|
923
950
|
<span class="cstat-no" title="statement not covered" > logs.filter(isset).forEach(log => log.toString().split('\n').forEach(line => line && logsStr.push(this.dim(` ${line}`))))</span>
|
|
924
951
|
<span class="cstat-no" title="statement not covered" > return logsStr.join('\n')</span>
|
|
925
952
|
},
|
|
926
953
|
<span class="fstat-no" title="function not covered" > notifShow() {</span>
|
|
927
|
-
|
|
928
|
-
|
|
929
|
-
<span class="
|
|
954
|
+
console.log('\n\u00A0')
|
|
955
|
+
this.notifications.forEach(fn => fn())
|
|
956
|
+
<span class="fstat-no" title="function not covered" > this.notifications = []</span>
|
|
930
957
|
<span class="cstat-no" title="statement not covered" > console.log('\n\u00A0')</span>
|
|
931
958
|
},
|
|
932
959
|
/** Keep in memory the logs to show when needed with C.notifShow()
|
|
@@ -934,10 +961,10 @@ export const C = {
|
|
|
934
961
|
<span class="fstat-no" title="function not covered" > notification(type, ...messages) {</span>
|
|
935
962
|
<span class="cstat-no" title="statement not covered" > this.notifications.push(() => {</span>
|
|
936
963
|
<span class="cstat-no" title="statement not covered" > if (isset(this[type])) {</span>
|
|
937
|
-
|
|
938
|
-
|
|
939
|
-
|
|
940
|
-
<span class="
|
|
964
|
+
this[type](...messages)
|
|
965
|
+
} else {
|
|
966
|
+
this.warning('Wrong param for C.notification')
|
|
967
|
+
<span class="fstat-no" title="function not covered" > }</span>
|
|
941
968
|
<span class="cstat-no" title="statement not covered" > })</span>
|
|
942
969
|
},
|
|
943
970
|
notifications: [] as any[], // fn array
|
|
@@ -952,18 +979,24 @@ export const C = {
|
|
|
952
979
|
<span class="cstat-no" title="statement not covered" > const padX = ' '.repeat(paddingX || 0)</span>
|
|
953
980
|
<span class="cstat-no" title="statement not covered" > const padLine = bg + padX + ' '.padEnd(largestLine, ' ') + padX + '\x1b[0m\n'</span>
|
|
954
981
|
<span class="cstat-no" title="statement not covered" ></span>
|
|
955
|
-
|
|
956
|
-
<span class="
|
|
982
|
+
console.log(padLine.repeat(paddingY || 0) +
|
|
983
|
+
<span class="fstat-no" title="function not covered" > lines.reduce((s, line, i) => {</span>
|
|
957
984
|
<span class="cstat-no" title="statement not covered" > return s + bg + padX + this.rgb(...((rgb1 as Color).map((val, i2) => Math.round(val - i * rgbParts[i2]))) as Color) + line.padEnd(largestLine, ' ') + padX + '\x1b[0m\n'</span>
|
|
958
985
|
<span class="cstat-no" title="statement not covered" > }, '') +</span>
|
|
959
|
-
|
|
986
|
+
padLine.repeat(paddingY || 0))
|
|
960
987
|
},
|
|
961
|
-
<span class="fstat-no" title="function not covered" > debugModeLog(title, ...string) {</span>
|
|
988
|
+
<span class="fstat-no" title="function not covered" ><span class="fstat-no" title="function not covered" > debugModeLog(title, ...string) {</span></span>
|
|
962
989
|
<span class="cstat-no" title="statement not covered" > this.logClr('🐞 ' + title, configFn()?.terminal?.theme?.debugModeColor, 0)</span>
|
|
963
990
|
<span class="cstat-no" title="statement not covered" > this.log(this.dimStrSplit(...string))</span>
|
|
964
991
|
},
|
|
965
|
-
|
|
966
|
-
<span class="fstat-no" title="function not covered" >
|
|
992
|
+
/** allow to clear the last lines written to console */
|
|
993
|
+
<span class="fstat-no" title="function not covered" > clearLastLines(n: number = 2) {</span>
|
|
994
|
+
for (let i = 0; i < n; i++) {
|
|
995
|
+
process?.stdout?.moveCursor?.(0, -1) // Move up one line
|
|
996
|
+
process?.stdout?.clearLine?.(0)
|
|
997
|
+
}
|
|
998
|
+
process?.stdout?.cursorTo?.(0) // Move cursor to beginning of the current line
|
|
999
|
+
}
|
|
967
1000
|
}
|
|
968
1001
|
|
|
969
1002
|
function logErrPrivate(level: NotInfoLogLevel, color: Color, ...errors) {
|
|
@@ -971,41 +1004,41 @@ function logErrPrivate(level: NotInfoLogLevel, color: Color, ...errors) {
|
|
|
971
1004
|
|
|
972
1005
|
if (errors.length === 1 && typeof errors[0].log === 'function') <span class="branch-0 cbranch-no" title="branch not covered" >return errors[0].log()</span>
|
|
973
1006
|
|
|
974
|
-
let stackTrace = (new Error('')).stack
|
|
1007
|
+
let stackTrace = (new Error('')).stack || ''
|
|
975
1008
|
const displayStack = errors[0] === false <span class="branch-0 cbranch-no" title="branch not covered" >? errors.shift() </span>: true
|
|
976
|
-
const symbol = level === 'error'
|
|
977
|
-
if (errors.length > 1
|
|
1009
|
+
const symbol = level === 'error' ? '✘ ' : '⚠ '
|
|
1010
|
+
if (errors.length > 1 && !isset(errors[0])) errors.shift()
|
|
978
1011
|
|
|
979
1012
|
const getStringFromErr = (err, i) => {
|
|
980
1013
|
if (!isset(err)) <span class="branch-0 cbranch-no" title="branch not covered" >return ''</span>
|
|
981
1014
|
else if (typeof err === 'string') {
|
|
982
1015
|
if (i === 0) return C.rgb(...color) + symbol + err + C.reset
|
|
983
1016
|
<span class="cstat-no" title="statement not covered" ><span class="branch-0 cbranch-no" title="branch not covered" > else return err.split('\n').map(val => C.dim(val)).join('\n')</span></span>
|
|
984
|
-
}
|
|
1017
|
+
} else if (err instanceof Error) {
|
|
985
1018
|
<span class="cstat-no" title="statement not covered" > const { str, stackTrace: stkTrc } = stringifyInstanceOfError(err, level, color)</span>
|
|
986
1019
|
<span class="cstat-no" title="statement not covered" > if (stkTrc) stackTrace = stkTrc</span>
|
|
987
1020
|
<span class="cstat-no" title="statement not covered" > return str</span>
|
|
988
1021
|
<span class="cstat-no" title="statement not covered" > } else if (typeof err === 'object') {</span>
|
|
989
1022
|
<span class="cstat-no" title="statement not covered" > let msg = ''</span>
|
|
990
1023
|
<span class="cstat-no" title="statement not covered" > msg += removeCircularJSONstringify(err, 2).split('\n').map(val => C.dim(val)).join('\n') + '\n'</span>
|
|
991
|
-
|
|
992
|
-
|
|
993
|
-
|
|
994
|
-
|
|
995
|
-
|
|
1024
|
+
const { str, stackTrace: stkTrc } = stringifyExtraInfos(err.extraInfo || err, level, color)
|
|
1025
|
+
if (stkTrc) stackTrace = stkTrc
|
|
1026
|
+
msg += str
|
|
1027
|
+
return msg
|
|
1028
|
+
} else return ''
|
|
996
1029
|
}
|
|
997
1030
|
|
|
998
1031
|
if (errors.length && errors[0]) {
|
|
999
1032
|
const messages = errors.map((e, i) => {
|
|
1000
|
-
if (typeof e?.log === 'function')
|
|
1001
|
-
|
|
1002
|
-
|
|
1033
|
+
if (typeof e?.log === 'function') {
|
|
1034
|
+
e.log()
|
|
1035
|
+
return ''
|
|
1003
1036
|
} else return getStringFromErr(e, i)
|
|
1004
1037
|
})
|
|
1005
1038
|
// Stack
|
|
1006
1039
|
if (displayStack) {
|
|
1007
1040
|
messages.push(isProd <span class="branch-0 cbranch-no" title="branch not covered" >? stackTrace </span>: cleanStackTrace(stackTrace) + '\n')
|
|
1008
|
-
}
|
|
1041
|
+
<span class="fstat-no" title="function not covered" > }</span>
|
|
1009
1042
|
logger.log(messages.join(''), level)
|
|
1010
1043
|
}
|
|
1011
1044
|
}
|
|
@@ -1022,8 +1055,8 @@ function logErrPrivate(level: NotInfoLogLevel, color: Color, ...errors) {
|
|
|
1022
1055
|
<span class="cstat-no" title="statement not covered" > // ExtraInfos</span>
|
|
1023
1056
|
<span class="cstat-no" title="statement not covered" > if (isset(err.extraInfo)) {</span>
|
|
1024
1057
|
<span class="cstat-no" title="statement not covered" > const { str: str2, stackTrace: stkTrc } = stringifyExtraInfos(err.extraInfo, type, color, level++)</span>
|
|
1025
|
-
|
|
1026
|
-
<span class="cstat-no" title="statement not covered" > str += str2</span>
|
|
1058
|
+
if (stkTrc) stackTrace = stkTrc
|
|
1059
|
+
<span class="cstat-no" title="statement not covered" ><span class="fstat-no" title="function not covered" > str += str2</span></span>
|
|
1027
1060
|
<span class="cstat-no" title="statement not covered" > }</span>
|
|
1028
1061
|
<span class="cstat-no" title="statement not covered" > return { str, stackTrace }</span>
|
|
1029
1062
|
<span class="cstat-no" title="statement not covered" >}</span>
|
|
@@ -1055,25 +1088,25 @@ function logErrPrivate(level: NotInfoLogLevel, color: Color, ...errors) {
|
|
|
1055
1088
|
<span class="cstat-no" title="statement not covered" > .map(val => C.dim(val)).join('\n') + '\n')</span>
|
|
1056
1089
|
<span class="cstat-no" title="statement not covered" > }</span>
|
|
1057
1090
|
<span class="cstat-no" title="statement not covered" > return {</span>
|
|
1058
|
-
|
|
1059
|
-
|
|
1060
|
-
|
|
1061
|
-
|
|
1062
|
-
|
|
1091
|
+
str: (extraInfos.length > 1 ? extraInfos.join('') : '') + (originalError.length > 1 ? originalError.join('') + '\n' : ''),
|
|
1092
|
+
stackTrace
|
|
1093
|
+
}
|
|
1094
|
+
}
|
|
1095
|
+
}
|
|
1063
1096
|
|
|
1064
1097
|
/**
|
|
1065
|
-
* Call this at each steps of your progress and change the step value
|
|
1098
|
+
<span class="fstat-no" title="function not covered" > * Call this at each steps of your progress and change the step value</span>
|
|
1066
1099
|
* @param {Number} step Number of "char" to output
|
|
1067
1100
|
* @param {String} char Default: '.'
|
|
1068
1101
|
* @param {String} msg String before char. Final output will be `${str}${char.repeat(step)}`
|
|
1069
1102
|
*/
|
|
1070
1103
|
<span class="cstat-no" title="statement not covered" ><span class="fstat-no" title="function not covered" >export function cliProgressBar(step: number, char = '.', msg = `\x1b[2mⓘ Waiting response`) {</span></span>
|
|
1071
1104
|
<span class="cstat-no" title="statement not covered" > if (typeof process?.stdout?.clearLine === 'function') {</span>
|
|
1072
|
-
|
|
1073
|
-
|
|
1074
|
-
|
|
1075
|
-
|
|
1076
|
-
<span class="cstat-no" title="statement not covered" >}</span>
|
|
1105
|
+
process.stdout.clearLine(0)
|
|
1106
|
+
process.stdout.cursorTo(0)
|
|
1107
|
+
process.stdout.write(`${msg}${char.repeat(step)}\x1b[0m`) // \x1b[0m == reset color
|
|
1108
|
+
}
|
|
1109
|
+
<span class="cstat-no" title="statement not covered" ><span class="fstat-no" title="function not covered" ><span class="branch-0 cbranch-no" title="branch not covered" >}</span></span></span>
|
|
1077
1110
|
|
|
1078
1111
|
type loadingSpinnerTypes = 'arrow' | 'dots'
|
|
1079
1112
|
|
|
@@ -1123,16 +1156,16 @@ type loadingSpinnerTypes = 'arrow' | 'dots'
|
|
|
1123
1156
|
<span class="cstat-no" title="statement not covered" > : '\x1b[32m✓ ' + this.progressMessage + '\n\n'</span>
|
|
1124
1157
|
<span class="cstat-no" title="statement not covered" > )</span>
|
|
1125
1158
|
<span class="cstat-no" title="statement not covered" > this.progressMessage = ''</span>
|
|
1126
|
-
|
|
1127
|
-
|
|
1128
|
-
<span class="cstat-no" title="statement not covered" > return this.end(true)</span>
|
|
1159
|
+
}
|
|
1160
|
+
error() {
|
|
1161
|
+
<span class="cstat-no" title="statement not covered" ><span class="fstat-no" title="function not covered" > return this.end(true)</span></span>
|
|
1129
1162
|
<span class="cstat-no" title="statement not covered" > }</span>
|
|
1130
1163
|
<span class="cstat-no" title="statement not covered" >}</span>
|
|
1131
1164
|
|
|
1132
1165
|
|
|
1133
|
-
<span class="
|
|
1134
|
-
|
|
1135
|
-
|
|
1166
|
+
<span class="fstat-no" title="function not covered" >export function dim(str = '') {</span>
|
|
1167
|
+
return configFn()?.terminal?.noColor ? str : `\x1b[2m${str.toString().split('\n').join('\x1b[0m\n\x1b[2m')}\x1b[0m`
|
|
1168
|
+
}
|
|
1136
1169
|
|
|
1137
1170
|
</pre></td></tr></table></pre>
|
|
1138
1171
|
|
|
@@ -1141,7 +1174,7 @@ type loadingSpinnerTypes = 'arrow' | 'dots'
|
|
|
1141
1174
|
<div class='footer quiet pad2 space-top1 center small'>
|
|
1142
1175
|
Code coverage generated by
|
|
1143
1176
|
<a href="https://istanbul.js.org/" target="_blank" rel="noopener noreferrer">istanbul</a>
|
|
1144
|
-
at 2025-03-
|
|
1177
|
+
at 2025-03-13T19:05:26.769Z
|
|
1145
1178
|
</div>
|
|
1146
1179
|
<script src="prettify.js"></script>
|
|
1147
1180
|
<script>
|