@visulima/cerebro
Version:
A delightful toolkit for building cross-runtime CLIs for Node.js, Deno, and Bun.
18 lines (17 loc) • 1.19 kB
TypeScript
import type { CommandLineOptions } from "@visulima/command-line-args";
import type { Command as ICommand, OptionDefinition, PossibleOptionDefinition } from "../../types/command.d.ts";
import type { Toolbox as IToolbox } from "../../types/toolbox.d.ts";
/**
* Validates that all required options are present.
* Uses pre-computed required options metadata from command registration for performance.
*/
export declare const validateRequiredOptions: <OD extends OptionDefinition<unknown>, TLogger extends Console = Console>(arguments_: PossibleOptionDefinition<OD>[], commandArguments: CommandLineOptions, command: ICommand<OD, TLogger>) => void;
/**
* Validates for conflicting options.
* Uses pre-computed conflict metadata from command registration for performance.
*/
export declare const validateConflictingOptions: <OD extends OptionDefinition<unknown>, TLogger extends Console = Console>(arguments_: PossibleOptionDefinition<OD>[], commandArguments: IToolbox["options"], command: ICommand<OD, TLogger>) => void;
/**
* Validates for duplicate option definitions.
*/
export declare const validateDuplicateOptions: <OD extends OptionDefinition<unknown>>(command: ICommand<OD>) => void;