@uvarovag/argv-parser
Version:
Node.js arguments parser with full support for TypeScript, CommonJS, and ES Modules
25 lines (24 loc) • 631 B
JavaScript
export 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);
}
}
};
export const parseArgv = (argv) => {
const [node, script, ...rest] = argv;
const args = Object.fromEntries(rest.map((arg) => {
const [key, ...rest] = arg.split('=');
return [key.replace(/^-+/, ''), getArgVal(rest.join('='))];
}));
return { node, script, ...args };
};