/
home
/
infinitibizsol
/
irfarms.infinitibizsol.com
/
node_modules
/
yargs
/
build
/
lib
/
File Upload :
llllll
Current File: /home/infinitibizsol/irfarms.infinitibizsol.com/node_modules/yargs/build/lib/parse-command.js
export function parseCommand(cmd) { const extraSpacesStrippedCommand = cmd.replace(/\s{2,}/g, ' '); const splitCommand = extraSpacesStrippedCommand.split(/\s+(?![^[]*]|[^<]*>)/); const bregex = /\.*[\][<>]/g; const firstCommand = splitCommand.shift(); if (!firstCommand) throw new Error(`No command found in: ${cmd}`); const parsedCommand = { cmd: firstCommand.replace(bregex, ''), demanded: [], optional: [], }; splitCommand.forEach((cmd, i) => { let variadic = false; cmd = cmd.replace(/\s/g, ''); if (/\.+[\]>]/.test(cmd) && i === splitCommand.length - 1) variadic = true; if (/^\[/.test(cmd)) { parsedCommand.optional.push({ cmd: cmd.replace(bregex, '').split('|'), variadic, }); } else { parsedCommand.demanded.push({ cmd: cmd.replace(bregex, '').split('|'), variadic, }); } }); return parsedCommand; }
Copyright ©2k19 -
Hexid
|
Tex7ure