UNPKG

@jondotsoy/flags

Version:

A Javascript arguments processor

43 lines 3.68 kB
"use strict"; Object.defineProperty(exports, "__esModule", { value: true }); exports.BooleanFlagBuilder = void 0; const Builder_js_1 = require("./Builder.js"); const Spec_js_1 = require("./Spec.js"); const transformRefine_js_1 = require("./refiners/transformRefine.js"); const flagMatchRefine_js_1 = require("./refiners/flagMatchRefine.js"); const booleanFlagRefine_js_1 = require("./refiners/booleanFlagRefine.js"); class BooleanFlagBuilder extends Builder_js_1.Builder { initial(initial) { return new BooleanFlagBuilder(this.spec.initial(initial)); } accumulate(accumulate) { return new BooleanFlagBuilder(this.spec.accumulate(accumulate)); } refine(refine) { return new BooleanFlagBuilder(this.spec.refine(refine)); } metadata(values) { return new BooleanFlagBuilder(this.spec.metadata(values)); } describe(description) { return this.metadata({ description }); } required() { return this.metadata({ required: true }); } delimiter(delimiter) { // Get the matches from metadata const matches = this.spec.hasMetadata("matches") ? this.spec.getMetadata("matches") : []; // Re-create the builder with new delimiter const newSpec = Spec_js_1.Spec.create().metadata({ delimiter, matches }); const specWithFlag = newSpec.refine(flagMatchRefine_js_1.flagMatchRefine); return new BooleanFlagBuilder(specWithFlag.refine(booleanFlagRefine_js_1.booleanFlagRefine)); } transform(transform) { return new BooleanFlagBuilder(this.spec.refine((0, transformRefine_js_1.transformRefine)(transform))); } } exports.BooleanFlagBuilder = BooleanFlagBuilder; //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiQm9vbGVhbkZsYWdCdWlsZGVyLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vc3JjL2J1aWxkZXJzL0Jvb2xlYW5GbGFnQnVpbGRlci50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7QUFBQSw2Q0FBdUM7QUFDdkMsdUNBS21CO0FBR25CLHNFQUFnRTtBQUNoRSxzRUFBZ0U7QUFDaEUsMEVBQW9FO0FBRXBFLE1BQWEsa0JBQTZDLFNBQVEsb0JBQVU7SUFDMUUsT0FBTyxDQUFJLE9BQVU7UUFDbkIsT0FBTyxJQUFJLGtCQUFrQixDQUMzQixJQUFJLENBQUMsSUFBSSxDQUFDLE9BQU8sQ0FBQyxPQUFPLENBQStCLENBQ3pELENBQUM7SUFDSixDQUFDO0lBRUQsVUFBVSxDQUFDLFVBQXNCO1FBQy9CLE9BQU8sSUFBSSxrQkFBa0IsQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLFVBQVUsQ0FBQyxVQUFVLENBQU0sQ0FBQyxDQUFDO0lBQ3ZFLENBQUM7SUFFRCxNQUFNLENBQUksTUFBYztRQUN0QixPQUFPLElBQUksa0JBQWtCLENBQzNCLElBQUksQ0FBQyxJQUFJLENBQUMsTUFBTSxDQUFDLE1BQU0sQ0FBOEIsQ0FDdEQsQ0FBQztJQUNKLENBQUM7SUFFRCxRQUFRLENBQUMsTUFBMkI7UUFDbEMsT0FBTyxJQUFJLGtCQUFrQixDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsUUFBUSxDQUFDLE1BQU0sQ0FBTSxDQUFDLENBQUM7SUFDakUsQ0FBQztJQUVELFFBQVEsQ0FBQyxXQUFtQjtRQUMxQixPQUFPLElBQUksQ0FBQyxRQUFRLENBQUMsRUFBRSxXQUFXLEVBQUUsQ0FBQyxDQUFDO0lBQ3hDLENBQUM7SUFFRCxRQUFRO1FBQ04sT0FBTyxJQUFJLENBQUMsUUFBUSxDQUFDLEVBQUUsUUFBUSxFQUFFLElBQUksRUFBRSxDQUFDLENBQUM7SUFDM0MsQ0FBQztJQUVELFNBQVMsQ0FBQyxTQUFpQjtRQUN6QixnQ0FBZ0M7UUFDaEMsTUFBTSxPQUFPLEdBQUcsSUFBSSxDQUFDLElBQUksQ0FBQyxXQUFXLENBQUMsU0FBUyxDQUFDO1lBQzlDLENBQUMsQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLFdBQVcsQ0FBVyxTQUFTLENBQUM7WUFDNUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQztRQUVQLDJDQUEyQztRQUMzQyxNQUFNLE9BQU8sR0FBRyxjQUFJLENBQUMsTUFBTSxFQUFFLENBQUMsUUFBUSxDQUFDLEVBQUUsU0FBUyxFQUFFLE9BQU8sRUFBRSxDQUFDLENBQUM7UUFDL0QsTUFBTSxZQUFZLEdBQUcsT0FBTyxDQUFDLE1BQU0sQ0FBQyxvQ0FBZSxDQUFDLENBQUM7UUFDckQsT0FBTyxJQUFJLGtCQUFrQixDQUFDLFlBQVksQ0FBQyxNQUFNLENBQUMsd0NBQWlCLENBQUMsQ0FBQyxDQUFDO0lBQ3hFLENBQUM7SUFFRCxTQUFTLENBQUksU0FBa0Q7UUFDN0QsT0FBTyxJQUFJLGtCQUFrQixDQUMzQixJQUFJLENBQUMsSUFBSSxDQUFDLE1BQU0sQ0FBSSxJQUFBLG9DQUFlLEVBQUMsU0FBUyxDQUFDLENBQUMsQ0FDaEQsQ0FBQztJQUNKLENBQUM7Q0FDRjtBQTlDRCxnREE4Q0MifQ==