@visulima/pail 4.0.0-alpha.4 → 4.0.0-alpha.5

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 (27) hide show
  1. package/CHANGELOG.md +16 -0
  2. package/dist/index.browser.js +1488 -2
  3. package/dist/index.server.js +2656 -12
  4. package/dist/interactive/index.js +1 -1
  5. package/dist/packem_shared/AbstractJsonReporter-DWRpTtGw.js +204 -0
  6. package/dist/packem_shared/{interactive-stream-hook-DG4BtN12.js → InteractiveStreamHook-ePIURL_U.js} +1 -9
  7. package/dist/packem_shared/{JsonReporter-VzgyLEYz.js → JsonReporter-BV5lMnJX.js} +1 -1
  8. package/dist/packem_shared/{PrettyReporter-DySIXBjQ.js → PrettyReporter-BYL3NrdA.js} +49 -4
  9. package/dist/packem_shared/{format-label-De49vNPd.js → PrettyReporter-DLQtmATi.js} +267 -2
  10. package/dist/packem_shared/Spinner-B9JUdsbY.js +2150 -0
  11. package/dist/packem_shared/abstract-pretty-reporter-DckLMlGF.js +2496 -0
  12. package/dist/packem_shared/constants-B1RjD_ps.js +99 -0
  13. package/dist/packem_shared/getBarChar-BWj1UrH3.js +404 -0
  14. package/dist/packem_shared/{index-BomQ3E6J.js → index-DnkF86LQ.js} +9 -1
  15. package/dist/processor/message-formatter-processor.js +648 -1
  16. package/dist/reporter/file/json-file-reporter.js +1 -1
  17. package/dist/reporter/http/abstract-http-reporter.js +1 -1
  18. package/dist/reporter/json/index.js +2 -2
  19. package/dist/reporter/pretty/index.browser.js +1 -1
  20. package/dist/reporter/pretty/index.js +1 -1
  21. package/dist/reporter/simple/simple-reporter.server.js +1 -6
  22. package/package.json +4 -4
  23. package/dist/packem_shared/InteractiveStreamHook-DiSubbJ1.js +0 -21
  24. package/dist/packem_shared/PrettyReporter-C2wVB7yu.js +0 -222
  25. package/dist/packem_shared/abstract-pretty-reporter-Di_sdm2r.js +0 -50
  26. package/dist/packem_shared/get-longest-label-C9PWeyKq.js +0 -9
  27. package/dist/packem_shared/pail.browser-u2CSR_af.js +0 -1427
@@ -0,0 +1,2150 @@
1
+ import colorize from '@visulima/colorize';
2
+
3
+ var dots = {
4
+ interval: 80,
5
+ frames: [
6
+ "⠋",
7
+ "⠙",
8
+ "⠹",
9
+ "⠸",
10
+ "⠼",
11
+ "⠴",
12
+ "⠦",
13
+ "⠧",
14
+ "⠇",
15
+ "⠏"
16
+ ]
17
+ };
18
+ var dots2 = {
19
+ interval: 80,
20
+ frames: [
21
+ "⣾",
22
+ "⣽",
23
+ "⣻",
24
+ "⢿",
25
+ "⡿",
26
+ "⣟",
27
+ "⣯",
28
+ "⣷"
29
+ ]
30
+ };
31
+ var dots3 = {
32
+ interval: 80,
33
+ frames: [
34
+ "⠋",
35
+ "⠙",
36
+ "⠚",
37
+ "⠞",
38
+ "⠖",
39
+ "⠦",
40
+ "⠴",
41
+ "⠲",
42
+ "⠳",
43
+ "⠓"
44
+ ]
45
+ };
46
+ var dots4 = {
47
+ interval: 80,
48
+ frames: [
49
+ "⠄",
50
+ "⠆",
51
+ "⠇",
52
+ "⠋",
53
+ "⠙",
54
+ "⠸",
55
+ "⠰",
56
+ "⠠",
57
+ "⠰",
58
+ "⠸",
59
+ "⠙",
60
+ "⠋",
61
+ "⠇",
62
+ "⠆"
63
+ ]
64
+ };
65
+ var dots5 = {
66
+ interval: 80,
67
+ frames: [
68
+ "⠋",
69
+ "⠙",
70
+ "⠚",
71
+ "⠒",
72
+ "⠂",
73
+ "⠂",
74
+ "⠒",
75
+ "⠲",
76
+ "⠴",
77
+ "⠦",
78
+ "⠖",
79
+ "⠒",
80
+ "⠐",
81
+ "⠐",
82
+ "⠒",
83
+ "⠓",
84
+ "⠋"
85
+ ]
86
+ };
87
+ var dots6 = {
88
+ interval: 80,
89
+ frames: [
90
+ "⠁",
91
+ "⠉",
92
+ "⠙",
93
+ "⠚",
94
+ "⠒",
95
+ "⠂",
96
+ "⠂",
97
+ "⠒",
98
+ "⠲",
99
+ "⠴",
100
+ "⠤",
101
+ "⠄",
102
+ "⠄",
103
+ "⠤",
104
+ "⠴",
105
+ "⠲",
106
+ "⠒",
107
+ "⠂",
108
+ "⠂",
109
+ "⠒",
110
+ "⠚",
111
+ "⠙",
112
+ "⠉",
113
+ "⠁"
114
+ ]
115
+ };
116
+ var dots7 = {
117
+ interval: 80,
118
+ frames: [
119
+ "⠈",
120
+ "⠉",
121
+ "⠋",
122
+ "⠓",
123
+ "⠒",
124
+ "⠐",
125
+ "⠐",
126
+ "⠒",
127
+ "⠖",
128
+ "⠦",
129
+ "⠤",
130
+ "⠠",
131
+ "⠠",
132
+ "⠤",
133
+ "⠦",
134
+ "⠖",
135
+ "⠒",
136
+ "⠐",
137
+ "⠐",
138
+ "⠒",
139
+ "⠓",
140
+ "⠋",
141
+ "⠉",
142
+ "⠈"
143
+ ]
144
+ };
145
+ var dots8 = {
146
+ interval: 80,
147
+ frames: [
148
+ "⠁",
149
+ "⠁",
150
+ "⠉",
151
+ "⠙",
152
+ "⠚",
153
+ "⠒",
154
+ "⠂",
155
+ "⠂",
156
+ "⠒",
157
+ "⠲",
158
+ "⠴",
159
+ "⠤",
160
+ "⠄",
161
+ "⠄",
162
+ "⠤",
163
+ "⠠",
164
+ "⠠",
165
+ "⠤",
166
+ "⠦",
167
+ "⠖",
168
+ "⠒",
169
+ "⠐",
170
+ "⠐",
171
+ "⠒",
172
+ "⠓",
173
+ "⠋",
174
+ "⠉",
175
+ "⠈",
176
+ "⠈"
177
+ ]
178
+ };
179
+ var dots9 = {
180
+ interval: 80,
181
+ frames: [
182
+ "⢹",
183
+ "⢺",
184
+ "⢼",
185
+ "⣸",
186
+ "⣇",
187
+ "⡧",
188
+ "⡗",
189
+ "⡏"
190
+ ]
191
+ };
192
+ var dots10 = {
193
+ interval: 80,
194
+ frames: [
195
+ "⢄",
196
+ "⢂",
197
+ "⢁",
198
+ "⡁",
199
+ "⡈",
200
+ "⡐",
201
+ "⡠"
202
+ ]
203
+ };
204
+ var dots11 = {
205
+ interval: 100,
206
+ frames: [
207
+ "⠁",
208
+ "⠂",
209
+ "⠄",
210
+ "⡀",
211
+ "⢀",
212
+ "⠠",
213
+ "⠐",
214
+ "⠈"
215
+ ]
216
+ };
217
+ var dots12 = {
218
+ interval: 80,
219
+ frames: [
220
+ "⢀⠀",
221
+ "⡀⠀",
222
+ "⠄⠀",
223
+ "⢂⠀",
224
+ "⡂⠀",
225
+ "⠅⠀",
226
+ "⢃⠀",
227
+ "⡃⠀",
228
+ "⠍⠀",
229
+ "⢋⠀",
230
+ "⡋⠀",
231
+ "⠍⠁",
232
+ "⢋⠁",
233
+ "⡋⠁",
234
+ "⠍⠉",
235
+ "⠋⠉",
236
+ "⠋⠉",
237
+ "⠉⠙",
238
+ "⠉⠙",
239
+ "⠉⠩",
240
+ "⠈⢙",
241
+ "⠈⡙",
242
+ "⢈⠩",
243
+ "⡀⢙",
244
+ "⠄⡙",
245
+ "⢂⠩",
246
+ "⡂⢘",
247
+ "⠅⡘",
248
+ "⢃⠨",
249
+ "⡃⢐",
250
+ "⠍⡐",
251
+ "⢋⠠",
252
+ "⡋⢀",
253
+ "⠍⡁",
254
+ "⢋⠁",
255
+ "⡋⠁",
256
+ "⠍⠉",
257
+ "⠋⠉",
258
+ "⠋⠉",
259
+ "⠉⠙",
260
+ "⠉⠙",
261
+ "⠉⠩",
262
+ "⠈⢙",
263
+ "⠈⡙",
264
+ "⠈⠩",
265
+ "⠀⢙",
266
+ "⠀⡙",
267
+ "⠀⠩",
268
+ "⠀⢘",
269
+ "⠀⡘",
270
+ "⠀⠨",
271
+ "⠀⢐",
272
+ "⠀⡐",
273
+ "⠀⠠",
274
+ "⠀⢀",
275
+ "⠀⡀"
276
+ ]
277
+ };
278
+ var dots13 = {
279
+ interval: 80,
280
+ frames: [
281
+ "⣼",
282
+ "⣹",
283
+ "⢻",
284
+ "⠿",
285
+ "⡟",
286
+ "⣏",
287
+ "⣧",
288
+ "⣶"
289
+ ]
290
+ };
291
+ var dots14 = {
292
+ interval: 80,
293
+ frames: [
294
+ "⠉⠉",
295
+ "⠈⠙",
296
+ "⠀⠹",
297
+ "⠀⢸",
298
+ "⠀⣰",
299
+ "⢀⣠",
300
+ "⣀⣀",
301
+ "⣄⡀",
302
+ "⣆⠀",
303
+ "⡇⠀",
304
+ "⠏⠀",
305
+ "⠋⠁"
306
+ ]
307
+ };
308
+ var dots8Bit = {
309
+ interval: 80,
310
+ frames: [
311
+ "⠀",
312
+ "⠁",
313
+ "⠂",
314
+ "⠃",
315
+ "⠄",
316
+ "⠅",
317
+ "⠆",
318
+ "⠇",
319
+ "⡀",
320
+ "⡁",
321
+ "⡂",
322
+ "⡃",
323
+ "⡄",
324
+ "⡅",
325
+ "⡆",
326
+ "⡇",
327
+ "⠈",
328
+ "⠉",
329
+ "⠊",
330
+ "⠋",
331
+ "⠌",
332
+ "⠍",
333
+ "⠎",
334
+ "⠏",
335
+ "⡈",
336
+ "⡉",
337
+ "⡊",
338
+ "⡋",
339
+ "⡌",
340
+ "⡍",
341
+ "⡎",
342
+ "⡏",
343
+ "⠐",
344
+ "⠑",
345
+ "⠒",
346
+ "⠓",
347
+ "⠔",
348
+ "⠕",
349
+ "⠖",
350
+ "⠗",
351
+ "⡐",
352
+ "⡑",
353
+ "⡒",
354
+ "⡓",
355
+ "⡔",
356
+ "⡕",
357
+ "⡖",
358
+ "⡗",
359
+ "⠘",
360
+ "⠙",
361
+ "⠚",
362
+ "⠛",
363
+ "⠜",
364
+ "⠝",
365
+ "⠞",
366
+ "⠟",
367
+ "⡘",
368
+ "⡙",
369
+ "⡚",
370
+ "⡛",
371
+ "⡜",
372
+ "⡝",
373
+ "⡞",
374
+ "⡟",
375
+ "⠠",
376
+ "⠡",
377
+ "⠢",
378
+ "⠣",
379
+ "⠤",
380
+ "⠥",
381
+ "⠦",
382
+ "⠧",
383
+ "⡠",
384
+ "⡡",
385
+ "⡢",
386
+ "⡣",
387
+ "⡤",
388
+ "⡥",
389
+ "⡦",
390
+ "⡧",
391
+ "⠨",
392
+ "⠩",
393
+ "⠪",
394
+ "⠫",
395
+ "⠬",
396
+ "⠭",
397
+ "⠮",
398
+ "⠯",
399
+ "⡨",
400
+ "⡩",
401
+ "⡪",
402
+ "⡫",
403
+ "⡬",
404
+ "⡭",
405
+ "⡮",
406
+ "⡯",
407
+ "⠰",
408
+ "⠱",
409
+ "⠲",
410
+ "⠳",
411
+ "⠴",
412
+ "⠵",
413
+ "⠶",
414
+ "⠷",
415
+ "⡰",
416
+ "⡱",
417
+ "⡲",
418
+ "⡳",
419
+ "⡴",
420
+ "⡵",
421
+ "⡶",
422
+ "⡷",
423
+ "⠸",
424
+ "⠹",
425
+ "⠺",
426
+ "⠻",
427
+ "⠼",
428
+ "⠽",
429
+ "⠾",
430
+ "⠿",
431
+ "⡸",
432
+ "⡹",
433
+ "⡺",
434
+ "⡻",
435
+ "⡼",
436
+ "⡽",
437
+ "⡾",
438
+ "⡿",
439
+ "⢀",
440
+ "⢁",
441
+ "⢂",
442
+ "⢃",
443
+ "⢄",
444
+ "⢅",
445
+ "⢆",
446
+ "⢇",
447
+ "⣀",
448
+ "⣁",
449
+ "⣂",
450
+ "⣃",
451
+ "⣄",
452
+ "⣅",
453
+ "⣆",
454
+ "⣇",
455
+ "⢈",
456
+ "⢉",
457
+ "⢊",
458
+ "⢋",
459
+ "⢌",
460
+ "⢍",
461
+ "⢎",
462
+ "⢏",
463
+ "⣈",
464
+ "⣉",
465
+ "⣊",
466
+ "⣋",
467
+ "⣌",
468
+ "⣍",
469
+ "⣎",
470
+ "⣏",
471
+ "⢐",
472
+ "⢑",
473
+ "⢒",
474
+ "⢓",
475
+ "⢔",
476
+ "⢕",
477
+ "⢖",
478
+ "⢗",
479
+ "⣐",
480
+ "⣑",
481
+ "⣒",
482
+ "⣓",
483
+ "⣔",
484
+ "⣕",
485
+ "⣖",
486
+ "⣗",
487
+ "⢘",
488
+ "⢙",
489
+ "⢚",
490
+ "⢛",
491
+ "⢜",
492
+ "⢝",
493
+ "⢞",
494
+ "⢟",
495
+ "⣘",
496
+ "⣙",
497
+ "⣚",
498
+ "⣛",
499
+ "⣜",
500
+ "⣝",
501
+ "⣞",
502
+ "⣟",
503
+ "⢠",
504
+ "⢡",
505
+ "⢢",
506
+ "⢣",
507
+ "⢤",
508
+ "⢥",
509
+ "⢦",
510
+ "⢧",
511
+ "⣠",
512
+ "⣡",
513
+ "⣢",
514
+ "⣣",
515
+ "⣤",
516
+ "⣥",
517
+ "⣦",
518
+ "⣧",
519
+ "⢨",
520
+ "⢩",
521
+ "⢪",
522
+ "⢫",
523
+ "⢬",
524
+ "⢭",
525
+ "⢮",
526
+ "⢯",
527
+ "⣨",
528
+ "⣩",
529
+ "⣪",
530
+ "⣫",
531
+ "⣬",
532
+ "⣭",
533
+ "⣮",
534
+ "⣯",
535
+ "⢰",
536
+ "⢱",
537
+ "⢲",
538
+ "⢳",
539
+ "⢴",
540
+ "⢵",
541
+ "⢶",
542
+ "⢷",
543
+ "⣰",
544
+ "⣱",
545
+ "⣲",
546
+ "⣳",
547
+ "⣴",
548
+ "⣵",
549
+ "⣶",
550
+ "⣷",
551
+ "⢸",
552
+ "⢹",
553
+ "⢺",
554
+ "⢻",
555
+ "⢼",
556
+ "⢽",
557
+ "⢾",
558
+ "⢿",
559
+ "⣸",
560
+ "⣹",
561
+ "⣺",
562
+ "⣻",
563
+ "⣼",
564
+ "⣽",
565
+ "⣾",
566
+ "⣿"
567
+ ]
568
+ };
569
+ var dotsCircle = {
570
+ interval: 80,
571
+ frames: [
572
+ "⢎ ",
573
+ "⠎⠁",
574
+ "⠊⠑",
575
+ "⠈⠱",
576
+ " ⡱",
577
+ "⢀⡰",
578
+ "⢄⡠",
579
+ "⢆⡀"
580
+ ]
581
+ };
582
+ var sand = {
583
+ interval: 80,
584
+ frames: [
585
+ "⠁",
586
+ "⠂",
587
+ "⠄",
588
+ "⡀",
589
+ "⡈",
590
+ "⡐",
591
+ "⡠",
592
+ "⣀",
593
+ "⣁",
594
+ "⣂",
595
+ "⣄",
596
+ "⣌",
597
+ "⣔",
598
+ "⣤",
599
+ "⣥",
600
+ "⣦",
601
+ "⣮",
602
+ "⣶",
603
+ "⣷",
604
+ "⣿",
605
+ "⡿",
606
+ "⠿",
607
+ "⢟",
608
+ "⠟",
609
+ "⡛",
610
+ "⠛",
611
+ "⠫",
612
+ "⢋",
613
+ "⠋",
614
+ "⠍",
615
+ "⡉",
616
+ "⠉",
617
+ "⠑",
618
+ "⠡",
619
+ "⢁"
620
+ ]
621
+ };
622
+ var line = {
623
+ interval: 130,
624
+ frames: [
625
+ "-",
626
+ "\\",
627
+ "|",
628
+ "/"
629
+ ]
630
+ };
631
+ var line2 = {
632
+ interval: 100,
633
+ frames: [
634
+ "⠂",
635
+ "-",
636
+ "–",
637
+ "—",
638
+ "–",
639
+ "-"
640
+ ]
641
+ };
642
+ var rollingLine = {
643
+ interval: 80,
644
+ frames: [
645
+ "/ ",
646
+ " - ",
647
+ " \\ ",
648
+ " |",
649
+ " |",
650
+ " \\ ",
651
+ " - ",
652
+ "/ "
653
+ ]
654
+ };
655
+ var pipe = {
656
+ interval: 100,
657
+ frames: [
658
+ "┤",
659
+ "┘",
660
+ "┴",
661
+ "└",
662
+ "├",
663
+ "┌",
664
+ "┬",
665
+ "┐"
666
+ ]
667
+ };
668
+ var simpleDots = {
669
+ interval: 400,
670
+ frames: [
671
+ ". ",
672
+ ".. ",
673
+ "...",
674
+ " "
675
+ ]
676
+ };
677
+ var simpleDotsScrolling = {
678
+ interval: 200,
679
+ frames: [
680
+ ". ",
681
+ ".. ",
682
+ "...",
683
+ " ..",
684
+ " .",
685
+ " "
686
+ ]
687
+ };
688
+ var star = {
689
+ interval: 70,
690
+ frames: [
691
+ "✶",
692
+ "✸",
693
+ "✹",
694
+ "✺",
695
+ "✹",
696
+ "✷"
697
+ ]
698
+ };
699
+ var star2 = {
700
+ interval: 80,
701
+ frames: [
702
+ "+",
703
+ "x",
704
+ "*"
705
+ ]
706
+ };
707
+ var flip = {
708
+ interval: 70,
709
+ frames: [
710
+ "_",
711
+ "_",
712
+ "_",
713
+ "-",
714
+ "`",
715
+ "`",
716
+ "'",
717
+ "´",
718
+ "-",
719
+ "_",
720
+ "_",
721
+ "_"
722
+ ]
723
+ };
724
+ var hamburger = {
725
+ interval: 100,
726
+ frames: [
727
+ "☱",
728
+ "☲",
729
+ "☴"
730
+ ]
731
+ };
732
+ var growVertical = {
733
+ interval: 120,
734
+ frames: [
735
+ "▁",
736
+ "▃",
737
+ "▄",
738
+ "▅",
739
+ "▆",
740
+ "▇",
741
+ "▆",
742
+ "▅",
743
+ "▄",
744
+ "▃"
745
+ ]
746
+ };
747
+ var growHorizontal = {
748
+ interval: 120,
749
+ frames: [
750
+ "▏",
751
+ "▎",
752
+ "▍",
753
+ "▌",
754
+ "▋",
755
+ "▊",
756
+ "▉",
757
+ "▊",
758
+ "▋",
759
+ "▌",
760
+ "▍",
761
+ "▎"
762
+ ]
763
+ };
764
+ var balloon = {
765
+ interval: 140,
766
+ frames: [
767
+ " ",
768
+ ".",
769
+ "o",
770
+ "O",
771
+ "@",
772
+ "*",
773
+ " "
774
+ ]
775
+ };
776
+ var balloon2 = {
777
+ interval: 120,
778
+ frames: [
779
+ ".",
780
+ "o",
781
+ "O",
782
+ "°",
783
+ "O",
784
+ "o",
785
+ "."
786
+ ]
787
+ };
788
+ var noise = {
789
+ interval: 100,
790
+ frames: [
791
+ "▓",
792
+ "▒",
793
+ "░"
794
+ ]
795
+ };
796
+ var bounce = {
797
+ interval: 120,
798
+ frames: [
799
+ "⠁",
800
+ "⠂",
801
+ "⠄",
802
+ "⠂"
803
+ ]
804
+ };
805
+ var boxBounce = {
806
+ interval: 120,
807
+ frames: [
808
+ "▖",
809
+ "▘",
810
+ "▝",
811
+ "▗"
812
+ ]
813
+ };
814
+ var boxBounce2 = {
815
+ interval: 100,
816
+ frames: [
817
+ "▌",
818
+ "▀",
819
+ "▐",
820
+ "▄"
821
+ ]
822
+ };
823
+ var triangle = {
824
+ interval: 50,
825
+ frames: [
826
+ "◢",
827
+ "◣",
828
+ "◤",
829
+ "◥"
830
+ ]
831
+ };
832
+ var binary = {
833
+ interval: 80,
834
+ frames: [
835
+ "010010",
836
+ "001100",
837
+ "100101",
838
+ "111010",
839
+ "111101",
840
+ "010111",
841
+ "101011",
842
+ "111000",
843
+ "110011",
844
+ "110101"
845
+ ]
846
+ };
847
+ var arc = {
848
+ interval: 100,
849
+ frames: [
850
+ "◜",
851
+ "◠",
852
+ "◝",
853
+ "◞",
854
+ "◡",
855
+ "◟"
856
+ ]
857
+ };
858
+ var circle = {
859
+ interval: 120,
860
+ frames: [
861
+ "◡",
862
+ "⊙",
863
+ "◠"
864
+ ]
865
+ };
866
+ var squareCorners = {
867
+ interval: 180,
868
+ frames: [
869
+ "◰",
870
+ "◳",
871
+ "◲",
872
+ "◱"
873
+ ]
874
+ };
875
+ var circleQuarters = {
876
+ interval: 120,
877
+ frames: [
878
+ "◴",
879
+ "◷",
880
+ "◶",
881
+ "◵"
882
+ ]
883
+ };
884
+ var circleHalves = {
885
+ interval: 50,
886
+ frames: [
887
+ "◐",
888
+ "◓",
889
+ "◑",
890
+ "◒"
891
+ ]
892
+ };
893
+ var squish = {
894
+ interval: 100,
895
+ frames: [
896
+ "╫",
897
+ "╪"
898
+ ]
899
+ };
900
+ var toggle = {
901
+ interval: 250,
902
+ frames: [
903
+ "⊶",
904
+ "⊷"
905
+ ]
906
+ };
907
+ var toggle2 = {
908
+ interval: 80,
909
+ frames: [
910
+ "▫",
911
+ "▪"
912
+ ]
913
+ };
914
+ var toggle3 = {
915
+ interval: 120,
916
+ frames: [
917
+ "□",
918
+ "■"
919
+ ]
920
+ };
921
+ var toggle4 = {
922
+ interval: 100,
923
+ frames: [
924
+ "■",
925
+ "□",
926
+ "▪",
927
+ "▫"
928
+ ]
929
+ };
930
+ var toggle5 = {
931
+ interval: 100,
932
+ frames: [
933
+ "▮",
934
+ "▯"
935
+ ]
936
+ };
937
+ var toggle6 = {
938
+ interval: 300,
939
+ frames: [
940
+ "ဝ",
941
+ "၀"
942
+ ]
943
+ };
944
+ var toggle7 = {
945
+ interval: 80,
946
+ frames: [
947
+ "⦾",
948
+ "⦿"
949
+ ]
950
+ };
951
+ var toggle8 = {
952
+ interval: 100,
953
+ frames: [
954
+ "◍",
955
+ "◌"
956
+ ]
957
+ };
958
+ var toggle9 = {
959
+ interval: 100,
960
+ frames: [
961
+ "◉",
962
+ "◎"
963
+ ]
964
+ };
965
+ var toggle10 = {
966
+ interval: 100,
967
+ frames: [
968
+ "㊂",
969
+ "㊀",
970
+ "㊁"
971
+ ]
972
+ };
973
+ var toggle11 = {
974
+ interval: 50,
975
+ frames: [
976
+ "⧇",
977
+ "⧆"
978
+ ]
979
+ };
980
+ var toggle12 = {
981
+ interval: 120,
982
+ frames: [
983
+ "☗",
984
+ "☖"
985
+ ]
986
+ };
987
+ var toggle13 = {
988
+ interval: 80,
989
+ frames: [
990
+ "=",
991
+ "*",
992
+ "-"
993
+ ]
994
+ };
995
+ var arrow = {
996
+ interval: 100,
997
+ frames: [
998
+ "←",
999
+ "↖",
1000
+ "↑",
1001
+ "↗",
1002
+ "→",
1003
+ "↘",
1004
+ "↓",
1005
+ "↙"
1006
+ ]
1007
+ };
1008
+ var arrow2 = {
1009
+ interval: 80,
1010
+ frames: [
1011
+ "⬆️ ",
1012
+ "↗️ ",
1013
+ "➡️ ",
1014
+ "↘️ ",
1015
+ "⬇️ ",
1016
+ "↙️ ",
1017
+ "⬅️ ",
1018
+ "↖️ "
1019
+ ]
1020
+ };
1021
+ var arrow3 = {
1022
+ interval: 120,
1023
+ frames: [
1024
+ "▹▹▹▹▹",
1025
+ "▸▹▹▹▹",
1026
+ "▹▸▹▹▹",
1027
+ "▹▹▸▹▹",
1028
+ "▹▹▹▸▹",
1029
+ "▹▹▹▹▸"
1030
+ ]
1031
+ };
1032
+ var bouncingBar = {
1033
+ interval: 80,
1034
+ frames: [
1035
+ "[ ]",
1036
+ "[= ]",
1037
+ "[== ]",
1038
+ "[=== ]",
1039
+ "[====]",
1040
+ "[ ===]",
1041
+ "[ ==]",
1042
+ "[ =]",
1043
+ "[ ]",
1044
+ "[ =]",
1045
+ "[ ==]",
1046
+ "[ ===]",
1047
+ "[====]",
1048
+ "[=== ]",
1049
+ "[== ]",
1050
+ "[= ]"
1051
+ ]
1052
+ };
1053
+ var bouncingBall = {
1054
+ interval: 80,
1055
+ frames: [
1056
+ "( ● )",
1057
+ "( ● )",
1058
+ "( ● )",
1059
+ "( ● )",
1060
+ "( ●)",
1061
+ "( ● )",
1062
+ "( ● )",
1063
+ "( ● )",
1064
+ "( ● )",
1065
+ "(● )"
1066
+ ]
1067
+ };
1068
+ var smiley = {
1069
+ interval: 200,
1070
+ frames: [
1071
+ "😄 ",
1072
+ "😝 "
1073
+ ]
1074
+ };
1075
+ var monkey = {
1076
+ interval: 300,
1077
+ frames: [
1078
+ "🙈 ",
1079
+ "🙈 ",
1080
+ "🙉 ",
1081
+ "🙊 "
1082
+ ]
1083
+ };
1084
+ var hearts = {
1085
+ interval: 100,
1086
+ frames: [
1087
+ "💛 ",
1088
+ "💙 ",
1089
+ "💜 ",
1090
+ "💚 ",
1091
+ "💗 "
1092
+ ]
1093
+ };
1094
+ var clock = {
1095
+ interval: 100,
1096
+ frames: [
1097
+ "🕛 ",
1098
+ "🕐 ",
1099
+ "🕑 ",
1100
+ "🕒 ",
1101
+ "🕓 ",
1102
+ "🕔 ",
1103
+ "🕕 ",
1104
+ "🕖 ",
1105
+ "🕗 ",
1106
+ "🕘 ",
1107
+ "🕙 ",
1108
+ "🕚 "
1109
+ ]
1110
+ };
1111
+ var earth = {
1112
+ interval: 180,
1113
+ frames: [
1114
+ "🌍 ",
1115
+ "🌎 ",
1116
+ "🌏 "
1117
+ ]
1118
+ };
1119
+ var material = {
1120
+ interval: 17,
1121
+ frames: [
1122
+ "█▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁",
1123
+ "██▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁",
1124
+ "███▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁",
1125
+ "████▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁",
1126
+ "██████▁▁▁▁▁▁▁▁▁▁▁▁▁▁",
1127
+ "██████▁▁▁▁▁▁▁▁▁▁▁▁▁▁",
1128
+ "███████▁▁▁▁▁▁▁▁▁▁▁▁▁",
1129
+ "████████▁▁▁▁▁▁▁▁▁▁▁▁",
1130
+ "█████████▁▁▁▁▁▁▁▁▁▁▁",
1131
+ "█████████▁▁▁▁▁▁▁▁▁▁▁",
1132
+ "██████████▁▁▁▁▁▁▁▁▁▁",
1133
+ "███████████▁▁▁▁▁▁▁▁▁",
1134
+ "█████████████▁▁▁▁▁▁▁",
1135
+ "██████████████▁▁▁▁▁▁",
1136
+ "██████████████▁▁▁▁▁▁",
1137
+ "▁██████████████▁▁▁▁▁",
1138
+ "▁██████████████▁▁▁▁▁",
1139
+ "▁██████████████▁▁▁▁▁",
1140
+ "▁▁██████████████▁▁▁▁",
1141
+ "▁▁▁██████████████▁▁▁",
1142
+ "▁▁▁▁█████████████▁▁▁",
1143
+ "▁▁▁▁██████████████▁▁",
1144
+ "▁▁▁▁██████████████▁▁",
1145
+ "▁▁▁▁▁██████████████▁",
1146
+ "▁▁▁▁▁██████████████▁",
1147
+ "▁▁▁▁▁██████████████▁",
1148
+ "▁▁▁▁▁▁██████████████",
1149
+ "▁▁▁▁▁▁██████████████",
1150
+ "▁▁▁▁▁▁▁█████████████",
1151
+ "▁▁▁▁▁▁▁█████████████",
1152
+ "▁▁▁▁▁▁▁▁████████████",
1153
+ "▁▁▁▁▁▁▁▁████████████",
1154
+ "▁▁▁▁▁▁▁▁▁███████████",
1155
+ "▁▁▁▁▁▁▁▁▁███████████",
1156
+ "▁▁▁▁▁▁▁▁▁▁██████████",
1157
+ "▁▁▁▁▁▁▁▁▁▁██████████",
1158
+ "▁▁▁▁▁▁▁▁▁▁▁▁████████",
1159
+ "▁▁▁▁▁▁▁▁▁▁▁▁▁███████",
1160
+ "▁▁▁▁▁▁▁▁▁▁▁▁▁▁██████",
1161
+ "▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁█████",
1162
+ "▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁█████",
1163
+ "█▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁████",
1164
+ "██▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁███",
1165
+ "██▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁███",
1166
+ "███▁▁▁▁▁▁▁▁▁▁▁▁▁▁███",
1167
+ "████▁▁▁▁▁▁▁▁▁▁▁▁▁▁██",
1168
+ "█████▁▁▁▁▁▁▁▁▁▁▁▁▁▁█",
1169
+ "█████▁▁▁▁▁▁▁▁▁▁▁▁▁▁█",
1170
+ "██████▁▁▁▁▁▁▁▁▁▁▁▁▁█",
1171
+ "████████▁▁▁▁▁▁▁▁▁▁▁▁",
1172
+ "█████████▁▁▁▁▁▁▁▁▁▁▁",
1173
+ "█████████▁▁▁▁▁▁▁▁▁▁▁",
1174
+ "█████████▁▁▁▁▁▁▁▁▁▁▁",
1175
+ "█████████▁▁▁▁▁▁▁▁▁▁▁",
1176
+ "███████████▁▁▁▁▁▁▁▁▁",
1177
+ "████████████▁▁▁▁▁▁▁▁",
1178
+ "████████████▁▁▁▁▁▁▁▁",
1179
+ "██████████████▁▁▁▁▁▁",
1180
+ "██████████████▁▁▁▁▁▁",
1181
+ "▁██████████████▁▁▁▁▁",
1182
+ "▁██████████████▁▁▁▁▁",
1183
+ "▁▁▁█████████████▁▁▁▁",
1184
+ "▁▁▁▁▁████████████▁▁▁",
1185
+ "▁▁▁▁▁████████████▁▁▁",
1186
+ "▁▁▁▁▁▁███████████▁▁▁",
1187
+ "▁▁▁▁▁▁▁▁█████████▁▁▁",
1188
+ "▁▁▁▁▁▁▁▁█████████▁▁▁",
1189
+ "▁▁▁▁▁▁▁▁▁█████████▁▁",
1190
+ "▁▁▁▁▁▁▁▁▁█████████▁▁",
1191
+ "▁▁▁▁▁▁▁▁▁▁█████████▁",
1192
+ "▁▁▁▁▁▁▁▁▁▁▁████████▁",
1193
+ "▁▁▁▁▁▁▁▁▁▁▁████████▁",
1194
+ "▁▁▁▁▁▁▁▁▁▁▁▁███████▁",
1195
+ "▁▁▁▁▁▁▁▁▁▁▁▁███████▁",
1196
+ "▁▁▁▁▁▁▁▁▁▁▁▁▁███████",
1197
+ "▁▁▁▁▁▁▁▁▁▁▁▁▁███████",
1198
+ "▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁█████",
1199
+ "▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁████",
1200
+ "▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁████",
1201
+ "▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁████",
1202
+ "▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁███",
1203
+ "▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁███",
1204
+ "▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁██",
1205
+ "▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁██",
1206
+ "▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁██",
1207
+ "▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁█",
1208
+ "▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁█",
1209
+ "▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁█",
1210
+ "▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁",
1211
+ "▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁",
1212
+ "▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁",
1213
+ "▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁"
1214
+ ]
1215
+ };
1216
+ var moon = {
1217
+ interval: 80,
1218
+ frames: [
1219
+ "🌑 ",
1220
+ "🌒 ",
1221
+ "🌓 ",
1222
+ "🌔 ",
1223
+ "🌕 ",
1224
+ "🌖 ",
1225
+ "🌗 ",
1226
+ "🌘 "
1227
+ ]
1228
+ };
1229
+ var runner = {
1230
+ interval: 140,
1231
+ frames: [
1232
+ "🚶 ",
1233
+ "🏃 "
1234
+ ]
1235
+ };
1236
+ var pong = {
1237
+ interval: 80,
1238
+ frames: [
1239
+ "▐⠂ ▌",
1240
+ "▐⠈ ▌",
1241
+ "▐ ⠂ ▌",
1242
+ "▐ ⠠ ▌",
1243
+ "▐ ⡀ ▌",
1244
+ "▐ ⠠ ▌",
1245
+ "▐ ⠂ ▌",
1246
+ "▐ ⠈ ▌",
1247
+ "▐ ⠂ ▌",
1248
+ "▐ ⠠ ▌",
1249
+ "▐ ⡀ ▌",
1250
+ "▐ ⠠ ▌",
1251
+ "▐ ⠂ ▌",
1252
+ "▐ ⠈ ▌",
1253
+ "▐ ⠂▌",
1254
+ "▐ ⠠▌",
1255
+ "▐ ⡀▌",
1256
+ "▐ ⠠ ▌",
1257
+ "▐ ⠂ ▌",
1258
+ "▐ ⠈ ▌",
1259
+ "▐ ⠂ ▌",
1260
+ "▐ ⠠ ▌",
1261
+ "▐ ⡀ ▌",
1262
+ "▐ ⠠ ▌",
1263
+ "▐ ⠂ ▌",
1264
+ "▐ ⠈ ▌",
1265
+ "▐ ⠂ ▌",
1266
+ "▐ ⠠ ▌",
1267
+ "▐ ⡀ ▌",
1268
+ "▐⠠ ▌"
1269
+ ]
1270
+ };
1271
+ var shark = {
1272
+ interval: 120,
1273
+ frames: [
1274
+ "▐|\\____________▌",
1275
+ "▐_|\\___________▌",
1276
+ "▐__|\\__________▌",
1277
+ "▐___|\\_________▌",
1278
+ "▐____|\\________▌",
1279
+ "▐_____|\\_______▌",
1280
+ "▐______|\\______▌",
1281
+ "▐_______|\\_____▌",
1282
+ "▐________|\\____▌",
1283
+ "▐_________|\\___▌",
1284
+ "▐__________|\\__▌",
1285
+ "▐___________|\\_▌",
1286
+ "▐____________|\\▌",
1287
+ "▐____________/|▌",
1288
+ "▐___________/|_▌",
1289
+ "▐__________/|__▌",
1290
+ "▐_________/|___▌",
1291
+ "▐________/|____▌",
1292
+ "▐_______/|_____▌",
1293
+ "▐______/|______▌",
1294
+ "▐_____/|_______▌",
1295
+ "▐____/|________▌",
1296
+ "▐___/|_________▌",
1297
+ "▐__/|__________▌",
1298
+ "▐_/|___________▌",
1299
+ "▐/|____________▌"
1300
+ ]
1301
+ };
1302
+ var dqpb = {
1303
+ interval: 100,
1304
+ frames: [
1305
+ "d",
1306
+ "q",
1307
+ "p",
1308
+ "b"
1309
+ ]
1310
+ };
1311
+ var weather = {
1312
+ interval: 100,
1313
+ frames: [
1314
+ "☀️ ",
1315
+ "☀️ ",
1316
+ "☀️ ",
1317
+ "🌤 ",
1318
+ "⛅️ ",
1319
+ "🌥 ",
1320
+ "☁️ ",
1321
+ "🌧 ",
1322
+ "🌨 ",
1323
+ "🌧 ",
1324
+ "🌨 ",
1325
+ "🌧 ",
1326
+ "🌨 ",
1327
+ "⛈ ",
1328
+ "🌨 ",
1329
+ "🌧 ",
1330
+ "🌨 ",
1331
+ "☁️ ",
1332
+ "🌥 ",
1333
+ "⛅️ ",
1334
+ "🌤 ",
1335
+ "☀️ ",
1336
+ "☀️ "
1337
+ ]
1338
+ };
1339
+ var christmas = {
1340
+ interval: 400,
1341
+ frames: [
1342
+ "🌲",
1343
+ "🎄"
1344
+ ]
1345
+ };
1346
+ var grenade = {
1347
+ interval: 80,
1348
+ frames: [
1349
+ "، ",
1350
+ "′ ",
1351
+ " ´ ",
1352
+ " ‾ ",
1353
+ " ⸌",
1354
+ " ⸊",
1355
+ " |",
1356
+ " ⁎",
1357
+ " ⁕",
1358
+ " ෴ ",
1359
+ " ⁓",
1360
+ " ",
1361
+ " ",
1362
+ " "
1363
+ ]
1364
+ };
1365
+ var point = {
1366
+ interval: 125,
1367
+ frames: [
1368
+ "∙∙∙",
1369
+ "●∙∙",
1370
+ "∙●∙",
1371
+ "∙∙●",
1372
+ "∙∙∙"
1373
+ ]
1374
+ };
1375
+ var layer = {
1376
+ interval: 150,
1377
+ frames: [
1378
+ "-",
1379
+ "=",
1380
+ "≡"
1381
+ ]
1382
+ };
1383
+ var betaWave = {
1384
+ interval: 80,
1385
+ frames: [
1386
+ "ρββββββ",
1387
+ "βρβββββ",
1388
+ "ββρββββ",
1389
+ "βββρβββ",
1390
+ "ββββρββ",
1391
+ "βββββρβ",
1392
+ "ββββββρ"
1393
+ ]
1394
+ };
1395
+ var fingerDance = {
1396
+ interval: 160,
1397
+ frames: [
1398
+ "🤘 ",
1399
+ "🤟 ",
1400
+ "🖖 ",
1401
+ "✋ ",
1402
+ "🤚 ",
1403
+ "👆 "
1404
+ ]
1405
+ };
1406
+ var fistBump = {
1407
+ interval: 80,
1408
+ frames: [
1409
+ "🤜    🤛 ",
1410
+ "🤜    🤛 ",
1411
+ "🤜    🤛 ",
1412
+ " 🤜  🤛  ",
1413
+ "  🤜🤛   ",
1414
+ " 🤜✨🤛   ",
1415
+ "🤜 ✨ 🤛  "
1416
+ ]
1417
+ };
1418
+ var soccerHeader = {
1419
+ interval: 80,
1420
+ frames: [
1421
+ " 🧑⚽️ 🧑 ",
1422
+ "🧑 ⚽️ 🧑 ",
1423
+ "🧑 ⚽️ 🧑 ",
1424
+ "🧑 ⚽️ 🧑 ",
1425
+ "🧑 ⚽️ 🧑 ",
1426
+ "🧑 ⚽️ 🧑 ",
1427
+ "🧑 ⚽️🧑 ",
1428
+ "🧑 ⚽️ 🧑 ",
1429
+ "🧑 ⚽️ 🧑 ",
1430
+ "🧑 ⚽️ 🧑 ",
1431
+ "🧑 ⚽️ 🧑 ",
1432
+ "🧑 ⚽️ 🧑 "
1433
+ ]
1434
+ };
1435
+ var mindblown = {
1436
+ interval: 160,
1437
+ frames: [
1438
+ "😐 ",
1439
+ "😐 ",
1440
+ "😮 ",
1441
+ "😮 ",
1442
+ "😦 ",
1443
+ "😦 ",
1444
+ "😧 ",
1445
+ "😧 ",
1446
+ "🤯 ",
1447
+ "💥 ",
1448
+ "✨ ",
1449
+ "  ",
1450
+ "  ",
1451
+ "  "
1452
+ ]
1453
+ };
1454
+ var speaker = {
1455
+ interval: 160,
1456
+ frames: [
1457
+ "🔈 ",
1458
+ "🔉 ",
1459
+ "🔊 ",
1460
+ "🔉 "
1461
+ ]
1462
+ };
1463
+ var orangePulse = {
1464
+ interval: 100,
1465
+ frames: [
1466
+ "🔸 ",
1467
+ "🔶 ",
1468
+ "🟠 ",
1469
+ "🟠 ",
1470
+ "🔶 "
1471
+ ]
1472
+ };
1473
+ var bluePulse = {
1474
+ interval: 100,
1475
+ frames: [
1476
+ "🔹 ",
1477
+ "🔷 ",
1478
+ "🔵 ",
1479
+ "🔵 ",
1480
+ "🔷 "
1481
+ ]
1482
+ };
1483
+ var orangeBluePulse = {
1484
+ interval: 100,
1485
+ frames: [
1486
+ "🔸 ",
1487
+ "🔶 ",
1488
+ "🟠 ",
1489
+ "🟠 ",
1490
+ "🔶 ",
1491
+ "🔹 ",
1492
+ "🔷 ",
1493
+ "🔵 ",
1494
+ "🔵 ",
1495
+ "🔷 "
1496
+ ]
1497
+ };
1498
+ var timeTravel = {
1499
+ interval: 100,
1500
+ frames: [
1501
+ "🕛 ",
1502
+ "🕚 ",
1503
+ "🕙 ",
1504
+ "🕘 ",
1505
+ "🕗 ",
1506
+ "🕖 ",
1507
+ "🕕 ",
1508
+ "🕔 ",
1509
+ "🕓 ",
1510
+ "🕒 ",
1511
+ "🕑 ",
1512
+ "🕐 "
1513
+ ]
1514
+ };
1515
+ var aesthetic = {
1516
+ interval: 80,
1517
+ frames: [
1518
+ "▰▱▱▱▱▱▱",
1519
+ "▰▰▱▱▱▱▱",
1520
+ "▰▰▰▱▱▱▱",
1521
+ "▰▰▰▰▱▱▱",
1522
+ "▰▰▰▰▰▱▱",
1523
+ "▰▰▰▰▰▰▱",
1524
+ "▰▰▰▰▰▰▰",
1525
+ "▰▱▱▱▱▱▱"
1526
+ ]
1527
+ };
1528
+ var dwarfFortress = {
1529
+ interval: 80,
1530
+ frames: [
1531
+ " ██████£££ ",
1532
+ "☺██████£££ ",
1533
+ "☺██████£££ ",
1534
+ "☺▓█████£££ ",
1535
+ "☺▓█████£££ ",
1536
+ "☺▒█████£££ ",
1537
+ "☺▒█████£££ ",
1538
+ "☺░█████£££ ",
1539
+ "☺░█████£££ ",
1540
+ "☺ █████£££ ",
1541
+ " ☺█████£££ ",
1542
+ " ☺█████£££ ",
1543
+ " ☺▓████£££ ",
1544
+ " ☺▓████£££ ",
1545
+ " ☺▒████£££ ",
1546
+ " ☺▒████£££ ",
1547
+ " ☺░████£££ ",
1548
+ " ☺░████£££ ",
1549
+ " ☺ ████£££ ",
1550
+ " ☺████£££ ",
1551
+ " ☺████£££ ",
1552
+ " ☺▓███£££ ",
1553
+ " ☺▓███£££ ",
1554
+ " ☺▒███£££ ",
1555
+ " ☺▒███£££ ",
1556
+ " ☺░███£££ ",
1557
+ " ☺░███£££ ",
1558
+ " ☺ ███£££ ",
1559
+ " ☺███£££ ",
1560
+ " ☺███£££ ",
1561
+ " ☺▓██£££ ",
1562
+ " ☺▓██£££ ",
1563
+ " ☺▒██£££ ",
1564
+ " ☺▒██£££ ",
1565
+ " ☺░██£££ ",
1566
+ " ☺░██£££ ",
1567
+ " ☺ ██£££ ",
1568
+ " ☺██£££ ",
1569
+ " ☺██£££ ",
1570
+ " ☺▓█£££ ",
1571
+ " ☺▓█£££ ",
1572
+ " ☺▒█£££ ",
1573
+ " ☺▒█£££ ",
1574
+ " ☺░█£££ ",
1575
+ " ☺░█£££ ",
1576
+ " ☺ █£££ ",
1577
+ " ☺█£££ ",
1578
+ " ☺█£££ ",
1579
+ " ☺▓£££ ",
1580
+ " ☺▓£££ ",
1581
+ " ☺▒£££ ",
1582
+ " ☺▒£££ ",
1583
+ " ☺░£££ ",
1584
+ " ☺░£££ ",
1585
+ " ☺ £££ ",
1586
+ " ☺£££ ",
1587
+ " ☺£££ ",
1588
+ " ☺▓££ ",
1589
+ " ☺▓££ ",
1590
+ " ☺▒££ ",
1591
+ " ☺▒££ ",
1592
+ " ☺░££ ",
1593
+ " ☺░££ ",
1594
+ " ☺ ££ ",
1595
+ " ☺££ ",
1596
+ " ☺££ ",
1597
+ " ☺▓£ ",
1598
+ " ☺▓£ ",
1599
+ " ☺▒£ ",
1600
+ " ☺▒£ ",
1601
+ " ☺░£ ",
1602
+ " ☺░£ ",
1603
+ " ☺ £ ",
1604
+ " ☺£ ",
1605
+ " ☺£ ",
1606
+ " ☺▓ ",
1607
+ " ☺▓ ",
1608
+ " ☺▒ ",
1609
+ " ☺▒ ",
1610
+ " ☺░ ",
1611
+ " ☺░ ",
1612
+ " ☺ ",
1613
+ " ☺ &",
1614
+ " ☺ ☼&",
1615
+ " ☺ ☼ &",
1616
+ " ☺☼ &",
1617
+ " ☺☼ & ",
1618
+ " ‼ & ",
1619
+ " ☺ & ",
1620
+ " ‼ & ",
1621
+ " ☺ & ",
1622
+ " ‼ & ",
1623
+ " ☺ & ",
1624
+ "‼ & ",
1625
+ " & ",
1626
+ " & ",
1627
+ " & ░ ",
1628
+ " & ▒ ",
1629
+ " & ▓ ",
1630
+ " & £ ",
1631
+ " & ░£ ",
1632
+ " & ▒£ ",
1633
+ " & ▓£ ",
1634
+ " & ££ ",
1635
+ " & ░££ ",
1636
+ " & ▒££ ",
1637
+ "& ▓££ ",
1638
+ "& £££ ",
1639
+ " ░£££ ",
1640
+ " ▒£££ ",
1641
+ " ▓£££ ",
1642
+ " █£££ ",
1643
+ " ░█£££ ",
1644
+ " ▒█£££ ",
1645
+ " ▓█£££ ",
1646
+ " ██£££ ",
1647
+ " ░██£££ ",
1648
+ " ▒██£££ ",
1649
+ " ▓██£££ ",
1650
+ " ███£££ ",
1651
+ " ░███£££ ",
1652
+ " ▒███£££ ",
1653
+ " ▓███£££ ",
1654
+ " ████£££ ",
1655
+ " ░████£££ ",
1656
+ " ▒████£££ ",
1657
+ " ▓████£££ ",
1658
+ " █████£££ ",
1659
+ " ░█████£££ ",
1660
+ " ▒█████£££ ",
1661
+ " ▓█████£££ ",
1662
+ " ██████£££ ",
1663
+ " ██████£££ "
1664
+ ]
1665
+ };
1666
+ const spinners = {
1667
+ dots: dots,
1668
+ dots2: dots2,
1669
+ dots3: dots3,
1670
+ dots4: dots4,
1671
+ dots5: dots5,
1672
+ dots6: dots6,
1673
+ dots7: dots7,
1674
+ dots8: dots8,
1675
+ dots9: dots9,
1676
+ dots10: dots10,
1677
+ dots11: dots11,
1678
+ dots12: dots12,
1679
+ dots13: dots13,
1680
+ dots14: dots14,
1681
+ dots8Bit: dots8Bit,
1682
+ dotsCircle: dotsCircle,
1683
+ sand: sand,
1684
+ line: line,
1685
+ line2: line2,
1686
+ rollingLine: rollingLine,
1687
+ pipe: pipe,
1688
+ simpleDots: simpleDots,
1689
+ simpleDotsScrolling: simpleDotsScrolling,
1690
+ star: star,
1691
+ star2: star2,
1692
+ flip: flip,
1693
+ hamburger: hamburger,
1694
+ growVertical: growVertical,
1695
+ growHorizontal: growHorizontal,
1696
+ balloon: balloon,
1697
+ balloon2: balloon2,
1698
+ noise: noise,
1699
+ bounce: bounce,
1700
+ boxBounce: boxBounce,
1701
+ boxBounce2: boxBounce2,
1702
+ triangle: triangle,
1703
+ binary: binary,
1704
+ arc: arc,
1705
+ circle: circle,
1706
+ squareCorners: squareCorners,
1707
+ circleQuarters: circleQuarters,
1708
+ circleHalves: circleHalves,
1709
+ squish: squish,
1710
+ toggle: toggle,
1711
+ toggle2: toggle2,
1712
+ toggle3: toggle3,
1713
+ toggle4: toggle4,
1714
+ toggle5: toggle5,
1715
+ toggle6: toggle6,
1716
+ toggle7: toggle7,
1717
+ toggle8: toggle8,
1718
+ toggle9: toggle9,
1719
+ toggle10: toggle10,
1720
+ toggle11: toggle11,
1721
+ toggle12: toggle12,
1722
+ toggle13: toggle13,
1723
+ arrow: arrow,
1724
+ arrow2: arrow2,
1725
+ arrow3: arrow3,
1726
+ bouncingBar: bouncingBar,
1727
+ bouncingBall: bouncingBall,
1728
+ smiley: smiley,
1729
+ monkey: monkey,
1730
+ hearts: hearts,
1731
+ clock: clock,
1732
+ earth: earth,
1733
+ material: material,
1734
+ moon: moon,
1735
+ runner: runner,
1736
+ pong: pong,
1737
+ shark: shark,
1738
+ dqpb: dqpb,
1739
+ weather: weather,
1740
+ christmas: christmas,
1741
+ grenade: grenade,
1742
+ point: point,
1743
+ layer: layer,
1744
+ betaWave: betaWave,
1745
+ fingerDance: fingerDance,
1746
+ fistBump: fistBump,
1747
+ soccerHeader: soccerHeader,
1748
+ mindblown: mindblown,
1749
+ speaker: speaker,
1750
+ orangePulse: orangePulse,
1751
+ bluePulse: bluePulse,
1752
+ orangeBluePulse: orangeBluePulse,
1753
+ timeTravel: timeTravel,
1754
+ aesthetic: aesthetic,
1755
+ dwarfFortress: dwarfFortress
1756
+ };
1757
+
1758
+ const DEFAULT_ICONS = {
1759
+ error: "✖",
1760
+ info: "ℹ",
1761
+ success: "✓",
1762
+ warning: "⚠"
1763
+ };
1764
+ const applyStyle = (text, style) => {
1765
+ if (!style) {
1766
+ return text;
1767
+ }
1768
+ let styled = colorize;
1769
+ if (style.bold)
1770
+ styled = styled.bold;
1771
+ if (style.dim)
1772
+ styled = styled.dim;
1773
+ if (style.italic)
1774
+ styled = styled.italic;
1775
+ if (style.underline)
1776
+ styled = styled.underline;
1777
+ if (style.strikethrough)
1778
+ styled = styled.strikethrough;
1779
+ if (style.inverse)
1780
+ styled = styled.inverse;
1781
+ if (style.overline)
1782
+ styled = styled.overline;
1783
+ if (style.color) {
1784
+ styled = styled[style.color];
1785
+ } else if (style.hex) {
1786
+ styled = styled.hex(style.hex);
1787
+ } else if (style.rgb) {
1788
+ styled = styled.rgb(...style.rgb);
1789
+ }
1790
+ if (style.bgColor) {
1791
+ styled = styled[style.bgColor];
1792
+ } else if (style.bgHex) {
1793
+ styled = styled.bgHex(style.bgHex);
1794
+ } else if (style.bgRgb) {
1795
+ styled = styled.bgRgb(...style.bgRgb);
1796
+ }
1797
+ return styled(text);
1798
+ };
1799
+ class Spinner {
1800
+ #frame = 0;
1801
+ #frameInterval;
1802
+ #isActive = false;
1803
+ #prefixText = "";
1804
+ #text = "";
1805
+ #startTime = 0;
1806
+ #interactiveManager;
1807
+ #multiSpinner;
1808
+ #finalOutput = "";
1809
+ #spinnerName;
1810
+ #verbose;
1811
+ #style;
1812
+ #icons;
1813
+ /**
1814
+ * Creates a new Spinner instance.
1815
+ * @param options Configuration options for the spinner
1816
+ * @param interactiveManager Optional interactive manager for terminal control
1817
+ */
1818
+ constructor(options = {}, interactiveManager) {
1819
+ this.#spinnerName = options.name ?? "dots";
1820
+ this.#verbose = options.verbose !== false;
1821
+ this.#style = options.style;
1822
+ this.#prefixText = options.prefixText ?? "";
1823
+ this.#interactiveManager = interactiveManager;
1824
+ this.#icons = { ...DEFAULT_ICONS, ...options.icons };
1825
+ }
1826
+ /**
1827
+ * Current elapsed time in milliseconds.
1828
+ */
1829
+ get elapsedTime() {
1830
+ return Date.now() - this.#startTime;
1831
+ }
1832
+ /**
1833
+ * Get or set the spinner text.
1834
+ */
1835
+ get getText() {
1836
+ return this.#text;
1837
+ }
1838
+ set text(value) {
1839
+ this.#text = value;
1840
+ if (this.#isActive) {
1841
+ if (this.#multiSpinner) {
1842
+ this.#multiSpinner.renderAll();
1843
+ } else if (this.#interactiveManager) {
1844
+ this.#render();
1845
+ }
1846
+ }
1847
+ }
1848
+ /**
1849
+ * Get or set the prefix text.
1850
+ */
1851
+ get getPrefixText() {
1852
+ return this.#prefixText;
1853
+ }
1854
+ set prefixText(value) {
1855
+ this.#prefixText = value;
1856
+ if (this.#isActive) {
1857
+ if (this.#multiSpinner) {
1858
+ this.#multiSpinner.renderAll();
1859
+ } else if (this.#interactiveManager) {
1860
+ this.#render();
1861
+ }
1862
+ }
1863
+ }
1864
+ /**
1865
+ * Whether the spinner is currently active.
1866
+ */
1867
+ get isRunning() {
1868
+ return this.#isActive;
1869
+ }
1870
+ /**
1871
+ * Set the interactive manager for interactive mode.
1872
+ * @internal
1873
+ */
1874
+ setInteractiveManager(manager) {
1875
+ this.#interactiveManager = manager;
1876
+ }
1877
+ /**
1878
+ * Set the multi spinner reference.
1879
+ * @internal
1880
+ */
1881
+ setMultiSpinner(multiSpinner) {
1882
+ this.#multiSpinner = multiSpinner;
1883
+ }
1884
+ /**
1885
+ * Start the spinner with optional text.
1886
+ * @param text Optional text to display
1887
+ * @param options
1888
+ * @param options.prefixText Optional prefix text to display
1889
+ * @returns The spinner instance for chaining
1890
+ */
1891
+ start(text, options) {
1892
+ if (this.#isActive) {
1893
+ return this;
1894
+ }
1895
+ if (!this.#verbose) {
1896
+ return this;
1897
+ }
1898
+ this.#isActive = true;
1899
+ this.#startTime = Date.now();
1900
+ this.#frame = 0;
1901
+ if (text) {
1902
+ this.#text = text;
1903
+ }
1904
+ if (options?.prefixText) {
1905
+ this.#prefixText = options.prefixText;
1906
+ }
1907
+ const manager = this.#multiSpinner || this.#interactiveManager;
1908
+ if (manager) {
1909
+ if (this.#multiSpinner) {
1910
+ manager.renderAll();
1911
+ } else {
1912
+ manager.hook();
1913
+ this.#render();
1914
+ }
1915
+ }
1916
+ const spinner = spinners[this.#spinnerName];
1917
+ this.#frameInterval = setInterval(() => {
1918
+ if (this.#isActive) {
1919
+ this.#frame = (this.#frame + 1) % spinner.frames.length;
1920
+ if (this.#multiSpinner) {
1921
+ this.#multiSpinner.renderAll();
1922
+ } else if (this.#interactiveManager) {
1923
+ this.#render();
1924
+ }
1925
+ }
1926
+ }, spinner.interval);
1927
+ return this;
1928
+ }
1929
+ /**
1930
+ * Stop the spinner with a success message.
1931
+ * @param text Optional success text
1932
+ */
1933
+ succeed(text) {
1934
+ this.#stop("success", text);
1935
+ }
1936
+ /**
1937
+ * Stop the spinner with a failure message.
1938
+ * @param text Optional failure text
1939
+ */
1940
+ failed(text) {
1941
+ this.#stop("error", text);
1942
+ }
1943
+ /**
1944
+ * Stop the spinner with a warning message.
1945
+ * @param text Optional warning text
1946
+ */
1947
+ warn(text) {
1948
+ this.#stop("warning", text);
1949
+ }
1950
+ /**
1951
+ * Stop the spinner with an info message.
1952
+ * @param text Optional info text
1953
+ */
1954
+ info(text) {
1955
+ this.#stop("info", text);
1956
+ }
1957
+ /**
1958
+ * Pause the spinner without stopping it.
1959
+ */
1960
+ pause() {
1961
+ if (this.#frameInterval) {
1962
+ clearInterval(this.#frameInterval);
1963
+ this.#frameInterval = void 0;
1964
+ }
1965
+ }
1966
+ /**
1967
+ * Resume the spinner if it was paused.
1968
+ */
1969
+ resume() {
1970
+ if (!this.#isActive) {
1971
+ return;
1972
+ }
1973
+ if (this.#frameInterval) {
1974
+ clearInterval(this.#frameInterval);
1975
+ }
1976
+ const spinner = spinners[this.#spinnerName];
1977
+ this.#frameInterval = setInterval(() => {
1978
+ if (this.#isActive) {
1979
+ this.#frame = (this.#frame + 1) % spinner.frames.length;
1980
+ if (this.#multiSpinner) {
1981
+ this.#multiSpinner.renderAll();
1982
+ } else if (this.#interactiveManager) {
1983
+ this.#render();
1984
+ }
1985
+ }
1986
+ }, spinner.interval);
1987
+ }
1988
+ /**
1989
+ * Get current frame output.
1990
+ * @internal
1991
+ */
1992
+ getFrameOutput() {
1993
+ if (!this.#isActive && this.#finalOutput) {
1994
+ return this.#finalOutput;
1995
+ }
1996
+ const spinner = spinners[this.#spinnerName];
1997
+ const frame = spinner.frames[this.#frame];
1998
+ let output = applyStyle(frame, this.#style);
1999
+ if (this.#prefixText) {
2000
+ output = `${this.#prefixText} ${output}`;
2001
+ }
2002
+ if (this.#text) {
2003
+ output = `${output} ${this.#text}`;
2004
+ }
2005
+ return output;
2006
+ }
2007
+ /**
2008
+ * Render the current spinner frame.
2009
+ */
2010
+ #render() {
2011
+ if (this.#interactiveManager) {
2012
+ this.#interactiveManager.update("stdout", [this.getFrameOutput()]);
2013
+ }
2014
+ }
2015
+ /**
2016
+ * Stop the spinner with a given status.
2017
+ * @param status The status type (success, error, warning, info)
2018
+ * @param text Optional text to display
2019
+ */
2020
+ #stop(status, text) {
2021
+ if (!this.#isActive) {
2022
+ return;
2023
+ }
2024
+ if (this.#frameInterval) {
2025
+ clearInterval(this.#frameInterval);
2026
+ this.#frameInterval = void 0;
2027
+ }
2028
+ this.#isActive = false;
2029
+ if (!this.#verbose) {
2030
+ return;
2031
+ }
2032
+ let output = "";
2033
+ const icon = this.#icons[status];
2034
+ if (icon) {
2035
+ output = applyStyle(icon, this.#style);
2036
+ }
2037
+ if (this.#prefixText) {
2038
+ output = `${this.#prefixText} ${output}`;
2039
+ }
2040
+ if (text) {
2041
+ output = `${output} ${text}`;
2042
+ }
2043
+ this.#finalOutput = output;
2044
+ const manager = this.#multiSpinner || this.#interactiveManager;
2045
+ if (manager) {
2046
+ if (this.#multiSpinner) {
2047
+ this.#multiSpinner.renderAll();
2048
+ } else if (this.#interactiveManager) {
2049
+ this.#interactiveManager.update("stdout", [output]);
2050
+ this.#interactiveManager.unhook(false);
2051
+ }
2052
+ }
2053
+ }
2054
+ }
2055
+ class MultiSpinner {
2056
+ #spinners = /* @__PURE__ */ new Map();
2057
+ #nextSpinnerId = 0;
2058
+ #interactiveManager;
2059
+ #isActive = false;
2060
+ #options;
2061
+ constructor(options = {}, interactiveManager) {
2062
+ this.#options = options;
2063
+ this.#interactiveManager = interactiveManager;
2064
+ }
2065
+ /**
2066
+ * Set the interactive manager for interactive mode.
2067
+ * @internal
2068
+ */
2069
+ setInteractiveManager(manager) {
2070
+ this.#interactiveManager = manager;
2071
+ }
2072
+ /**
2073
+ * Create a new spinner instance.
2074
+ * @param text Initial text for the spinner
2075
+ * @param options
2076
+ * @param options.prefixText Optional prefix text to display
2077
+ * @param options.style Optional style for the spinner
2078
+ * @param options.verbose Whether to output spinner (default: true)
2079
+ * @returns A new Spinner instance
2080
+ */
2081
+ create(text, options = {}) {
2082
+ const id = `spinner_${this.#nextSpinnerId++}`;
2083
+ const spinner = new Spinner({ ...this.#options, ...options });
2084
+ spinner.setMultiSpinner(this);
2085
+ this.#spinners.set(id, spinner);
2086
+ if (text) {
2087
+ spinner.text = text;
2088
+ }
2089
+ return spinner;
2090
+ }
2091
+ /**
2092
+ * Remove a spinner from the multi-spinner manager.
2093
+ * @param spinner The spinner to remove
2094
+ * @returns True if the spinner was removed, false otherwise
2095
+ */
2096
+ remove(spinner) {
2097
+ for (const [id, s] of this.#spinners.entries()) {
2098
+ if (s === spinner) {
2099
+ this.#spinners.delete(id);
2100
+ this.renderAll();
2101
+ return true;
2102
+ }
2103
+ }
2104
+ return false;
2105
+ }
2106
+ /**
2107
+ * Stop all spinners.
2108
+ */
2109
+ stop() {
2110
+ for (const spinner of this.#spinners.values()) {
2111
+ spinner.succeed();
2112
+ }
2113
+ this.#spinners.clear();
2114
+ this.#isActive = false;
2115
+ if (this.#interactiveManager) {
2116
+ this.#interactiveManager.unhook(false);
2117
+ }
2118
+ }
2119
+ /**
2120
+ * Clear all spinners without stopping them.
2121
+ */
2122
+ clear() {
2123
+ for (const spinner of this.#spinners.values()) {
2124
+ spinner.succeed();
2125
+ }
2126
+ this.#spinners.clear();
2127
+ }
2128
+ /**
2129
+ * Render all spinners.
2130
+ * @internal
2131
+ */
2132
+ renderAll() {
2133
+ if (!this.#interactiveManager) {
2134
+ return;
2135
+ }
2136
+ if (!this.#isActive) {
2137
+ this.#isActive = true;
2138
+ this.#interactiveManager.hook();
2139
+ }
2140
+ const lines = [];
2141
+ for (const spinner of this.#spinners.values()) {
2142
+ lines.push(spinner.getFrameOutput());
2143
+ }
2144
+ if (lines.length > 0) {
2145
+ this.#interactiveManager.update("stdout", lines);
2146
+ }
2147
+ }
2148
+ }
2149
+
2150
+ export { MultiSpinner, Spinner };