@decaf-ts/utils
Version:
module management utils for decaf-ts
31 lines (30 loc) • 1.13 kB
TypeScript
import { ParseArgsOptionConfig } from "../input/types";
import { LoggingConfig } from "@decaf-ts/logging";
/**
* @description Interface for input options.
* @summary Defines the structure of input options for CLI commands.
* @interface InputOptions
* @property {number} [verbose] - The verbosity level.
* @property {boolean} [version] - Flag to show version information.
* @property {boolean} [banner] - Flag to show banner.
* @property {boolean} [help] - Flag to show help information.
* @memberOf module:utils
*/
export type InputOptions = {
verbose?: number;
version?: boolean;
banner?: boolean;
help?: boolean;
};
/**
* @description Type definition for command options.
* @summary Combines input options, input option configurations, and logging configurations into a single type.
* @template I - The type of additional input options specific to the command.
* @typedef {Object} CommandOptions
* @memberOf module:utils
*/
export type CommandOptions<I> = I & Partial<{
[k in keyof InputOptions]: ParseArgsOptionConfig;
}> & Partial<{
[k in keyof LoggingConfig]: ParseArgsOptionConfig;
}>;