@jondotsoy/flags
Version:
A Javascript arguments processor
29 lines • 2.17 kB
JavaScript
;
Object.defineProperty(exports, "__esModule", { value: true });
exports.booleanFlagRefine = void 0;
const booleanFlagRefine = (_arg, _index, _args, context, _builder) => {
if (!context) {
return null;
}
// Boolean flags don't consume additional arguments
// If value is already set from flagMatchRefine (e.g., "--verbose=true"), parse it
if (context.value !== "") {
const lowerValue = context.value.toLowerCase();
if (lowerValue === "true" || lowerValue === "1") {
return { ...context, value: true };
}
if (lowerValue === "false" || lowerValue === "0") {
return { ...context, value: false };
}
// Invalid boolean value
return null;
}
// No explicit value means the flag presence is true
return {
args: context.args,
index: context.index,
value: true,
};
};
exports.booleanFlagRefine = booleanFlagRefine;
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYm9vbGVhbkZsYWdSZWZpbmUuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi9zcmMvYnVpbGRlcnMvcmVmaW5lcnMvYm9vbGVhbkZsYWdSZWZpbmUudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7O0FBRU8sTUFBTSxpQkFBaUIsR0FBVyxDQUN2QyxJQUFJLEVBQ0osTUFBTSxFQUNOLEtBQUssRUFDTCxPQUFPLEVBQ1AsUUFBUSxFQUNSLEVBQUU7SUFDRixJQUFJLENBQUMsT0FBTyxFQUFFLENBQUM7UUFDYixPQUFPLElBQUksQ0FBQztJQUNkLENBQUM7SUFFRCxtREFBbUQ7SUFDbkQsa0ZBQWtGO0lBQ2xGLElBQUksT0FBTyxDQUFDLEtBQUssS0FBSyxFQUFFLEVBQUUsQ0FBQztRQUN6QixNQUFNLFVBQVUsR0FBRyxPQUFPLENBQUMsS0FBSyxDQUFDLFdBQVcsRUFBRSxDQUFDO1FBQy9DLElBQUksVUFBVSxLQUFLLE1BQU0sSUFBSSxVQUFVLEtBQUssR0FBRyxFQUFFLENBQUM7WUFDaEQsT0FBTyxFQUFFLEdBQUcsT0FBTyxFQUFFLEtBQUssRUFBRSxJQUFJLEVBQUUsQ0FBQztRQUNyQyxDQUFDO1FBQ0QsSUFBSSxVQUFVLEtBQUssT0FBTyxJQUFJLFVBQVUsS0FBSyxHQUFHLEVBQUUsQ0FBQztZQUNqRCxPQUFPLEVBQUUsR0FBRyxPQUFPLEVBQUUsS0FBSyxFQUFFLEtBQUssRUFBRSxDQUFDO1FBQ3RDLENBQUM7UUFDRCx3QkFBd0I7UUFDeEIsT0FBTyxJQUFJLENBQUM7SUFDZCxDQUFDO0lBRUQsb0RBQW9EO0lBQ3BELE9BQU87UUFDTCxJQUFJLEVBQUUsT0FBTyxDQUFDLElBQUk7UUFDbEIsS0FBSyxFQUFFLE9BQU8sQ0FBQyxLQUFLO1FBQ3BCLEtBQUssRUFBRSxJQUFJO0tBQ1osQ0FBQztBQUNKLENBQUMsQ0FBQztBQS9CVyxRQUFBLGlCQUFpQixxQkErQjVCIn0=