@jondotsoy/flags
Version:
A Javascript arguments processor
68 lines • 7.3 kB
JavaScript
"use strict";
Object.defineProperty(exports, "__esModule", { value: true });
exports.NumberFlagBuilder = 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 numberFlagRefine_js_1 = require("./refiners/numberFlagRefine.js");
const notNaNRefine_js_1 = require("./refiners/notNaNRefine.js");
const numberMultipleOfRefine_js_1 = require("./refiners/numberMultipleOfRefine.js");
const numberNegativeRefine_js_1 = require("./refiners/numberNegativeRefine.js");
const numberPositiveRefine_js_1 = require("./refiners/numberPositiveRefine.js");
const numberLessThanOrEqualRefine_js_1 = require("./refiners/numberLessThanOrEqualRefine.js");
const numberLessThanRefine_js_1 = require("./refiners/numberLessThanRefine.js");
const numberGreaterThanOrEqualRefine_js_1 = require("./refiners/numberGreaterThanOrEqualRefine.js");
const numberGreaterThanRefine_js_1 = require("./refiners/numberGreaterThanRefine.js");
class NumberFlagBuilder extends Builder_js_1.Builder {
constructor() {
super(...arguments);
this.notNaN = () => new NumberFlagBuilder(this.spec.refine(notNaNRefine_js_1.notNaNRefine));
this.gt = (greaterThan) => this.greaterThan(greaterThan);
this.gte = (greaterThanOrEqual) => this.greaterThanOrEqual(greaterThanOrEqual);
this.lt = (lessThan) => this.lessThan(lessThan);
this.lte = (lessThanOrEqual) => this.lessThanOrEqual(lessThanOrEqual);
this.greaterThan = (greaterThan) => this.refine((0, numberGreaterThanRefine_js_1.numberGreaterThanRefine)(greaterThan));
this.greaterThanOrEqual = (greaterThanOrEqual) => this.refine((0, numberGreaterThanOrEqualRefine_js_1.numberGreaterThanOrEqualRefine)(greaterThanOrEqual));
this.lessThan = (lessThan) => this.refine((0, numberLessThanRefine_js_1.numberLessThanRefine)(lessThan));
this.lessThanOrEqual = (lessThanOrEqual) => this.refine((0, numberLessThanOrEqualRefine_js_1.numberLessThanOrEqualRefine)(lessThanOrEqual));
this.positive = () => this.refine(numberPositiveRefine_js_1.numberPositiveRefine);
this.negative = () => this.refine(numberNegativeRefine_js_1.numberNegativeRefine);
this.multipleOf = (multipleOf) => this.refine((0, numberMultipleOfRefine_js_1.numberMultipleOfRefine)(multipleOf));
}
initial(initial) {
return new NumberFlagBuilder(this.spec.initial(initial));
}
accumulate(accumulate) {
return new NumberFlagBuilder(this.spec.accumulate(accumulate));
}
refine(refine) {
return new NumberFlagBuilder(this.spec.refine(refine));
}
metadata(values) {
return new NumberFlagBuilder(this.spec.metadata(values));
}
delimiter(delimiter) {
var _a;
// Get the matches from metadata
const matches = (_a = this.spec.getMetadata("matches")) !== null && _a !== void 0 ? _a : [];
// 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 NumberFlagBuilder(specWithFlag.refine(numberFlagRefine_js_1.numberFlagRefine));
}
transform(transform) {
return new NumberFlagBuilder(this.spec.refine((0, transformRefine_js_1.transformRefine)(transform)));
}
default(value) {
return this.initial(value);
}
describe(description) {
return this.metadata({ description });
}
required() {
return this.metadata({ required: true });
}
}
exports.NumberFlagBuilder = NumberFlagBuilder;
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiTnVtYmVyRmxhZ0J1aWxkZXIuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi9zcmMvYnVpbGRlcnMvTnVtYmVyRmxhZ0J1aWxkZXIudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7O0FBQUEsNkNBQXVDO0FBQ3ZDLHVDQU1tQjtBQUduQixzRUFBZ0U7QUFDaEUsc0VBQWdFO0FBQ2hFLHdFQUFrRTtBQUNsRSxnRUFBMEQ7QUFDMUQsb0ZBQThFO0FBQzlFLGdGQUEwRTtBQUMxRSxnRkFBMEU7QUFDMUUsOEZBQXdGO0FBQ3hGLGdGQUEwRTtBQUMxRSxvR0FBOEY7QUFDOUYsc0ZBQWdGO0FBRWhGLE1BQWEsaUJBQTRDLFNBQVEsb0JBQVU7SUFBM0U7O1FBa0RFLFdBQU0sR0FBRyxHQUFHLEVBQUUsQ0FBQyxJQUFJLGlCQUFpQixDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsTUFBTSxDQUFDLDhCQUFZLENBQUMsQ0FBQyxDQUFDO1FBRXJFLE9BQUUsR0FBRyxDQUFDLFdBQW1CLEVBQUUsRUFBRSxDQUFDLElBQUksQ0FBQyxXQUFXLENBQUMsV0FBVyxDQUFDLENBQUM7UUFDNUQsUUFBRyxHQUFHLENBQUMsa0JBQTBCLEVBQUUsRUFBRSxDQUNuQyxJQUFJLENBQUMsa0JBQWtCLENBQUMsa0JBQWtCLENBQUMsQ0FBQztRQUM5QyxPQUFFLEdBQUcsQ0FBQyxRQUFnQixFQUFFLEVBQUUsQ0FBQyxJQUFJLENBQUMsUUFBUSxDQUFDLFFBQVEsQ0FBQyxDQUFDO1FBQ25ELFFBQUcsR0FBRyxDQUFDLGVBQXVCLEVBQUUsRUFBRSxDQUFDLElBQUksQ0FBQyxlQUFlLENBQUMsZUFBZSxDQUFDLENBQUM7UUFFekUsZ0JBQVcsR0FBRyxDQUFDLFdBQW1CLEVBQUUsRUFBRSxDQUNwQyxJQUFJLENBQUMsTUFBTSxDQUFDLElBQUEsb0RBQXVCLEVBQUMsV0FBVyxDQUFDLENBQUMsQ0FBQztRQUNwRCx1QkFBa0IsR0FBRyxDQUFDLGtCQUEwQixFQUFFLEVBQUUs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