@@ -49,8 +49,13 @@ const displayResultsAsTable = (results: any[]): string => {
49
49
return chalk . yellow ( 'No documents found.' ) ;
50
50
}
51
51
52
- // eslint-disable-next-line @typescript-eslint/no-unsafe-argument
53
- const columnNames = Object . keys ( results [ 0 ] ) ;
52
+ const columnNames = results
53
+
54
+ . flatMap ( ( result ) =>
55
+ // eslint-disable-next-line @typescript-eslint/no-unsafe-argument
56
+ typeof result === 'object' ? Object . keys ( result ) : typeof result ,
57
+ )
58
+ . filter ( ( value , index , array ) => array . indexOf ( value ) === index ) ;
54
59
55
60
const columnWidths = calculateColumnWidths ( results , columnNames ) ;
56
61
@@ -63,7 +68,18 @@ const displayResultsAsTable = (results: any[]): string => {
63
68
table . push (
64
69
columnNames . map ( ( col ) =>
65
70
// eslint-disable-next-line @typescript-eslint/no-unsafe-member-access
66
- result [ col ] !== undefined ? String ( result [ col ] ) : '' ,
71
+ result [ col ] !== undefined
72
+ ? // eslint-disable-next-line @typescript-eslint/no-unsafe-member-access
73
+ Array . isArray ( result [ col ] )
74
+ ? // eslint-disable-next-line @typescript-eslint/no-unsafe-member-access
75
+ displayResultsAsTable ( result [ col ] )
76
+ : // eslint-disable-next-line @typescript-eslint/no-unsafe-member-access
77
+ prettyJson ( result [ col ] )
78
+ : typeof result === 'object'
79
+ ? ''
80
+ : result != undefined && result != undefined
81
+ ? prettyJson ( result )
82
+ : '' ,
67
83
) ,
68
84
) ;
69
85
} ) ;
@@ -102,7 +118,7 @@ const startRepl = async (options: {
102
118
setLogLevel ( process . env . DUMBO_LOG_LEVEL ?? options . logging . logLevel ) ;
103
119
setLogStyle ( process . env . DUMBO_LOG_STYLE ?? options . logging . logStyle ) ;
104
120
105
- console . log ( chalk . green ( 'Starting Pongo Shell (version: 0.16.0-alpha.9 )' ) ) ;
121
+ console . log ( chalk . green ( 'Starting Pongo Shell (version: 0.16.0-alpha.11 )' ) ) ;
106
122
107
123
const connectionString =
108
124
options . connectionString ??
0 commit comments