@jondotsoy/flags
Version:
A Javascript arguments processor
33 lines • 2.33 kB
JavaScript
;
Object.defineProperty(exports, "__esModule", { value: true });
exports.numberFlagRefine = void 0;
const numberFlagRefine = (_arg, index, args, context, _builder) => {
if (!context) {
return null;
}
let value = context.value;
// If value is empty, try to get from next argument
if (value === "") {
const nextArg = args[index + 1];
if (!nextArg) {
return null;
}
value = nextArg;
}
// Try to parse as number
const numValue = Number(value);
if (isNaN(numValue)) {
return null;
}
// If we consumed next argument, include it in args
const consumedArgs = context.value === "" && args[index + 1]
? [...context.args, args[index + 1]]
: context.args;
return {
args: consumedArgs,
index: context.index,
value: numValue,
};
};
exports.numberFlagRefine = numberFlagRefine;
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibnVtYmVyRmxhZ1JlZmluZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uL3NyYy9idWlsZGVycy9yZWZpbmVycy9udW1iZXJGbGFnUmVmaW5lLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7OztBQUVPLE1BQU0sZ0JBQWdCLEdBQVcsQ0FDdEMsSUFBSSxFQUNKLEtBQUssRUFDTCxJQUFJLEVBQ0osT0FBTyxFQUNQLFFBQVEsRUFDUixFQUFFO0lBQ0YsSUFBSSxDQUFDLE9BQU8sRUFBRSxDQUFDO1FBQ2IsT0FBTyxJQUFJLENBQUM7SUFDZCxDQUFDO0lBRUQsSUFBSSxLQUFLLEdBQUcsT0FBTyxDQUFDLEtBQUssQ0FBQztJQUUxQixtREFBbUQ7SUFDbkQsSUFBSSxLQUFLLEtBQUssRUFBRSxFQUFFLENBQUM7UUFDakIsTUFBTSxPQUFPLEdBQUcsSUFBSSxDQUFDLEtBQUssR0FBRyxDQUFDLENBQUMsQ0FBQztRQUNoQyxJQUFJLENBQUMsT0FBTyxFQUFFLENBQUM7WUFDYixPQUFPLElBQUksQ0FBQztRQUNkLENBQUM7UUFDRCxLQUFLLEdBQUcsT0FBTyxDQUFDO0lBQ2xCLENBQUM7SUFFRCx5QkFBeUI7SUFDekIsTUFBTSxRQUFRLEdBQUcsTUFBTSxDQUFDLEtBQUssQ0FBQyxDQUFDO0lBQy9CLElBQUksS0FBSyxDQUFDLFFBQVEsQ0FBQyxFQUFFLENBQUM7UUFDcEIsT0FBTyxJQUFJLENBQUM7SUFDZCxDQUFDO0lBRUQsbURBQW1EO0lBQ25ELE1BQU0sWUFBWSxHQUNoQixPQUFPLENBQUMsS0FBSyxLQUFLLEVBQUUsSUFBSSxJQUFJLENBQUMsS0FBSyxHQUFHLENBQUMsQ0FBQztRQUNyQyxDQUFDLENBQUMsQ0FBQyxHQUFHLE9BQU8sQ0FBQyxJQUFJLEVBQUUsSUFBSSxDQUFDLEtBQUssR0FBRyxDQUFDLENBQUMsQ0FBQztRQUNwQyxDQUFDLENBQUMsT0FBTyxDQUFDLElBQUksQ0FBQztJQUVuQixPQUFPO1FBQ0wsSUFBSSxFQUFFLFlBQVk7UUFDbEIsS0FBSyxFQUFFLE9BQU8sQ0FBQyxLQUFLO1FBQ3BCLEtBQUssRUFBRSxRQUFRO0tBQ2hCLENBQUM7QUFDSixDQUFDLENBQUM7QUF2Q1csUUFBQSxnQkFBZ0Isb0JBdUMzQiJ9