diff --git a/README.md b/README.md index 531a42b..365598c 100644 --- a/README.md +++ b/README.md @@ -46,7 +46,7 @@ Options: -c, --client HTTP client to generate [fetch, xhr, node, axios, angular] (default: "fetch") --request Path to custom request file --useDateType Use Date type instead of string for date types for models, this will not convert the data to a Date object - --enums Generate JavaScript objects from enum definitions? + --enums Generate JavaScript objects from enum definitions? ['javascript', 'typescript'] --base Manually set base in OpenAPI config instead of inferring from server value --serviceResponse Define shape of returned value from service calls ['body', 'generics', 'response'] --operationId Use operation ID to generate operation names? diff --git a/src/cli.mts b/src/cli.mts index cb93fc4..5bace6e 100644 --- a/src/cli.mts +++ b/src/cli.mts @@ -45,7 +45,12 @@ async function setupProgram() { "--base ", "Manually set base in OpenAPI config instead of inferring from server value" ) - .option("--enums", "Generate JavaScript objects from enum definitions?") + .addOption( + new Option( + "--enums ", + "Generate JavaScript objects from enum definitions?" + ).choices(["javascript", "typescript"]) + ) .option( "--useDateType", "Use Date type instead of string for date types for models, this will not convert the data to a Date object" @@ -54,7 +59,7 @@ async function setupProgram() { const options = program.opts(); - generate(options, version); + await generate(options, version); } setupProgram(); diff --git a/src/generate.mts b/src/generate.mts index bde4d22..35b51eb 100644 --- a/src/generate.mts +++ b/src/generate.mts @@ -25,6 +25,8 @@ export async function generate(options: UserConfig, version: string) { (acc as any)[typedKey] = true; } else if (value === "false") { (acc as any)[typedKey] = false; + } else { + (acc as any)[typedKey] = typedValue; } return acc; },