@@ -302,16 +302,6 @@ function ensureDebugIsInitialized() {
302
302
}
303
303
304
304
305
- function inspectPromise ( p ) {
306
- // Only create a mirror if the object is a Promise.
307
- if ( ! binding . isPromise ( p ) )
308
- return null ;
309
- ensureDebugIsInitialized ( ) ;
310
- const mirror = Debug . MakeMirror ( p , true ) ;
311
- return { status : mirror . status ( ) , value : mirror . promiseValue ( ) . value_ } ;
312
- }
313
-
314
-
315
305
function formatValue ( ctx , value , recurseTimes ) {
316
306
if ( ctx . showProxy &&
317
307
( ( typeof value === 'object' && value !== null ) ||
@@ -527,30 +517,25 @@ function formatValue(ctx, value, recurseTimes) {
527
517
'byteOffset' ,
528
518
'buffer' ) ;
529
519
}
520
+ } else if ( binding . isPromise ( value ) ) {
521
+ braces = [ '{' , '}' ] ;
522
+ formatter = formatPromise ;
523
+ } else if ( binding . isMapIterator ( value ) ) {
524
+ constructor = { name : 'MapIterator' } ;
525
+ braces = [ '{' , '}' ] ;
526
+ empty = false ;
527
+ formatter = formatCollectionIterator ;
528
+ } else if ( binding . isSetIterator ( value ) ) {
529
+ constructor = { name : 'SetIterator' } ;
530
+ braces = [ '{' , '}' ] ;
531
+ empty = false ;
532
+ formatter = formatCollectionIterator ;
530
533
} else {
531
- var promiseInternals = inspectPromise ( value ) ;
532
- if ( promiseInternals ) {
533
- braces = [ '{' , '}' ] ;
534
- formatter = formatPromise ;
535
- } else {
536
- if ( binding . isMapIterator ( value ) ) {
537
- constructor = { name : 'MapIterator' } ;
538
- braces = [ '{' , '}' ] ;
539
- empty = false ;
540
- formatter = formatCollectionIterator ;
541
- } else if ( binding . isSetIterator ( value ) ) {
542
- constructor = { name : 'SetIterator' } ;
543
- braces = [ '{' , '}' ] ;
544
- empty = false ;
545
- formatter = formatCollectionIterator ;
546
- } else {
547
- // Unset the constructor to prevent "Object {...}" for ordinary objects.
548
- if ( constructor && constructor . name === 'Object' )
549
- constructor = null ;
550
- braces = [ '{' , '}' ] ;
551
- empty = true ; // No other data than keys.
552
- }
553
- }
534
+ // Unset the constructor to prevent "Object {...}" for ordinary objects.
535
+ if ( constructor && constructor . name === 'Object' )
536
+ constructor = null ;
537
+ braces = [ '{' , '}' ] ;
538
+ empty = true ; // No other data than keys.
554
539
}
555
540
556
541
empty = empty === true && keys . length === 0 ;
@@ -779,14 +764,15 @@ function formatCollectionIterator(ctx, value, recurseTimes, visibleKeys, keys) {
779
764
}
780
765
781
766
function formatPromise ( ctx , value , recurseTimes , visibleKeys , keys ) {
782
- var output = [ ] ;
783
- var internals = inspectPromise ( value ) ;
784
- if ( internals . status === 'pending' ) {
767
+ const output = [ ] ;
768
+ const [ state , result ] = binding . getPromiseDetails ( value ) ;
769
+
770
+ if ( state === binding . kPending ) {
785
771
output . push ( '<pending>' ) ;
786
772
} else {
787
773
var nextRecurseTimes = recurseTimes === null ? null : recurseTimes - 1 ;
788
- var str = formatValue ( ctx , internals . value , nextRecurseTimes ) ;
789
- if ( internals . status === 'rejected' ) {
774
+ var str = formatValue ( ctx , result , nextRecurseTimes ) ;
775
+ if ( state === binding . kRejected ) {
790
776
output . push ( '<rejected> ' + str ) ;
791
777
} else {
792
778
output . push ( str ) ;
0 commit comments