UNPKG

@jondotsoy/flags

Version:

A Javascript arguments processor

70 lines 6.03 kB
"use strict"; Object.defineProperty(exports, "__esModule", { value: true }); exports.FlagBuilder = void 0; const Builder_js_1 = require("./Builder.js"); const Spec_js_1 = require("./Spec.js"); const flagMatchRefine_js_1 = require("./refiners/flagMatchRefine.js"); const StringFlagBuilder_js_1 = require("./StringFlagBuilder.js"); const stringFlagRefine_js_1 = require("./refiners/stringFlagRefine.js"); const NumberFlagBuilder_js_1 = require("./NumberFlagBuilder.js"); const numberFlagRefine_js_1 = require("./refiners/numberFlagRefine.js"); const KeyValueFlagBuilder_js_1 = require("./KeyValueFlagBuilder.js"); const keyValueFlagRefine_js_1 = require("./refiners/keyValueFlagRefine.js"); const keyValueAccumulate_js_1 = require("./accumulates/keyValueAccumulate.js"); const BooleanFlagBuilder_js_1 = require("./BooleanFlagBuilder.js"); const booleanFlagRefine_js_1 = require("./refiners/booleanFlagRefine.js"); const StringsFlagBuilder_js_1 = require("./StringsFlagBuilder.js"); const stringsFlagRefine_js_1 = require("./refiners/stringsFlagRefine.js"); const stringsAccumulate_js_1 = require("./accumulates/stringsAccumulate.js"); const restArgsRefine_js_1 = require("./refiners/restArgsRefine.js"); const RestArgsFlagBuilder_js_1 = require("./RestArgsFlagBuilder.js"); class FlagBuilder extends Builder_js_1.Builder { initial(initial) { return new FlagBuilder(this.spec.initial(initial)); } accumulate(accumulate) { return new FlagBuilder(this.spec.accumulate(accumulate)); } refine(refine) { return new FlagBuilder(this.spec.refine(refine)); } metadata(values) { return new FlagBuilder(this.spec.metadata(values)); } describe(description) { return this.metadata({ description }); } required() { return this.metadata({ required: true }); } string() { return new StringFlagBuilder_js_1.StringFlagBuilder(this.spec.initial(null).refine(stringFlagRefine_js_1.stringFlagRefine)); } strings() { const specWithRefine = this.spec .initial([]) .refine(stringsFlagRefine_js_1.stringsFlagRefine); return new StringsFlagBuilder_js_1.StringsFlagBuilder(specWithRefine.accumulate(stringsAccumulate_js_1.stringsAccumulate)); } number() { return new NumberFlagBuilder_js_1.NumberFlagBuilder(this.spec.initial(null).refine(numberFlagRefine_js_1.numberFlagRefine)); } boolean() { return new BooleanFlagBuilder_js_1.BooleanFlagBuilder(this.spec.initial(false).refine(booleanFlagRefine_js_1.booleanFlagRefine)); } keyValue() { return new KeyValueFlagBuilder_js_1.KeyValueFlagBuilder(this.spec .refine(keyValueFlagRefine_js_1.keyValueFlagRefine) .initial(null) .accumulate(keyValueAccumulate_js_1.keyValueAccumulate)); } restArgs() { return new RestArgsFlagBuilder_js_1.RestArgsFlagBuilder(this.spec.initial(null).refine(restArgsRefine_js_1.restArgsRefine)); } static create(...aliases) { const spec = Spec_js_1.Spec.create().metadata({ matches: aliases }); return new FlagBuilder(spec.refine(flagMatchRefine_js_1.flagMatchRefine)); } } exports.FlagBuilder = FlagBuilder; //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiRmxhZ0J1aWxkZXIuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi9zcmMvYnVpbGRlcnMvRmxhZ0J1aWxkZXIudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7O0FBQUEsNkNBQXVDO0FBQ3ZDLHVDQUltQjtBQUduQixzRUFBZ0U7QUFDaEUsaUVBQTJEO0FBQzNELHdFQUFrRTtBQUNsRSxpRUFBMkQ7QUFDM0Qsd0VBQWtFO0FBQ2xFLHFFQUErRDtBQUMvRCw0RUFBc0U7QUFDdEUsK0VBQXlFO0FBQ3pFLG1FQUE2RDtBQUM3RCwwRUFBb0U7QUFDcEUsbUVBQTZEO0FBQzdELDBFQUFvRTtBQUNwRSw2RUFBdUU7QUFDdkUsb0VBQThEO0FBQzlELHFFQUErRDtBQUUvRCxNQUFhLFdBQXNDLFNBQVEsb0JBQVU7SUFDbkUsT0FBTyxDQUFJLE9BQVU7UUFDbkIsT0FBTyxJQUFJLFdBQVcsQ0FDcEIsSUFBSSxDQUFDLElBQUksQ0FBQyxPQUFPLENBQUMsT0FBTyxDQUErQixDQUN6RCxDQUFDO0lBQ0osQ0FBQztJQUVELFVBQVUsQ0FBQyxVQUFzQjtRQUMvQixPQUFPLElBQUksV0FBVyxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsVUFBVSxDQUFDLFVBQVUsQ0FBTSxDQUFDLENBQUM7SUFDaEUsQ0FBQztJQUVELE1BQU0sQ0FBSSxNQUFjO1FBQ3RCLE9BQU8sSUFBSSxXQUFXLENBQ3BCLElBQUksQ0FBQyxJQUFJLENBQUMsTUFBTSxDQUFDLE1BQU0sQ0FBOEIsQ0FDdEQsQ0FBQztJQUNKLENBQUM7SUFFRCxRQUFRLENBQUMsTUFBMkI7UUFDbEMsT0FBTyxJQUFJLFdBQVcsQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLFFBQVEsQ0FBQyxNQUFNLENBQU0sQ0FBQyxDQUFDO0lBQzFELENBQUM7SUFFRCxRQUFRLENBQUMsV0FBbUI7UUFDMUIsT0FBTyxJQUFJLENBQUMsUUFBUSxDQUFDLEVBQUUsV0FBVyxFQUFFLENBQUMsQ0FBQztJQUN4QyxDQUFDO0lBRUQsUUFBUTtRQUNOLE9BQU8sSUFBSSxDQUFDLFFBQVEsQ0FBQyxFQUFFLFFBQVEsRUFBRSxJQUFJLEVBQUUsQ0FBQyxDQUFDO0lBQzNDLENBQUM7SUFFRCxNQUFNO1FBQ0osT0FBTyxJQUFJLHdDQUFpQixDQUMxQixJQUFJLENBQUMsSUFBSSxDQUFDLE9BQU8sQ0FBZ0IsSUFBSSxDQUFDLENBQUMsTUFBTSxDQUFTLHNDQUFnQixDQUFDLENBQ3hFLENBQUM7SUFDSixDQUFDO0lBRUQsT0FBTztRQUNMLE1BQU0sY0FBYyxHQUFHLElBQUksQ0FBQyxJQUFJO2FBQzdCLE9BQU8sQ0FBVyxFQUFFLENBQUM7YUFDckIsTUFBTSxDQUFXLHdDQUFpQixDQUFDLENBQUM7UUFDdkMsT0FBTyxJQUFJLDBDQUFrQixDQUFDLGNBQWMsQ0FBQyxVQUFVLENBQUMsd0NBQWlCLENBQUMsQ0FBQyxDQUFDO0lBQzlFLENBQUM7SUFFRCxNQUFNO1FBQ0osT0FBTyxJQUFJLHdDQUFpQixDQUMxQixJQUFJLENBQUMsSUFBSSxDQUFDLE9BQU8sQ0FBZ0IsSUFBSSxDQUFDLENBQUMsTUFBTSxDQUFTLHNDQUFnQixDQUFDLENBQ3hFLENBQUM7SUFDSixDQUFDO0lBRUQsT0FBTztRQUNMLE9BQU8sSUFBSSwwQ0FBa0IsQ0FDM0IsSUFBSSxDQUFDLElBQUksQ0FBQyxPQUFPLENBQUMsS0FBSyxDQUFDLENBQUMsTUFBTSxDQUFVLHdDQUFpQixDQUFDLENBQzVELENBQUM7SUFDSixDQUFDO0lBRUQsUUFBUTtRQUNOLE9BQU8sSUFBSSw0Q0FBbUIsQ0FDNUIsSUFBSSxDQUFDLElBQUk7YUFDTixNQUFNLENBQXlCLDBDQUFrQixDQUFDO2FBQ2xELE9BQU8sQ0FBQyxJQUFJLENBQUM7YUFDYixVQUFVLENBQUMsMENBQWtCLENBQUMsQ0FDbEMsQ0FBQztJQUNKLENBQUM7SUFFRCxRQUFRO1FBQ04sT0FBTyxJQUFJLDRDQUFtQixDQUM1QixJQUFJLENBQUMsSUFBSSxDQUFDLE9BQU8sQ0FBTyxJQUFJLENBQUMsQ0FBQyxNQUFNLENBQVcsa0NBQWMsQ0FBQyxDQUMvRCxDQUFDO0lBQ0osQ0FBQztJQUVELE1BQU0sQ0FBQyxNQUFNLENBQUMsR0FBRyxPQUFpQjtRQUNoQyxNQUFNLElBQUksR0FBRyxjQUFJLENBQUMsTUFBTSxFQUFFLENBQUMsUUFBUSxDQUFDLEVBQUUsT0FBTyxFQUFFLE9BQU8sRUFBRSxDQUFDLENBQUM7UUFDMUQsT0FBTyxJQUFJLFdBQVcsQ0FBQyxJQUFJLENBQUMsTUFBTSxDQUFDLG9DQUFlLENBQUMsQ0FBQyxDQUFDO0lBQ3ZELENBQUM7Q0FDRjtBQXpFRCxrQ0F5RUMifQ==