From 87d15e41c020e5432ec7ba4b4e175c2c22c30f51 Mon Sep 17 00:00:00 2001 From: kflo-m Date: Fri, 6 Dec 2013 09:26:37 +0100 Subject: [PATCH 1/2] help option added --- package.json | 3 ++- xml2json.js | 16 +++++++++++++++- 2 files changed, 17 insertions(+), 2 deletions(-) diff --git a/package.json b/package.json index 58e4b4e..f25f3c9 100644 --- a/package.json +++ b/package.json @@ -6,7 +6,8 @@ "bin": { "xml2json": "bin.js" }, "preferGlobal": true, "dependencies": { - "xml-mapping": "1.0.x" + "xml-mapping": "1.0.x", + "optimist": "0.6.x" }, "devDependencies": {}, "scripts": { diff --git a/xml2json.js b/xml2json.js index 00c2cb4..441d22f 100644 --- a/xml2json.js +++ b/xml2json.js @@ -1,7 +1,19 @@ /*jshint node:true */ "use strict"; -var xm = require('xml-mapping'); +var xm = require('xml-mapping'), + optimist = require('optimist'), + argv = optimist + .options('help',{alias:'h', describe: 'Show help'}) + .options('caproot',{alias:'c',describe:'no root elem in JSON'}) + .usage('\nRead standard input.\nUsage : $0 [--help] [--caproot]') + .argv; + + +if ( argv.help ){ + optimist.showHelp(); + process.exit(0); +} process.stdin.resume(); process.stdin.setEncoding('utf8'); @@ -15,3 +27,5 @@ process.stdin.on('end', function() { var json = xm.load(xml); console.log(JSON.stringify(json, null, '\t')); }); + + From 37efa5a30eb966d4e9a406e36643a553bbe12283 Mon Sep 17 00:00:00 2001 From: kflo-m Date: Fri, 6 Dec 2013 09:42:01 +0100 Subject: [PATCH 2/2] cap is implemented --- xml2json.js | 8 ++++++-- 1 file changed, 6 insertions(+), 2 deletions(-) diff --git a/xml2json.js b/xml2json.js index 441d22f..cea3e16 100644 --- a/xml2json.js +++ b/xml2json.js @@ -5,8 +5,8 @@ var xm = require('xml-mapping'), optimist = require('optimist'), argv = optimist .options('help',{alias:'h', describe: 'Show help'}) - .options('caproot',{alias:'c',describe:'no root elem in JSON'}) - .usage('\nRead standard input.\nUsage : $0 [--help] [--caproot]') + .options('caproot',{alias:'c',describe:'no root elem in JSON (if just one)'}) + .usage('Reads standard input and writes to standard output.\nUsage : $0 [--help] [--caproot]') .argv; @@ -25,6 +25,10 @@ process.stdin.on('data', function (chunk) { process.stdin.on('end', function() { var json = xm.load(xml); + + if(argv.caproot && Object.keys(json).length===1){ + json = json[Object.keys(json)[0]]; + } console.log(JSON.stringify(json, null, '\t')); });