Class YargsCliExtractor

Parses CLI args using the yargs library. Specific settings can be enabled through the provided options.

Hierarchy

Constructors

Properties

yargsArgOptions: Record<string, Options>
yargvOptions: CliOptions

Methods

  • Checks if the input can be handled by this class. If it cannot handle the input, rejects with an error explaining why.

    Parameters

    • input: CliArgv

      Input that could potentially be handled.

    Returns Promise<void>

    A promise resolving if the input can be handled, rejecting with an Error if not.

  • Creates the yargs Argv object based on the input CLI argv.

    Parameters

    • argv: readonly string[]

    Returns Argv<{}>

  • Handles the given input. This may only be called if canHandle did not reject. When unconditionally calling both in sequence, consider handleSafe instead.

    Parameters

    • argv: readonly string[]

      Input that needs to be handled.

    Returns Promise<{
        $0: string;
        _: (string | number)[];
        [argName: string]: unknown;
    }>

    A promise resolving when handling is finished.

  • Helper function that first runs canHandle followed by handle. Throws the error of canHandle if the data cannot be handled, or returns the result of handle otherwise.

    Parameters

    • input: CliArgv

      Input data that will be handled if it can be handled.

    Returns Promise<Shorthand>

    A promise resolving if the input can be handled, rejecting with an Error if not.