@jondotsoy/flags
Version:
A Javascript arguments processor
45 lines • 3.96 kB
JavaScript
;
Object.defineProperty(exports, "__esModule", { value: true });
exports.StringsFlagBuilder = 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 stringsFlagRefine_js_1 = require("./refiners/stringsFlagRefine.js");
const stringsAccumulate_js_1 = require("./accumulates/stringsAccumulate.js");
class StringsFlagBuilder extends Builder_js_1.Builder {
initial(initial) {
return new StringsFlagBuilder(this.spec.initial(initial));
}
accumulate(accumulate) {
return new StringsFlagBuilder(this.spec.accumulate(accumulate));
}
refine(refine) {
return new StringsFlagBuilder(this.spec.refine(refine));
}
metadata(values) {
return new StringsFlagBuilder(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 specWithStrings = specWithFlag.refine(stringsFlagRefine_js_1.stringsFlagRefine);
return new StringsFlagBuilder(specWithStrings.accumulate(stringsAccumulate_js_1.stringsAccumulate));
}
transform(transform) {
return new StringsFlagBuilder(this.spec.refine((0, transformRefine_js_1.transformRefine)(transform)));
}
}
exports.StringsFlagBuilder = StringsFlagBuilder;
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiU3RyaW5nc0ZsYWdCdWlsZGVyLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vc3JjL2J1aWxkZXJzL1N0cmluZ3NGbGFnQnVpbGRlci50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7QUFBQSw2Q0FBdUM7QUFDdkMsdUNBS21CO0FBR25CLHNFQUFnRTtBQUNoRSxzRUFBZ0U7QUFDaEUsMEVBQW9FO0FBQ3BFLDZFQUF1RTtBQUV2RSxNQUFhLGtCQUE2QyxTQUFRLG9CQUFVO0lBQzFFLE9BQU8sQ0FBSSxPQUFVO1FBQ25CLE9BQU8sSUFBSSxrQkFBa0IsQ0FDM0IsSUFBSSxDQUFDLElBQUksQ0FBQyxPQUFPLENBQUMsT0FBTyxDQUErQixDQUN6RCxDQUFDO0lBQ0osQ0FBQztJQUVELFVBQVUsQ0FBQyxVQUFzQjtRQUMvQixPQUFPLElBQUksa0JBQWtCLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxVQUFVLENBQUMsVUFBVSxDQUFNLENBQUMsQ0FBQztJQUN2RSxDQUFDO0lBRUQsTUFBTSxDQUFJLE1BQWM7UUFDdEIsT0FBTyxJQUFJLGtCQUFrQixDQUMzQixJQUFJLENBQUMsSUFBSSxDQUFDLE1BQU0sQ0FBQyxNQUFNLENBQThCLENBQ3RELENBQUM7SUFDSixDQUFDO0lBRUQsUUFBUSxDQUFDLE1BQTJCO1FBQ2xDLE9BQU8sSUFBSSxrQkFBa0IsQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLFFBQVEsQ0FBQyxNQUFNLENBQU0sQ0FBQyxDQUFDO0lBQ2pFLENBQUM7SUFFRCxRQUFRLENBQUMsV0FBbUI7UUFDMUIsT0FBTyxJQUFJLENBQUMsUUFBUSxDQUFDLEVBQUUsV0FBVyxFQUFFLENBQUMsQ0FBQztJQUN4QyxDQUFDO0lBRUQsUUFBUTtRQUNOLE9BQU8sSUFBSSxDQUFDLFFBQVEsQ0FBQyxFQUFFLFFBQVEsRUFBRSxJQUFJLEVBQUUsQ0FBQyxDQUFDO0lBQzNDLENBQUM7SUFFRCxTQUFTLENBQUMsU0FBaUI7UUFDekIsZ0NBQWdDO1FBQ2hDLE1BQU0sT0FBTyxHQUFHLElBQUksQ0FBQyxJQUFJLENBQUMsV0FBVyxDQUFDLFNBQVMsQ0FBQztZQUM5QyxDQUFDLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxXQUFXLENBQVcsU0FBUyxDQUFDO1lBQzVDLENBQUMsQ0FBQyxFQUFFLENBQUM7UUFFUCwyQ0FBMkM7UUFDM0MsTUFBTSxPQUFPLEdBQUcsY0FBSSxDQUFDLE1BQU0sRUFBRSxDQUFDLFFBQVEsQ0FBQyxFQUFFLFNBQVMsRUFBRSxPQUFPLEVBQUUsQ0FBQyxDQUFDO1FBQy9ELE1BQU0sWUFBWSxHQUFHLE9BQU8sQ0FBQyxNQUFNLENBQUMsb0NBQWUsQ0FBQyxDQUFDO1FBQ3JELE1BQU0sZUFBZSxHQUFHLFlBQVksQ0FBQyxNQUFNLENBQUMsd0NBQWlCLENBQUMsQ0FBQztRQUMvRCxPQUFPLElBQUksa0JBQWtCLENBQzNCLGVBQWUsQ0FBQyxVQUFVLENBQUMsd0NBQWlCLENBQUMsQ0FDOUMsQ0FBQztJQUNKLENBQUM7SUFFRCxTQUFTLENBQUksU0FBa0Q7UUFDN0QsT0FBTyxJQUFJLGtCQUFrQixDQUMzQixJQUFJLENBQUMsSUFBSSxDQUFDLE1BQU0sQ0FBSSxJQUFBLG9DQUFlLEVBQUMsU0FBUyxDQUFDLENBQUMsQ0FDaEQsQ0FBQztJQUNKLENBQUM7Q0FDRjtBQWpERCxnREFpREMifQ==