diff --git a/bin/index.js b/bin/index.js index 1bb76b2c..77a913ee 100755 --- a/bin/index.js +++ b/bin/index.js @@ -17,13 +17,10 @@ program const SwaggerCodegen = require(path.resolve(__dirname, '../dist/index.js')); if (SwaggerCodegen) { - - const result = SwaggerCodegen.generate( + SwaggerCodegen.generate( program.input, program.output, program.language, program.httpClient ); - - console.log(result); } diff --git a/package.json b/package.json index 94ddde6b..ea0dae11 100644 --- a/package.json +++ b/package.json @@ -1,6 +1,6 @@ { "name": "openapi-typescript-codegen", - "version": "0.0.1", + "version": "0.0.2", "description": "NodeJS library that generates Typescript or Javascript clients based on the OpenAPI specification.", "author": "Ferdi Koomen", "homepage": "https://github.com/ferdikoomen/openapi-typescript-codegen", diff --git a/src/templates/typescript/partials/exportEnum.hbs b/src/templates/typescript/partials/exportEnum.hbs index fa79d73d..55754f9c 100644 --- a/src/templates/typescript/partials/exportEnum.hbs +++ b/src/templates/typescript/partials/exportEnum.hbs @@ -11,7 +11,7 @@ export enum {{{name}}} { export namespace {{{name}}} { - export const schema = {{>validation}}; + export const schema = {{>validation parent=name}}; export async function validate(value: any): Promise<{{{name}}}> { return schema.validate(value, { strict: true }); diff --git a/src/templates/typescript/partials/validationEnum.hbs b/src/templates/typescript/partials/validationEnum.hbs index 796de59a..30889350 100644 --- a/src/templates/typescript/partials/validationEnum.hbs +++ b/src/templates/typescript/partials/validationEnum.hbs @@ -1,9 +1,13 @@ +{{~#equals parent name~}} yup.mixed<{{{name}}}>().oneOf([ {{#each enum}} - {{#equals ../name name}} - {{{value}}}{{#unless @last}},{{/unless}} - {{else}} - {{{../name}}}.{{{name}}}{{#unless @last}},{{/unless}} - {{/equals}} + {{{../parent}}}.{{{name}}}{{#unless @last}},{{/unless}} {{/each}} ]) +{{~else~}} +yup.mixed<{{{type}}}>().oneOf([ + {{#each enum}} + {{{value}}}{{#unless @last}},{{/unless}} + {{/each}} +]) +{{~/equals~}} diff --git a/src/templates/typescript/partials/validationInterface.hbs b/src/templates/typescript/partials/validationInterface.hbs index afe191f3..0ba1b4ff 100644 --- a/src/templates/typescript/partials/validationInterface.hbs +++ b/src/templates/typescript/partials/validationInterface.hbs @@ -7,7 +7,7 @@ {{#if properties}} yup.object{{#unless isProperty}}{{#if name}}<{{{name}}}>{{/if}}{{/unless}}().shape({ {{#each properties}} - {{{name}}}: yup.lazy(() => {{>validation}}.default(undefined){{#if isNullable}}.nullable(){{/if}}{{#if isRequired}}.required(){{/if}}){{#unless @last}},{{/unless}} + {{{name}}}: yup.lazy(() => {{>validation parent=name}}.default(undefined){{#if isNullable}}.nullable(){{/if}}{{#if isRequired}}.required(){{/if}}){{#unless @last}},{{/unless}} {{/each}} }).noUnknown() {{else}}