UNPKG

@jondotsoy/flags

Version:

A Javascript arguments processor

43 lines 3.61 kB
import { Builder } from "./Builder.js"; import { Spec, } from "./Spec.js"; import { argumentMatchRefine } from "./refiners/argumentMatchRefine.js"; import { transformRefine } from "./refiners/transformRefine.js"; import { BooleanCommandBuilder } from "./BooleanCommandBuilder.js"; import { toBooleanRefine } from "./refiners/templateRefine.js"; import { restArgsRefine } from "./refiners/restArgsRefine.js"; export class CommandBuilder extends Builder { initial(initial) { return new CommandBuilder(this.spec.initial(initial)); } accumulate(accumulate) { return new CommandBuilder(this.spec.accumulate(accumulate)); } refine(refine) { return new CommandBuilder(this.spec.refine(refine)); } metadata(values) { return new CommandBuilder(this.spec.metadata(values)); } describe(description) { return this.metadata({ description }); } required() { return this.metadata({ required: true }); } string() { return this; } boolean() { return new BooleanCommandBuilder(this.spec.initial(false).refine(toBooleanRefine)); } transform(transform) { return new CommandBuilder(this.spec.refine(transformRefine(transform))); } restArgs() { return this.refine(restArgsRefine); } static create(argumentMatch) { return new CommandBuilder(Spec.create().refine(argumentMatchRefine(argumentMatch))); } } //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiQ29tbWFuZEJ1aWxkZXIuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi9zcmMvYnVpbGRlcnMvQ29tbWFuZEJ1aWxkZXIudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLE9BQU8sRUFBRSxNQUFNLGNBQWMsQ0FBQztBQUN2QyxPQUFPLEVBQ0wsSUFBSSxHQUtMLE1BQU0sV0FBVyxDQUFDO0FBR25CLE9BQU8sRUFBRSxtQkFBbUIsRUFBRSxNQUFNLG1DQUFtQyxDQUFDO0FBQ3hFLE9BQU8sRUFBRSxlQUFlLEVBQUUsTUFBTSwrQkFBK0IsQ0FBQztBQUNoRSxPQUFPLEVBQUUscUJBQXFCLEVBQUUsTUFBTSw0QkFBNEIsQ0FBQztBQUNuRSxPQUFPLEVBQUUsZUFBZSxFQUFFLE1BQU0sOEJBQThCLENBQUM7QUFDL0QsT0FBTyxFQUFFLGNBQWMsRUFBRSxNQUFNLDhCQUE4QixDQUFDO0FBRTlELE1BQU0sT0FBTyxjQUF5QyxTQUFRLE9BQVU7SUFDdEUsT0FBTyxDQUFJLE9BQVU7UUFDbkIsT0FBTyxJQUFJLGNBQWMsQ0FDdkIsSUFBSSxDQUFDLElBQUksQ0FBQyxPQUFPLENBQUMsT0FBTyxDQUErQixDQUN6RCxDQUFDO0lBQ0osQ0FBQztJQUVELFVBQVUsQ0FBQyxVQUFzQjtRQUMvQixPQUFPLElBQUksY0FBYyxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsVUFBVSxDQUFDLFVBQVUsQ0FBTSxDQUFDLENBQUM7SUFDbkUsQ0FBQztJQUVELE1BQU0sQ0FBSSxNQUFjO1FBQ3RCLE9BQU8sSUFBSSxjQUFjLENBQ3ZCLElBQUksQ0FBQyxJQUFJLENBQUMsTUFBTSxDQUFDLE1BQU0sQ0FBOEIsQ0FDdEQsQ0FBQztJQUNKLENBQUM7SUFFRCxRQUFRLENBQUMsTUFBMkI7UUFDbEMsT0FBTyxJQUFJLGNBQWMsQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLFFBQVEsQ0FBQyxNQUFNLENBQU0sQ0FBQyxDQUFDO0lBQzdELENBQUM7SUFFRCxRQUFRLENBQUMsV0FBbUI7UUFDMUIsT0FBTyxJQUFJLENBQUMsUUFBUSxDQUFDLEVBQUUsV0FBVyxFQUFFLENBQUMsQ0FBQztJQUN4QyxDQUFDO0lBRUQsUUFBUTtRQUNOLE9BQU8sSUFBSSxDQUFDLFFBQVEsQ0FBQyxFQUFFLFFBQVEsRUFBRSxJQUFJLEVBQUUsQ0FBQyxDQUFDO0lBQzNDLENBQUM7SUFFRCxNQUFNO1FBQ0osT0FBTyxJQUFJLENBQUM7SUFDZCxDQUFDO0lBRUQsT0FBTztRQUNMLE9BQU8sSUFBSSxxQkFBcUIsQ0FDOUIsSUFBSSxDQUFDLElBQUksQ0FBQyxPQUFPLENBQUMsS0FBSyxDQUFDLENBQUMsTUFBTSxDQUFDLGVBQWUsQ0FBQyxDQUNqRCxDQUFDO0lBQ0osQ0FBQztJQUVELFNBQVMsQ0FBSSxTQUFzRDtRQUNqRSxPQUFPLElBQUksY0FBYyxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsTUFBTSxDQUFJLGVBQWUsQ0FBQyxTQUFTLENBQUMsQ0FBQyxDQUFDLENBQUM7SUFDN0UsQ0FBQztJQUVELFFBQVE7UUFDTixPQUFPLElBQUksQ0FBQyxNQUFNLENBQVcsY0FBYyxDQUFDLENBQUM7SUFDL0MsQ0FBQztJQUVELE1BQU0sQ0FBQyxNQUFNLENBQUMsYUFBcUI7UUFDakMsT0FBTyxJQUFJLGNBQWMsQ0FDdkIsSUFBSSxDQUFDLE1BQU0sRUFBRSxDQUFDLE1BQU0sQ0FBUyxtQkFBbUIsQ0FBQyxhQUFhLENBQUMsQ0FBQyxDQUNqRSxDQUFDO0lBQ0osQ0FBQztDQUNGIn0=