ray-flags
Version:
An easy command line flags handeling library for ray-userland software.
1 lines • 480 B
JavaScript
const flagRegex=/^-[a-z]/i;let oargv=Object.assign([],process.argv);oargv.shift(),oargv.shift(),oargv.push(null);let iargv=oargv;iargv.forEach((a,g,e)=>{flagRegex.test(a)&&flagRegex.test(e[g+1])&&iargv.splice(g+1,0,!0)}),iargv=iargv.map(a=>null===a||a);const argv={flags:{},keys:iargv.filter(a=>flagRegex.test(a)),values:iargv.filter(a=>!flagRegex.test(a))};argv.keys=argv.keys.map(a=>a.slice(1)),argv.keys.forEach((a,g)=>{argv.flags[a]=argv.values[g]}),module.exports=argv.flags;