logsdx
Version:
<div align="center"><img alt="logsdx" width="300" src="https://github.com/user-attachments/assets/cc2a3b55-5bfd-44e8-a330-bfa146b50059" /></div>
41 lines (40 loc) • 1.55 kB
TypeScript
export interface OptionDefinition {
flags: string;
description: string;
defaultValue?: string | boolean | number;
}
export interface ParsedOptions {
[key: string]: string | boolean | number | undefined;
}
export interface ArgumentDefinition {
name: string;
description: string;
required: boolean;
}
export declare const HELP_FLAGS: string[];
export declare const VERSION_FLAGS: string[];
export declare const BOOLEAN_FLAG_PREFIX = "no-";
export declare function camelCase(str: string): string;
export declare function findOption(options: OptionDefinition[], flag: string): OptionDefinition | undefined;
export declare function extractLongFlag(flags: string): string | null;
export declare function expectsValue(flags: string): boolean;
export declare function hasOptionalValue(flags: string): boolean;
export declare function isBooleanFlag(flags: string): boolean;
export declare class CLI {
private programName;
private programDescription;
private programVersion;
private options;
private argumentDef?;
private actionFn?;
name(value: string): this;
description(value: string): this;
version(value: string): this;
option(flags: string, description: string, defaultValue?: string | boolean | number): this;
argument(name: string, description: string): this;
action(fn: (arg: string | undefined, options: ParsedOptions) => Promise<void> | void): this;
parse(argv?: string[]): void;
private showHelp;
}
export declare function createCLI(): CLI;
export default CLI;