@jondotsoy/flags
Version:
A Javascript arguments processor
24 lines (23 loc) • 1.34 kB
TypeScript
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>>;
}