@jondotsoy/flags
Version:
A Javascript arguments processor
26 lines (25 loc) • 1.48 kB
TypeScript
import { Builder } from "./Builder.js";
import { Spec, type RedefineInitialValue, type RedefineParseResult } from "./Spec.js";
import type { Accumulate } from "../dtos/Accumulate.js";
import type { Refine } from "../dtos/Refine.js";
import { StringFlagBuilder } from "./StringFlagBuilder.js";
import { NumberFlagBuilder } from "./NumberFlagBuilder.js";
import { KeyValueFlagBuilder } from "./KeyValueFlagBuilder.js";
import { BooleanFlagBuilder } from "./BooleanFlagBuilder.js";
import { StringsFlagBuilder } from "./StringsFlagBuilder.js";
import { RestArgsFlagBuilder } from "./RestArgsFlagBuilder.js";
export declare class FlagBuilder<T extends Spec<any, any>> extends Builder<T> {
initial<U>(initial: U): FlagBuilder<RedefineInitialValue<T, U>>;
accumulate(accumulate: Accumulate): FlagBuilder<T>;
refine<U>(refine: Refine): FlagBuilder<RedefineParseResult<T, U>>;
metadata(values: Record<string, any>): FlagBuilder<T>;
describe(description: string): FlagBuilder<T>;
required(): FlagBuilder<T>;
string(): StringFlagBuilder<Spec<string | null, string>>;
strings(): StringsFlagBuilder<Spec<string[], string[]>>;
number(): NumberFlagBuilder<Spec<number | null, number>>;
boolean(): BooleanFlagBuilder<Spec<boolean, boolean>>;
keyValue(): KeyValueFlagBuilder<Spec<null, Record<string, string>>>;
restArgs(): RestArgsFlagBuilder<Spec<null, string[]>>;
static create(...aliases: string[]): FlagBuilder<Spec<null, unknown>>;
}