From 38ed03142d84fc8209e536ffa17700c86b28c941 Mon Sep 17 00:00:00 2001 From: Aniokrait Date: Mon, 6 May 2024 19:37:31 +0900 Subject: [PATCH 1/3] [html2] Support alias models to render html docs. --- .../openapitools/codegen/DefaultGenerator.java | 16 ++++++++++------ .../main/resources/htmlDocs2/index.mustache | 18 +++++++++++++----- 2 files changed, 23 insertions(+), 11 deletions(-) diff --git a/modules/openapi-generator/src/main/java/org/openapitools/codegen/DefaultGenerator.java b/modules/openapi-generator/src/main/java/org/openapitools/codegen/DefaultGenerator.java index b65a5fbd5d68..416dba5a8ac2 100644 --- a/modules/openapi-generator/src/main/java/org/openapitools/codegen/DefaultGenerator.java +++ b/modules/openapi-generator/src/main/java/org/openapitools/codegen/DefaultGenerator.java @@ -442,7 +442,7 @@ private void generateModel(List files, Map models, String } } - void generateModels(List files, List allModels, List unusedModels) { + void generateModels(List files, List allModels, List unusedModels, List aliasModels) { if (!generateModels) { // TODO: Process these anyway and add to dryRun info LOGGER.info("Skipping generation of models."); @@ -567,6 +567,8 @@ void generateModels(List files, List allModels, List unu CodegenModel m = modelTemplate.getModel(); if (m.isAlias) { // alias to number, string, enum, etc, which should not be generated as model + // but aliases are still used to dereference models in some languages (such as in html2). + aliasModels.add(modelTemplate); // Store aliases in the separate list. continue; // Don't create user-defined classes for aliases } } @@ -1074,11 +1076,11 @@ private void generateSupportingFiles(List files, Map bundl generateVersionMetadata(files); } - Map buildSupportFileBundle(List allOperations, List allModels) { - return this.buildSupportFileBundle(allOperations, allModels, null); + Map buildSupportFileBundle(List allOperations, List allModels, List aliasModels) { + return this.buildSupportFileBundle(allOperations, allModels, aliasModels, null); } - Map buildSupportFileBundle(List allOperations, List allModels, List allWebhooks) { + Map buildSupportFileBundle(List allOperations, List allModels, List aliasModels, List allWebhooks) { Map bundle = new HashMap<>(config.additionalProperties()); bundle.put("apiPackage", config.apiPackage()); @@ -1100,6 +1102,7 @@ Map buildSupportFileBundle(List allOperations, Li bundle.put("apiInfo", apis); bundle.put("webhooks", allWebhooks); bundle.put("models", allModels); + bundle.put("aliasModels", aliasModels); bundle.put("apiFolder", config.apiPackage().replace('.', File.separatorChar)); bundle.put("modelPackage", config.modelPackage()); bundle.put("library", config.getLibrary()); @@ -1225,7 +1228,8 @@ public List generate() { // models List filteredSchemas = ModelUtils.getSchemasUsedOnlyInFormParam(openAPI); List allModels = new ArrayList<>(); - generateModels(files, allModels, filteredSchemas); + List aliasModels = new ArrayList<>(); + generateModels(files, allModels, filteredSchemas, aliasModels); // apis List allOperations = new ArrayList<>(); generateApis(files, allOperations, allModels); @@ -1233,7 +1237,7 @@ public List generate() { List allWebhooks = new ArrayList<>(); generateWebhooks(files, allWebhooks, allModels); // supporting files - Map bundle = buildSupportFileBundle(allOperations, allModels, allWebhooks); + Map bundle = buildSupportFileBundle(allOperations, allModels, aliasModels, allWebhooks); generateSupportingFiles(files, bundle); if (dryRun) { diff --git a/modules/openapi-generator/src/main/resources/htmlDocs2/index.mustache b/modules/openapi-generator/src/main/resources/htmlDocs2/index.mustache index 2865781b099c..04dafb2803bd 100644 --- a/modules/openapi-generator/src/main/resources/htmlDocs2/index.mustache +++ b/modules/openapi-generator/src/main/resources/htmlDocs2/index.mustache @@ -151,6 +151,12 @@ {{/model}} {{/models}} + {{#aliasModels}} + {{#model}} + defs["{{name}}"] = {{{modelJson}}}; + {{/model}} + {{/aliasModels}} + var errs = {}; {{#swagger.vendorExtensions.x-shared-errors}} { @@ -459,11 +465,13 @@ } if (schema.$ref != null) { schema = defsParser.$refs.get(schema.$ref); - Object.keys(schema.properties).forEach( (item) => { - if (schema.properties[item].$ref != null) { - schema.properties[item] = defsParser.$refs.get(schema.properties[item].$ref); - } - }); + if (schema.properties != null) { + Object.keys(schema.properties).forEach( (item) => { + if (schema.properties[item].$ref != null) { + schema.properties[item] = defsParser.$refs.get(schema.properties[item].$ref); + } + }); + } } else if (schema.items != null && schema.items.$ref != null) { schema.items = defsParser.$refs.get(schema.items.$ref); } else { From 86a41f00963060669eba3decc336494af62f815c Mon Sep 17 00:00:00 2001 From: Aniokrait Date: Mon, 6 May 2024 21:03:49 +0900 Subject: [PATCH 2/3] [html2] Fix compile error --- .../openapitools/codegen/DefaultCodegenTest.java | 3 ++- .../openapitools/codegen/DefaultGeneratorTest.java | 13 ++++++++----- 2 files changed, 10 insertions(+), 6 deletions(-) diff --git a/modules/openapi-generator/src/test/java/org/openapitools/codegen/DefaultCodegenTest.java b/modules/openapi-generator/src/test/java/org/openapitools/codegen/DefaultCodegenTest.java index 8ef2ae4d61e8..c958af38a25c 100644 --- a/modules/openapi-generator/src/test/java/org/openapitools/codegen/DefaultCodegenTest.java +++ b/modules/openapi-generator/src/test/java/org/openapitools/codegen/DefaultCodegenTest.java @@ -1703,7 +1703,8 @@ public void verifyXDiscriminatorValue() { List files = new ArrayList<>(); List filteredSchemas = ModelUtils.getSchemasUsedOnlyInFormParam(openAPI); List allModels = new ArrayList<>(); - generator.generateModels(files, allModels, filteredSchemas); + List aliasModels = new ArrayList<>(); + generator.generateModels(files, allModels, filteredSchemas, aliasModels); // check that the model's children contain the x-discriminator-values modelName = "BaseObj"; diff --git a/modules/openapi-generator/src/test/java/org/openapitools/codegen/DefaultGeneratorTest.java b/modules/openapi-generator/src/test/java/org/openapitools/codegen/DefaultGeneratorTest.java index d3082a891f06..0a7cd881b14c 100644 --- a/modules/openapi-generator/src/test/java/org/openapitools/codegen/DefaultGeneratorTest.java +++ b/modules/openapi-generator/src/test/java/org/openapitools/codegen/DefaultGeneratorTest.java @@ -660,11 +660,12 @@ public void testHandlesTrailingSlashInServers() { List files = new ArrayList<>(); List filteredSchemas = ModelUtils.getSchemasUsedOnlyInFormParam(openAPI); List allModels = new ArrayList<>(); - generator.generateModels(files, allModels, filteredSchemas); + List aliasModels = new ArrayList<>(); + generator.generateModels(files, allModels, filteredSchemas, aliasModels); List allOperations = new ArrayList<>(); generator.generateApis(files, allOperations, allModels); - Map bundle = generator.buildSupportFileBundle(allOperations, allModels); + Map bundle = generator.buildSupportFileBundle(allOperations, allModels, aliasModels); LinkedList servers = (LinkedList) bundle.get("servers"); Assert.assertEquals(servers.get(0).url, ""); Assert.assertEquals(servers.get(1).url, "http://trailingshlash.io:80/v1"); @@ -686,11 +687,12 @@ public void testHandlesRelativeUrlsInServers() { List files = new ArrayList<>(); List filteredSchemas = ModelUtils.getSchemasUsedOnlyInFormParam(openAPI); List allModels = new ArrayList<>(); - generator.generateModels(files, allModels, filteredSchemas); + List aliasModels = new ArrayList<>(); + generator.generateModels(files, allModels, filteredSchemas, aliasModels); List allOperations = new ArrayList<>(); generator.generateApis(files, allOperations, allModels); - Map bundle = generator.buildSupportFileBundle(allOperations, allModels); + Map bundle = generator.buildSupportFileBundle(allOperations, allModels, aliasModels); LinkedList servers = (LinkedList) bundle.get("servers"); Assert.assertEquals(servers.get(0).url, "/relative/url"); } @@ -768,8 +770,9 @@ public void testRecursionBug4650() { List files = new ArrayList<>(); List filteredSchemas = ModelUtils.getSchemasUsedOnlyInFormParam(openAPI); List allModels = new ArrayList<>(); + List aliasModels = new ArrayList<>(); // The bug causes a StackOverflowError when calling generateModels - generator.generateModels(files, allModels, filteredSchemas); + generator.generateModels(files, allModels, filteredSchemas, aliasModels); // all fine, we have passed } } From 8635cb54561abac9cadab1d0844ee1e7c9e6191b Mon Sep 17 00:00:00 2001 From: Aniokrait Date: Mon, 6 May 2024 21:26:44 +0900 Subject: [PATCH 3/3] [html2] Update sample --- samples/documentation/html2/index.html | 445 +++++++++++++++---------- 1 file changed, 260 insertions(+), 185 deletions(-) diff --git a/samples/documentation/html2/index.html b/samples/documentation/html2/index.html index 4a8a3c3e0ff7..2b9499b83ad9 100644 --- a/samples/documentation/html2/index.html +++ b/samples/documentation/html2/index.html @@ -1017,6 +1017,7 @@ } }; + var errs = {}; @@ -1560,11 +1561,13 @@

} if (schema.$ref != null) { schema = defsParser.$refs.get(schema.$ref); - Object.keys(schema.properties).forEach( (item) => { - if (schema.properties[item].$ref != null) { - schema.properties[item] = defsParser.$refs.get(schema.properties[item].$ref); - } - }); + if (schema.properties != null) { + Object.keys(schema.properties).forEach( (item) => { + if (schema.properties[item].$ref != null) { + schema.properties[item] = defsParser.$refs.get(schema.properties[item].$ref); + } + }); + } } else if (schema.items != null && schema.items.$ref != null) { schema.items = defsParser.$refs.get(schema.items.$ref); } else { @@ -1622,11 +1625,13 @@

} if (schema.$ref != null) { schema = defsParser.$refs.get(schema.$ref); - Object.keys(schema.properties).forEach( (item) => { - if (schema.properties[item].$ref != null) { - schema.properties[item] = defsParser.$refs.get(schema.properties[item].$ref); - } - }); + if (schema.properties != null) { + Object.keys(schema.properties).forEach( (item) => { + if (schema.properties[item].$ref != null) { + schema.properties[item] = defsParser.$refs.get(schema.properties[item].$ref); + } + }); + } } else if (schema.items != null && schema.items.$ref != null) { schema.items = defsParser.$refs.get(schema.items.$ref); } else { @@ -2043,11 +2048,13 @@

} if (schema.$ref != null) { schema = defsParser.$refs.get(schema.$ref); - Object.keys(schema.properties).forEach( (item) => { - if (schema.properties[item].$ref != null) { - schema.properties[item] = defsParser.$refs.get(schema.properties[item].$ref); - } - }); + if (schema.properties != null) { + Object.keys(schema.properties).forEach( (item) => { + if (schema.properties[item].$ref != null) { + schema.properties[item] = defsParser.$refs.get(schema.properties[item].$ref); + } + }); + } } else if (schema.items != null && schema.items.$ref != null) { schema.items = defsParser.$refs.get(schema.items.$ref); } else { @@ -2452,11 +2459,13 @@

} if (schema.$ref != null) { schema = defsParser.$refs.get(schema.$ref); - Object.keys(schema.properties).forEach( (item) => { - if (schema.properties[item].$ref != null) { - schema.properties[item] = defsParser.$refs.get(schema.properties[item].$ref); - } - }); + if (schema.properties != null) { + Object.keys(schema.properties).forEach( (item) => { + if (schema.properties[item].$ref != null) { + schema.properties[item] = defsParser.$refs.get(schema.properties[item].$ref); + } + }); + } } else if (schema.items != null && schema.items.$ref != null) { schema.items = defsParser.$refs.get(schema.items.$ref); } else { @@ -2514,11 +2523,13 @@

} if (schema.$ref != null) { schema = defsParser.$refs.get(schema.$ref); - Object.keys(schema.properties).forEach( (item) => { - if (schema.properties[item].$ref != null) { - schema.properties[item] = defsParser.$refs.get(schema.properties[item].$ref); - } - }); + if (schema.properties != null) { + Object.keys(schema.properties).forEach( (item) => { + if (schema.properties[item].$ref != null) { + schema.properties[item] = defsParser.$refs.get(schema.properties[item].$ref); + } + }); + } } else if (schema.items != null && schema.items.$ref != null) { schema.items = defsParser.$refs.get(schema.items.$ref); } else { @@ -2923,11 +2934,13 @@

} if (schema.$ref != null) { schema = defsParser.$refs.get(schema.$ref); - Object.keys(schema.properties).forEach( (item) => { - if (schema.properties[item].$ref != null) { - schema.properties[item] = defsParser.$refs.get(schema.properties[item].$ref); - } - }); + if (schema.properties != null) { + Object.keys(schema.properties).forEach( (item) => { + if (schema.properties[item].$ref != null) { + schema.properties[item] = defsParser.$refs.get(schema.properties[item].$ref); + } + }); + } } else if (schema.items != null && schema.items.$ref != null) { schema.items = defsParser.$refs.get(schema.items.$ref); } else { @@ -2985,11 +2998,13 @@

} if (schema.$ref != null) { schema = defsParser.$refs.get(schema.$ref); - Object.keys(schema.properties).forEach( (item) => { - if (schema.properties[item].$ref != null) { - schema.properties[item] = defsParser.$refs.get(schema.properties[item].$ref); - } - }); + if (schema.properties != null) { + Object.keys(schema.properties).forEach( (item) => { + if (schema.properties[item].$ref != null) { + schema.properties[item] = defsParser.$refs.get(schema.properties[item].$ref); + } + }); + } } else if (schema.items != null && schema.items.$ref != null) { schema.items = defsParser.$refs.get(schema.items.$ref); } else { @@ -3400,11 +3415,13 @@

} if (schema.$ref != null) { schema = defsParser.$refs.get(schema.$ref); - Object.keys(schema.properties).forEach( (item) => { - if (schema.properties[item].$ref != null) { - schema.properties[item] = defsParser.$refs.get(schema.properties[item].$ref); - } - }); + if (schema.properties != null) { + Object.keys(schema.properties).forEach( (item) => { + if (schema.properties[item].$ref != null) { + schema.properties[item] = defsParser.$refs.get(schema.properties[item].$ref); + } + }); + } } else if (schema.items != null && schema.items.$ref != null) { schema.items = defsParser.$refs.get(schema.items.$ref); } else { @@ -3462,11 +3479,13 @@

} if (schema.$ref != null) { schema = defsParser.$refs.get(schema.$ref); - Object.keys(schema.properties).forEach( (item) => { - if (schema.properties[item].$ref != null) { - schema.properties[item] = defsParser.$refs.get(schema.properties[item].$ref); - } - }); + if (schema.properties != null) { + Object.keys(schema.properties).forEach( (item) => { + if (schema.properties[item].$ref != null) { + schema.properties[item] = defsParser.$refs.get(schema.properties[item].$ref); + } + }); + } } else if (schema.items != null && schema.items.$ref != null) { schema.items = defsParser.$refs.get(schema.items.$ref); } else { @@ -3524,11 +3543,13 @@

} if (schema.$ref != null) { schema = defsParser.$refs.get(schema.$ref); - Object.keys(schema.properties).forEach( (item) => { - if (schema.properties[item].$ref != null) { - schema.properties[item] = defsParser.$refs.get(schema.properties[item].$ref); - } - }); + if (schema.properties != null) { + Object.keys(schema.properties).forEach( (item) => { + if (schema.properties[item].$ref != null) { + schema.properties[item] = defsParser.$refs.get(schema.properties[item].$ref); + } + }); + } } else if (schema.items != null && schema.items.$ref != null) { schema.items = defsParser.$refs.get(schema.items.$ref); } else { @@ -3992,11 +4013,13 @@

} if (schema.$ref != null) { schema = defsParser.$refs.get(schema.$ref); - Object.keys(schema.properties).forEach( (item) => { - if (schema.properties[item].$ref != null) { - schema.properties[item] = defsParser.$refs.get(schema.properties[item].$ref); - } - }); + if (schema.properties != null) { + Object.keys(schema.properties).forEach( (item) => { + if (schema.properties[item].$ref != null) { + schema.properties[item] = defsParser.$refs.get(schema.properties[item].$ref); + } + }); + } } else if (schema.items != null && schema.items.$ref != null) { schema.items = defsParser.$refs.get(schema.items.$ref); } else { @@ -4054,11 +4077,13 @@

} if (schema.$ref != null) { schema = defsParser.$refs.get(schema.$ref); - Object.keys(schema.properties).forEach( (item) => { - if (schema.properties[item].$ref != null) { - schema.properties[item] = defsParser.$refs.get(schema.properties[item].$ref); - } - }); + if (schema.properties != null) { + Object.keys(schema.properties).forEach( (item) => { + if (schema.properties[item].$ref != null) { + schema.properties[item] = defsParser.$refs.get(schema.properties[item].$ref); + } + }); + } } else if (schema.items != null && schema.items.$ref != null) { schema.items = defsParser.$refs.get(schema.items.$ref); } else { @@ -4116,11 +4141,13 @@

} if (schema.$ref != null) { schema = defsParser.$refs.get(schema.$ref); - Object.keys(schema.properties).forEach( (item) => { - if (schema.properties[item].$ref != null) { - schema.properties[item] = defsParser.$refs.get(schema.properties[item].$ref); - } - }); + if (schema.properties != null) { + Object.keys(schema.properties).forEach( (item) => { + if (schema.properties[item].$ref != null) { + schema.properties[item] = defsParser.$refs.get(schema.properties[item].$ref); + } + }); + } } else if (schema.items != null && schema.items.$ref != null) { schema.items = defsParser.$refs.get(schema.items.$ref); } else { @@ -4178,11 +4205,13 @@

} if (schema.$ref != null) { schema = defsParser.$refs.get(schema.$ref); - Object.keys(schema.properties).forEach( (item) => { - if (schema.properties[item].$ref != null) { - schema.properties[item] = defsParser.$refs.get(schema.properties[item].$ref); - } - }); + if (schema.properties != null) { + Object.keys(schema.properties).forEach( (item) => { + if (schema.properties[item].$ref != null) { + schema.properties[item] = defsParser.$refs.get(schema.properties[item].$ref); + } + }); + } } else if (schema.items != null && schema.items.$ref != null) { schema.items = defsParser.$refs.get(schema.items.$ref); } else { @@ -4634,11 +4663,13 @@

} if (schema.$ref != null) { schema = defsParser.$refs.get(schema.$ref); - Object.keys(schema.properties).forEach( (item) => { - if (schema.properties[item].$ref != null) { - schema.properties[item] = defsParser.$refs.get(schema.properties[item].$ref); - } - }); + if (schema.properties != null) { + Object.keys(schema.properties).forEach( (item) => { + if (schema.properties[item].$ref != null) { + schema.properties[item] = defsParser.$refs.get(schema.properties[item].$ref); + } + }); + } } else if (schema.items != null && schema.items.$ref != null) { schema.items = defsParser.$refs.get(schema.items.$ref); } else { @@ -5115,11 +5146,13 @@

} if (schema.$ref != null) { schema = defsParser.$refs.get(schema.$ref); - Object.keys(schema.properties).forEach( (item) => { - if (schema.properties[item].$ref != null) { - schema.properties[item] = defsParser.$refs.get(schema.properties[item].$ref); - } - }); + if (schema.properties != null) { + Object.keys(schema.properties).forEach( (item) => { + if (schema.properties[item].$ref != null) { + schema.properties[item] = defsParser.$refs.get(schema.properties[item].$ref); + } + }); + } } else if (schema.items != null && schema.items.$ref != null) { schema.items = defsParser.$refs.get(schema.items.$ref); } else { @@ -5463,11 +5496,13 @@

} if (schema.$ref != null) { schema = defsParser.$refs.get(schema.$ref); - Object.keys(schema.properties).forEach( (item) => { - if (schema.properties[item].$ref != null) { - schema.properties[item] = defsParser.$refs.get(schema.properties[item].$ref); - } - }); + if (schema.properties != null) { + Object.keys(schema.properties).forEach( (item) => { + if (schema.properties[item].$ref != null) { + schema.properties[item] = defsParser.$refs.get(schema.properties[item].$ref); + } + }); + } } else if (schema.items != null && schema.items.$ref != null) { schema.items = defsParser.$refs.get(schema.items.$ref); } else { @@ -5525,11 +5560,13 @@

} if (schema.$ref != null) { schema = defsParser.$refs.get(schema.$ref); - Object.keys(schema.properties).forEach( (item) => { - if (schema.properties[item].$ref != null) { - schema.properties[item] = defsParser.$refs.get(schema.properties[item].$ref); - } - }); + if (schema.properties != null) { + Object.keys(schema.properties).forEach( (item) => { + if (schema.properties[item].$ref != null) { + schema.properties[item] = defsParser.$refs.get(schema.properties[item].$ref); + } + }); + } } else if (schema.items != null && schema.items.$ref != null) { schema.items = defsParser.$refs.get(schema.items.$ref); } else { @@ -5895,11 +5932,13 @@

} if (schema.$ref != null) { schema = defsParser.$refs.get(schema.$ref); - Object.keys(schema.properties).forEach( (item) => { - if (schema.properties[item].$ref != null) { - schema.properties[item] = defsParser.$refs.get(schema.properties[item].$ref); - } - }); + if (schema.properties != null) { + Object.keys(schema.properties).forEach( (item) => { + if (schema.properties[item].$ref != null) { + schema.properties[item] = defsParser.$refs.get(schema.properties[item].$ref); + } + }); + } } else if (schema.items != null && schema.items.$ref != null) { schema.items = defsParser.$refs.get(schema.items.$ref); } else { @@ -6270,11 +6309,13 @@

} if (schema.$ref != null) { schema = defsParser.$refs.get(schema.$ref); - Object.keys(schema.properties).forEach( (item) => { - if (schema.properties[item].$ref != null) { - schema.properties[item] = defsParser.$refs.get(schema.properties[item].$ref); - } - }); + if (schema.properties != null) { + Object.keys(schema.properties).forEach( (item) => { + if (schema.properties[item].$ref != null) { + schema.properties[item] = defsParser.$refs.get(schema.properties[item].$ref); + } + }); + } } else if (schema.items != null && schema.items.$ref != null) { schema.items = defsParser.$refs.get(schema.items.$ref); } else { @@ -6332,11 +6373,13 @@

} if (schema.$ref != null) { schema = defsParser.$refs.get(schema.$ref); - Object.keys(schema.properties).forEach( (item) => { - if (schema.properties[item].$ref != null) { - schema.properties[item] = defsParser.$refs.get(schema.properties[item].$ref); - } - }); + if (schema.properties != null) { + Object.keys(schema.properties).forEach( (item) => { + if (schema.properties[item].$ref != null) { + schema.properties[item] = defsParser.$refs.get(schema.properties[item].$ref); + } + }); + } } else if (schema.items != null && schema.items.$ref != null) { schema.items = defsParser.$refs.get(schema.items.$ref); } else { @@ -6394,11 +6437,13 @@

} if (schema.$ref != null) { schema = defsParser.$refs.get(schema.$ref); - Object.keys(schema.properties).forEach( (item) => { - if (schema.properties[item].$ref != null) { - schema.properties[item] = defsParser.$refs.get(schema.properties[item].$ref); - } - }); + if (schema.properties != null) { + Object.keys(schema.properties).forEach( (item) => { + if (schema.properties[item].$ref != null) { + schema.properties[item] = defsParser.$refs.get(schema.properties[item].$ref); + } + }); + } } else if (schema.items != null && schema.items.$ref != null) { schema.items = defsParser.$refs.get(schema.items.$ref); } else { @@ -6794,11 +6839,13 @@

} if (schema.$ref != null) { schema = defsParser.$refs.get(schema.$ref); - Object.keys(schema.properties).forEach( (item) => { - if (schema.properties[item].$ref != null) { - schema.properties[item] = defsParser.$refs.get(schema.properties[item].$ref); - } - }); + if (schema.properties != null) { + Object.keys(schema.properties).forEach( (item) => { + if (schema.properties[item].$ref != null) { + schema.properties[item] = defsParser.$refs.get(schema.properties[item].$ref); + } + }); + } } else if (schema.items != null && schema.items.$ref != null) { schema.items = defsParser.$refs.get(schema.items.$ref); } else { @@ -6856,11 +6903,13 @@

} if (schema.$ref != null) { schema = defsParser.$refs.get(schema.$ref); - Object.keys(schema.properties).forEach( (item) => { - if (schema.properties[item].$ref != null) { - schema.properties[item] = defsParser.$refs.get(schema.properties[item].$ref); - } - }); + if (schema.properties != null) { + Object.keys(schema.properties).forEach( (item) => { + if (schema.properties[item].$ref != null) { + schema.properties[item] = defsParser.$refs.get(schema.properties[item].$ref); + } + }); + } } else if (schema.items != null && schema.items.$ref != null) { schema.items = defsParser.$refs.get(schema.items.$ref); } else { @@ -7274,11 +7323,13 @@

} if (schema.$ref != null) { schema = defsParser.$refs.get(schema.$ref); - Object.keys(schema.properties).forEach( (item) => { - if (schema.properties[item].$ref != null) { - schema.properties[item] = defsParser.$refs.get(schema.properties[item].$ref); - } - }); + if (schema.properties != null) { + Object.keys(schema.properties).forEach( (item) => { + if (schema.properties[item].$ref != null) { + schema.properties[item] = defsParser.$refs.get(schema.properties[item].$ref); + } + }); + } } else if (schema.items != null && schema.items.$ref != null) { schema.items = defsParser.$refs.get(schema.items.$ref); } else { @@ -7692,11 +7743,13 @@

} if (schema.$ref != null) { schema = defsParser.$refs.get(schema.$ref); - Object.keys(schema.properties).forEach( (item) => { - if (schema.properties[item].$ref != null) { - schema.properties[item] = defsParser.$refs.get(schema.properties[item].$ref); - } - }); + if (schema.properties != null) { + Object.keys(schema.properties).forEach( (item) => { + if (schema.properties[item].$ref != null) { + schema.properties[item] = defsParser.$refs.get(schema.properties[item].$ref); + } + }); + } } else if (schema.items != null && schema.items.$ref != null) { schema.items = defsParser.$refs.get(schema.items.$ref); } else { @@ -8110,11 +8163,13 @@

} if (schema.$ref != null) { schema = defsParser.$refs.get(schema.$ref); - Object.keys(schema.properties).forEach( (item) => { - if (schema.properties[item].$ref != null) { - schema.properties[item] = defsParser.$refs.get(schema.properties[item].$ref); - } - }); + if (schema.properties != null) { + Object.keys(schema.properties).forEach( (item) => { + if (schema.properties[item].$ref != null) { + schema.properties[item] = defsParser.$refs.get(schema.properties[item].$ref); + } + }); + } } else if (schema.items != null && schema.items.$ref != null) { schema.items = defsParser.$refs.get(schema.items.$ref); } else { @@ -8495,11 +8550,13 @@

} if (schema.$ref != null) { schema = defsParser.$refs.get(schema.$ref); - Object.keys(schema.properties).forEach( (item) => { - if (schema.properties[item].$ref != null) { - schema.properties[item] = defsParser.$refs.get(schema.properties[item].$ref); - } - }); + if (schema.properties != null) { + Object.keys(schema.properties).forEach( (item) => { + if (schema.properties[item].$ref != null) { + schema.properties[item] = defsParser.$refs.get(schema.properties[item].$ref); + } + }); + } } else if (schema.items != null && schema.items.$ref != null) { schema.items = defsParser.$refs.get(schema.items.$ref); } else { @@ -8557,11 +8614,13 @@

} if (schema.$ref != null) { schema = defsParser.$refs.get(schema.$ref); - Object.keys(schema.properties).forEach( (item) => { - if (schema.properties[item].$ref != null) { - schema.properties[item] = defsParser.$refs.get(schema.properties[item].$ref); - } - }); + if (schema.properties != null) { + Object.keys(schema.properties).forEach( (item) => { + if (schema.properties[item].$ref != null) { + schema.properties[item] = defsParser.$refs.get(schema.properties[item].$ref); + } + }); + } } else if (schema.items != null && schema.items.$ref != null) { schema.items = defsParser.$refs.get(schema.items.$ref); } else { @@ -8929,11 +8988,13 @@

} if (schema.$ref != null) { schema = defsParser.$refs.get(schema.$ref); - Object.keys(schema.properties).forEach( (item) => { - if (schema.properties[item].$ref != null) { - schema.properties[item] = defsParser.$refs.get(schema.properties[item].$ref); - } - }); + if (schema.properties != null) { + Object.keys(schema.properties).forEach( (item) => { + if (schema.properties[item].$ref != null) { + schema.properties[item] = defsParser.$refs.get(schema.properties[item].$ref); + } + }); + } } else if (schema.items != null && schema.items.$ref != null) { schema.items = defsParser.$refs.get(schema.items.$ref); } else { @@ -8991,11 +9052,13 @@

} if (schema.$ref != null) { schema = defsParser.$refs.get(schema.$ref); - Object.keys(schema.properties).forEach( (item) => { - if (schema.properties[item].$ref != null) { - schema.properties[item] = defsParser.$refs.get(schema.properties[item].$ref); - } - }); + if (schema.properties != null) { + Object.keys(schema.properties).forEach( (item) => { + if (schema.properties[item].$ref != null) { + schema.properties[item] = defsParser.$refs.get(schema.properties[item].$ref); + } + }); + } } else if (schema.items != null && schema.items.$ref != null) { schema.items = defsParser.$refs.get(schema.items.$ref); } else { @@ -9053,11 +9116,13 @@

} if (schema.$ref != null) { schema = defsParser.$refs.get(schema.$ref); - Object.keys(schema.properties).forEach( (item) => { - if (schema.properties[item].$ref != null) { - schema.properties[item] = defsParser.$refs.get(schema.properties[item].$ref); - } - }); + if (schema.properties != null) { + Object.keys(schema.properties).forEach( (item) => { + if (schema.properties[item].$ref != null) { + schema.properties[item] = defsParser.$refs.get(schema.properties[item].$ref); + } + }); + } } else if (schema.items != null && schema.items.$ref != null) { schema.items = defsParser.$refs.get(schema.items.$ref); } else { @@ -9491,11 +9556,13 @@

} if (schema.$ref != null) { schema = defsParser.$refs.get(schema.$ref); - Object.keys(schema.properties).forEach( (item) => { - if (schema.properties[item].$ref != null) { - schema.properties[item] = defsParser.$refs.get(schema.properties[item].$ref); - } - }); + if (schema.properties != null) { + Object.keys(schema.properties).forEach( (item) => { + if (schema.properties[item].$ref != null) { + schema.properties[item] = defsParser.$refs.get(schema.properties[item].$ref); + } + }); + } } else if (schema.items != null && schema.items.$ref != null) { schema.items = defsParser.$refs.get(schema.items.$ref); } else { @@ -9581,11 +9648,13 @@

} if (schema.$ref != null) { schema = defsParser.$refs.get(schema.$ref); - Object.keys(schema.properties).forEach( (item) => { - if (schema.properties[item].$ref != null) { - schema.properties[item] = defsParser.$refs.get(schema.properties[item].$ref); - } - }); + if (schema.properties != null) { + Object.keys(schema.properties).forEach( (item) => { + if (schema.properties[item].$ref != null) { + schema.properties[item] = defsParser.$refs.get(schema.properties[item].$ref); + } + }); + } } else if (schema.items != null && schema.items.$ref != null) { schema.items = defsParser.$refs.get(schema.items.$ref); } else { @@ -9925,11 +9994,13 @@

} if (schema.$ref != null) { schema = defsParser.$refs.get(schema.$ref); - Object.keys(schema.properties).forEach( (item) => { - if (schema.properties[item].$ref != null) { - schema.properties[item] = defsParser.$refs.get(schema.properties[item].$ref); - } - }); + if (schema.properties != null) { + Object.keys(schema.properties).forEach( (item) => { + if (schema.properties[item].$ref != null) { + schema.properties[item] = defsParser.$refs.get(schema.properties[item].$ref); + } + }); + } } else if (schema.items != null && schema.items.$ref != null) { schema.items = defsParser.$refs.get(schema.items.$ref); } else { @@ -10381,11 +10452,13 @@

} if (schema.$ref != null) { schema = defsParser.$refs.get(schema.$ref); - Object.keys(schema.properties).forEach( (item) => { - if (schema.properties[item].$ref != null) { - schema.properties[item] = defsParser.$refs.get(schema.properties[item].$ref); - } - }); + if (schema.properties != null) { + Object.keys(schema.properties).forEach( (item) => { + if (schema.properties[item].$ref != null) { + schema.properties[item] = defsParser.$refs.get(schema.properties[item].$ref); + } + }); + } } else if (schema.items != null && schema.items.$ref != null) { schema.items = defsParser.$refs.get(schema.items.$ref); } else { @@ -10443,11 +10516,13 @@

} if (schema.$ref != null) { schema = defsParser.$refs.get(schema.$ref); - Object.keys(schema.properties).forEach( (item) => { - if (schema.properties[item].$ref != null) { - schema.properties[item] = defsParser.$refs.get(schema.properties[item].$ref); - } - }); + if (schema.properties != null) { + Object.keys(schema.properties).forEach( (item) => { + if (schema.properties[item].$ref != null) { + schema.properties[item] = defsParser.$refs.get(schema.properties[item].$ref); + } + }); + } } else if (schema.items != null && schema.items.$ref != null) { schema.items = defsParser.$refs.get(schema.items.$ref); } else {