export const FLAG_TERMINATOR = "--" ;
const ROOT_BOOLEAN_FLAGS = new Set(["--dev" , "--no-color" ]);
const ROOT_VALUE_FLAGS = new Set(["--profile" , "--log-level" , "--container" ]);
export function isValueToken(arg: string | undefined): boolean {
if (!arg || arg === FLAG_TERMINATOR) {
return false ;
}
if (!arg.startsWith("-" )) {
return true ;
}
return /^-\d+(?:\.\d+)?$/.test(arg);
}
export function consumeRootOptionToken(args: ReadonlyArray<string>, index: number): number {
const arg = args[index];
if (!arg) {
return 0 ;
}
if (ROOT_BOOLEAN_FLAGS.has(arg)) {
return 1 ;
}
if (
arg.startsWith("--profile=" ) ||
arg.startsWith("--log-level=" ) ||
arg.startsWith("--container=" )
) {
return 1 ;
}
if (ROOT_VALUE_FLAGS.has(arg)) {
return isValueToken(args[index + 1 ]) ? 2 : 1 ;
}
return 0 ;
}
Messung V0.5 in Prozent C=100 H=100 G=100
¤ Dauer der Verarbeitung: 0.10 Sekunden
(vorverarbeitet am 2026-09-28)
¤
*© Formatika GbR, Deutschland