UNPKG

brocolito

Version:

Create type-safe CLIs to align local development and pipeline workflows

18 lines (17 loc) 752 B
import type { ArgType, ArgumentToName, Command, OptionMeta, SnakeToCamelCase } from "./types.ts"; export type ParseResult = { positionals: string[]; values: Record<string, string | boolean | (string | boolean)[]>; }; export declare const Arguments: { camelize: <S extends string>(str: S) => SnakeToCamelCase<S>; deriveInfo: <S extends `<${string}${string}>`>(usage: S) => ArgType & { name: ArgumentToName<S>; }; deriveOptionInfo: (usage: string) => Pick<OptionMeta, "name" | "type" | "multi" | "mandatory" | "short">; parse: (command: Command<Record<string, unknown>>, args: string[]) => ParseResult; parseGlobalOptions: (args: string[]) => { wantsHelp: boolean; wantsVersion: boolean; }; };