@@ -400,11 +400,14 @@ function formatValue(ctx, value, recurseTimes) {
400
400
} ) ;
401
401
}
402
402
403
+ var constructor = getConstructorOf ( value ) ;
404
+
403
405
// Some type of object without properties can be shortcutted.
404
406
if ( keys . length === 0 ) {
405
407
if ( typeof value === 'function' ) {
406
- return ctx . stylize ( `[Function${ value . name ? `: ${ value . name } ` : '' } ]` ,
407
- 'special' ) ;
408
+ const ctorName = constructor ? constructor . name : 'Function' ;
409
+ return ctx . stylize (
410
+ `[${ ctorName } ${ value . name ? `: ${ value . name } ` : '' } ]` , 'special' ) ;
408
411
}
409
412
if ( isRegExp ( value ) ) {
410
413
return ctx . stylize ( RegExp . prototype . toString . call ( value ) , 'regexp' ) ;
@@ -440,12 +443,11 @@ function formatValue(ctx, value, recurseTimes) {
440
443
// Can't do the same for DataView because it has a non-primitive
441
444
// .buffer property that we need to recurse for.
442
445
if ( binding . isArrayBuffer ( value ) || binding . isSharedArrayBuffer ( value ) ) {
443
- return `${ getConstructorOf ( value ) . name } ` +
446
+ return `${ constructor . name } ` +
444
447
` { byteLength: ${ formatNumber ( ctx , value . byteLength ) } }` ;
445
448
}
446
449
}
447
450
448
- var constructor = getConstructorOf ( value ) ;
449
451
var base = '' , empty = false , braces ;
450
452
var formatter = formatObject ;
451
453
@@ -536,7 +538,8 @@ function formatValue(ctx, value, recurseTimes) {
536
538
537
539
// Make functions say that they are functions
538
540
if ( typeof value === 'function' ) {
539
- base = ` [Function${ value . name ? `: ${ value . name } ` : '' } ]` ;
541
+ const ctorName = constructor ? constructor . name : 'Function' ;
542
+ base = ` [${ ctorName } ${ value . name ? `: ${ value . name } ` : '' } ]` ;
540
543
}
541
544
542
545
// Make RegExps say that they are RegExps
0 commit comments