Class CliExtractorAbstract

Converts the input CLI arguments into an easily parseable key/value object.

Due to how the application is built, there are certain CLI parameters that need to be parsed before this class can be instantiated. These can be ignored by this class as they will have been handled before it is called, but that does mean that this class should not error if they are present, e.g., by being strict throwing an error on these unexpected parameters.

In case strict mode is preferred, the following should be added to the list of known parameters:

  • -c / --config
  • -m / --mainModulePath
  • -l / --loggingLevel

Hierarchy

Constructors

Methods

Constructors

Methods

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

    Returns

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

    Parameters

    • input: CliArgv

      Input that could potentially be handled.

    Returns Promise<void>

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

    Returns

    A promise resolving when handling is finished.

    Parameters

    • input: CliArgv

      Input that needs to be handled.

    Returns Promise<Shorthand>

  • 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.

    Returns

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

    Parameters

    • input: CliArgv

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

    Returns Promise<Shorthand>