UNPKG

@jondotsoy/flags

Version:

A Javascript arguments processor

27 lines 2.41 kB
export const flagMatchRefine = (_arg, index, args, _context, builder) => { const matches = builder.spec.getMetadata("matches") ?? []; const delimiter = builder.spec.getMetadata("delimiter") ?? "="; // 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; }; //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZmxhZ01hdGNoUmVmaW5lLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vc3JjL2J1aWxkZXJzL3JlZmluZXJzL2ZsYWdNYXRjaFJlZmluZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFFQSxNQUFNLENBQUMsTUFBTSxlQUFlLEdBQVcsQ0FDckMsSUFBSSxFQUNKLEtBQUssRUFDTCxJQUFJLEVBQ0osUUFBUSxFQUNSLE9BQU8sRUFDUCxFQUFFO0lBQ0YsTUFBTSxPQUFPLEdBQ1gsT0FBTyxDQUFDLElBQUksQ0FBQyxXQUFXLENBQXVCLFNBQVMsQ0FBQyxJQUFJLEVBQUUsQ0FBQztJQUNsRSxNQUFNLFNBQVMsR0FBRyxPQUFPLENBQUMsSUFBSSxDQUFDLFdBQVcsQ0FBUyxXQUFXLENBQUMsSUFBSSxHQUFHLENBQUM7SUFFdkUsa0RBQWtEO0lBQ2xELEtBQUssTUFBTSxLQUFLLElBQUksT0FBTyxFQUFFLENBQUM7UUFDNUIseURBQXlEO1FBQ3pELElBQUksSUFBSSxDQUFDLEtBQUssQ0FBQyxLQUFLLEtBQUssRUFBRSxDQUFDO1lBQzFCLHlDQUF5QztZQUN6QyxPQUFPO2dCQUNMLElBQUksRUFBRSxJQUFJLENBQUMsS0FBSyxDQUFDLEtBQUssRUFBRSxLQUFLLEdBQUcsQ0FBQyxDQUFDO2dCQUNsQyxLQUFLO2dCQUNMLEtBQUssRUFBRSxFQUFFO2FBQ1YsQ0FBQztRQUNKLENBQUM7UUFFRCxpRkFBaUY7UUFDakYsSUFBSSxJQUFJLENBQUMsS0FBSyxDQUFDLENBQUMsVUFBVSxDQUFDLEdBQUcsS0FBSyxHQUFHLFNBQVMsRUFBRSxDQUFDLEVBQUUsQ0FBQztZQUNuRCxNQUFNLEtBQUssR0FBRyxJQUFJLENBQUMsS0FBSyxDQUFDLENBQUMsU0FBUyxDQUFDLEtBQUssQ0FBQyxNQUFNLEdBQUcsU0FBUyxDQUFDLE1BQU0sQ0FBQyxDQUFDO1lBQ3JFLE9BQU87Z0JBQ0wsSUFBSSxFQUFFLElBQUksQ0FBQyxLQUFLLENBQUMsS0FBSyxFQUFFLEtBQUssR0FBRyxDQUFDLENBQUM7Z0JBQ2xDLEtBQUs7Z0JBQ0wsS0FBSzthQUNOLENBQUM7UUFDSixDQUFDO0lBQ0gsQ0FBQztJQUVELE9BQU8sSUFBSSxDQUFDO0FBQ2QsQ0FBQyxDQUFDIn0=