INNER CODE UNIT · TypeScript
parseCliArgs
scribbletune/scribbletune · src/cli.ts:181
const parseCliArgs = (argv: string[]): ParsedOptions | null => {
if (argv.length === 0 || argv.includes('-h') || argv.includes('--help')) {
return null;
}
let commandArg = argv[0];
if (commandArg.startsWith('--')) {
commandArg = commandArg.slice(2);
}
if (commandArg !== 'riff' && commandArg !== 'chord' && commandArg !== 'arp') {
throw new TypeError(
`First argument must be riff/chord/arp (or --riff/--chord/--arp), received "${argv[0]}"`
);
}
const positionals: string[] = [];
const options: ParsedOptions = {
command: commandArg,