handsome-json
Version:
make your json strings handsome
70 lines (63 loc) • 1.76 kB
JavaScript
#!/usr/bin/env node
// Generated by CoffeeScript 1.10.0
var EventEmitter, data, error, error1, error2, eventEmitter, format, fs, stats;
EventEmitter = require('events');
format = require('./format');
fs = require('fs');
eventEmitter = new EventEmitter;
eventEmitter.once('format-json', function(json) {
var error, error1, formatted;
try {
formatted = format(json);
} catch (error1) {
error = error1;
console.log("Error: " + error.message);
process.exit(1);
}
console.log(formatted);
return process.exit();
});
if (process.stdin.isTTY === true) {
if (process.argv[2] === void 0) {
console.log("Useage: handsome path/to/file.json");
process.exit();
}
try {
stats = fs.statSync(process.argv[2]);
} catch (error1) {
error = error1;
console.log("Error: " + process.argv[2] + " doesn't exist");
process.exit(1);
}
if (stats.isFile() !== true) {
console.log("Error: " + process.argv[2] + " is a directory");
process.exit(1);
}
try {
fs.accessSync(process.argv[2], fs.F_OK);
} catch (error2) {
error = error2;
console.log("Error: " + process.argv[2] + " doesn't exist OR isn't readable");
process.exit(1);
}
fs.readFile(process.argv[2], 'utf8', function(err, data) {
if (err) {
console.log("Error: " + process.argv[2] + " isn't readable");
process.exit(1);
}
return eventEmitter.emit('format-json', data);
});
} else {
data = '';
process.stdin.setEncoding('utf8');
process.stdin.on('readable', function() {
var chunk;
chunk = process.stdin.read();
if (chunk !== null) {
return data = "" + data + chunk;
}
});
process.stdin.on('end', function() {
return eventEmitter.emit('format-json', data);
});
}