import { Parser, Command, OptionType } from '../build/esm/index.js'; const commands = [ new Command({ name: 'test', options: [{ name: 'sub', type: OptionType.SUB_COMMAND, options: [{ name: 'flag', type: OptionType.BOOLEAN, defaultValue: true, valueOptional: true, flag: true }] }] }), new Command({ name: 'create', options: [{ name: 'registration-code', aliases: ['code'], type: OptionType.SUB_COMMAND, options: [{ name: 'amount', flag: true, type: OptionType.INTEGER, defaultValue: 1, valueOptional: true, required: true }] }] }), new Command({ name: 'botban', options: [ { name: 'users', type: OptionType.STRING, required: true }, { name: 'service', choices: ['support', 'reports'], valueAsAlias: true, required: true } ] }), new Command({ name: 'volume', options: [ { name: 'volume', type: OptionType.INTEGER, maximum: 100, minimum: 0 }, ] }), new Command({ name: 'search', options: [ { name: 'artist', flag: true }, { name: 'id', flag: true, type: OptionType.INTEGER }, { name: 'song' } ] }) ]; const [first] = commands; const parser = new Parser({ commands, prefix: '', debug: true, globalFlags: [{ name: 'help', flag: true, valueOptional: true, defaultValue: true, type: OptionType.BOOLEAN }], allowIncompleteReturn: true }); parser.on('debug', console.log); console.log((await parser.parseMessage('create code -a 1'))); console.log((await parser.parseMessage('create code --help'))); console.log(await parser.parseMessage('create --help')); console.log((await parser.parseMessage('test sub --help'))); console.log(first.subcommand('sub').options); console.log((await parser.parseMessage('create code'))); console.log((await parser.parseMessage('botban support dingus'))); console.log((await parser.parseMessage('search --help'))); console.log((await parser.parseMessage('search --id 5000'))); console.log((await parser.parseMessage('volume 100'))); console.log((await parser.parseMessage('volume 200')));