UNPKG

radish

Version:

Radish is a React-based static site generator that outputs plain HTML and CSS.

50 lines (49 loc) 1.28 kB
export default function argv(argv) { const result = { _: [] }; let positional = false; let currentKey = ""; for (const arg of argv) { if (positional) { result._.push(parse(arg)); continue; } if (arg.startsWith("-")) { if (currentKey) result[currentKey] = true; const [key, value] = arg.replace(/^-+/, "").split(/=(.*)/); if (!key) { if (currentKey) result[currentKey] = true; positional = true; currentKey = ""; continue; } if (!value) { currentKey = key; continue; } result[key] = value; currentKey = ""; continue; } if (currentKey) { result[currentKey] = parse(arg); currentKey = ""; continue; } result._.push(parse(arg)); } if (currentKey) result[currentKey] = true; return result; } function parse(arg) { const num = Number(arg); if (!isNaN(num)) return num; if (arg === "true") return true; if (arg === "false") return false; return arg; }