- Fixed generator of nested enums

This commit is contained in:
Ferdi Koomen 2019-11-24 12:38:23 +01:00
parent b16db33c92
commit fec3ca9de6
5 changed files with 13 additions and 12 deletions

View File

@ -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);
}

View File

@ -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",

View File

@ -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 });

View File

@ -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~}}

View File

@ -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}}