1 | #!/usr/bin/env node
|
2 |
|
3 | var prettyjson = require('../lib/prettyjson');
|
4 | var fs=require('fs');
|
5 | var options = {
|
6 | keysColor: process.env.PRETTYJSON_KEYS,
|
7 | dashColor: process.env.PRETTYJSON_DASH,
|
8 | defaultIndentation: process.env.PRETTYJSON_INDENT,
|
9 | stringColor: process.env.PRETTYJSON_STRING,
|
10 | numberColor: process.env.PRETTYJSON_NUMBER
|
11 | };
|
12 |
|
13 | var renderInputJson = function(input){
|
14 | console.log(prettyjson.renderString(input, options));
|
15 | };
|
16 |
|
17 | if (process.argv.length > 2) {
|
18 | // First parameter is the file to read and parse
|
19 | var param = process.argv[2];
|
20 | try {
|
21 | renderInputJson(fs.readFileSync(param, 'utf8'));
|
22 | } catch (e) {
|
23 | console.log('Error: '.red + "File '" + param + "' does not exist");
|
24 | }
|
25 | } else {
|
26 | // Read input stream
|
27 |
|
28 | var streamData = '';
|
29 |
|
30 | process.stdin.resume();
|
31 | process.stdin.setEncoding('utf8');
|
32 | process.stdin.on('data', function (chunk) {
|
33 | if (chunk === '\n') {
|
34 | renderInputJson(streamData);
|
35 | streamData = '';
|
36 | return;
|
37 | }
|
38 | streamData += chunk;
|
39 | });
|
40 | process.stdin.on('end', function(){
|
41 | renderInputJson(streamData);
|
42 | });
|
43 | }
|