UNPKG

@jondotsoy/flags

Version:

A Javascript arguments processor

24 lines (23 loc) 1.34 kB
import { Builder } from "./Builder.js"; import { Spec } from "./Spec.js"; import type { Accumulate } from "../dtos/Accumulate.js"; import type { Refine } from "../dtos/Refine.js"; import { StringsArgumentBuilder } from "./StringsArgumentBuilder.js"; import { NumberArgumentBuilder } from "./NumberArgumentBuilder.js"; import type { ParseResultType, RedefineInitialValue, RedefineParseResult } from "./Spec.js"; import { RestArgsArgumentBuilder } from "./RestArgsArgumentBuilder.js"; export declare class ArgumentBuilder<T extends Spec<any, any>> extends Builder<T> { initial<U>(initial: U): ArgumentBuilder<RedefineInitialValue<T, U>>; accumulate(accumulate: Accumulate): ArgumentBuilder<T>; refine<U>(refine: Refine): ArgumentBuilder<RedefineParseResult<T, U>>; metadata(values: Record<string, any>): ArgumentBuilder<T>; describe(description: string): ArgumentBuilder<T>; required(): ArgumentBuilder<T>; string(): this; strings(): StringsArgumentBuilder<Spec<any, unknown>>; number(): NumberArgumentBuilder<Spec<null, number>>; transform<U>(transform: (value: ParseResultType<T>) => U): ArgumentBuilder<Spec<any, U>>; match(regex: RegExp): ArgumentBuilder<Spec<any, unknown>>; restArgs(): RestArgsArgumentBuilder<Spec<null, string[]>>; static create(): ArgumentBuilder<Spec<null, string>>; }