UNPKG

zod-opts

Version:

node.js CLI option parser / validator using Zod

35 lines (34 loc) 1.34 kB
import { z, type ZodObject, type ZodRawShape } from "zod"; import { type Command } from "./command"; import type { Handler, ParseResultError, ParseResultHelp, ParseResultMatch, ParseResultVersion } from "./type"; export declare class CommandParser { private _name; private _version; private _description; private _handler; private _commands; constructor({ name, version, description, handler, commands, }?: { name?: string; version?: string; description?: string; handler?: Handler<ZodRawShape>; commands?: Command[]; }); name(name: string): this; version(version: string): this; description(description: string): this; _internalHandler(handler: (arg0: ParseResultMatch<z.infer<ZodObject<z.ZodRawShape>>> | ParseResultError | ParseResultHelp | ParseResultVersion) => void): this; subcommand(command: Command): this; showHelp(commandName?: string): void; getHelp(commandName?: string): string; parse(args?: string[]): void; private _handleAndExit; private _scriptName; private _generateParseHelp; private _handleInternalParseHelpAndVersion; private _handleInternalParseError; private _handleInternalParseMatch; private _internalParseAndValidate; private _zodParse; private _validateByCustomValidation; }