16 lines
567 B
TypeScript
16 lines
567 B
TypeScript
import type { CliArguments } from '../types.js';
|
|
|
|
// Argument parsing helpers
|
|
export const getBool = (argv: CliArguments, ...keys: string[]) =>
|
|
keys.some(k => Boolean((argv as any)[k]));
|
|
|
|
export const getNumber = (argv: CliArguments, key: string, fallback: number) => {
|
|
const v = (argv as any)[key];
|
|
const n = typeof v === 'string' ? Number(v) : v;
|
|
return Number.isFinite(n) ? n : fallback;
|
|
};
|
|
|
|
export const getString = (argv: CliArguments, key: string, fallback?: string) => {
|
|
const v = (argv as any)[key];
|
|
return typeof v === 'string' ? v : fallback;
|
|
}; |