zod-opts
Version:
node.js CLI option parser / validator using Zod
37 lines (36 loc) • 1.45 kB
TypeScript
import type { InternalCommand, InternalOption, InternalPositionalArgument } from "./type";
export interface Candidate {
name: string;
value: string | string[] | undefined;
isNegative: boolean;
}
export interface PositionalCandidate {
name: string;
value: string | string[];
}
export declare function isNumericValue(str: string): boolean;
export declare function findOptionByPrefixedName(options: InternalOption[], prefixedName: string): [InternalOption, boolean] | undefined;
export declare function pickPositionalArguments(targets: string[], options: InternalOption[], hasDoubleDash: boolean): {
positionalArgs: string[];
shift: number;
};
export declare function parsePositionalArguments(args: string[], positionalArgs: InternalPositionalArgument[]): PositionalCandidate[];
export interface Parsed {
candidates: Candidate[];
positionalCandidates: PositionalCandidate[];
isHelp: boolean;
isVersion: boolean;
}
export type CommandParsed = Parsed & {
commandName: string | undefined;
};
export declare function likesOptionArg(arg: string, options: InternalOption[]): boolean;
export declare function parseMultipleCommands({ args, commands, }: {
args: string[];
commands: InternalCommand[];
}): CommandParsed;
export declare function parse({ args, options, positionalArgs, }: {
args: string[];
options: InternalOption[];
positionalArgs: InternalPositionalArgument[];
}): Parsed;