Skip to content

Commit b2a6ac5

Browse files
committed
Move functions to parent scope and do not throw
1 parent 480c3f3 commit b2a6ac5

File tree

1 file changed

+58
-54
lines changed
  • lib/node_modules/@stdlib/namespace/bin

1 file changed

+58
-54
lines changed

lib/node_modules/@stdlib/namespace/bin/cli

Lines changed: 58 additions & 54 deletions
Original file line numberDiff line numberDiff line change
@@ -34,19 +34,74 @@ var namespace = require( './../lib' );
3434
var FIELDS = [ 'alias', 'path', 'type', 'related' ];
3535

3636

37+
// FUNCTIONS //
38+
39+
/**
40+
* Prints data as newline-delimited JSON (ndjson).
41+
*
42+
* @private
43+
* @param {ObjectArray} data - data to print
44+
*/
45+
function ndjson( data ) {
46+
var i;
47+
48+
for ( i = 0; i < data.length; i++ ) {
49+
console.log( JSON.stringify( data[i] ) );
50+
}
51+
}
52+
53+
/**
54+
* Prints data as lines of comma-separated values (CSV).
55+
*
56+
* @private
57+
* @param {ObjectArray} data - data to print
58+
* @param {StringArray} fields - output fields
59+
*/
60+
function csv( data, fields ) {
61+
var line;
62+
var f;
63+
var i;
64+
var j;
65+
var n;
66+
var m;
67+
68+
n = fields.length;
69+
m = n - 1;
70+
line = '';
71+
for ( j = 0; j < n; j++ ) {
72+
line += '"' + fields[ j ] + '"';
73+
if ( j < m ) {
74+
line += ',';
75+
}
76+
}
77+
console.log( line );
78+
for ( i = 0; i < data.length; i++ ) {
79+
line = '';
80+
for ( j = 0; j < n; j++ ) {
81+
f = fields[ j ];
82+
line += '"' + data[ i ][ f ] + '"';
83+
if ( j < m ) {
84+
line += ',';
85+
}
86+
}
87+
console.log( line );
88+
}
89+
}
90+
91+
3792
// MAIN //
3893

3994
/**
4095
* Main execution sequence.
4196
*
4297
* @private
43-
* @throws {Error} unrecognized/unsupported field
4498
* @returns {void}
4599
*/
46100
function main() {
47101
var fields;
48102
var flags;
49103
var cli;
104+
var err;
50105
var i;
51106

52107
// Create a command-line interface:
@@ -67,64 +122,13 @@ function main() {
67122
fields = flags.fields.split( ',' );
68123
for ( i = 0; i < fields.length; i++ ) {
69124
if ( indexOf( FIELDS, fields[ i ] ) === -1 ) {
70-
throw new Error( 'invalid option. Unrecognized/unsupported field. Option: `' + fields[ i ] + '`.' );
125+
err = new Error( 'invalid option. Unrecognized/unsupported field. Option: `' + fields[ i ] + '`.' );
126+
return cli.error( err );
71127
}
72128
}
73129
return csv( namespace(), fields );
74130
}
75131
ndjson( namespace() );
76-
77-
/**
78-
* Prints data as newline-delimited JSON (ndjson).
79-
*
80-
* @private
81-
* @param {ObjectArray} data - data to print
82-
*/
83-
function ndjson( data ) {
84-
var i;
85-
86-
for ( i = 0; i < data.length; i++ ) {
87-
console.log( JSON.stringify( data[i] ) );
88-
}
89-
}
90-
91-
/**
92-
* Prints data as lines of comma-separated values (CSV).
93-
*
94-
* @private
95-
* @param {ObjectArray} data - data to print
96-
* @param {StringArray} fields - output fields
97-
*/
98-
function csv( data, fields ) {
99-
var line;
100-
var f;
101-
var i;
102-
var j;
103-
var n;
104-
var m;
105-
106-
n = fields.length;
107-
m = n - 1;
108-
line = '';
109-
for ( j = 0; j < n; j++ ) {
110-
line += '"' + fields[ j ] + '"';
111-
if ( j < m ) {
112-
line += ',';
113-
}
114-
}
115-
console.log( line );
116-
for ( i = 0; i < data.length; i++ ) {
117-
line = '';
118-
for ( j = 0; j < n; j++ ) {
119-
f = fields[ j ];
120-
line += '"' + data[ i ][ f ] + '"';
121-
if ( j < m ) {
122-
line += ',';
123-
}
124-
}
125-
console.log( line );
126-
}
127-
}
128132
}
129133

130134
main();

0 commit comments

Comments
 (0)