UNPKG

@jondotsoy/flags

Version:

A Javascript arguments processor

45 lines 3.98 kB
"use strict"; Object.defineProperty(exports, "__esModule", { value: true }); exports.KeyValueFlagBuilder = 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 keyValueFlagRefine_js_1 = require("./refiners/keyValueFlagRefine.js"); const keyValueAccumulate_js_1 = require("./accumulates/keyValueAccumulate.js"); class KeyValueFlagBuilder extends Builder_js_1.Builder { initial(initial) { return new KeyValueFlagBuilder(this.spec.initial(initial)); } accumulate(accumulate) { return new KeyValueFlagBuilder(this.spec.accumulate(accumulate)); } refine(refine) { return new KeyValueFlagBuilder(this.spec.refine(refine)); } metadata(values) { return new KeyValueFlagBuilder(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); const specWithKeyValue = specWithFlag.refine(keyValueFlagRefine_js_1.keyValueFlagRefine); return new KeyValueFlagBuilder(specWithKeyValue.accumulate(keyValueAccumulate_js_1.keyValueAccumulate)); } transform(transform) { return new KeyValueFlagBuilder(this.spec.refine((0, transformRefine_js_1.transformRefine)(transform))); } } exports.KeyValueFlagBuilder = KeyValueFlagBuilder; //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiS2V5VmFsdWVGbGFnQnVpbGRlci5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uL3NyYy9idWlsZGVycy9LZXlWYWx1ZUZsYWdCdWlsZGVyLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7OztBQUFBLDZDQUF1QztBQUN2Qyx1Q0FLbUI7QUFHbkIsc0VBQWdFO0FBQ2hFLHNFQUFnRTtBQUNoRSw0RUFBc0U7QUFDdEUsK0VBQXlFO0FBRXpFLE1BQWEsbUJBQThDLFNBQVEsb0JBQVU7SUFDM0UsT0FBTyxDQUFJLE9BQVU7UUFDbkIsT0FBTyxJQUFJLG1CQUFtQixDQUM1QixJQUFJLENBQUMsSUFBSSxDQUFDLE9BQU8sQ0FBQyxPQUFPLENBQStCLENBQ3pELENBQUM7SUFDSixDQUFDO0lBRUQsVUFBVSxDQUFDLFVBQXNCO1FBQy9CLE9BQU8sSUFBSSxtQkFBbUIsQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLFVBQVUsQ0FBQyxVQUFVLENBQU0sQ0FBQyxDQUFDO0lBQ3hFLENBQUM7SUFFRCxNQUFNLENBQUksTUFBYztRQUN0QixPQUFPLElBQUksbUJBQW1CLENBQzVCLElBQUksQ0FBQyxJQUFJLENBQUMsTUFBTSxDQUFDLE1BQU0sQ0FBOEIsQ0FDdEQsQ0FBQztJQUNKLENBQUM7SUFFRCxRQUFRLENBQUMsTUFBMkI7UUFDbEMsT0FBTyxJQUFJLG1CQUFtQixDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsUUFBUSxDQUFDLE1BQU0sQ0FBTSxDQUFDLENBQUM7SUFDbEUsQ0FBQztJQUVELFFBQVEsQ0FBQyxXQUFtQjtRQUMxQixPQUFPLElBQUksQ0FBQyxRQUFRLENBQUMsRUFBRSxXQUFXLEVBQUUsQ0FBQyxDQUFDO0lBQ3hDLENBQUM7SUFFRCxRQUFRO1FBQ04sT0FBTyxJQUFJLENBQUMsUUFBUSxDQUFDLEVBQUUsUUFBUSxFQUFFLElBQUksRUFBRSxDQUFDLENBQUM7SUFDM0MsQ0FBQztJQUVELFNBQVMsQ0FBQyxTQUFpQjtRQUN6QixnQ0FBZ0M7UUFDaEMsTUFBTSxPQUFPLEdBQUcsSUFBSSxDQUFDLElBQUksQ0FBQyxXQUFXLENBQUMsU0FBUyxDQUFDO1lBQzlDLENBQUMsQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLFdBQVcsQ0FBVyxTQUFTLENBQUM7WUFDNUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQztRQUVQLDJDQUEyQztRQUMzQyxNQUFNLE9BQU8sR0FBRyxjQUFJLENBQUMsTUFBTSxFQUFFLENBQUMsUUFBUSxDQUFDLEVBQUUsU0FBUyxFQUFFLE9BQU8sRUFBRSxDQUFDLENBQUM7UUFDL0QsTUFBTSxZQUFZLEdBQUcsT0FBTyxDQUFDLE1BQU0sQ0FBQyxvQ0FBZSxDQUFDLENBQUM7UUFDckQsTUFBTSxnQkFBZ0IsR0FBRyxZQUFZLENBQUMsTUFBTSxDQUFDLDBDQUFrQixDQUFDLENBQUM7UUFDakUsT0FBTyxJQUFJLG1CQUFtQixDQUM1QixnQkFBZ0IsQ0FBQyxVQUFVLENBQUMsMENBQWtCLENBQUMsQ0FDaEQsQ0FBQztJQUNKLENBQUM7SUFFRCxTQUFTLENBQUksU0FBa0Q7UUFDN0QsT0FBTyxJQUFJLG1CQUFtQixDQUM1QixJQUFJLENBQUMsSUFBSSxDQUFDLE1BQU0sQ0FBSSxJQUFBLG9DQUFlLEVBQUMsU0FBUyxDQUFDLENBQUMsQ0FDaEQsQ0FBQztJQUNKLENBQUM7Q0FDRjtBQWpERCxrREFpREMifQ==