25 lines
588 B
TypeScript
25 lines
588 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;
|
|
};
|