@uvarovag/argv-parser
Version:
Node.js arguments parser with full support for TypeScript, CommonJS, and ES Modules
30 lines (29 loc) • 817 B
JavaScript
;
Object.defineProperty(exports, "__esModule", { value: true });
exports.parseArgv = exports.getArgVal = void 0;
const getArgVal = (val) => {
switch (val) {
case '': {
return true;
}
case 'true': {
return true;
}
case 'false': {
return false;
}
default: {
return Number.isNaN(Number(val)) ? val : Number(val);
}
}
};
exports.getArgVal = getArgVal;
const parseArgv = (argv) => {
const [node, script, ...rest] = argv;
const args = Object.fromEntries(rest.map((arg) => {
const [key, ...rest] = arg.split('=');
return [key.replace(/^-+/, ''), (0, exports.getArgVal)(rest.join('='))];
}));
return { node, script, ...args };
};
exports.parseArgv = parseArgv;