@@ -173,23 +173,28 @@ function tryStringify(arg) {
173
173
}
174
174
}
175
175
176
- function format ( f ) {
176
+ const emptyOptions = { } ;
177
+ function format ( ...args ) {
178
+ return formatWithOptions ( emptyOptions , ...args ) ;
179
+ }
180
+
181
+ function formatWithOptions ( inspectOptions , f ) {
177
182
let i , tempStr ;
178
183
if ( typeof f !== 'string' ) {
179
- if ( arguments . length === 0 ) return '' ;
184
+ if ( arguments . length === 1 ) return '' ;
180
185
let res = '' ;
181
- for ( i = 0 ; i < arguments . length - 1 ; i ++ ) {
182
- res += inspect ( arguments [ i ] ) ;
186
+ for ( i = 1 ; i < arguments . length - 1 ; i ++ ) {
187
+ res += inspect ( arguments [ i ] , inspectOptions ) ;
183
188
res += ' ' ;
184
189
}
185
- res += inspect ( arguments [ i ] ) ;
190
+ res += inspect ( arguments [ i ] , inspectOptions ) ;
186
191
return res ;
187
192
}
188
193
189
- if ( arguments . length === 1 ) return f ;
194
+ if ( arguments . length === 2 ) return f ;
190
195
191
196
let str = '' ;
192
- let a = 1 ;
197
+ let a = 2 ;
193
198
let lastPos = 0 ;
194
199
for ( i = 0 ; i < f . length - 1 ; i ++ ) {
195
200
if ( f . charCodeAt ( i ) === 37 ) { // '%'
@@ -206,12 +211,17 @@ function format(f) {
206
211
tempStr = `${ Number ( arguments [ a ++ ] ) } ` ;
207
212
break ;
208
213
case 79 : // 'O'
209
- tempStr = inspect ( arguments [ a ++ ] ) ;
214
+ tempStr = inspect ( arguments [ a ++ ] , inspectOptions ) ;
210
215
break ;
211
216
case 111 : // 'o'
212
- tempStr = inspect ( arguments [ a ++ ] ,
213
- { showHidden : true , showProxy : true } ) ;
217
+ {
218
+ const opts = Object . assign ( { } , inspectOptions , {
219
+ showHidden : true ,
220
+ showProxy : true
221
+ } ) ;
222
+ tempStr = inspect ( arguments [ a ++ ] , opts ) ;
214
223
break ;
224
+ }
215
225
case 105 : // 'i'
216
226
tempStr = `${ parseInt ( arguments [ a ++ ] ) } ` ;
217
227
break ;
@@ -244,7 +254,7 @@ function format(f) {
244
254
if ( ( typeof x !== 'object' && typeof x !== 'symbol' ) || x === null ) {
245
255
str += ` ${ x } ` ;
246
256
} else {
247
- str += ` ${ inspect ( x ) } ` ;
257
+ str += ` ${ inspect ( x , inspectOptions ) } ` ;
248
258
}
249
259
}
250
260
return str ;
@@ -1206,6 +1216,7 @@ module.exports = exports = {
1206
1216
debuglog,
1207
1217
deprecate,
1208
1218
format,
1219
+ formatWithOptions,
1209
1220
getSystemErrorName,
1210
1221
inherits,
1211
1222
inspect,
0 commit comments