@@ -115,22 +115,25 @@ function getInputFromStdin() {
115
115
}
116
116
117
117
function logPretty ( csv ) {
118
- const lines = csv . split ( os . EOL ) ;
119
- const table = new Table ( {
120
- head : lines [ 0 ] . split ( ',' ) ,
121
- colWidths : lines [ 0 ] . split ( '","' ) . map ( elem => elem . length * 2 )
122
- } ) ;
118
+ let lines = csv . split ( os . EOL ) ;
119
+ const header = program . header ? lines . shift ( ) . split ( ',' ) : undefined ;
120
+
121
+ const table = new Table ( header ? {
122
+ head : header ,
123
+ colWidths : header . map ( elem => elem . length * 2 )
124
+ } : undefined ) ;
123
125
124
- for ( let i = 1 ; i < lines . length ; i ++ ) {
125
- table . push ( lines [ i ] . split ( ',' ) ) ;
126
- }
127
- return table . toString ( ) ;
126
+ lines . forEach ( line => table . push ( line . split ( ',' ) ) ) ;
127
+
128
+ // eslint-disable-next-line no-console
129
+ console . log ( table . toString ( ) ) ;
128
130
}
129
131
130
132
function processOutput ( csv ) {
131
133
if ( ! outputPath ) {
132
134
// eslint-disable-next-line no-console
133
- console . log ( program . pretty ? logPretty ( csv ) : csv ) ;
135
+ program . pretty ? logPretty ( csv ) : console . log ( csv ) ;
136
+ return ;
134
137
}
135
138
136
139
return new Promise ( ( resolve , reject ) => {
@@ -189,15 +192,13 @@ getFields(program.fieldList, program.fields)
189
192
} ) ;
190
193
}
191
194
192
- let csv = '' ;
193
195
return new Promise ( ( resolve , reject ) => {
196
+ let csv = '' ;
194
197
stream
195
198
. on ( 'data' , chunk => ( csv += chunk . toString ( ) ) )
196
199
. on ( 'end' , ( ) => resolve ( csv ) )
197
200
. on ( 'error' , reject ) ;
198
- } )
199
- // eslint-disable-next-line no-console
200
- . then ( ( ) => console . log ( logPretty ( csv ) ) ) ;
201
+ } ) . then ( logPretty ) ;
201
202
} )
202
203
// eslint-disable-next-line no-console
203
204
. catch ( console . log ) ;
0 commit comments