@jondotsoy/flags
Version:
A Javascript arguments processor
32 lines • 2.69 kB
JavaScript
;
Object.defineProperty(exports, "__esModule", { value: true });
exports.flagMatchRefine = void 0;
const flagMatchRefine = (_arg, index, args, _context, builder) => {
var _a, _b;
const matches = (_a = builder.spec.getMetadata("matches")) !== null && _a !== void 0 ? _a : [];
const delimiter = (_b = builder.spec.getMetadata("delimiter")) !== null && _b !== void 0 ? _b : "=";
// Check if current arg matches any of the aliases
for (const match of matches) {
// Check for exact match (e.g., "--verbose" or "foo-taz")
if (args[index] === match) {
// No value provided, return empty string
return {
args: args.slice(index, index + 1),
index,
value: "",
};
}
// Check for flag{delimiter}value format (e.g., "--verbose=foo" or "foo-taz:bar")
if (args[index].startsWith(`${match}${delimiter}`)) {
const value = args[index].substring(match.length + delimiter.length);
return {
args: args.slice(index, index + 1),
index,
value,
};
}
}
return null;
};
exports.flagMatchRefine = flagMatchRefine;
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZmxhZ01hdGNoUmVmaW5lLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vc3JjL2J1aWxkZXJzL3JlZmluZXJzL2ZsYWdNYXRjaFJlZmluZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7QUFFTyxNQUFNLGVBQWUsR0FBVyxDQUNyQyxJQUFJLEVBQ0osS0FBSyxFQUNMLElBQUksRUFDSixRQUFRLEVBQ1IsT0FBTyxFQUNQLEVBQUU7O0lBQ0YsTUFBTSxPQUFPLEdBQ1gsTUFBQSxPQUFPLENBQUMsSUFBSSxDQUFDLFdBQVcsQ0FBdUIsU0FBUyxDQUFDLG1DQUFJLEVBQUUsQ0FBQztJQUNsRSxNQUFNLFNBQVMsR0FBRyxNQUFBLE9BQU8sQ0FBQyxJQUFJLENBQUMsV0FBVyxDQUFTLFdBQVcsQ0FBQyxtQ0FBSSxHQUFHLENBQUM7SUFFdkUsa0RBQWtEO0lBQ2xELEtBQUssTUFBTSxLQUFLLElBQUksT0FBTyxFQUFFLENBQUM7UUFDNUIseURBQXlEO1FBQ3pELElBQUksSUFBSSxDQUFDLEtBQUssQ0FBQyxLQUFLLEtBQUssRUFBRSxDQUFDO1lBQzFCLHlDQUF5QztZQUN6QyxPQUFPO2dCQUNMLElBQUksRUFBRSxJQUFJLENBQUMsS0FBSyxDQUFDLEtBQUssRUFBRSxLQUFLLEdBQUcsQ0FBQyxDQUFDO2dCQUNsQyxLQUFLO2dCQUNMLEtBQUssRUFBRSxFQUFFO2FBQ1YsQ0FBQztRQUNKLENBQUM7UUFFRCxpRkFBaUY7UUFDakYsSUFBSSxJQUFJLENBQUMsS0FBSyxDQUFDLENBQUMsVUFBVSxDQUFDLEdBQUcsS0FBSyxHQUFHLFNBQVMsRUFBRSxDQUFDLEVBQUUsQ0FBQztZQUNuRCxNQUFNLEtBQUssR0FBRyxJQUFJLENBQUMsS0FBSyxDQUFDLENBQUMsU0FBUyxDQUFDLEtBQUssQ0FBQyxNQUFNLEdBQUcsU0FBUyxDQUFDLE1BQU0sQ0FBQyxDQUFDO1lBQ3JFLE9BQU87Z0JBQ0wsSUFBSSxFQUFFLElBQUksQ0FBQyxLQUFLLENBQUMsS0FBSyxFQUFFLEtBQUssR0FBRyxDQUFDLENBQUM7Z0JBQ2xDLEtBQUs7Z0JBQ0wsS0FBSzthQUNOLENBQUM7UUFDSixDQUFDO0lBQ0gsQ0FBQztJQUVELE9BQU8sSUFBSSxDQUFDO0FBQ2QsQ0FBQyxDQUFDO0FBbkNXLFFBQUEsZUFBZSxtQkFtQzFCIn0=