@@ -13,6 +13,22 @@ const createConsoleCatcher = (): {
13
13
const consoleOutput : ConsoleLogEvent [ ] = [ ] ;
14
14
let isInitialized = false ;
15
15
16
+ /**
17
+ * Converts any argument to its string representation
18
+ *
19
+ * @param arg - Console arguments
20
+ */
21
+ const stringifyArg = ( arg : unknown ) : string => {
22
+ if ( typeof arg === 'string' ) {
23
+ return arg ;
24
+ }
25
+ if ( typeof arg === 'number' || typeof arg === 'boolean' ) {
26
+ return String ( arg ) ;
27
+ }
28
+
29
+ return safeStringify ( arg ) ;
30
+ } ;
31
+
16
32
/**
17
33
* Formats console arguments handling %c directives
18
34
*
@@ -30,16 +46,7 @@ const createConsoleCatcher = (): {
30
46
31
47
if ( typeof firstArg !== 'string' || ! firstArg . includes ( '%c' ) ) {
32
48
return {
33
- message : args . map ( ( arg ) => {
34
- if ( typeof arg === 'string' ) {
35
- return arg ;
36
- }
37
- if ( typeof arg === 'number' || typeof arg === 'boolean' ) {
38
- return String ( arg ) ;
39
- }
40
-
41
- return safeStringify ( arg ) ;
42
- } ) . join ( '' ) ,
49
+ message : args . map ( stringifyArg ) . join ( ' ' ) ,
43
50
styles : [ ] ,
44
51
} ;
45
52
}
@@ -63,16 +70,7 @@ const createConsoleCatcher = (): {
63
70
// Add remaining arguments that aren't styles
64
71
const remainingArgs = args
65
72
. slice ( styles . length + 1 )
66
- . map ( ( arg ) => {
67
- if ( typeof arg === 'string' ) {
68
- return arg ;
69
- }
70
- if ( typeof arg === 'number' || typeof arg === 'boolean' ) {
71
- return String ( arg ) ;
72
- }
73
-
74
- return safeStringify ( arg ) ;
75
- } )
73
+ . map ( stringifyArg )
76
74
. join ( ' ' ) ;
77
75
78
76
return {
0 commit comments