UNPKG

unix-permissions

Version:
43 lines (28 loc) 622 B
import{argv}from"node:process"; import{escapeArgs}from"./escape.js"; export const parseConfig=({yargs})=>{ const args=escapeArgs(argv.slice(2)); const{ _:[command], permission, permissions=[] }=yargs.parse(args); const argsA=[permission,...permissions].filter(isDefined).map(parseArg); return{command,args:argsA} }; const isDefined=(value)=>value!==undefined; const parseArg=(value)=>{ const object=parseObject(value); if(object!==undefined){ return object } return value }; const parseObject=(value)=>{ if(typeof value!=="string"||!value.startsWith("{")){ return } try{ return JSON.parse(value) }catch{} };