@jondotsoy/flags
Version:
A Javascript arguments processor
47 lines • 3.69 kB
JavaScript
;
Object.defineProperty(exports, "__esModule", { value: true });
exports.CommandBuilder = void 0;
const Builder_js_1 = require("./Builder.js");
const Spec_js_1 = require("./Spec.js");
const argumentMatchRefine_js_1 = require("./refiners/argumentMatchRefine.js");
const transformRefine_js_1 = require("./refiners/transformRefine.js");
const BooleanCommandBuilder_js_1 = require("./BooleanCommandBuilder.js");
const templateRefine_js_1 = require("./refiners/templateRefine.js");
const restArgsRefine_js_1 = require("./refiners/restArgsRefine.js");
class CommandBuilder extends Builder_js_1.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_js_1.BooleanCommandBuilder(this.spec.initial(false).refine(templateRefine_js_1.toBooleanRefine));
}
transform(transform) {
return new CommandBuilder(this.spec.refine((0, transformRefine_js_1.transformRefine)(transform)));
}
restArgs() {
return this.refine(restArgsRefine_js_1.restArgsRefine);
}
static create(argumentMatch) {
return new CommandBuilder(Spec_js_1.Spec.create().refine((0, argumentMatchRefine_js_1.argumentMatchRefine)(argumentMatch)));
}
}
exports.CommandBuilder = CommandBuilder;
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiQ29tbWFuZEJ1aWxkZXIuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi9zcmMvYnVpbGRlcnMvQ29tbWFuZEJ1aWxkZXIudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7O0FBQUEsNkNBQXVDO0FBQ3ZDLHVDQU1tQjtBQUduQiw4RUFBd0U7QUFDeEUsc0VBQWdFO0FBQ2hFLHlFQUFtRTtBQUNuRSxvRUFBK0Q7QUFDL0Qsb0VBQThEO0FBRTlELE1BQWEsY0FBeUMsU0FBUSxvQkFBVTtJQUN0RSxPQUFPLENBQUksT0FBVTtRQUNuQixPQUFPLElBQUksY0FBYyxDQUN2QixJQUFJLENBQUMsSUFBSSxDQUFDLE9BQU8sQ0FBQyxPQUFPLENBQStCLENBQ3pELENBQUM7SUFDSixDQUFDO0lBRUQsVUFBVSxDQUFDLFVBQXNCO1FBQy9CLE9BQU8sSUFBSSxjQUFjLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxVQUFVLENBQUMsVUFBVSxDQUFNLENBQUMsQ0FBQztJQUNuRSxDQUFDO0lBRUQsTUFBTSxDQUFJLE1BQWM7UUFDdEIsT0FBTyxJQUFJLGNBQWMsQ0FDdkIsSUFBSSxDQUFDLElBQUksQ0FBQyxNQUFNLENBQUMsTUFBTSxDQUE4QixDQUN0RCxDQUFDO0lBQ0osQ0FBQztJQUVELFFBQVEsQ0FBQyxNQUEyQjtRQUNsQyxPQUFPLElBQUksY0FBYyxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsUUFBUSxDQUFDLE1BQU0sQ0FBTSxDQUFDLENBQUM7SUFDN0QsQ0FBQztJQUVELFFBQVEsQ0FBQyxXQUFtQjtRQUMxQixPQUFPLElBQUksQ0FBQyxRQUFRLENBQUMsRUFBRSxXQUFXLEVBQUUsQ0FBQyxDQUFDO0lBQ3hDLENBQUM7SUFFRCxRQUFRO1FBQ04sT0FBTyxJQUFJLENBQUMsUUFBUSxDQUFDLEVBQUUsUUFBUSxFQUFFLElBQUksRUFBRSxDQUFDLENBQUM7SUFDM0MsQ0FBQztJQUVELE1BQU07UUFDSixPQUFPLElBQUksQ0FBQztJQUNkLENBQUM7SUFFRCxPQUFPO1FBQ0wsT0FBTyxJQUFJLGdEQUFxQixDQUM5QixJQUFJLENBQUMsSUFBSSxDQUFDLE9BQU8sQ0FBQyxLQUFLLENBQUMsQ0FBQyxNQUFNLENBQUMsbUNBQWUsQ0FBQyxDQUNqRCxDQUFDO0lBQ0osQ0FBQztJQUVELFNBQVMsQ0FBSSxTQUFzRDtRQUNqRSxPQUFPLElBQUksY0FBYyxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsTUFBTSxDQUFJLElBQUEsb0NBQWUsRUFBQyxTQUFTLENBQUMsQ0FBQyxDQUFDLENBQUM7SUFDN0UsQ0FBQztJQUVELFFBQVE7UUFDTixPQUFPLElBQUksQ0FBQyxNQUFNLENBQVcsa0NBQWMsQ0FBQyxDQUFDO0lBQy9DLENBQUM7SUFFRCxNQUFNLENBQUMsTUFBTSxDQUFDLGFBQXFCO1FBQ2pDLE9BQU8sSUFBSSxjQUFjLENBQ3ZCLGNBQUksQ0FBQyxNQUFNLEVBQUUsQ0FBQyxNQUFNLENBQVMsSUFBQSw0Q0FBbUIsRUFBQyxhQUFhLENBQUMsQ0FBQyxDQUNqRSxDQUFDO0lBQ0osQ0FBQztDQUNGO0FBcERELHdDQW9EQyJ9