{"version":3,"file":"cli.cjs","names":[],"sources":["../src/cli.ts"],"sourcesContent":["#!/usr/bin/env node\n\nimport { readFile, writeFile } from \"fs/promises\";\nimport minimist, { type ParsedArgs } from \"minimist\";\nimport { join } from \"path\";\n\nimport { generateSource } from \"./\";\nimport { argumentStyleOptions } from \"./generate/generateClientMethod\";\nimport { enumStyleOptions } from \"./helpers/getEnumStyle\";\n\nasync function run(argv: ParsedArgs) {\n  const {\n    include,\n    exclude,\n    optimistic,\n    useEnumType,\n    enumStyle,\n    mergeReadWriteOnly,\n    useUnknown,\n    argumentStyle,\n    allSchemas,\n    numericBooleanQueryParameters,\n    futureStripLegacyMethods,\n    help,\n    version,\n  } = argv;\n  const [spec, dest] = argv._;\n\n  if (help) {\n    printUsage();\n    process.exit(0);\n  }\n\n  if (version) {\n    const pkg = JSON.parse(\n      await readFile(join(__dirname, \"..\", \"package.json\"), \"utf8\"),\n    );\n    console.log(pkg.version);\n    process.exit(0);\n  }\n\n  if (!spec) {\n    printUsage();\n    process.exit(1);\n  }\n\n  if (\n    argumentStyle !== undefined &&\n    !argumentStyleOptions.includes(argumentStyle)\n  ) {\n    console.error(\n      `--argumentStyle should be one of <${argumentStyleOptions.join(\n        \" | \",\n      )}>, but got \"${argumentStyle}\"`,\n    );\n    process.exit(1);\n  }\n\n  if (enumStyle !== undefined && !enumStyleOptions.includes(enumStyle)) {\n    console.error(\n      `--enumStyle should be one of <${enumStyleOptions.join(\n        \" | \",\n      )}>, but got \"${enumStyle}\"`,\n    );\n    process.exit(1);\n  }\n\n  const code = await generateSource(spec, {\n    include,\n    exclude,\n    optimistic,\n    useEnumType,\n    enumStyle,\n    useUnknown,\n    mergeReadWriteOnly,\n    argumentStyle,\n    allSchemas,\n    numericBooleanQueryParameters,\n    futureStripLegacyMethods,\n  });\n\n  if (dest) await writeFile(dest, code);\n  else console.log(code);\n}\n\nfunction printUsage() {\n  console.error(`\n    Usage:\n    oazapfts <spec> [filename]\n\n    Options:\n    --exclude, -e <tag to exclude>\n    --include, -i <tag to include>\n    --help,    -h\n    --version, -v\n    --optimistic\n    --useEnumType (deprecated, use --enumStyle=enum)\n    --enumStyle=<${enumStyleOptions.join(\" | \")}> (default: union)\n    --useUnknown\n    --mergeReadWriteOnly\n    --argumentStyle=<${argumentStyleOptions.join(\" | \")}> (default: positional)\n    --allSchemas\n    --numericBooleanQueryParameters\n    --futureStripLegacyMethods\n`);\n}\n\nrun(\n  minimist(process.argv.slice(2), {\n    alias: {\n      h: \"help\",\n      v: \"version\",\n      i: \"include\",\n      e: \"exclude\",\n    },\n    boolean: [\n      \"help\",\n      \"version\",\n      \"optimistic\",\n      \"useEnumType\",\n      \"mergeReadWriteOnly\",\n      \"useUnknown\",\n      \"allSchemas\",\n      \"numericBooleanQueryParameters\",\n      \"futureStripLegacyMethods\",\n    ],\n    string: [\"argumentStyle\", \"enumStyle\"],\n  }),\n).catch((error) => {\n  console.error(error);\n  process.exit(1);\n});\n"],"mappings":";0PAUA,SAAe,EAAI,EAAA,sEAAkB,CACnC,GAAM,CACJ,UACA,UACA,aACA,cACA,YACA,qBACA,aACA,gBACA,aACA,gCACA,2BACA,OACA,WACE,EACE,CAAC,EAAM,GAAQ,EAAK,EAO1B,GALI,IACF,GAAY,CACZ,QAAQ,KAAK,EAAE,EAGb,EAAS,CACX,IAAM,EAAM,KAAK,MACf,MAAA,EAAA,EAAA,WAAA,EAAA,EAAA,MAAoB,UAAW,KAAM,eAAe,CAAE,OAAO,CAC9D,CACD,QAAQ,IAAI,EAAI,QAAQ,CACxB,QAAQ,KAAK,EAAE,CAGZ,IACH,GAAY,CACZ,QAAQ,KAAK,EAAE,EAIf,IAAkB,IAAA,IAClB,CAAC,EAAA,EAAqB,SAAS,EAAc,GAE7C,QAAQ,MACN,qCAAqC,EAAA,EAAqB,KACxD,MACD,CAAC,cAAc,EAAc,GAC/B,CACD,QAAQ,KAAK,EAAE,EAGb,IAAc,IAAA,IAAa,CAAC,EAAA,EAAiB,SAAS,EAAU,GAClE,QAAQ,MACN,iCAAiC,EAAA,EAAiB,KAChD,MACD,CAAC,cAAc,EAAU,GAC3B,CACD,QAAQ,KAAK,EAAE,EAGjB,IAAM,EAAO,MAAM,EAAA,EAAe,EAAM,CACtC,UACA,UACA,aACA,cACA,YACA,aACA,qBACA,gBACA,aACA,gCACA,2BACD,CAAC,CAEE,EAAM,MAAA,EAAA,EAAA,WAAgB,EAAM,EAAK,CAChC,QAAQ,IAAI,EAAK,2BAGxB,SAAS,GAAa,CACpB,QAAQ,MAAM;;;;;;;;;;;mBAWG,EAAA,EAAiB,KAAK,MAAM,CAAC;;;uBAGzB,EAAA,EAAqB,KAAK,MAAM,CAAC;;;;EAItD,CAGF,GAAA,EAAA,EAAA,SACW,QAAQ,KAAK,MAAM,EAAE,CAAE,CAC9B,MAAO,CACL,EAAG,OACH,EAAG,UACH,EAAG,UACH,EAAG,UACJ,CACD,QAAS,CACP,OACA,UACA,aACA,cACA,qBACA,aACA,aACA,gCACA,2BACD,CACD,OAAQ,CAAC,gBAAiB,YAAY,CACvC,CAAC,CACH,CAAC,MAAO,GAAU,CACjB,QAAQ,MAAM,EAAM,CACpB,QAAQ,KAAK,EAAE,EACf"}