@jondotsoy/flags
Version:
A Javascript arguments processor
43 lines • 3.61 kB
JavaScript
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=