import { Cli } from '../../src/Cli'; import { CliCommandDefinition, CliCommandDefinitionOption, CliOptions, CliProgramDefinition, ParsedCliCommand, } from '../../src/types'; import { def } from './testDef'; export const parseCommandLine = ( commandLineAfterProgram: string, commandsDef: CliProgramDefinition = def, version = '1.0.0', cliOptions: CliOptions = {} ): ParsedCliCommand => { const cli = new Cli(commandsDef, version, cliOptions); const argv = ['', ''].concat(commandLineAfterProgram.split(' ')); return cli.parse(argv); }; export const createProgram = ( name = 'test', definitions: CliCommandDefinition | CliCommandDefinition[], defaultCommandName?: string, globalOptions: CliCommandDefinitionOption[] = [] ): CliProgramDefinition => { return { name, defaultCommandName, commands: Array.isArray(definitions) ? definitions : [definitions], options: globalOptions, }; };