UNPKG

@jondotsoy/flags

Version:

A Javascript arguments processor

46 lines 3.83 kB
"use strict"; Object.defineProperty(exports, "__esModule", { value: true }); exports.StringFlagBuilder = 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 stringFlagRefine_js_1 = require("./refiners/stringFlagRefine.js"); class StringFlagBuilder extends Builder_js_1.Builder { initial(initial) { return new StringFlagBuilder(this.spec.initial(initial)); } accumulate(accumulate) { return new StringFlagBuilder(this.spec.accumulate(accumulate)); } refine(refine) { return new StringFlagBuilder(this.spec.refine(refine)); } metadata(values) { return new StringFlagBuilder(this.spec.metadata(values)); } describe(description) { return this.metadata({ description }); } required() { return this.metadata({ required: true }); } default(value) { return this.initial(value); } 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 StringFlagBuilder(specWithFlag.refine(stringFlagRefine_js_1.stringFlagRefine)); } transform(transform) { return new StringFlagBuilder(this.spec.refine((0, transformRefine_js_1.transformRefine)(transform))); } } exports.StringFlagBuilder = StringFlagBuilder; //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiU3RyaW5nRmxhZ0J1aWxkZXIuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi9zcmMvYnVpbGRlcnMvU3RyaW5nRmxhZ0J1aWxkZXIudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7O0FBQUEsNkNBQXVDO0FBQ3ZDLHVDQU1tQjtBQUduQixzRUFBZ0U7QUFDaEUsc0VBQWdFO0FBQ2hFLHdFQUFrRTtBQUVsRSxNQUFhLGlCQUE0QyxTQUFRLG9CQUFVO0lBQ3pFLE9BQU8sQ0FBSSxPQUFVO1FBQ25CLE9BQU8sSUFBSSxpQkFBaUIsQ0FDMUIsSUFBSSxDQUFDLElBQUksQ0FBQyxPQUFPLENBQUMsT0FBTyxDQUErQixDQUN6RCxDQUFDO0lBQ0osQ0FBQztJQUVELFVBQVUsQ0FBQyxVQUFzQjtRQUMvQixPQUFPLElBQUksaUJBQWlCLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxVQUFVLENBQUMsVUFBVSxDQUFNLENBQUMsQ0FBQztJQUN0RSxDQUFDO0lBRUQsTUFBTSxDQUFJLE1BQWM7UUFDdEIsT0FBTyxJQUFJLGlCQUFpQixDQUMxQixJQUFJLENBQUMsSUFBSSxDQUFDLE1BQU0sQ0FBQyxNQUFNLENBQThCLENBQ3RELENBQUM7SUFDSixDQUFDO0lBRUQsUUFBUSxDQUFDLE1BQTJCO1FBQ2xDLE9BQU8sSUFBSSxpQkFBaUIsQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLFFBQVEsQ0FBQyxNQUFNLENBQU0sQ0FBQyxDQUFDO0lBQ2hFLENBQUM7SUFFRCxRQUFRLENBQUMsV0FBbUI7UUFDMUIsT0FBTyxJQUFJLENBQUMsUUFBUSxDQUFDLEVBQUUsV0FBVyxFQUFFLENBQUMsQ0FBQztJQUN4QyxDQUFDO0lBRUQsUUFBUTtRQUNOLE9BQU8sSUFBSSxDQUFDLFFBQVEsQ0FBQyxFQUFFLFFBQVEsRUFBRSxJQUFJLEVBQUUsQ0FBQyxDQUFDO0lBQzNDLENBQUM7SUFFRCxPQUFPLENBQUMsS0FBeUI7UUFDL0IsT0FBTyxJQUFJLENBQUMsT0FBTyxDQUFDLEtBQUssQ0FBQyxDQUFDO0lBQzdCLENBQUM7SUFFRCxTQUFTLENBQUMsU0FBaUI7UUFDekIsZ0NBQWdDO1FBQ2hDLE1BQU0sT0FBTyxHQUFHLElBQUksQ0FBQyxJQUFJLENBQUMsV0FBVyxDQUFDLFNBQVMsQ0FBQztZQUM5QyxDQUFDLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxXQUFXLENBQVcsU0FBUyxDQUFDO1lBQzVDLENBQUMsQ0FBQyxFQUFFLENBQUM7UUFFUCwyQ0FBMkM7UUFDM0MsTUFBTSxPQUFPLEdBQUcsY0FBSSxDQUFDLE1BQU0sRUFBRSxDQUFDLFFBQVEsQ0FBQyxFQUFFLFNBQVMsRUFBRSxPQUFPLEVBQUUsQ0FBQyxDQUFDO1FBQy9ELE1BQU0sWUFBWSxHQUFHLE9BQU8sQ0FBQyxNQUFNLENBQUMsb0NBQWUsQ0FBQyxDQUFDO1FBQ3JELE9BQU8sSUFBSSxpQkFBaUIsQ0FBQyxZQUFZLENBQUMsTUFBTSxDQUFDLHNDQUFnQixDQUFNLENBQUMsQ0FBQztJQUMzRSxDQUFDO0lBRUQsU0FBUyxDQUFJLFNBQWtEO1FBQzdELE9BQU8sSUFBSSxpQkFBaUIsQ0FDMUIsSUFBSSxDQUFDLElBQUksQ0FBQyxNQUFNLENBQUksSUFBQSxvQ0FBZSxFQUFDLFNBQVMsQ0FBQyxDQUFDLENBQ2hELENBQUM7SUFDSixDQUFDO0NBQ0Y7QUFsREQsOENBa0RDIn0=