@@ -55,6 +55,13 @@ function formatter(obj: any, limit: number, stack: Array<any>): string {
55
55
var kind = Object . prototype . toString . call ( obj ) . slice ( 8 , - 1 ) ;
56
56
if ( kind == 'Object' ) {
57
57
prefix = '' ;
58
+ } else if ( kind == 'Array' ) {
59
+ var itemList : any [ ] = obj . map ( ( item : any ) => formatter ( item , limit - 1 , stack ) ) ;
60
+ return '[' + itemList . join ( ', ' ) + ']' ;
61
+ } else if ( kind == 'Set' ) {
62
+ var itemList : any [ ] = [ ] ;
63
+ obj . forEach ( ( item : any ) => itemList . push ( formatter ( item , limit - 1 , stack ) ) ) ;
64
+ return 'Set {' + itemList . join ( ', ' ) + '}' ;
58
65
} else {
59
66
prefix = kind + ' ' ;
60
67
var primitive ;
@@ -86,6 +93,10 @@ function formatter(obj: any, limit: number, stack: Array<any>): string {
86
93
var indent = INDENT . repeat ( stackLength ) ;
87
94
var keys = Object . getOwnPropertyNames ( obj ) ;
88
95
96
+ if ( obj instanceof Map ) {
97
+ keys = Object . keys ( obj ) ;
98
+ }
99
+
89
100
var result = prefix + '{' ;
90
101
if ( ! keys . length ) {
91
102
return result + '}' ;
@@ -206,6 +217,13 @@ export const console = {
206
217
log ( ...args : any ) {
207
218
printer ( logger ( arguments ) ) ;
208
219
} ,
220
+ inspect ( ...args : any ) {
221
+ var result = [ ] ;
222
+ for ( var i = 0 ; i < arguments . length ; i ++ ) {
223
+ result . push ( formatter ( arguments [ i ] , Number . MAX_VALUE , [ ] ) ) ;
224
+ }
225
+ printer ( result . join ( SEPARATOR ) ) ;
226
+ } ,
209
227
info ( ...args : any ) {
210
228
printer ( logger ( arguments ) , 'info' ) ;
211
229
} ,
0 commit comments