// src/cli.ts
import { program } from "commander";

function validatePositiveInteger(value: string, defaultValue: number): number {
  const parsed = parseInt(value, 10);
  if (isNaN(parsed) || parsed < 1) {
    console.warn(`Invalid value "${value}". Using default: ${defaultValue}.`);
    return defaultValue;
  }
  return parsed;
}

program
  .version("1.0.0")
  .description("Generate Nepali placeholder text")
  .option(
    "-p, --paragraphs <number>",
    "Number of paragraphs",
    (value) => validatePositiveInteger(value, 3),
    3,
  )
  .option(
    "-s, --sentences <number>",
    "Sentences per paragraph",
    (value) => validatePositiveInteger(value, 5),
    5,
  )
  .option(
    "-w, --words <number>",
    "Words per sentence",
    (value) => validatePositiveInteger(value, 15),
    15,
  )
  .parse();
