@@ -119,6 +119,7 @@ function styleText(format, text, { validateStream = true, stream = process.stdou
119119 validateString ( text , 'text' ) ;
120120 validateBoolean ( validateStream , 'options.validateStream' ) ;
121121
122+ let skipColorize ;
122123 if ( validateStream ) {
123124 if (
124125 ! isReadableStream ( stream ) &&
@@ -127,40 +128,28 @@ function styleText(format, text, { validateStream = true, stream = process.stdou
127128 ) {
128129 throw new ERR_INVALID_ARG_TYPE ( 'stream' , [ 'ReadableStream' , 'WritableStream' , 'Stream' ] , stream ) ;
129130 }
130- }
131-
132- if ( ArrayIsArray ( format ) ) {
133- let left = '' ;
134- let right = '' ;
135- for ( const key of format ) {
136- const formatCodes = inspect . colors [ key ] ;
137- if ( formatCodes == null ) {
138- validateOneOf ( key , 'format' , ObjectKeys ( inspect . colors ) ) ;
139- }
140- left += escapeStyleCode ( formatCodes [ 0 ] ) ;
141- right = `${ escapeStyleCode ( formatCodes [ 1 ] ) } ${ right } ` ;
142- }
143131
144- return `${ left } ${ text } ${ right } ` ;
132+ // If the stream is falsy or should not be colorized, set skipColorize to true
133+ skipColorize = ! lazyUtilColors ( ) . shouldColorize ( stream ) ;
145134 }
146135
147- const formatCodes = inspect . colors [ format ] ;
148- if ( formatCodes == null ) {
149- validateOneOf ( format , 'format' , ObjectKeys ( inspect . colors ) ) ;
150- }
136+ // If the format is not an array, convert it to an array
137+ const formatArray = ArrayIsArray ( format ) ? format : [ format ] ;
151138
152- // Check colorize only after validating arg type and value
153- if (
154- validateStream &&
155- (
156- ! stream ||
157- ! lazyUtilColors ( ) . shouldColorize ( stream )
158- )
159- ) {
160- return text ;
139+ let left = '' ;
140+ let right = '' ;
141+ for ( const key of formatArray ) {
142+ const formatCodes = inspect . colors [ key ] ;
143+ // If the format is not a valid style, throw an error
144+ if ( formatCodes == null ) {
145+ validateOneOf ( key , 'format' , ObjectKeys ( inspect . colors ) ) ;
146+ }
147+ if ( skipColorize ) continue ;
148+ left += escapeStyleCode ( formatCodes [ 0 ] ) ;
149+ right = `${ escapeStyleCode ( formatCodes [ 1 ] ) } ${ right } ` ;
161150 }
162151
163- return `${ escapeStyleCode ( formatCodes [ 0 ] ) } ${ text } ${ escapeStyleCode ( formatCodes [ 1 ] ) } ` ;
152+ return skipColorize ? text : `${ left } ${ text } ${ right } ` ;
164153}
165154
166155/**
0 commit comments