UNPKG

@jondotsoy/flags

Version:

A Javascript arguments processor

34 lines (33 loc) 1.36 kB
import type { Builder } from "./builders/Builder.js"; import type { Spec } from "./builders/Spec.js"; import { type HelpMessageOptions } from "./utils/help-message.js"; type ExtractBuilderResult<B> = B extends Builder<Spec<infer I, infer P>> ? I extends never ? P : I | P : never; export declare class FlagsParser<T extends Record<string, Builder<any>>> { private schema; readonly metadata: { readonly program: string; readonly description?: string; readonly version?: string; readonly combineShortFlags?: boolean; }; constructor(schema: T, metadata?: { readonly program: string; readonly description?: string; readonly version?: string; readonly combineShortFlags?: boolean; }); program(name: string): FlagsParser<T>; describe(description: string): FlagsParser<T>; version(version: string): FlagsParser<T>; combineShortFlags(): FlagsParser<T>; helpMessage: (options?: HelpMessageOptions) => string; parse(args: string[]): { [K in keyof T]: ExtractBuilderResult<T[K]>; }; formatError(error: unknown): string; safeParse(args: string[]): [ok: true, error: undefined, output: { [K in keyof T]: ExtractBuilderResult<T[K]>; }] | [ok: false, error: unknown, output: undefined]; private expandCombinedShortFlags; } export {};