46 lines
908 B
JavaScript
46 lines
908 B
JavaScript
|
var argv;
|
||
|
getArgv = function () {
|
||
|
if(argv) {
|
||
|
return argv;
|
||
|
}
|
||
|
var arr = process.argv.slice(2);
|
||
|
var args = [];
|
||
|
var i = 0, li = arr.length;
|
||
|
for (; i < li; i++) {
|
||
|
var itemi = arr[i];
|
||
|
if (itemi.search(/-(\w*)/) == 0) break;
|
||
|
args.push(itemi);
|
||
|
}
|
||
|
|
||
|
var opts = {};
|
||
|
var values4Opt = [];
|
||
|
var name = null;
|
||
|
for (; i < li; i++) {
|
||
|
var itemi = arr[i];
|
||
|
if (itemi.search(/-(\w*)/) == 0) {
|
||
|
if (!name) name = itemi;
|
||
|
else {
|
||
|
opts[name] = values4Opt;
|
||
|
name = itemi;
|
||
|
values4Opt = [];
|
||
|
}
|
||
|
} else {
|
||
|
values4Opt.push(itemi);
|
||
|
}
|
||
|
}
|
||
|
|
||
|
if (name) opts[name] = values4Opt;
|
||
|
|
||
|
argv = {
|
||
|
name: arr[0],
|
||
|
currDir: process.cwd(),
|
||
|
args: args,
|
||
|
opts: opts
|
||
|
};
|
||
|
|
||
|
return argv;
|
||
|
};
|
||
|
|
||
|
|
||
|
exports.getArgv = getArgv;
|