From c1771c94bd5626ff0095f9dde504cbe1a1c6d6ae Mon Sep 17 00:00:00 2001 From: William Cheng Date: Tue, 25 Jun 2019 19:23:49 +0800 Subject: [PATCH 01/22] Add template creator: C# ASP.NET Core 3.0: @A-Joshi (#3213) --- README.md | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/README.md b/README.md index 8ea13ee6e4..dfb243664c 100644 --- a/README.md +++ b/README.md @@ -681,7 +681,8 @@ Here is a list of template creators: * TypeScript (Inversify): @gualtierim * Server Stubs * Ada: @stcarrez - * C# ASP.NET5: @jimschubert [:heart:](https://www.patreon.com/jimschubert) + * C# ASP.NET 5: @jimschubert [:heart:](https://www.patreon.com/jimschubert) + * C# ASP.NET Core 3.0: @A-Joshi * C# NancyFX: @mstefaniuk * C++ (Qt5 QHttpEngine): @etherealjoy * C++ Pistache: @sebymiano From f41cd234d9b19fe36b1b4987c70bedf8b3b310b0 Mon Sep 17 00:00:00 2001 From: William Cheng Date: Wed, 26 Jun 2019 22:09:16 +0800 Subject: [PATCH 02/22] Fix release table in the readme (#3221) --- README.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/README.md b/README.md index dfb243664c..bae9e4aa4b 100644 --- a/README.md +++ b/README.md @@ -100,7 +100,7 @@ OpenAPI Generator Version | Release Date | Notes 5.0.0 (upcoming major release) [SNAPSHOT](https://oss.sonatype.org/content/repositories/snapshots/org/openapitools/openapi-generator-cli/5.0.0-SNAPSHOT/)| 13.05.2020 | Major release with breaking changes (no fallback) 4.1.0 (upcoming minor release) [SNAPSHOT](https://oss.sonatype.org/content/repositories/snapshots/org/openapitools/openapi-generator-cli/4.1.0-SNAPSHOT/)| 15.07.2019 | Minor release (breaking changes with fallbacks) 4.0.3 (upcoming patch release) [SNAPSHOT](https://oss.sonatype.org/content/repositories/snapshots/org/openapitools/openapi-generator-cli/4.0.3-SNAPSHOT/)| 04.07.2019 | Patch release (minor bug fixes, etc) -[4.0.2](https://github.com/OpenAPITools/openapi-generator/releases/tag/v4.0.2) (latest stable release) | 20.06.2019 | Patch release (bug fixes, minor enhancements, etc) +[4.0.2](https://github.com/OpenAPITools/openapi-generator/releases/tag/v4.0.2) (latest stable release) | 20.06.2019 | Patch release (bug fixes, minor enhancements, etc) OpenAPI Spec compatibility: 1.0, 1.1, 1.2, 2.0, 3.0 From 7af2bc8dff4ef017e0082346c516ddb2792ea702 Mon Sep 17 00:00:00 2001 From: DanielHabenicht Date: Wed, 26 Jun 2019 17:57:24 +0200 Subject: [PATCH 03/22] add link to the "new-generator" guide (#3227) * add link to the new--generator guide * Update CONTRIBUTING.md --- CONTRIBUTING.md | 2 ++ 1 file changed, 2 insertions(+) diff --git a/CONTRIBUTING.md b/CONTRIBUTING.md index 4d56929b90..657560a745 100644 --- a/CONTRIBUTING.md +++ b/CONTRIBUTING.md @@ -31,6 +31,8 @@ Please file the pull request against the correct branch, e.g. `master` for non-b All the code generators can be found in [modules/openapi-generator/src/main/java/org/openapitools/codegen/languages](https://github.com/openapitools/openapi-generator/tree/master/modules/openapi-generator/src/main/java/org/openapitools/codegen/languages) +If you want to add a new generator, follow the [new-generator](https://openapi-generator.tech/docs/new-generator) guide. + ### Templates All the templates ([mustache](https://mustache.github.io/)) can be found in [modules/openapi-generator/src/main/resources](https://github.com/openapitools/openapi-generator/tree/master/modules/openapi-generator/src/main/resources). From 68a5fa4c8b71a1d1f543d09ecf500db8088f3a19 Mon Sep 17 00:00:00 2001 From: "Mateusz Szychowski (Muttley)" Date: Wed, 26 Jun 2019 19:13:54 +0200 Subject: [PATCH 04/22] [C++][Pistache] Catch exception instead of runtime_error (#3225) * [C++][Pistache] Replace runtime_error with std::exception * [C++][Pistache] Update Petstore sample * [C++][Pistache] Fix catch-value warning --- .../cpp-pistache-server/api-source.mustache | 2 +- .../cpp-pistache-server/helpers-source.mustache | 8 ++++---- .../cpp-pistache/.openapi-generator/VERSION | 2 +- .../server/petstore/cpp-pistache/api/PetApi.cpp | 16 ++++++++-------- .../petstore/cpp-pistache/api/StoreApi.cpp | 8 ++++---- .../server/petstore/cpp-pistache/api/UserApi.cpp | 16 ++++++++-------- .../petstore/cpp-pistache/model/Helpers.cpp | 8 ++++---- 7 files changed, 30 insertions(+), 30 deletions(-) diff --git a/modules/openapi-generator/src/main/resources/cpp-pistache-server/api-source.mustache b/modules/openapi-generator/src/main/resources/cpp-pistache-server/api-source.mustache index 3f7f4e0b74..cfb88ec331 100644 --- a/modules/openapi-generator/src/main/resources/cpp-pistache-server/api-source.mustache +++ b/modules/openapi-generator/src/main/resources/cpp-pistache-server/api-source.mustache @@ -83,7 +83,7 @@ void {{classname}}::{{operationIdSnakeCase}}_handler(const Pistache::Rest::Reque //send a 400 error response.send(Pistache::Http::Code::Bad_Request, e.what()); return; - } catch (std::runtime_error &e) { + } catch (std::exception &e) { //send a 500 error response.send(Pistache::Http::Code::Internal_Server_Error, e.what()); return; diff --git a/modules/openapi-generator/src/main/resources/cpp-pistache-server/helpers-source.mustache b/modules/openapi-generator/src/main/resources/cpp-pistache-server/helpers-source.mustache index f08981eff5..82b4e2d81e 100644 --- a/modules/openapi-generator/src/main/resources/cpp-pistache-server/helpers-source.mustache +++ b/modules/openapi-generator/src/main/resources/cpp-pistache-server/helpers-source.mustache @@ -39,7 +39,7 @@ bool fromStringValue(const std::string &inStr, int32_t &value){ try { value = std::stoi( inStr ); } - catch (const std::invalid_argument) { + catch (const std::invalid_argument&) { return false; } return true; @@ -49,7 +49,7 @@ bool fromStringValue(const std::string &inStr, int64_t &value){ try { value = std::stol( inStr ); } - catch (const std::invalid_argument) { + catch (const std::invalid_argument&) { return false; } return true; @@ -65,7 +65,7 @@ bool fromStringValue(const std::string &inStr, float &value){ try { value = std::stof( inStr ); } - catch (const std::invalid_argument) { + catch (const std::invalid_argument&) { return false; } return true; @@ -75,7 +75,7 @@ bool fromStringValue(const std::string &inStr, double &value){ try { value = std::stod( inStr ); } - catch (const std::invalid_argument) { + catch (const std::invalid_argument&) { return false; } return true; diff --git a/samples/server/petstore/cpp-pistache/.openapi-generator/VERSION b/samples/server/petstore/cpp-pistache/.openapi-generator/VERSION index d96260ba33..479c313e87 100644 --- a/samples/server/petstore/cpp-pistache/.openapi-generator/VERSION +++ b/samples/server/petstore/cpp-pistache/.openapi-generator/VERSION @@ -1 +1 @@ -4.0.2-SNAPSHOT \ No newline at end of file +4.0.3-SNAPSHOT \ No newline at end of file diff --git a/samples/server/petstore/cpp-pistache/api/PetApi.cpp b/samples/server/petstore/cpp-pistache/api/PetApi.cpp index 5ef93e9f73..2dcf3b1434 100644 --- a/samples/server/petstore/cpp-pistache/api/PetApi.cpp +++ b/samples/server/petstore/cpp-pistache/api/PetApi.cpp @@ -58,7 +58,7 @@ void PetApi::add_pet_handler(const Pistache::Rest::Request &request, Pistache::H //send a 400 error response.send(Pistache::Http::Code::Bad_Request, e.what()); return; - } catch (std::runtime_error &e) { + } catch (std::exception &e) { //send a 500 error response.send(Pistache::Http::Code::Internal_Server_Error, e.what()); return; @@ -78,7 +78,7 @@ void PetApi::delete_pet_handler(const Pistache::Rest::Request &request, Pistache //send a 400 error response.send(Pistache::Http::Code::Bad_Request, e.what()); return; - } catch (std::runtime_error &e) { + } catch (std::exception &e) { //send a 500 error response.send(Pistache::Http::Code::Internal_Server_Error, e.what()); return; @@ -103,7 +103,7 @@ void PetApi::find_pets_by_status_handler(const Pistache::Rest::Request &request, //send a 400 error response.send(Pistache::Http::Code::Bad_Request, e.what()); return; - } catch (std::runtime_error &e) { + } catch (std::exception &e) { //send a 500 error response.send(Pistache::Http::Code::Internal_Server_Error, e.what()); return; @@ -128,7 +128,7 @@ void PetApi::find_pets_by_tags_handler(const Pistache::Rest::Request &request, P //send a 400 error response.send(Pistache::Http::Code::Bad_Request, e.what()); return; - } catch (std::runtime_error &e) { + } catch (std::exception &e) { //send a 500 error response.send(Pistache::Http::Code::Internal_Server_Error, e.what()); return; @@ -145,7 +145,7 @@ void PetApi::get_pet_by_id_handler(const Pistache::Rest::Request &request, Pista //send a 400 error response.send(Pistache::Http::Code::Bad_Request, e.what()); return; - } catch (std::runtime_error &e) { + } catch (std::exception &e) { //send a 500 error response.send(Pistache::Http::Code::Internal_Server_Error, e.what()); return; @@ -165,7 +165,7 @@ void PetApi::update_pet_handler(const Pistache::Rest::Request &request, Pistache //send a 400 error response.send(Pistache::Http::Code::Bad_Request, e.what()); return; - } catch (std::runtime_error &e) { + } catch (std::exception &e) { //send a 500 error response.send(Pistache::Http::Code::Internal_Server_Error, e.what()); return; @@ -179,7 +179,7 @@ void PetApi::update_pet_with_form_handler(const Pistache::Rest::Request &request //send a 400 error response.send(Pistache::Http::Code::Bad_Request, e.what()); return; - } catch (std::runtime_error &e) { + } catch (std::exception &e) { //send a 500 error response.send(Pistache::Http::Code::Internal_Server_Error, e.what()); return; @@ -193,7 +193,7 @@ void PetApi::upload_file_handler(const Pistache::Rest::Request &request, Pistach //send a 400 error response.send(Pistache::Http::Code::Bad_Request, e.what()); return; - } catch (std::runtime_error &e) { + } catch (std::exception &e) { //send a 500 error response.send(Pistache::Http::Code::Internal_Server_Error, e.what()); return; diff --git a/samples/server/petstore/cpp-pistache/api/StoreApi.cpp b/samples/server/petstore/cpp-pistache/api/StoreApi.cpp index 6987e9cc85..b9ae6c1d58 100644 --- a/samples/server/petstore/cpp-pistache/api/StoreApi.cpp +++ b/samples/server/petstore/cpp-pistache/api/StoreApi.cpp @@ -51,7 +51,7 @@ void StoreApi::delete_order_handler(const Pistache::Rest::Request &request, Pist //send a 400 error response.send(Pistache::Http::Code::Bad_Request, e.what()); return; - } catch (std::runtime_error &e) { + } catch (std::exception &e) { //send a 500 error response.send(Pistache::Http::Code::Internal_Server_Error, e.what()); return; @@ -66,7 +66,7 @@ void StoreApi::get_inventory_handler(const Pistache::Rest::Request &request, Pis //send a 400 error response.send(Pistache::Http::Code::Bad_Request, e.what()); return; - } catch (std::runtime_error &e) { + } catch (std::exception &e) { //send a 500 error response.send(Pistache::Http::Code::Internal_Server_Error, e.what()); return; @@ -83,7 +83,7 @@ void StoreApi::get_order_by_id_handler(const Pistache::Rest::Request &request, P //send a 400 error response.send(Pistache::Http::Code::Bad_Request, e.what()); return; - } catch (std::runtime_error &e) { + } catch (std::exception &e) { //send a 500 error response.send(Pistache::Http::Code::Internal_Server_Error, e.what()); return; @@ -103,7 +103,7 @@ void StoreApi::place_order_handler(const Pistache::Rest::Request &request, Pista //send a 400 error response.send(Pistache::Http::Code::Bad_Request, e.what()); return; - } catch (std::runtime_error &e) { + } catch (std::exception &e) { //send a 500 error response.send(Pistache::Http::Code::Internal_Server_Error, e.what()); return; diff --git a/samples/server/petstore/cpp-pistache/api/UserApi.cpp b/samples/server/petstore/cpp-pistache/api/UserApi.cpp index f64232454a..76846eb5ec 100644 --- a/samples/server/petstore/cpp-pistache/api/UserApi.cpp +++ b/samples/server/petstore/cpp-pistache/api/UserApi.cpp @@ -58,7 +58,7 @@ void UserApi::create_user_handler(const Pistache::Rest::Request &request, Pistac //send a 400 error response.send(Pistache::Http::Code::Bad_Request, e.what()); return; - } catch (std::runtime_error &e) { + } catch (std::exception &e) { //send a 500 error response.send(Pistache::Http::Code::Internal_Server_Error, e.what()); return; @@ -77,7 +77,7 @@ void UserApi::create_users_with_array_input_handler(const Pistache::Rest::Reques //send a 400 error response.send(Pistache::Http::Code::Bad_Request, e.what()); return; - } catch (std::runtime_error &e) { + } catch (std::exception &e) { //send a 500 error response.send(Pistache::Http::Code::Internal_Server_Error, e.what()); return; @@ -96,7 +96,7 @@ void UserApi::create_users_with_list_input_handler(const Pistache::Rest::Request //send a 400 error response.send(Pistache::Http::Code::Bad_Request, e.what()); return; - } catch (std::runtime_error &e) { + } catch (std::exception &e) { //send a 500 error response.send(Pistache::Http::Code::Internal_Server_Error, e.what()); return; @@ -113,7 +113,7 @@ void UserApi::delete_user_handler(const Pistache::Rest::Request &request, Pistac //send a 400 error response.send(Pistache::Http::Code::Bad_Request, e.what()); return; - } catch (std::runtime_error &e) { + } catch (std::exception &e) { //send a 500 error response.send(Pistache::Http::Code::Internal_Server_Error, e.what()); return; @@ -130,7 +130,7 @@ void UserApi::get_user_by_name_handler(const Pistache::Rest::Request &request, P //send a 400 error response.send(Pistache::Http::Code::Bad_Request, e.what()); return; - } catch (std::runtime_error &e) { + } catch (std::exception &e) { //send a 500 error response.send(Pistache::Http::Code::Internal_Server_Error, e.what()); return; @@ -163,7 +163,7 @@ void UserApi::login_user_handler(const Pistache::Rest::Request &request, Pistach //send a 400 error response.send(Pistache::Http::Code::Bad_Request, e.what()); return; - } catch (std::runtime_error &e) { + } catch (std::exception &e) { //send a 500 error response.send(Pistache::Http::Code::Internal_Server_Error, e.what()); return; @@ -178,7 +178,7 @@ void UserApi::logout_user_handler(const Pistache::Rest::Request &request, Pistac //send a 400 error response.send(Pistache::Http::Code::Bad_Request, e.what()); return; - } catch (std::runtime_error &e) { + } catch (std::exception &e) { //send a 500 error response.send(Pistache::Http::Code::Internal_Server_Error, e.what()); return; @@ -200,7 +200,7 @@ void UserApi::update_user_handler(const Pistache::Rest::Request &request, Pistac //send a 400 error response.send(Pistache::Http::Code::Bad_Request, e.what()); return; - } catch (std::runtime_error &e) { + } catch (std::exception &e) { //send a 500 error response.send(Pistache::Http::Code::Internal_Server_Error, e.what()); return; diff --git a/samples/server/petstore/cpp-pistache/model/Helpers.cpp b/samples/server/petstore/cpp-pistache/model/Helpers.cpp index b518f8106d..a7774194c8 100644 --- a/samples/server/petstore/cpp-pistache/model/Helpers.cpp +++ b/samples/server/petstore/cpp-pistache/model/Helpers.cpp @@ -50,7 +50,7 @@ bool fromStringValue(const std::string &inStr, int32_t &value){ try { value = std::stoi( inStr ); } - catch (const std::invalid_argument) { + catch (const std::invalid_argument&) { return false; } return true; @@ -60,7 +60,7 @@ bool fromStringValue(const std::string &inStr, int64_t &value){ try { value = std::stol( inStr ); } - catch (const std::invalid_argument) { + catch (const std::invalid_argument&) { return false; } return true; @@ -76,7 +76,7 @@ bool fromStringValue(const std::string &inStr, float &value){ try { value = std::stof( inStr ); } - catch (const std::invalid_argument) { + catch (const std::invalid_argument&) { return false; } return true; @@ -86,7 +86,7 @@ bool fromStringValue(const std::string &inStr, double &value){ try { value = std::stod( inStr ); } - catch (const std::invalid_argument) { + catch (const std::invalid_argument&) { return false; } return true; From 6c9fefa7b58f85d073c184de45bb6f1e9d7aa860 Mon Sep 17 00:00:00 2001 From: wing328 Date: Thu, 27 Jun 2019 10:47:05 +0800 Subject: [PATCH 05/22] update doc --- docs/contributing.md | 2 ++ 1 file changed, 2 insertions(+) diff --git a/docs/contributing.md b/docs/contributing.md index 429aaa6006..1544d4b197 100644 --- a/docs/contributing.md +++ b/docs/contributing.md @@ -35,6 +35,8 @@ Please file the pull request against the correct branch, e.g. `master` for non-b All the code generators can be found in [modules/openapi-generator/src/main/java/org/openapitools/codegen/languages](https://github.com/openapitools/openapi-generator/tree/master/modules/openapi-generator/src/main/java/org/openapitools/codegen/languages) +If you want to add a new generator, follow the [new-generator](https://openapi-generator.tech/docs/new-generator) guide. + ### Templates All the templates ([mustache](https://mustache.github.io/)) can be found in [modules/openapi-generator/src/main/resources](https://github.com/openapitools/openapi-generator/tree/master/modules/openapi-generator/src/main/resources). From 35a6f9d6e6248092f2aeefc22b99d6f96872fabe Mon Sep 17 00:00:00 2001 From: wing328 Date: Thu, 27 Jun 2019 12:12:44 +0800 Subject: [PATCH 06/22] remove corrupted files --- .../petstore/perl/docs/AnotherfakeApi.md | 60 ------------------- .../petstore/perl/t/AnotherfakeApiTest.t | 41 ------------- 2 files changed, 101 deletions(-) delete mode 100644 samples/client/petstore/perl/docs/AnotherfakeApi.md delete mode 100644 samples/client/petstore/perl/t/AnotherfakeApiTest.t diff --git a/samples/client/petstore/perl/docs/AnotherfakeApi.md b/samples/client/petstore/perl/docs/AnotherfakeApi.md deleted file mode 100644 index a0b0fd6f8e..0000000000 --- a/samples/client/petstore/perl/docs/AnotherfakeApi.md +++ /dev/null @@ -1,60 +0,0 @@ -# WWW::OpenAPIClient::AnotherFakeApi - -## Load the API package -```perl -use WWW::OpenAPIClient::Object::AnotherFakeApi; -``` - -All URIs are relative to *http://petstore.swagger.io:80/v2* - -Method | HTTP request | Description -------------- | ------------- | ------------- -[**call_123_test_special_tags**](AnotherFakeApi.md#call_123_test_special_tags) | **PATCH** /another-fake/dummy | To test special tags - - -# **call_123_test_special_tags** -> Client call_123_test_special_tags(client => $client) - -To test special tags - -To test special tags and operation ID starting with number - -### Example -```perl -use Data::Dumper; -use WWW::OpenAPIClient::AnotherFakeApi; -my $api_instance = WWW::OpenAPIClient::AnotherFakeApi->new( -); - -my $client = WWW::OpenAPIClient::Object::Client->new(); # Client | client model - -eval { - my $result = $api_instance->call_123_test_special_tags(client => $client); - print Dumper($result); -}; -if ($@) { - warn "Exception when calling AnotherFakeApi->call_123_test_special_tags: $@\n"; -} -``` - -### Parameters - -Name | Type | Description | Notes -------------- | ------------- | ------------- | ------------- - **client** | [**Client**](Client.md)| client model | - -### Return type - -[**Client**](Client.md) - -### Authorization - -No authorization required - -### HTTP request headers - - - **Content-Type**: application/json - - **Accept**: application/json - -[[Back to top]](#) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to Model list]](../README.md#documentation-for-models) [[Back to README]](../README.md) - diff --git a/samples/client/petstore/perl/t/AnotherfakeApiTest.t b/samples/client/petstore/perl/t/AnotherfakeApiTest.t deleted file mode 100644 index e07b4905e1..0000000000 --- a/samples/client/petstore/perl/t/AnotherfakeApiTest.t +++ /dev/null @@ -1,41 +0,0 @@ -=begin comment - -Swagger Petstore - -This spec is mainly for testing Petstore server and contains fake endpoints, models. Please do not use this for any other purpose. Special characters: \" \\ - -OpenAPI spec version: 1.0.0 -Contact: apiteam@swagger.io -Generated by: https://github.com/swagger-api/swagger-codegen.git - -=end comment - -=cut - -# -# NOTE: This class is auto generated by Swagger Codegen -# Please update the test cases below to test the API endpoints. -# Ref: https://github.com/swagger-api/swagger-codegen -# -use Test::More tests => 1; #TODO update number of test cases -use Test::Exception; - -use lib 'lib'; -use strict; -use warnings; - -use_ok('WWW::OpenAPIClient::AnotherfakeApi'); - -my $api = WWW::OpenAPIClient::AnotherfakeApi->new(); -isa_ok($api, 'WWW::OpenAPIClient::AnotherfakeApi'); - -# -# test_special_tags test -# -{ - my $body = undef; # replace NULL with a proper value - my $result = $api->test_special_tags(body => $body); -} - - -1; From 325ed4b72edca5e8c62965cbe902fb026576d197 Mon Sep 17 00:00:00 2001 From: Mark Oude Veldhuis Date: Thu, 27 Jun 2019 08:09:38 +0200 Subject: [PATCH 07/22] If a parameter is a date, format it as YYYY-MM-DD (#3218) --- .../src/main/resources/typescript-fetch/apis.mustache | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/modules/openapi-generator/src/main/resources/typescript-fetch/apis.mustache b/modules/openapi-generator/src/main/resources/typescript-fetch/apis.mustache index 976fce5623..f91cf183d7 100644 --- a/modules/openapi-generator/src/main/resources/typescript-fetch/apis.mustache +++ b/modules/openapi-generator/src/main/resources/typescript-fetch/apis.mustache @@ -69,7 +69,7 @@ export class {{classname}} extends runtime.BaseAPI { {{/isDateTime}} {{^isDateTime}} {{#isDate}} - queryParameters['{{baseName}}'] = (requestParameters.{{paramName}} as any).toISOString(); + queryParameters['{{baseName}}'] = (requestParameters.{{paramName}} as any).toISOString().substr(0,10); {{/isDate}} {{^isDate}} queryParameters['{{baseName}}'] = requestParameters.{{paramName}}; @@ -271,4 +271,4 @@ export enum {{operationIdCamelCase}}{{enumName}} { {{/allParams}} {{/operation}} {{/operations}} -{{/hasEnums}} \ No newline at end of file +{{/hasEnums}} From 73966a0152f17ad26488f21df95909b574e00511 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Roman=20M=C3=BCller?= Date: Thu, 27 Jun 2019 18:23:50 +0200 Subject: [PATCH 08/22] [KOTLIN Spring] add interfaceOnly option (#3050) * move template definition to processOpts() * add interfaceOnly option for kotlin-spring * add template for interface only option --- docs/generators/kotlin-spring.md | 1 + .../languages/KotlinSpringServerCodegen.java | 26 +++- .../main/resources/kotlin-spring/api.mustache | 26 ++-- .../kotlin-spring/apiInterface.mustache | 83 +++++++++++ .../petstore/perl/docs/AnotherFakeApi.md | 8 +- .../petstore/perl/t/AnotherFakeApiTest.t | 41 ----- .../kotlin/org/openapitools/api/PetApi.kt | 140 +++++++++--------- .../kotlin/org/openapitools/api/StoreApi.kt | 64 ++++---- .../kotlin/org/openapitools/api/UserApi.kt | 104 ++++++------- .../kotlin/org/openapitools/api/PetApi.kt | 140 +++++++++--------- .../kotlin/org/openapitools/api/StoreApi.kt | 64 ++++---- .../kotlin/org/openapitools/api/UserApi.kt | 104 ++++++------- 12 files changed, 430 insertions(+), 371 deletions(-) create mode 100644 modules/openapi-generator/src/main/resources/kotlin-spring/apiInterface.mustache delete mode 100644 samples/client/petstore/perl/t/AnotherFakeApiTest.t diff --git a/docs/generators/kotlin-spring.md b/docs/generators/kotlin-spring.md index 0c4898f801..c194143dbf 100644 --- a/docs/generators/kotlin-spring.md +++ b/docs/generators/kotlin-spring.md @@ -27,4 +27,5 @@ sidebar_label: kotlin-spring |serviceImplementation|generate stub service implementations that extends service interfaces. If this is set to true service interfaces will also be generated| |false| |useBeanValidation|Use BeanValidation API annotations to validate data types| |true| |reactive|use coroutines for reactive behavior| |false| +|interfaceOnly|Whether to generate only API interface stubs without the server files.| |false| |library|library template (sub-template)|
**spring-boot**
Spring-boot Server application.
|spring-boot| diff --git a/modules/openapi-generator/src/main/java/org/openapitools/codegen/languages/KotlinSpringServerCodegen.java b/modules/openapi-generator/src/main/java/org/openapitools/codegen/languages/KotlinSpringServerCodegen.java index ddc2cbf99c..28e45eb7af 100644 --- a/modules/openapi-generator/src/main/java/org/openapitools/codegen/languages/KotlinSpringServerCodegen.java +++ b/modules/openapi-generator/src/main/java/org/openapitools/codegen/languages/KotlinSpringServerCodegen.java @@ -61,7 +61,7 @@ public class KotlinSpringServerCodegen extends AbstractKotlinCodegen public static final String SERVICE_INTERFACE = "serviceInterface"; public static final String SERVICE_IMPLEMENTATION = "serviceImplementation"; public static final String REACTIVE = "reactive"; - + public static final String INTERFACE_ONLY = "interfaceOnly"; private String basePackage; private String invokerPackage; @@ -75,12 +75,11 @@ public class KotlinSpringServerCodegen extends AbstractKotlinCodegen private boolean serviceInterface = false; private boolean serviceImplementation = false; private boolean reactive = false; + private boolean interfaceOnly = false; public KotlinSpringServerCodegen() { super(); - apiTestTemplateFiles.put("api_test.mustache", ".kt"); - reservedWords.addAll(VARIABLE_RESERVED_WORDS); outputFolder = "generated-code/kotlin-spring"; @@ -124,6 +123,7 @@ public class KotlinSpringServerCodegen extends AbstractKotlinCodegen "interfaces. If this is set to true service interfaces will also be generated", serviceImplementation); addSwitch(USE_BEANVALIDATION, "Use BeanValidation API annotations to validate data types", useBeanValidation); addSwitch(REACTIVE, "use coroutines for reactive behavior", reactive); + addSwitch(INTERFACE_ONLY, "Whether to generate only API interface stubs without the server files.", interfaceOnly); supportedLibraries.put(SPRING_BOOT, "Spring-boot Server application."); setLibrary(SPRING_BOOT); @@ -209,6 +209,10 @@ public class KotlinSpringServerCodegen extends AbstractKotlinCodegen return this.useBeanValidation; } + public void setInterfaceOnly(boolean interfaceOnly) { + this.interfaceOnly = interfaceOnly; + } + @Override public void setUseBeanValidation(boolean useBeanValidation) { this.useBeanValidation = useBeanValidation; @@ -322,9 +326,18 @@ public class KotlinSpringServerCodegen extends AbstractKotlinCodegen writePropertyBack(REACTIVE, reactive); writePropertyBack(EXCEPTION_HANDLER, exceptionHandler); + if (additionalProperties.containsKey(INTERFACE_ONLY)) { + this.setInterfaceOnly(Boolean.valueOf(additionalProperties.get(INTERFACE_ONLY).toString())); + } + modelTemplateFiles.put("model.mustache", ".kt"); - apiTemplateFiles.put("api.mustache", ".kt"); - supportingFiles.add(new SupportingFile("README.mustache", "", "README.md")); + + if (interfaceOnly) { + apiTemplateFiles.put("apiInterface.mustache", ".kt"); + } else { + apiTemplateFiles.put("api.mustache", ".kt"); + apiTestTemplateFiles.put("api_test.mustache", ".kt"); + } if (this.serviceInterface) { apiTemplateFiles.put("service.mustache", "Service.kt"); @@ -335,6 +348,9 @@ public class KotlinSpringServerCodegen extends AbstractKotlinCodegen apiTemplateFiles.put("serviceImpl.mustache", "ServiceImpl.kt"); } + supportingFiles.add(new SupportingFile("README.mustache", "", "README.md")); + + if (this.exceptionHandler) { supportingFiles.add(new SupportingFile("exceptions.mustache", sanitizeDirectory(sourceFolder + File.separator + apiPackage), "Exceptions.kt")); diff --git a/modules/openapi-generator/src/main/resources/kotlin-spring/api.mustache b/modules/openapi-generator/src/main/resources/kotlin-spring/api.mustache index ba8597ee9f..22f9536fae 100644 --- a/modules/openapi-generator/src/main/resources/kotlin-spring/api.mustache +++ b/modules/openapi-generator/src/main/resources/kotlin-spring/api.mustache @@ -62,21 +62,21 @@ class {{classname}}Controller({{#serviceInterface}}@Autowired(required = true) v {{#swaggerAnnotations}} @ApiOperation( - value = "{{{summary}}}", - nickname = "{{{operationId}}}", - notes = "{{{notes}}}"{{#returnBaseType}}, - response = {{{returnBaseType}}}::class{{/returnBaseType}}{{#returnContainer}}, - responseContainer = "{{{returnContainer}}}"{{/returnContainer}}{{#hasAuthMethods}}, - authorizations = [{{#authMethods}}Authorization(value = "{{name}}"{{#isOAuth}}, scopes = [{{#scopes}}AuthorizationScope(scope = "{{scope}}", description = "{{description}}"){{#hasMore}}, {{/hasMore}}{{/scopes}}]{{/isOAuth}}){{#hasMore}}, {{/hasMore}}{{/authMethods}}]{{/hasAuthMethods}}) + value = "{{{summary}}}", + nickname = "{{{operationId}}}", + notes = "{{{notes}}}"{{#returnBaseType}}, + response = {{{returnBaseType}}}::class{{/returnBaseType}}{{#returnContainer}}, + responseContainer = "{{{returnContainer}}}"{{/returnContainer}}{{#hasAuthMethods}}, + authorizations = [{{#authMethods}}Authorization(value = "{{name}}"{{#isOAuth}}, scopes = [{{#scopes}}AuthorizationScope(scope = "{{scope}}", description = "{{description}}"){{#hasMore}}, {{/hasMore}}{{/scopes}}]{{/isOAuth}}){{#hasMore}}, {{/hasMore}}{{/authMethods}}]{{/hasAuthMethods}}) @ApiResponses( - value = [{{#responses}}ApiResponse(code = {{{code}}}, message = "{{{message}}}"{{#baseType}}, response = {{{baseType}}}::class{{/baseType}}{{#containerType}}, responseContainer = "{{{containerType}}}"{{/containerType}}){{#hasMore}},{{/hasMore}}{{/responses}}]){{/swaggerAnnotations}} + value = [{{#responses}}ApiResponse(code = {{{code}}}, message = "{{{message}}}"{{#baseType}}, response = {{{baseType}}}::class{{/baseType}}{{#containerType}}, responseContainer = "{{{containerType}}}"{{/containerType}}){{#hasMore}},{{/hasMore}}{{/responses}}]){{/swaggerAnnotations}} @RequestMapping( - value = ["{{#lambda.escapeDoubleQuote}}{{path}}{{/lambda.escapeDoubleQuote}}"],{{#singleContentTypes}}{{#hasProduces}} - produces = "{{{vendorExtensions.x-accepts}}}",{{/hasProduces}}{{#hasConsumes}} - consumes = "{{{vendorExtensions.x-contentType}}}",{{/hasConsumes}}{{/singleContentTypes}}{{^singleContentTypes}}{{#hasProduces}} - produces = [{{#produces}}"{{{mediaType}}}"{{^-last}}, {{/-last}}{{/produces}}], {{/hasProduces}}{{#hasConsumes}} - consumes = [{{#consumes}}"{{{mediaType}}}"{{^-last}}, {{/-last}}{{/consumes}}],{{/hasConsumes}}{{/singleContentTypes}} - method = [RequestMethod.{{httpMethod}}]) + value = ["{{#lambda.escapeDoubleQuote}}{{path}}{{/lambda.escapeDoubleQuote}}"],{{#singleContentTypes}}{{#hasProduces}} + produces = "{{{vendorExtensions.x-accepts}}}",{{/hasProduces}}{{#hasConsumes}} + consumes = "{{{vendorExtensions.x-contentType}}}",{{/hasConsumes}}{{/singleContentTypes}}{{^singleContentTypes}}{{#hasProduces}} + produces = [{{#produces}}"{{{mediaType}}}"{{#hasMore}}, {{/hasMore}}{{/produces}}], {{/hasProduces}}{{#hasConsumes}} + consumes = [{{#consumes}}"{{{mediaType}}}"{{#hasMore}}, {{/hasMore}}{{/consumes}}],{{/hasConsumes}}{{/singleContentTypes}} + method = [RequestMethod.{{httpMethod}}]) {{#reactive}}{{^isListContainer}}suspend {{/isListContainer}}{{/reactive}}fun {{operationId}}({{#allParams}}{{>queryParams}}{{>pathParams}}{{>headerParams}}{{>bodyParams}}{{>formParams}}{{#hasMore}},{{/hasMore}}{{/allParams}}): ResponseEntity<{{>returnTypes}}> { return {{>returnValue}} } diff --git a/modules/openapi-generator/src/main/resources/kotlin-spring/apiInterface.mustache b/modules/openapi-generator/src/main/resources/kotlin-spring/apiInterface.mustache new file mode 100644 index 0000000000..84fbf253d9 --- /dev/null +++ b/modules/openapi-generator/src/main/resources/kotlin-spring/apiInterface.mustache @@ -0,0 +1,83 @@ +package {{package}} + +{{#imports}}import {{import}} +{{/imports}} +{{#swaggerAnnotations}} +import io.swagger.annotations.Api +import io.swagger.annotations.ApiOperation +import io.swagger.annotations.ApiParam +import io.swagger.annotations.ApiResponse +import io.swagger.annotations.ApiResponses +import io.swagger.annotations.Authorization +import io.swagger.annotations.AuthorizationScope +{{/swaggerAnnotations}} +import org.springframework.http.HttpStatus +import org.springframework.http.MediaType +import org.springframework.http.ResponseEntity +import org.springframework.stereotype.Controller +import org.springframework.web.bind.annotation.RequestBody +import org.springframework.web.bind.annotation.RequestPart +import org.springframework.web.bind.annotation.RequestParam +import org.springframework.web.bind.annotation.PathVariable +import org.springframework.web.bind.annotation.RequestHeader +import org.springframework.web.bind.annotation.RequestMethod +import org.springframework.web.bind.annotation.RequestMapping +{{#useBeanValidation}} +import org.springframework.validation.annotation.Validated +{{/useBeanValidation}} +import org.springframework.web.context.request.NativeWebRequest +import org.springframework.beans.factory.annotation.Autowired + +{{#useBeanValidation}} +import javax.validation.Valid +import javax.validation.constraints.DecimalMax +import javax.validation.constraints.DecimalMin +import javax.validation.constraints.Max +import javax.validation.constraints.Min +import javax.validation.constraints.NotNull +import javax.validation.constraints.Pattern +import javax.validation.constraints.Size +{{/useBeanValidation}} + +{{#reactive}} +import kotlinx.coroutines.flow.Flow; +{{/reactive}} +import kotlin.collections.List +import kotlin.collections.Map + +{{#useBeanValidation}} +@Validated +{{/useBeanValidation}} +{{#swaggerAnnotations}} +@Api(value = "{{{baseName}}}", description = "The {{{baseName}}} API") +{{/swaggerAnnotations}} +{{=<% %>=}} +@RequestMapping("\${api.base-path:<%contextPath%>}") +<%={{ }}=%> +{{#operations}} +interface {{classname}} { +{{#operation}} + + {{#swaggerAnnotations}} + @ApiOperation( + value = "{{{summary}}}", + nickname = "{{{operationId}}}", + notes = "{{{notes}}}"{{#returnBaseType}}, + response = {{{returnBaseType}}}::class{{/returnBaseType}}{{#returnContainer}}, + responseContainer = "{{{returnContainer}}}"{{/returnContainer}}{{#hasAuthMethods}}, + authorizations = [{{#authMethods}}Authorization(value = "{{name}}"{{#isOAuth}}, scopes = [{{#scopes}}AuthorizationScope(scope = "{{scope}}", description = "{{description}}"){{#hasMore}}, {{/hasMore}}{{/scopes}}]{{/isOAuth}}){{#hasMore}}, {{/hasMore}}{{/authMethods}}]{{/hasAuthMethods}}) + @ApiResponses( + value = [{{#responses}}ApiResponse(code = {{{code}}}, message = "{{{message}}}"{{#baseType}}, response = {{{baseType}}}::class{{/baseType}}{{#containerType}}, responseContainer = "{{{containerType}}}"{{/containerType}}){{#hasMore}},{{/hasMore}}{{/responses}}]){{/swaggerAnnotations}} + @RequestMapping( + value = ["{{#lambda.escapeDoubleQuote}}{{path}}{{/lambda.escapeDoubleQuote}}"],{{#singleContentTypes}}{{#hasProduces}} + produces = "{{{vendorExtensions.x-accepts}}}",{{/hasProduces}}{{#hasConsumes}} + consumes = "{{{vendorExtensions.x-contentType}}}",{{/hasConsumes}}{{/singleContentTypes}}{{^singleContentTypes}}{{#hasProduces}} + produces = [{{#produces}}"{{{mediaType}}}"{{^-last}}, {{/-last}}{{/produces}}], {{/hasProduces}}{{#hasConsumes}} + consumes = [{{#consumes}}"{{{mediaType}}}"{{^-last}}, {{/-last}}{{/consumes}}],{{/hasConsumes}}{{/singleContentTypes}} + method = [RequestMethod.{{httpMethod}}]) + {{#reactive}}{{^isListContainer}}suspend {{/isListContainer}}{{/reactive}}fun {{operationId}}({{#allParams}}{{>queryParams}}{{>pathParams}}{{>headerParams}}{{>bodyParams}}{{>formParams}}{{#hasMore}},{{/hasMore}}{{/allParams}}): ResponseEntity<{{>returnTypes}}> { + return {{>returnValue}} + } +{{/operation}} +} +{{/operations}} diff --git a/samples/client/petstore/perl/docs/AnotherFakeApi.md b/samples/client/petstore/perl/docs/AnotherFakeApi.md index 87c9e4015b..a0b0fd6f8e 100644 --- a/samples/client/petstore/perl/docs/AnotherFakeApi.md +++ b/samples/client/petstore/perl/docs/AnotherFakeApi.md @@ -13,7 +13,7 @@ Method | HTTP request | Description # **call_123_test_special_tags** -> Client call_123_test_special_tags(body => $body) +> Client call_123_test_special_tags(client => $client) To test special tags @@ -26,10 +26,10 @@ use WWW::OpenAPIClient::AnotherFakeApi; my $api_instance = WWW::OpenAPIClient::AnotherFakeApi->new( ); -my $body = WWW::OpenAPIClient::Object::Client->new(); # Client | client model +my $client = WWW::OpenAPIClient::Object::Client->new(); # Client | client model eval { - my $result = $api_instance->call_123_test_special_tags(body => $body); + my $result = $api_instance->call_123_test_special_tags(client => $client); print Dumper($result); }; if ($@) { @@ -41,7 +41,7 @@ if ($@) { Name | Type | Description | Notes ------------- | ------------- | ------------- | ------------- - **body** | [**Client**](Client.md)| client model | + **client** | [**Client**](Client.md)| client model | ### Return type diff --git a/samples/client/petstore/perl/t/AnotherFakeApiTest.t b/samples/client/petstore/perl/t/AnotherFakeApiTest.t deleted file mode 100644 index 52d6452f0a..0000000000 --- a/samples/client/petstore/perl/t/AnotherFakeApiTest.t +++ /dev/null @@ -1,41 +0,0 @@ -=begin comment - -OpenAPI Petstore - -This spec is mainly for testing Petstore server and contains fake endpoints, models. Please do not use this for any other purpose. Special characters: \" \\ - -The version of the OpenAPI document: 1.0.0 - -Generated by: https://openapi-generator.tech - -=end comment - -=cut - -# -# NOTE: This class is auto generated by OpenAPI Generator -# Please update the test cases below to test the API endpoints. -# Ref: https://openapi-generator.tech -# -use Test::More tests => 1; #TODO update number of test cases -use Test::Exception; - -use lib 'lib'; -use strict; -use warnings; - -use_ok('WWW::OpenAPIClient::AnotherFakeApi'); - -my $api = WWW::OpenAPIClient::AnotherFakeApi->new(); -isa_ok($api, 'WWW::OpenAPIClient::AnotherFakeApi'); - -# -# call_123_test_special_tags test -# -{ - my $body = undef; # replace NULL with a proper value - my $result = $api->call_123_test_special_tags(body => $body); -} - - -1; diff --git a/samples/server/petstore/kotlin-springboot-reactive/src/main/kotlin/org/openapitools/api/PetApi.kt b/samples/server/petstore/kotlin-springboot-reactive/src/main/kotlin/org/openapitools/api/PetApi.kt index c8273a4ac4..e80de43fee 100644 --- a/samples/server/petstore/kotlin-springboot-reactive/src/main/kotlin/org/openapitools/api/PetApi.kt +++ b/samples/server/petstore/kotlin-springboot-reactive/src/main/kotlin/org/openapitools/api/PetApi.kt @@ -45,31 +45,31 @@ import kotlin.collections.Map class PetApiController(@Autowired(required = true) val service: PetApiService) { @ApiOperation( - value = "Add a new pet to the store", - nickname = "addPet", - notes = "", - authorizations = [Authorization(value = "petstore_auth", scopes = [AuthorizationScope(scope = "write:pets", description = "modify pets in your account"), AuthorizationScope(scope = "read:pets", description = "read your pets")])]) + value = "Add a new pet to the store", + nickname = "addPet", + notes = "", + authorizations = [Authorization(value = "petstore_auth", scopes = [AuthorizationScope(scope = "write:pets", description = "modify pets in your account"), AuthorizationScope(scope = "read:pets", description = "read your pets")])]) @ApiResponses( - value = [ApiResponse(code = 405, message = "Invalid input")]) + value = [ApiResponse(code = 405, message = "Invalid input")]) @RequestMapping( - value = ["/pet"], - consumes = ["application/json", "application/xml"], - method = [RequestMethod.POST]) + value = ["/pet"], + consumes = ["application/json", "application/xml"], + method = [RequestMethod.POST]) suspend fun addPet(@ApiParam(value = "Pet object that needs to be added to the store" ,required=true ) @Valid @RequestBody body: Pet ): ResponseEntity { return ResponseEntity(service.addPet(body), HttpStatus.valueOf(405)) } @ApiOperation( - value = "Deletes a pet", - nickname = "deletePet", - notes = "", - authorizations = [Authorization(value = "petstore_auth", scopes = [AuthorizationScope(scope = "write:pets", description = "modify pets in your account"), AuthorizationScope(scope = "read:pets", description = "read your pets")])]) + value = "Deletes a pet", + nickname = "deletePet", + notes = "", + authorizations = [Authorization(value = "petstore_auth", scopes = [AuthorizationScope(scope = "write:pets", description = "modify pets in your account"), AuthorizationScope(scope = "read:pets", description = "read your pets")])]) @ApiResponses( - value = [ApiResponse(code = 400, message = "Invalid pet value")]) + value = [ApiResponse(code = 400, message = "Invalid pet value")]) @RequestMapping( - value = ["/pet/{petId}"], - method = [RequestMethod.DELETE]) + value = ["/pet/{petId}"], + method = [RequestMethod.DELETE]) suspend fun deletePet(@ApiParam(value = "Pet id to delete", required=true) @PathVariable("petId") petId: kotlin.Long ,@ApiParam(value = "" ) @RequestHeader(value="api_key", required=false) apiKey: kotlin.String? ): ResponseEntity { @@ -77,85 +77,85 @@ class PetApiController(@Autowired(required = true) val service: PetApiService) { } @ApiOperation( - value = "Finds Pets by status", - nickname = "findPetsByStatus", - notes = "Multiple status values can be provided with comma separated strings", - response = Pet::class, - responseContainer = "List", - authorizations = [Authorization(value = "petstore_auth", scopes = [AuthorizationScope(scope = "write:pets", description = "modify pets in your account"), AuthorizationScope(scope = "read:pets", description = "read your pets")])]) + value = "Finds Pets by status", + nickname = "findPetsByStatus", + notes = "Multiple status values can be provided with comma separated strings", + response = Pet::class, + responseContainer = "List", + authorizations = [Authorization(value = "petstore_auth", scopes = [AuthorizationScope(scope = "write:pets", description = "modify pets in your account"), AuthorizationScope(scope = "read:pets", description = "read your pets")])]) @ApiResponses( - value = [ApiResponse(code = 200, message = "successful operation", response = Pet::class, responseContainer = "List"),ApiResponse(code = 400, message = "Invalid status value")]) + value = [ApiResponse(code = 200, message = "successful operation", response = Pet::class, responseContainer = "List"),ApiResponse(code = 400, message = "Invalid status value")]) @RequestMapping( - value = ["/pet/findByStatus"], - produces = ["application/xml", "application/json"], - method = [RequestMethod.GET]) + value = ["/pet/findByStatus"], + produces = ["application/xml", "application/json"], + method = [RequestMethod.GET]) fun findPetsByStatus(@NotNull @ApiParam(value = "Status values that need to be considered for filter", required = true, allowableValues = "available, pending, sold") @Valid @RequestParam(value = "status", required = true) status: kotlin.collections.List ): ResponseEntity> { return ResponseEntity(service.findPetsByStatus(status), HttpStatus.valueOf(200)) } @ApiOperation( - value = "Finds Pets by tags", - nickname = "findPetsByTags", - notes = "Multiple tags can be provided with comma separated strings. Use tag1, tag2, tag3 for testing.", - response = Pet::class, - responseContainer = "List", - authorizations = [Authorization(value = "petstore_auth", scopes = [AuthorizationScope(scope = "write:pets", description = "modify pets in your account"), AuthorizationScope(scope = "read:pets", description = "read your pets")])]) + value = "Finds Pets by tags", + nickname = "findPetsByTags", + notes = "Multiple tags can be provided with comma separated strings. Use tag1, tag2, tag3 for testing.", + response = Pet::class, + responseContainer = "List", + authorizations = [Authorization(value = "petstore_auth", scopes = [AuthorizationScope(scope = "write:pets", description = "modify pets in your account"), AuthorizationScope(scope = "read:pets", description = "read your pets")])]) @ApiResponses( - value = [ApiResponse(code = 200, message = "successful operation", response = Pet::class, responseContainer = "List"),ApiResponse(code = 400, message = "Invalid tag value")]) + value = [ApiResponse(code = 200, message = "successful operation", response = Pet::class, responseContainer = "List"),ApiResponse(code = 400, message = "Invalid tag value")]) @RequestMapping( - value = ["/pet/findByTags"], - produces = ["application/xml", "application/json"], - method = [RequestMethod.GET]) + value = ["/pet/findByTags"], + produces = ["application/xml", "application/json"], + method = [RequestMethod.GET]) fun findPetsByTags(@NotNull @ApiParam(value = "Tags to filter by", required = true) @Valid @RequestParam(value = "tags", required = true) tags: kotlin.collections.List ): ResponseEntity> { return ResponseEntity(service.findPetsByTags(tags), HttpStatus.valueOf(200)) } @ApiOperation( - value = "Find pet by ID", - nickname = "getPetById", - notes = "Returns a single pet", - response = Pet::class, - authorizations = [Authorization(value = "api_key")]) + value = "Find pet by ID", + nickname = "getPetById", + notes = "Returns a single pet", + response = Pet::class, + authorizations = [Authorization(value = "api_key")]) @ApiResponses( - value = [ApiResponse(code = 200, message = "successful operation", response = Pet::class),ApiResponse(code = 400, message = "Invalid ID supplied"),ApiResponse(code = 404, message = "Pet not found")]) + value = [ApiResponse(code = 200, message = "successful operation", response = Pet::class),ApiResponse(code = 400, message = "Invalid ID supplied"),ApiResponse(code = 404, message = "Pet not found")]) @RequestMapping( - value = ["/pet/{petId}"], - produces = ["application/xml", "application/json"], - method = [RequestMethod.GET]) + value = ["/pet/{petId}"], + produces = ["application/xml", "application/json"], + method = [RequestMethod.GET]) suspend fun getPetById(@ApiParam(value = "ID of pet to return", required=true) @PathVariable("petId") petId: kotlin.Long ): ResponseEntity { return ResponseEntity(service.getPetById(petId), HttpStatus.valueOf(200)) } @ApiOperation( - value = "Update an existing pet", - nickname = "updatePet", - notes = "", - authorizations = [Authorization(value = "petstore_auth", scopes = [AuthorizationScope(scope = "write:pets", description = "modify pets in your account"), AuthorizationScope(scope = "read:pets", description = "read your pets")])]) + value = "Update an existing pet", + nickname = "updatePet", + notes = "", + authorizations = [Authorization(value = "petstore_auth", scopes = [AuthorizationScope(scope = "write:pets", description = "modify pets in your account"), AuthorizationScope(scope = "read:pets", description = "read your pets")])]) @ApiResponses( - value = [ApiResponse(code = 400, message = "Invalid ID supplied"),ApiResponse(code = 404, message = "Pet not found"),ApiResponse(code = 405, message = "Validation exception")]) + value = [ApiResponse(code = 400, message = "Invalid ID supplied"),ApiResponse(code = 404, message = "Pet not found"),ApiResponse(code = 405, message = "Validation exception")]) @RequestMapping( - value = ["/pet"], - consumes = ["application/json", "application/xml"], - method = [RequestMethod.PUT]) + value = ["/pet"], + consumes = ["application/json", "application/xml"], + method = [RequestMethod.PUT]) suspend fun updatePet(@ApiParam(value = "Pet object that needs to be added to the store" ,required=true ) @Valid @RequestBody body: Pet ): ResponseEntity { return ResponseEntity(service.updatePet(body), HttpStatus.valueOf(400)) } @ApiOperation( - value = "Updates a pet in the store with form data", - nickname = "updatePetWithForm", - notes = "", - authorizations = [Authorization(value = "petstore_auth", scopes = [AuthorizationScope(scope = "write:pets", description = "modify pets in your account"), AuthorizationScope(scope = "read:pets", description = "read your pets")])]) + value = "Updates a pet in the store with form data", + nickname = "updatePetWithForm", + notes = "", + authorizations = [Authorization(value = "petstore_auth", scopes = [AuthorizationScope(scope = "write:pets", description = "modify pets in your account"), AuthorizationScope(scope = "read:pets", description = "read your pets")])]) @ApiResponses( - value = [ApiResponse(code = 405, message = "Invalid input")]) + value = [ApiResponse(code = 405, message = "Invalid input")]) @RequestMapping( - value = ["/pet/{petId}"], - consumes = ["application/x-www-form-urlencoded"], - method = [RequestMethod.POST]) + value = ["/pet/{petId}"], + consumes = ["application/x-www-form-urlencoded"], + method = [RequestMethod.POST]) suspend fun updatePetWithForm(@ApiParam(value = "ID of pet that needs to be updated", required=true) @PathVariable("petId") petId: kotlin.Long ,@ApiParam(value = "Updated name of the pet") @RequestParam(value="name", required=false) name: kotlin.String? ,@ApiParam(value = "Updated status of the pet") @RequestParam(value="status", required=false) status: kotlin.String? @@ -164,18 +164,18 @@ class PetApiController(@Autowired(required = true) val service: PetApiService) { } @ApiOperation( - value = "uploads an image", - nickname = "uploadFile", - notes = "", - response = ModelApiResponse::class, - authorizations = [Authorization(value = "petstore_auth", scopes = [AuthorizationScope(scope = "write:pets", description = "modify pets in your account"), AuthorizationScope(scope = "read:pets", description = "read your pets")])]) + value = "uploads an image", + nickname = "uploadFile", + notes = "", + response = ModelApiResponse::class, + authorizations = [Authorization(value = "petstore_auth", scopes = [AuthorizationScope(scope = "write:pets", description = "modify pets in your account"), AuthorizationScope(scope = "read:pets", description = "read your pets")])]) @ApiResponses( - value = [ApiResponse(code = 200, message = "successful operation", response = ModelApiResponse::class)]) + value = [ApiResponse(code = 200, message = "successful operation", response = ModelApiResponse::class)]) @RequestMapping( - value = ["/pet/{petId}/uploadImage"], - produces = ["application/json"], - consumes = ["multipart/form-data"], - method = [RequestMethod.POST]) + value = ["/pet/{petId}/uploadImage"], + produces = ["application/json"], + consumes = ["multipart/form-data"], + method = [RequestMethod.POST]) suspend fun uploadFile(@ApiParam(value = "ID of pet to update", required=true) @PathVariable("petId") petId: kotlin.Long ,@ApiParam(value = "Additional data to pass to server") @RequestParam(value="additionalMetadata", required=false) additionalMetadata: kotlin.String? ,@ApiParam(value = "file detail") @Valid @RequestPart("file") file: org.springframework.core.io.Resource? diff --git a/samples/server/petstore/kotlin-springboot-reactive/src/main/kotlin/org/openapitools/api/StoreApi.kt b/samples/server/petstore/kotlin-springboot-reactive/src/main/kotlin/org/openapitools/api/StoreApi.kt index c02953e92a..e61c947c0b 100644 --- a/samples/server/petstore/kotlin-springboot-reactive/src/main/kotlin/org/openapitools/api/StoreApi.kt +++ b/samples/server/petstore/kotlin-springboot-reactive/src/main/kotlin/org/openapitools/api/StoreApi.kt @@ -44,63 +44,63 @@ import kotlin.collections.Map class StoreApiController(@Autowired(required = true) val service: StoreApiService) { @ApiOperation( - value = "Delete purchase order by ID", - nickname = "deleteOrder", - notes = "For valid response try integer IDs with value < 1000. Anything above 1000 or nonintegers will generate API errors") + value = "Delete purchase order by ID", + nickname = "deleteOrder", + notes = "For valid response try integer IDs with value < 1000. Anything above 1000 or nonintegers will generate API errors") @ApiResponses( - value = [ApiResponse(code = 400, message = "Invalid ID supplied"),ApiResponse(code = 404, message = "Order not found")]) + value = [ApiResponse(code = 400, message = "Invalid ID supplied"),ApiResponse(code = 404, message = "Order not found")]) @RequestMapping( - value = ["/store/order/{orderId}"], - method = [RequestMethod.DELETE]) + value = ["/store/order/{orderId}"], + method = [RequestMethod.DELETE]) suspend fun deleteOrder(@ApiParam(value = "ID of the order that needs to be deleted", required=true) @PathVariable("orderId") orderId: kotlin.String ): ResponseEntity { return ResponseEntity(service.deleteOrder(orderId), HttpStatus.valueOf(400)) } @ApiOperation( - value = "Returns pet inventories by status", - nickname = "getInventory", - notes = "Returns a map of status codes to quantities", - response = kotlin.Int::class, - responseContainer = "Map", - authorizations = [Authorization(value = "api_key")]) + value = "Returns pet inventories by status", + nickname = "getInventory", + notes = "Returns a map of status codes to quantities", + response = kotlin.Int::class, + responseContainer = "Map", + authorizations = [Authorization(value = "api_key")]) @ApiResponses( - value = [ApiResponse(code = 200, message = "successful operation", response = kotlin.collections.Map::class, responseContainer = "Map")]) + value = [ApiResponse(code = 200, message = "successful operation", response = kotlin.collections.Map::class, responseContainer = "Map")]) @RequestMapping( - value = ["/store/inventory"], - produces = ["application/json"], - method = [RequestMethod.GET]) + value = ["/store/inventory"], + produces = ["application/json"], + method = [RequestMethod.GET]) suspend fun getInventory(): ResponseEntity> { return ResponseEntity(service.getInventory(), HttpStatus.valueOf(200)) } @ApiOperation( - value = "Find purchase order by ID", - nickname = "getOrderById", - notes = "For valid response try integer IDs with value <= 5 or > 10. Other values will generated exceptions", - response = Order::class) + value = "Find purchase order by ID", + nickname = "getOrderById", + notes = "For valid response try integer IDs with value <= 5 or > 10. Other values will generated exceptions", + response = Order::class) @ApiResponses( - value = [ApiResponse(code = 200, message = "successful operation", response = Order::class),ApiResponse(code = 400, message = "Invalid ID supplied"),ApiResponse(code = 404, message = "Order not found")]) + value = [ApiResponse(code = 200, message = "successful operation", response = Order::class),ApiResponse(code = 400, message = "Invalid ID supplied"),ApiResponse(code = 404, message = "Order not found")]) @RequestMapping( - value = ["/store/order/{orderId}"], - produces = ["application/xml", "application/json"], - method = [RequestMethod.GET]) + value = ["/store/order/{orderId}"], + produces = ["application/xml", "application/json"], + method = [RequestMethod.GET]) suspend fun getOrderById(@Min(1L) @Max(5L) @ApiParam(value = "ID of pet that needs to be fetched", required=true) @PathVariable("orderId") orderId: kotlin.Long ): ResponseEntity { return ResponseEntity(service.getOrderById(orderId), HttpStatus.valueOf(200)) } @ApiOperation( - value = "Place an order for a pet", - nickname = "placeOrder", - notes = "", - response = Order::class) + value = "Place an order for a pet", + nickname = "placeOrder", + notes = "", + response = Order::class) @ApiResponses( - value = [ApiResponse(code = 200, message = "successful operation", response = Order::class),ApiResponse(code = 400, message = "Invalid Order")]) + value = [ApiResponse(code = 200, message = "successful operation", response = Order::class),ApiResponse(code = 400, message = "Invalid Order")]) @RequestMapping( - value = ["/store/order"], - produces = ["application/xml", "application/json"], - method = [RequestMethod.POST]) + value = ["/store/order"], + produces = ["application/xml", "application/json"], + method = [RequestMethod.POST]) suspend fun placeOrder(@ApiParam(value = "order placed for purchasing the pet" ,required=true ) @Valid @RequestBody body: Order ): ResponseEntity { return ResponseEntity(service.placeOrder(body), HttpStatus.valueOf(200)) diff --git a/samples/server/petstore/kotlin-springboot-reactive/src/main/kotlin/org/openapitools/api/UserApi.kt b/samples/server/petstore/kotlin-springboot-reactive/src/main/kotlin/org/openapitools/api/UserApi.kt index 1cb3dc04a5..4f04e676da 100644 --- a/samples/server/petstore/kotlin-springboot-reactive/src/main/kotlin/org/openapitools/api/UserApi.kt +++ b/samples/server/petstore/kotlin-springboot-reactive/src/main/kotlin/org/openapitools/api/UserApi.kt @@ -44,88 +44,88 @@ import kotlin.collections.Map class UserApiController(@Autowired(required = true) val service: UserApiService) { @ApiOperation( - value = "Create user", - nickname = "createUser", - notes = "This can only be done by the logged in user.") + value = "Create user", + nickname = "createUser", + notes = "This can only be done by the logged in user.") @ApiResponses( - value = [ApiResponse(code = 200, message = "successful operation")]) + value = [ApiResponse(code = 200, message = "successful operation")]) @RequestMapping( - value = ["/user"], - method = [RequestMethod.POST]) + value = ["/user"], + method = [RequestMethod.POST]) suspend fun createUser(@ApiParam(value = "Created user object" ,required=true ) @Valid @RequestBody body: User ): ResponseEntity { return ResponseEntity(service.createUser(body), HttpStatus.valueOf(200)) } @ApiOperation( - value = "Creates list of users with given input array", - nickname = "createUsersWithArrayInput", - notes = "") + value = "Creates list of users with given input array", + nickname = "createUsersWithArrayInput", + notes = "") @ApiResponses( - value = [ApiResponse(code = 200, message = "successful operation")]) + value = [ApiResponse(code = 200, message = "successful operation")]) @RequestMapping( - value = ["/user/createWithArray"], - method = [RequestMethod.POST]) + value = ["/user/createWithArray"], + method = [RequestMethod.POST]) suspend fun createUsersWithArrayInput(@ApiParam(value = "List of user object" ,required=true ) @Valid @RequestBody body: Flow ): ResponseEntity { return ResponseEntity(service.createUsersWithArrayInput(body), HttpStatus.valueOf(200)) } @ApiOperation( - value = "Creates list of users with given input array", - nickname = "createUsersWithListInput", - notes = "") + value = "Creates list of users with given input array", + nickname = "createUsersWithListInput", + notes = "") @ApiResponses( - value = [ApiResponse(code = 200, message = "successful operation")]) + value = [ApiResponse(code = 200, message = "successful operation")]) @RequestMapping( - value = ["/user/createWithList"], - method = [RequestMethod.POST]) + value = ["/user/createWithList"], + method = [RequestMethod.POST]) suspend fun createUsersWithListInput(@ApiParam(value = "List of user object" ,required=true ) @Valid @RequestBody body: Flow ): ResponseEntity { return ResponseEntity(service.createUsersWithListInput(body), HttpStatus.valueOf(200)) } @ApiOperation( - value = "Delete user", - nickname = "deleteUser", - notes = "This can only be done by the logged in user.") + value = "Delete user", + nickname = "deleteUser", + notes = "This can only be done by the logged in user.") @ApiResponses( - value = [ApiResponse(code = 400, message = "Invalid username supplied"),ApiResponse(code = 404, message = "User not found")]) + value = [ApiResponse(code = 400, message = "Invalid username supplied"),ApiResponse(code = 404, message = "User not found")]) @RequestMapping( - value = ["/user/{username}"], - method = [RequestMethod.DELETE]) + value = ["/user/{username}"], + method = [RequestMethod.DELETE]) suspend fun deleteUser(@ApiParam(value = "The name that needs to be deleted", required=true) @PathVariable("username") username: kotlin.String ): ResponseEntity { return ResponseEntity(service.deleteUser(username), HttpStatus.valueOf(400)) } @ApiOperation( - value = "Get user by user name", - nickname = "getUserByName", - notes = "", - response = User::class) + value = "Get user by user name", + nickname = "getUserByName", + notes = "", + response = User::class) @ApiResponses( - value = [ApiResponse(code = 200, message = "successful operation", response = User::class),ApiResponse(code = 400, message = "Invalid username supplied"),ApiResponse(code = 404, message = "User not found")]) + value = [ApiResponse(code = 200, message = "successful operation", response = User::class),ApiResponse(code = 400, message = "Invalid username supplied"),ApiResponse(code = 404, message = "User not found")]) @RequestMapping( - value = ["/user/{username}"], - produces = ["application/xml", "application/json"], - method = [RequestMethod.GET]) + value = ["/user/{username}"], + produces = ["application/xml", "application/json"], + method = [RequestMethod.GET]) suspend fun getUserByName(@ApiParam(value = "The name that needs to be fetched. Use user1 for testing.", required=true) @PathVariable("username") username: kotlin.String ): ResponseEntity { return ResponseEntity(service.getUserByName(username), HttpStatus.valueOf(200)) } @ApiOperation( - value = "Logs user into the system", - nickname = "loginUser", - notes = "", - response = kotlin.String::class) + value = "Logs user into the system", + nickname = "loginUser", + notes = "", + response = kotlin.String::class) @ApiResponses( - value = [ApiResponse(code = 200, message = "successful operation", response = kotlin.String::class),ApiResponse(code = 400, message = "Invalid username/password supplied")]) + value = [ApiResponse(code = 200, message = "successful operation", response = kotlin.String::class),ApiResponse(code = 400, message = "Invalid username/password supplied")]) @RequestMapping( - value = ["/user/login"], - produces = ["application/xml", "application/json"], - method = [RequestMethod.GET]) + value = ["/user/login"], + produces = ["application/xml", "application/json"], + method = [RequestMethod.GET]) suspend fun loginUser(@NotNull @ApiParam(value = "The user name for login", required = true) @Valid @RequestParam(value = "username", required = true) username: kotlin.String ,@NotNull @ApiParam(value = "The password for login in clear text", required = true) @Valid @RequestParam(value = "password", required = true) password: kotlin.String ): ResponseEntity { @@ -133,27 +133,27 @@ class UserApiController(@Autowired(required = true) val service: UserApiService) } @ApiOperation( - value = "Logs out current logged in user session", - nickname = "logoutUser", - notes = "") + value = "Logs out current logged in user session", + nickname = "logoutUser", + notes = "") @ApiResponses( - value = [ApiResponse(code = 200, message = "successful operation")]) + value = [ApiResponse(code = 200, message = "successful operation")]) @RequestMapping( - value = ["/user/logout"], - method = [RequestMethod.GET]) + value = ["/user/logout"], + method = [RequestMethod.GET]) suspend fun logoutUser(): ResponseEntity { return ResponseEntity(service.logoutUser(), HttpStatus.valueOf(200)) } @ApiOperation( - value = "Updated user", - nickname = "updateUser", - notes = "This can only be done by the logged in user.") + value = "Updated user", + nickname = "updateUser", + notes = "This can only be done by the logged in user.") @ApiResponses( - value = [ApiResponse(code = 400, message = "Invalid user supplied"),ApiResponse(code = 404, message = "User not found")]) + value = [ApiResponse(code = 400, message = "Invalid user supplied"),ApiResponse(code = 404, message = "User not found")]) @RequestMapping( - value = ["/user/{username}"], - method = [RequestMethod.PUT]) + value = ["/user/{username}"], + method = [RequestMethod.PUT]) suspend fun updateUser(@ApiParam(value = "name that need to be deleted", required=true) @PathVariable("username") username: kotlin.String ,@ApiParam(value = "Updated user object" ,required=true ) @Valid @RequestBody body: User ): ResponseEntity { diff --git a/samples/server/petstore/kotlin-springboot/src/main/kotlin/org/openapitools/api/PetApi.kt b/samples/server/petstore/kotlin-springboot/src/main/kotlin/org/openapitools/api/PetApi.kt index 6beea7c3be..b500f91556 100644 --- a/samples/server/petstore/kotlin-springboot/src/main/kotlin/org/openapitools/api/PetApi.kt +++ b/samples/server/petstore/kotlin-springboot/src/main/kotlin/org/openapitools/api/PetApi.kt @@ -44,31 +44,31 @@ import kotlin.collections.Map class PetApiController(@Autowired(required = true) val service: PetApiService) { @ApiOperation( - value = "Add a new pet to the store", - nickname = "addPet", - notes = "", - authorizations = [Authorization(value = "petstore_auth", scopes = [AuthorizationScope(scope = "write:pets", description = "modify pets in your account"), AuthorizationScope(scope = "read:pets", description = "read your pets")])]) + value = "Add a new pet to the store", + nickname = "addPet", + notes = "", + authorizations = [Authorization(value = "petstore_auth", scopes = [AuthorizationScope(scope = "write:pets", description = "modify pets in your account"), AuthorizationScope(scope = "read:pets", description = "read your pets")])]) @ApiResponses( - value = [ApiResponse(code = 405, message = "Invalid input")]) + value = [ApiResponse(code = 405, message = "Invalid input")]) @RequestMapping( - value = ["/pet"], - consumes = ["application/json", "application/xml"], - method = [RequestMethod.POST]) + value = ["/pet"], + consumes = ["application/json", "application/xml"], + method = [RequestMethod.POST]) fun addPet(@ApiParam(value = "Pet object that needs to be added to the store" ,required=true ) @Valid @RequestBody body: Pet ): ResponseEntity { return ResponseEntity(service.addPet(body), HttpStatus.valueOf(405)) } @ApiOperation( - value = "Deletes a pet", - nickname = "deletePet", - notes = "", - authorizations = [Authorization(value = "petstore_auth", scopes = [AuthorizationScope(scope = "write:pets", description = "modify pets in your account"), AuthorizationScope(scope = "read:pets", description = "read your pets")])]) + value = "Deletes a pet", + nickname = "deletePet", + notes = "", + authorizations = [Authorization(value = "petstore_auth", scopes = [AuthorizationScope(scope = "write:pets", description = "modify pets in your account"), AuthorizationScope(scope = "read:pets", description = "read your pets")])]) @ApiResponses( - value = [ApiResponse(code = 400, message = "Invalid pet value")]) + value = [ApiResponse(code = 400, message = "Invalid pet value")]) @RequestMapping( - value = ["/pet/{petId}"], - method = [RequestMethod.DELETE]) + value = ["/pet/{petId}"], + method = [RequestMethod.DELETE]) fun deletePet(@ApiParam(value = "Pet id to delete", required=true) @PathVariable("petId") petId: kotlin.Long ,@ApiParam(value = "" ) @RequestHeader(value="api_key", required=false) apiKey: kotlin.String? ): ResponseEntity { @@ -76,85 +76,85 @@ class PetApiController(@Autowired(required = true) val service: PetApiService) { } @ApiOperation( - value = "Finds Pets by status", - nickname = "findPetsByStatus", - notes = "Multiple status values can be provided with comma separated strings", - response = Pet::class, - responseContainer = "List", - authorizations = [Authorization(value = "petstore_auth", scopes = [AuthorizationScope(scope = "write:pets", description = "modify pets in your account"), AuthorizationScope(scope = "read:pets", description = "read your pets")])]) + value = "Finds Pets by status", + nickname = "findPetsByStatus", + notes = "Multiple status values can be provided with comma separated strings", + response = Pet::class, + responseContainer = "List", + authorizations = [Authorization(value = "petstore_auth", scopes = [AuthorizationScope(scope = "write:pets", description = "modify pets in your account"), AuthorizationScope(scope = "read:pets", description = "read your pets")])]) @ApiResponses( - value = [ApiResponse(code = 200, message = "successful operation", response = Pet::class, responseContainer = "List"),ApiResponse(code = 400, message = "Invalid status value")]) + value = [ApiResponse(code = 200, message = "successful operation", response = Pet::class, responseContainer = "List"),ApiResponse(code = 400, message = "Invalid status value")]) @RequestMapping( - value = ["/pet/findByStatus"], - produces = ["application/xml", "application/json"], - method = [RequestMethod.GET]) + value = ["/pet/findByStatus"], + produces = ["application/xml", "application/json"], + method = [RequestMethod.GET]) fun findPetsByStatus(@NotNull @ApiParam(value = "Status values that need to be considered for filter", required = true, allowableValues = "available, pending, sold") @Valid @RequestParam(value = "status", required = true) status: kotlin.collections.List ): ResponseEntity> { return ResponseEntity(service.findPetsByStatus(status), HttpStatus.valueOf(200)) } @ApiOperation( - value = "Finds Pets by tags", - nickname = "findPetsByTags", - notes = "Multiple tags can be provided with comma separated strings. Use tag1, tag2, tag3 for testing.", - response = Pet::class, - responseContainer = "List", - authorizations = [Authorization(value = "petstore_auth", scopes = [AuthorizationScope(scope = "write:pets", description = "modify pets in your account"), AuthorizationScope(scope = "read:pets", description = "read your pets")])]) + value = "Finds Pets by tags", + nickname = "findPetsByTags", + notes = "Multiple tags can be provided with comma separated strings. Use tag1, tag2, tag3 for testing.", + response = Pet::class, + responseContainer = "List", + authorizations = [Authorization(value = "petstore_auth", scopes = [AuthorizationScope(scope = "write:pets", description = "modify pets in your account"), AuthorizationScope(scope = "read:pets", description = "read your pets")])]) @ApiResponses( - value = [ApiResponse(code = 200, message = "successful operation", response = Pet::class, responseContainer = "List"),ApiResponse(code = 400, message = "Invalid tag value")]) + value = [ApiResponse(code = 200, message = "successful operation", response = Pet::class, responseContainer = "List"),ApiResponse(code = 400, message = "Invalid tag value")]) @RequestMapping( - value = ["/pet/findByTags"], - produces = ["application/xml", "application/json"], - method = [RequestMethod.GET]) + value = ["/pet/findByTags"], + produces = ["application/xml", "application/json"], + method = [RequestMethod.GET]) fun findPetsByTags(@NotNull @ApiParam(value = "Tags to filter by", required = true) @Valid @RequestParam(value = "tags", required = true) tags: kotlin.collections.List ): ResponseEntity> { return ResponseEntity(service.findPetsByTags(tags), HttpStatus.valueOf(200)) } @ApiOperation( - value = "Find pet by ID", - nickname = "getPetById", - notes = "Returns a single pet", - response = Pet::class, - authorizations = [Authorization(value = "api_key")]) + value = "Find pet by ID", + nickname = "getPetById", + notes = "Returns a single pet", + response = Pet::class, + authorizations = [Authorization(value = "api_key")]) @ApiResponses( - value = [ApiResponse(code = 200, message = "successful operation", response = Pet::class),ApiResponse(code = 400, message = "Invalid ID supplied"),ApiResponse(code = 404, message = "Pet not found")]) + value = [ApiResponse(code = 200, message = "successful operation", response = Pet::class),ApiResponse(code = 400, message = "Invalid ID supplied"),ApiResponse(code = 404, message = "Pet not found")]) @RequestMapping( - value = ["/pet/{petId}"], - produces = ["application/xml", "application/json"], - method = [RequestMethod.GET]) + value = ["/pet/{petId}"], + produces = ["application/xml", "application/json"], + method = [RequestMethod.GET]) fun getPetById(@ApiParam(value = "ID of pet to return", required=true) @PathVariable("petId") petId: kotlin.Long ): ResponseEntity { return ResponseEntity(service.getPetById(petId), HttpStatus.valueOf(200)) } @ApiOperation( - value = "Update an existing pet", - nickname = "updatePet", - notes = "", - authorizations = [Authorization(value = "petstore_auth", scopes = [AuthorizationScope(scope = "write:pets", description = "modify pets in your account"), AuthorizationScope(scope = "read:pets", description = "read your pets")])]) + value = "Update an existing pet", + nickname = "updatePet", + notes = "", + authorizations = [Authorization(value = "petstore_auth", scopes = [AuthorizationScope(scope = "write:pets", description = "modify pets in your account"), AuthorizationScope(scope = "read:pets", description = "read your pets")])]) @ApiResponses( - value = [ApiResponse(code = 400, message = "Invalid ID supplied"),ApiResponse(code = 404, message = "Pet not found"),ApiResponse(code = 405, message = "Validation exception")]) + value = [ApiResponse(code = 400, message = "Invalid ID supplied"),ApiResponse(code = 404, message = "Pet not found"),ApiResponse(code = 405, message = "Validation exception")]) @RequestMapping( - value = ["/pet"], - consumes = ["application/json", "application/xml"], - method = [RequestMethod.PUT]) + value = ["/pet"], + consumes = ["application/json", "application/xml"], + method = [RequestMethod.PUT]) fun updatePet(@ApiParam(value = "Pet object that needs to be added to the store" ,required=true ) @Valid @RequestBody body: Pet ): ResponseEntity { return ResponseEntity(service.updatePet(body), HttpStatus.valueOf(400)) } @ApiOperation( - value = "Updates a pet in the store with form data", - nickname = "updatePetWithForm", - notes = "", - authorizations = [Authorization(value = "petstore_auth", scopes = [AuthorizationScope(scope = "write:pets", description = "modify pets in your account"), AuthorizationScope(scope = "read:pets", description = "read your pets")])]) + value = "Updates a pet in the store with form data", + nickname = "updatePetWithForm", + notes = "", + authorizations = [Authorization(value = "petstore_auth", scopes = [AuthorizationScope(scope = "write:pets", description = "modify pets in your account"), AuthorizationScope(scope = "read:pets", description = "read your pets")])]) @ApiResponses( - value = [ApiResponse(code = 405, message = "Invalid input")]) + value = [ApiResponse(code = 405, message = "Invalid input")]) @RequestMapping( - value = ["/pet/{petId}"], - consumes = ["application/x-www-form-urlencoded"], - method = [RequestMethod.POST]) + value = ["/pet/{petId}"], + consumes = ["application/x-www-form-urlencoded"], + method = [RequestMethod.POST]) fun updatePetWithForm(@ApiParam(value = "ID of pet that needs to be updated", required=true) @PathVariable("petId") petId: kotlin.Long ,@ApiParam(value = "Updated name of the pet") @RequestParam(value="name", required=false) name: kotlin.String? ,@ApiParam(value = "Updated status of the pet") @RequestParam(value="status", required=false) status: kotlin.String? @@ -163,18 +163,18 @@ class PetApiController(@Autowired(required = true) val service: PetApiService) { } @ApiOperation( - value = "uploads an image", - nickname = "uploadFile", - notes = "", - response = ModelApiResponse::class, - authorizations = [Authorization(value = "petstore_auth", scopes = [AuthorizationScope(scope = "write:pets", description = "modify pets in your account"), AuthorizationScope(scope = "read:pets", description = "read your pets")])]) + value = "uploads an image", + nickname = "uploadFile", + notes = "", + response = ModelApiResponse::class, + authorizations = [Authorization(value = "petstore_auth", scopes = [AuthorizationScope(scope = "write:pets", description = "modify pets in your account"), AuthorizationScope(scope = "read:pets", description = "read your pets")])]) @ApiResponses( - value = [ApiResponse(code = 200, message = "successful operation", response = ModelApiResponse::class)]) + value = [ApiResponse(code = 200, message = "successful operation", response = ModelApiResponse::class)]) @RequestMapping( - value = ["/pet/{petId}/uploadImage"], - produces = ["application/json"], - consumes = ["multipart/form-data"], - method = [RequestMethod.POST]) + value = ["/pet/{petId}/uploadImage"], + produces = ["application/json"], + consumes = ["multipart/form-data"], + method = [RequestMethod.POST]) fun uploadFile(@ApiParam(value = "ID of pet to update", required=true) @PathVariable("petId") petId: kotlin.Long ,@ApiParam(value = "Additional data to pass to server") @RequestParam(value="additionalMetadata", required=false) additionalMetadata: kotlin.String? ,@ApiParam(value = "file detail") @Valid @RequestPart("file") file: org.springframework.core.io.Resource? diff --git a/samples/server/petstore/kotlin-springboot/src/main/kotlin/org/openapitools/api/StoreApi.kt b/samples/server/petstore/kotlin-springboot/src/main/kotlin/org/openapitools/api/StoreApi.kt index a3ba066c21..71017e33a5 100644 --- a/samples/server/petstore/kotlin-springboot/src/main/kotlin/org/openapitools/api/StoreApi.kt +++ b/samples/server/petstore/kotlin-springboot/src/main/kotlin/org/openapitools/api/StoreApi.kt @@ -43,63 +43,63 @@ import kotlin.collections.Map class StoreApiController(@Autowired(required = true) val service: StoreApiService) { @ApiOperation( - value = "Delete purchase order by ID", - nickname = "deleteOrder", - notes = "For valid response try integer IDs with value < 1000. Anything above 1000 or nonintegers will generate API errors") + value = "Delete purchase order by ID", + nickname = "deleteOrder", + notes = "For valid response try integer IDs with value < 1000. Anything above 1000 or nonintegers will generate API errors") @ApiResponses( - value = [ApiResponse(code = 400, message = "Invalid ID supplied"),ApiResponse(code = 404, message = "Order not found")]) + value = [ApiResponse(code = 400, message = "Invalid ID supplied"),ApiResponse(code = 404, message = "Order not found")]) @RequestMapping( - value = ["/store/order/{orderId}"], - method = [RequestMethod.DELETE]) + value = ["/store/order/{orderId}"], + method = [RequestMethod.DELETE]) fun deleteOrder(@ApiParam(value = "ID of the order that needs to be deleted", required=true) @PathVariable("orderId") orderId: kotlin.String ): ResponseEntity { return ResponseEntity(service.deleteOrder(orderId), HttpStatus.valueOf(400)) } @ApiOperation( - value = "Returns pet inventories by status", - nickname = "getInventory", - notes = "Returns a map of status codes to quantities", - response = kotlin.Int::class, - responseContainer = "Map", - authorizations = [Authorization(value = "api_key")]) + value = "Returns pet inventories by status", + nickname = "getInventory", + notes = "Returns a map of status codes to quantities", + response = kotlin.Int::class, + responseContainer = "Map", + authorizations = [Authorization(value = "api_key")]) @ApiResponses( - value = [ApiResponse(code = 200, message = "successful operation", response = kotlin.collections.Map::class, responseContainer = "Map")]) + value = [ApiResponse(code = 200, message = "successful operation", response = kotlin.collections.Map::class, responseContainer = "Map")]) @RequestMapping( - value = ["/store/inventory"], - produces = ["application/json"], - method = [RequestMethod.GET]) + value = ["/store/inventory"], + produces = ["application/json"], + method = [RequestMethod.GET]) fun getInventory(): ResponseEntity> { return ResponseEntity(service.getInventory(), HttpStatus.valueOf(200)) } @ApiOperation( - value = "Find purchase order by ID", - nickname = "getOrderById", - notes = "For valid response try integer IDs with value <= 5 or > 10. Other values will generated exceptions", - response = Order::class) + value = "Find purchase order by ID", + nickname = "getOrderById", + notes = "For valid response try integer IDs with value <= 5 or > 10. Other values will generated exceptions", + response = Order::class) @ApiResponses( - value = [ApiResponse(code = 200, message = "successful operation", response = Order::class),ApiResponse(code = 400, message = "Invalid ID supplied"),ApiResponse(code = 404, message = "Order not found")]) + value = [ApiResponse(code = 200, message = "successful operation", response = Order::class),ApiResponse(code = 400, message = "Invalid ID supplied"),ApiResponse(code = 404, message = "Order not found")]) @RequestMapping( - value = ["/store/order/{orderId}"], - produces = ["application/xml", "application/json"], - method = [RequestMethod.GET]) + value = ["/store/order/{orderId}"], + produces = ["application/xml", "application/json"], + method = [RequestMethod.GET]) fun getOrderById(@Min(1L) @Max(5L) @ApiParam(value = "ID of pet that needs to be fetched", required=true) @PathVariable("orderId") orderId: kotlin.Long ): ResponseEntity { return ResponseEntity(service.getOrderById(orderId), HttpStatus.valueOf(200)) } @ApiOperation( - value = "Place an order for a pet", - nickname = "placeOrder", - notes = "", - response = Order::class) + value = "Place an order for a pet", + nickname = "placeOrder", + notes = "", + response = Order::class) @ApiResponses( - value = [ApiResponse(code = 200, message = "successful operation", response = Order::class),ApiResponse(code = 400, message = "Invalid Order")]) + value = [ApiResponse(code = 200, message = "successful operation", response = Order::class),ApiResponse(code = 400, message = "Invalid Order")]) @RequestMapping( - value = ["/store/order"], - produces = ["application/xml", "application/json"], - method = [RequestMethod.POST]) + value = ["/store/order"], + produces = ["application/xml", "application/json"], + method = [RequestMethod.POST]) fun placeOrder(@ApiParam(value = "order placed for purchasing the pet" ,required=true ) @Valid @RequestBody body: Order ): ResponseEntity { return ResponseEntity(service.placeOrder(body), HttpStatus.valueOf(200)) diff --git a/samples/server/petstore/kotlin-springboot/src/main/kotlin/org/openapitools/api/UserApi.kt b/samples/server/petstore/kotlin-springboot/src/main/kotlin/org/openapitools/api/UserApi.kt index 0a77ac8ecd..1dbc304d88 100644 --- a/samples/server/petstore/kotlin-springboot/src/main/kotlin/org/openapitools/api/UserApi.kt +++ b/samples/server/petstore/kotlin-springboot/src/main/kotlin/org/openapitools/api/UserApi.kt @@ -43,88 +43,88 @@ import kotlin.collections.Map class UserApiController(@Autowired(required = true) val service: UserApiService) { @ApiOperation( - value = "Create user", - nickname = "createUser", - notes = "This can only be done by the logged in user.") + value = "Create user", + nickname = "createUser", + notes = "This can only be done by the logged in user.") @ApiResponses( - value = [ApiResponse(code = 200, message = "successful operation")]) + value = [ApiResponse(code = 200, message = "successful operation")]) @RequestMapping( - value = ["/user"], - method = [RequestMethod.POST]) + value = ["/user"], + method = [RequestMethod.POST]) fun createUser(@ApiParam(value = "Created user object" ,required=true ) @Valid @RequestBody body: User ): ResponseEntity { return ResponseEntity(service.createUser(body), HttpStatus.valueOf(200)) } @ApiOperation( - value = "Creates list of users with given input array", - nickname = "createUsersWithArrayInput", - notes = "") + value = "Creates list of users with given input array", + nickname = "createUsersWithArrayInput", + notes = "") @ApiResponses( - value = [ApiResponse(code = 200, message = "successful operation")]) + value = [ApiResponse(code = 200, message = "successful operation")]) @RequestMapping( - value = ["/user/createWithArray"], - method = [RequestMethod.POST]) + value = ["/user/createWithArray"], + method = [RequestMethod.POST]) fun createUsersWithArrayInput(@ApiParam(value = "List of user object" ,required=true ) @Valid @RequestBody body: kotlin.collections.List ): ResponseEntity { return ResponseEntity(service.createUsersWithArrayInput(body), HttpStatus.valueOf(200)) } @ApiOperation( - value = "Creates list of users with given input array", - nickname = "createUsersWithListInput", - notes = "") + value = "Creates list of users with given input array", + nickname = "createUsersWithListInput", + notes = "") @ApiResponses( - value = [ApiResponse(code = 200, message = "successful operation")]) + value = [ApiResponse(code = 200, message = "successful operation")]) @RequestMapping( - value = ["/user/createWithList"], - method = [RequestMethod.POST]) + value = ["/user/createWithList"], + method = [RequestMethod.POST]) fun createUsersWithListInput(@ApiParam(value = "List of user object" ,required=true ) @Valid @RequestBody body: kotlin.collections.List ): ResponseEntity { return ResponseEntity(service.createUsersWithListInput(body), HttpStatus.valueOf(200)) } @ApiOperation( - value = "Delete user", - nickname = "deleteUser", - notes = "This can only be done by the logged in user.") + value = "Delete user", + nickname = "deleteUser", + notes = "This can only be done by the logged in user.") @ApiResponses( - value = [ApiResponse(code = 400, message = "Invalid username supplied"),ApiResponse(code = 404, message = "User not found")]) + value = [ApiResponse(code = 400, message = "Invalid username supplied"),ApiResponse(code = 404, message = "User not found")]) @RequestMapping( - value = ["/user/{username}"], - method = [RequestMethod.DELETE]) + value = ["/user/{username}"], + method = [RequestMethod.DELETE]) fun deleteUser(@ApiParam(value = "The name that needs to be deleted", required=true) @PathVariable("username") username: kotlin.String ): ResponseEntity { return ResponseEntity(service.deleteUser(username), HttpStatus.valueOf(400)) } @ApiOperation( - value = "Get user by user name", - nickname = "getUserByName", - notes = "", - response = User::class) + value = "Get user by user name", + nickname = "getUserByName", + notes = "", + response = User::class) @ApiResponses( - value = [ApiResponse(code = 200, message = "successful operation", response = User::class),ApiResponse(code = 400, message = "Invalid username supplied"),ApiResponse(code = 404, message = "User not found")]) + value = [ApiResponse(code = 200, message = "successful operation", response = User::class),ApiResponse(code = 400, message = "Invalid username supplied"),ApiResponse(code = 404, message = "User not found")]) @RequestMapping( - value = ["/user/{username}"], - produces = ["application/xml", "application/json"], - method = [RequestMethod.GET]) + value = ["/user/{username}"], + produces = ["application/xml", "application/json"], + method = [RequestMethod.GET]) fun getUserByName(@ApiParam(value = "The name that needs to be fetched. Use user1 for testing.", required=true) @PathVariable("username") username: kotlin.String ): ResponseEntity { return ResponseEntity(service.getUserByName(username), HttpStatus.valueOf(200)) } @ApiOperation( - value = "Logs user into the system", - nickname = "loginUser", - notes = "", - response = kotlin.String::class) + value = "Logs user into the system", + nickname = "loginUser", + notes = "", + response = kotlin.String::class) @ApiResponses( - value = [ApiResponse(code = 200, message = "successful operation", response = kotlin.String::class),ApiResponse(code = 400, message = "Invalid username/password supplied")]) + value = [ApiResponse(code = 200, message = "successful operation", response = kotlin.String::class),ApiResponse(code = 400, message = "Invalid username/password supplied")]) @RequestMapping( - value = ["/user/login"], - produces = ["application/xml", "application/json"], - method = [RequestMethod.GET]) + value = ["/user/login"], + produces = ["application/xml", "application/json"], + method = [RequestMethod.GET]) fun loginUser(@NotNull @ApiParam(value = "The user name for login", required = true) @Valid @RequestParam(value = "username", required = true) username: kotlin.String ,@NotNull @ApiParam(value = "The password for login in clear text", required = true) @Valid @RequestParam(value = "password", required = true) password: kotlin.String ): ResponseEntity { @@ -132,27 +132,27 @@ class UserApiController(@Autowired(required = true) val service: UserApiService) } @ApiOperation( - value = "Logs out current logged in user session", - nickname = "logoutUser", - notes = "") + value = "Logs out current logged in user session", + nickname = "logoutUser", + notes = "") @ApiResponses( - value = [ApiResponse(code = 200, message = "successful operation")]) + value = [ApiResponse(code = 200, message = "successful operation")]) @RequestMapping( - value = ["/user/logout"], - method = [RequestMethod.GET]) + value = ["/user/logout"], + method = [RequestMethod.GET]) fun logoutUser(): ResponseEntity { return ResponseEntity(service.logoutUser(), HttpStatus.valueOf(200)) } @ApiOperation( - value = "Updated user", - nickname = "updateUser", - notes = "This can only be done by the logged in user.") + value = "Updated user", + nickname = "updateUser", + notes = "This can only be done by the logged in user.") @ApiResponses( - value = [ApiResponse(code = 400, message = "Invalid user supplied"),ApiResponse(code = 404, message = "User not found")]) + value = [ApiResponse(code = 400, message = "Invalid user supplied"),ApiResponse(code = 404, message = "User not found")]) @RequestMapping( - value = ["/user/{username}"], - method = [RequestMethod.PUT]) + value = ["/user/{username}"], + method = [RequestMethod.PUT]) fun updateUser(@ApiParam(value = "name that need to be deleted", required=true) @PathVariable("username") username: kotlin.String ,@ApiParam(value = "Updated user object" ,required=true ) @Valid @RequestBody body: User ): ResponseEntity { From 3a1b29b90c0b099e629c48a7b14f33c07a3d7943 Mon Sep 17 00:00:00 2001 From: Rainer Hermanns Date: Fri, 28 Jun 2019 03:48:41 +0200 Subject: [PATCH 09/22] Added special handling for 'string' types with format 'uri' (OpenAPITools#3160) (#3161) - implemented Kotlin - implemented Java Fixes OpenAPITools#3160 --- .../openapitools/codegen/languages/AbstractJavaCodegen.java | 5 +++++ .../codegen/languages/AbstractKotlinCodegen.java | 4 ++++ 2 files changed, 9 insertions(+) diff --git a/modules/openapi-generator/src/main/java/org/openapitools/codegen/languages/AbstractJavaCodegen.java b/modules/openapi-generator/src/main/java/org/openapitools/codegen/languages/AbstractJavaCodegen.java index 882fccb4a2..066f424bfa 100644 --- a/modules/openapi-generator/src/main/java/org/openapitools/codegen/languages/AbstractJavaCodegen.java +++ b/modules/openapi-generator/src/main/java/org/openapitools/codegen/languages/AbstractJavaCodegen.java @@ -784,6 +784,11 @@ public abstract class AbstractJavaCodegen extends DefaultCodegen implements Code return p.getDefault().toString(); } return null; + } else if (ModelUtils.isURISchema(p)) { + if (p.getDefault() != null) { + return "URI.create(\"" + escapeText((String) p.getDefault()) + "\")"; + } + return null; } else if (ModelUtils.isStringSchema(p)) { if (p.getDefault() != null) { String _default = (String) p.getDefault(); diff --git a/modules/openapi-generator/src/main/java/org/openapitools/codegen/languages/AbstractKotlinCodegen.java b/modules/openapi-generator/src/main/java/org/openapitools/codegen/languages/AbstractKotlinCodegen.java index 58d22e5165..438ce57def 100644 --- a/modules/openapi-generator/src/main/java/org/openapitools/codegen/languages/AbstractKotlinCodegen.java +++ b/modules/openapi-generator/src/main/java/org/openapitools/codegen/languages/AbstractKotlinCodegen.java @@ -834,6 +834,10 @@ public abstract class AbstractKotlinCodegen extends DefaultCodegen implements Co if (p.getDefault() != null) { return p.getDefault().toString(); } + } else if (ModelUtils.isURISchema(p)) { + if (p.getDefault() != null) { + return "URI.create('" + p.getDefault() + "')"; + } } else if (ModelUtils.isStringSchema(p)) { if (p.getDefault() != null) { return "'" + p.getDefault() + "'"; From a41448ab9cb8d95c066398c837cfed4d8a939d8e Mon Sep 17 00:00:00 2001 From: wing328 Date: Fri, 28 Jun 2019 16:34:17 +0800 Subject: [PATCH 10/22] update perl petstore samples --- samples/client/petstore/perl/docs/AnotherFakeApi.md | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/samples/client/petstore/perl/docs/AnotherFakeApi.md b/samples/client/petstore/perl/docs/AnotherFakeApi.md index a0b0fd6f8e..87c9e4015b 100644 --- a/samples/client/petstore/perl/docs/AnotherFakeApi.md +++ b/samples/client/petstore/perl/docs/AnotherFakeApi.md @@ -13,7 +13,7 @@ Method | HTTP request | Description # **call_123_test_special_tags** -> Client call_123_test_special_tags(client => $client) +> Client call_123_test_special_tags(body => $body) To test special tags @@ -26,10 +26,10 @@ use WWW::OpenAPIClient::AnotherFakeApi; my $api_instance = WWW::OpenAPIClient::AnotherFakeApi->new( ); -my $client = WWW::OpenAPIClient::Object::Client->new(); # Client | client model +my $body = WWW::OpenAPIClient::Object::Client->new(); # Client | client model eval { - my $result = $api_instance->call_123_test_special_tags(client => $client); + my $result = $api_instance->call_123_test_special_tags(body => $body); print Dumper($result); }; if ($@) { @@ -41,7 +41,7 @@ if ($@) { Name | Type | Description | Notes ------------- | ------------- | ------------- | ------------- - **client** | [**Client**](Client.md)| client model | + **body** | [**Client**](Client.md)| client model | ### Return type From 6578cef2600e7242cde375882586adce003df755 Mon Sep 17 00:00:00 2001 From: Sai Giridhar P Date: Fri, 28 Jun 2019 15:23:25 +0530 Subject: [PATCH 11/22] [python] : Make example code snippet compilable (#3148) * feat(python): Making example compilable * feat(python): Updating pet project * feat(python): Updating comments * feat(documentation): Fixing comments style * feat(documentation): Updating documentation * feat(documentation): Fixing comments style --- .../resources/python/api_doc_example.mustache | 6 ++-- .../resources/python/common_README.mustache | 4 ++- .../client/petstore/python-asyncio/README.md | 4 ++- .../python-asyncio/docs/AnotherFakeApi.md | 2 +- .../petstore/python-asyncio/docs/FakeApi.md | 28 ++++++++------- .../docs/FakeClassnameTags123Api.md | 4 ++- .../petstore/python-asyncio/docs/PetApi.md | 36 ++++++++++++++----- .../petstore/python-asyncio/docs/StoreApi.md | 10 +++--- .../petstore/python-asyncio/docs/UserApi.md | 16 ++++----- .../client/petstore/python-tornado/README.md | 4 ++- .../python-tornado/docs/AnotherFakeApi.md | 2 +- .../petstore/python-tornado/docs/FakeApi.md | 28 ++++++++------- .../docs/FakeClassnameTags123Api.md | 4 ++- .../petstore/python-tornado/docs/PetApi.md | 36 ++++++++++++++----- .../petstore/python-tornado/docs/StoreApi.md | 10 +++--- .../petstore/python-tornado/docs/UserApi.md | 16 ++++----- samples/client/petstore/python/README.md | 4 ++- .../petstore/python/docs/AnotherFakeApi.md | 2 +- .../client/petstore/python/docs/FakeApi.md | 28 ++++++++------- .../python/docs/FakeClassnameTags123Api.md | 4 ++- samples/client/petstore/python/docs/PetApi.md | 36 ++++++++++++++----- .../client/petstore/python/docs/StoreApi.md | 10 +++--- .../client/petstore/python/docs/UserApi.md | 16 ++++----- .../openapi3/client/petstore/python/README.md | 4 ++- .../petstore/python/docs/AnotherFakeApi.md | 2 +- .../client/petstore/python/docs/DefaultApi.md | 2 +- .../client/petstore/python/docs/FakeApi.md | 30 +++++++++------- .../python/docs/FakeClassnameTags123Api.md | 4 ++- .../client/petstore/python/docs/PetApi.md | 36 ++++++++++++++----- .../client/petstore/python/docs/StoreApi.md | 10 +++--- .../client/petstore/python/docs/UserApi.md | 16 ++++----- 31 files changed, 262 insertions(+), 152 deletions(-) diff --git a/modules/openapi-generator/src/main/resources/python/api_doc_example.mustache b/modules/openapi-generator/src/main/resources/python/api_doc_example.mustache index c8f0d8b554..f2d6117a7c 100644 --- a/modules/openapi-generator/src/main/resources/python/api_doc_example.mustache +++ b/modules/openapi-generator/src/main/resources/python/api_doc_example.mustache @@ -6,13 +6,15 @@ from {{{packageName}}}.rest import ApiException from pprint import pprint {{> python_doc_auth_partial}} {{#hasAuthMethods}} -# create an instance of the API class +# Defining host is optional and default to {{{basePath}}} +configuration.host = "{{{basePath}}}" +# Create an instance of the API class api_instance = {{{packageName}}}.{{{classname}}}({{{packageName}}}.ApiClient(configuration)) {{#allParams}}{{paramName}} = {{{example}}} # {{{dataType}}} | {{{description}}}{{^required}} (optional){{/required}}{{#defaultValue}} (default to {{{.}}}){{/defaultValue}} {{/allParams}} {{/hasAuthMethods}} {{^hasAuthMethods}} -# create an instance of the API class +# Create an instance of the API class api_instance = {{{packageName}}}.{{{classname}}}() {{#allParams}}{{paramName}} = {{{example}}} # {{{dataType}}} | {{{description}}}{{^required}} (optional){{/required}}{{#defaultValue}} (default to {{{.}}}){{/defaultValue}} {{/allParams}} diff --git a/modules/openapi-generator/src/main/resources/python/common_README.mustache b/modules/openapi-generator/src/main/resources/python/common_README.mustache index d8e9f94c58..7238703c4b 100644 --- a/modules/openapi-generator/src/main/resources/python/common_README.mustache +++ b/modules/openapi-generator/src/main/resources/python/common_README.mustache @@ -6,7 +6,9 @@ from {{{packageName}}}.rest import ApiException from pprint import pprint {{#apiInfo}}{{#apis}}{{#-first}}{{#operations}}{{#operation}}{{#-first}} {{> python_doc_auth_partial}} -# create an instance of the API class +# Defining host is optional and default to {{{basePath}}} +configuration.host = "{{{basePath}}}" +# Create an instance of the API class api_instance = {{{packageName}}}.{{{classname}}}({{{packageName}}}.ApiClient(configuration)) {{#allParams}}{{paramName}} = {{{example}}} # {{{dataType}}} | {{{description}}}{{^required}} (optional){{/required}}{{#defaultValue}} (default to {{{.}}}){{/defaultValue}} {{/allParams}} diff --git a/samples/client/petstore/python-asyncio/README.md b/samples/client/petstore/python-asyncio/README.md index 221acfa588..27a0490dc0 100644 --- a/samples/client/petstore/python-asyncio/README.md +++ b/samples/client/petstore/python-asyncio/README.md @@ -52,7 +52,9 @@ from petstore_api.rest import ApiException from pprint import pprint -# create an instance of the API class +# Defining host is optional and default to http://petstore.swagger.io:80/v2 +configuration.host = "http://petstore.swagger.io:80/v2" +# Create an instance of the API class api_instance = petstore_api.AnotherFakeApi(petstore_api.ApiClient(configuration)) body = petstore_api.Client() # Client | client model diff --git a/samples/client/petstore/python-asyncio/docs/AnotherFakeApi.md b/samples/client/petstore/python-asyncio/docs/AnotherFakeApi.md index c3f84772cf..3be4009a7d 100644 --- a/samples/client/petstore/python-asyncio/docs/AnotherFakeApi.md +++ b/samples/client/petstore/python-asyncio/docs/AnotherFakeApi.md @@ -23,7 +23,7 @@ import petstore_api from petstore_api.rest import ApiException from pprint import pprint -# create an instance of the API class +# Create an instance of the API class api_instance = petstore_api.AnotherFakeApi() body = petstore_api.Client() # Client | client model diff --git a/samples/client/petstore/python-asyncio/docs/FakeApi.md b/samples/client/petstore/python-asyncio/docs/FakeApi.md index 946a8ce3e7..3aa6aadb2b 100644 --- a/samples/client/petstore/python-asyncio/docs/FakeApi.md +++ b/samples/client/petstore/python-asyncio/docs/FakeApi.md @@ -35,7 +35,7 @@ import petstore_api from petstore_api.rest import ApiException from pprint import pprint -# create an instance of the API class +# Create an instance of the API class api_instance = petstore_api.FakeApi() xml_item = petstore_api.XmlItem() # XmlItem | XmlItem Body @@ -88,7 +88,7 @@ import petstore_api from petstore_api.rest import ApiException from pprint import pprint -# create an instance of the API class +# Create an instance of the API class api_instance = petstore_api.FakeApi() body = True # bool | Input boolean as post body (optional) @@ -141,7 +141,7 @@ import petstore_api from petstore_api.rest import ApiException from pprint import pprint -# create an instance of the API class +# Create an instance of the API class api_instance = petstore_api.FakeApi() body = petstore_api.OuterComposite() # OuterComposite | Input composite as post body (optional) @@ -194,7 +194,7 @@ import petstore_api from petstore_api.rest import ApiException from pprint import pprint -# create an instance of the API class +# Create an instance of the API class api_instance = petstore_api.FakeApi() body = 3.4 # float | Input number as post body (optional) @@ -247,7 +247,7 @@ import petstore_api from petstore_api.rest import ApiException from pprint import pprint -# create an instance of the API class +# Create an instance of the API class api_instance = petstore_api.FakeApi() body = 'body_example' # str | Input string as post body (optional) @@ -300,7 +300,7 @@ import petstore_api from petstore_api.rest import ApiException from pprint import pprint -# create an instance of the API class +# Create an instance of the API class api_instance = petstore_api.FakeApi() body = petstore_api.FileSchemaTestClass() # FileSchemaTestClass | @@ -350,7 +350,7 @@ import petstore_api from petstore_api.rest import ApiException from pprint import pprint -# create an instance of the API class +# Create an instance of the API class api_instance = petstore_api.FakeApi() query = 'query_example' # str | body = petstore_api.User() # User | @@ -404,7 +404,7 @@ import petstore_api from petstore_api.rest import ApiException from pprint import pprint -# create an instance of the API class +# Create an instance of the API class api_instance = petstore_api.FakeApi() body = petstore_api.Client() # Client | client model @@ -463,7 +463,9 @@ configuration = petstore_api.Configuration() configuration.username = 'YOUR_USERNAME' configuration.password = 'YOUR_PASSWORD' -# create an instance of the API class +# Defining host is optional and default to http://petstore.swagger.io:80/v2 +configuration.host = "http://petstore.swagger.io:80/v2" +# Create an instance of the API class api_instance = petstore_api.FakeApi(petstore_api.ApiClient(configuration)) number = 3.4 # float | None double = 3.4 # float | None @@ -543,7 +545,7 @@ import petstore_api from petstore_api.rest import ApiException from pprint import pprint -# create an instance of the API class +# Create an instance of the API class api_instance = petstore_api.FakeApi() enum_header_string_array = ['enum_header_string_array_example'] # list[str] | Header parameter enum test (string array) (optional) enum_header_string = '-efg' # str | Header parameter enum test (string) (optional) (default to '-efg') @@ -611,7 +613,7 @@ import petstore_api from petstore_api.rest import ApiException from pprint import pprint -# create an instance of the API class +# Create an instance of the API class api_instance = petstore_api.FakeApi() required_string_group = 56 # int | Required String in group parameters required_boolean_group = True # bool | Required Boolean in group parameters @@ -672,7 +674,7 @@ import petstore_api from petstore_api.rest import ApiException from pprint import pprint -# create an instance of the API class +# Create an instance of the API class api_instance = petstore_api.FakeApi() param = {'key': 'param_example'} # dict(str, str) | request body @@ -723,7 +725,7 @@ import petstore_api from petstore_api.rest import ApiException from pprint import pprint -# create an instance of the API class +# Create an instance of the API class api_instance = petstore_api.FakeApi() param = 'param_example' # str | field1 param2 = 'param2_example' # str | field2 diff --git a/samples/client/petstore/python-asyncio/docs/FakeClassnameTags123Api.md b/samples/client/petstore/python-asyncio/docs/FakeClassnameTags123Api.md index 7ffcf21122..2fae5e0c77 100644 --- a/samples/client/petstore/python-asyncio/docs/FakeClassnameTags123Api.md +++ b/samples/client/petstore/python-asyncio/docs/FakeClassnameTags123Api.md @@ -29,7 +29,9 @@ configuration.api_key['api_key_query'] = 'YOUR_API_KEY' # Uncomment below to setup prefix (e.g. Bearer) for API key, if needed # configuration.api_key_prefix['api_key_query'] = 'Bearer' -# create an instance of the API class +# Defining host is optional and default to http://petstore.swagger.io:80/v2 +configuration.host = "http://petstore.swagger.io:80/v2" +# Create an instance of the API class api_instance = petstore_api.FakeClassnameTags123Api(petstore_api.ApiClient(configuration)) body = petstore_api.Client() # Client | client model diff --git a/samples/client/petstore/python-asyncio/docs/PetApi.md b/samples/client/petstore/python-asyncio/docs/PetApi.md index 3ed2551bd6..e4df08ee37 100644 --- a/samples/client/petstore/python-asyncio/docs/PetApi.md +++ b/samples/client/petstore/python-asyncio/docs/PetApi.md @@ -33,7 +33,9 @@ configuration = petstore_api.Configuration() # Configure OAuth2 access token for authorization: petstore_auth configuration.access_token = 'YOUR_ACCESS_TOKEN' -# create an instance of the API class +# Defining host is optional and default to http://petstore.swagger.io:80/v2 +configuration.host = "http://petstore.swagger.io:80/v2" +# Create an instance of the API class api_instance = petstore_api.PetApi(petstore_api.ApiClient(configuration)) body = petstore_api.Pet() # Pet | Pet object that needs to be added to the store @@ -89,7 +91,9 @@ configuration = petstore_api.Configuration() # Configure OAuth2 access token for authorization: petstore_auth configuration.access_token = 'YOUR_ACCESS_TOKEN' -# create an instance of the API class +# Defining host is optional and default to http://petstore.swagger.io:80/v2 +configuration.host = "http://petstore.swagger.io:80/v2" +# Create an instance of the API class api_instance = petstore_api.PetApi(petstore_api.ApiClient(configuration)) pet_id = 56 # int | Pet id to delete api_key = 'api_key_example' # str | (optional) @@ -149,7 +153,9 @@ configuration = petstore_api.Configuration() # Configure OAuth2 access token for authorization: petstore_auth configuration.access_token = 'YOUR_ACCESS_TOKEN' -# create an instance of the API class +# Defining host is optional and default to http://petstore.swagger.io:80/v2 +configuration.host = "http://petstore.swagger.io:80/v2" +# Create an instance of the API class api_instance = petstore_api.PetApi(petstore_api.ApiClient(configuration)) status = ['status_example'] # list[str] | Status values that need to be considered for filter @@ -208,7 +214,9 @@ configuration = petstore_api.Configuration() # Configure OAuth2 access token for authorization: petstore_auth configuration.access_token = 'YOUR_ACCESS_TOKEN' -# create an instance of the API class +# Defining host is optional and default to http://petstore.swagger.io:80/v2 +configuration.host = "http://petstore.swagger.io:80/v2" +# Create an instance of the API class api_instance = petstore_api.PetApi(petstore_api.ApiClient(configuration)) tags = ['tags_example'] # list[str] | Tags to filter by @@ -269,7 +277,9 @@ configuration.api_key['api_key'] = 'YOUR_API_KEY' # Uncomment below to setup prefix (e.g. Bearer) for API key, if needed # configuration.api_key_prefix['api_key'] = 'Bearer' -# create an instance of the API class +# Defining host is optional and default to http://petstore.swagger.io:80/v2 +configuration.host = "http://petstore.swagger.io:80/v2" +# Create an instance of the API class api_instance = petstore_api.PetApi(petstore_api.ApiClient(configuration)) pet_id = 56 # int | ID of pet to return @@ -327,7 +337,9 @@ configuration = petstore_api.Configuration() # Configure OAuth2 access token for authorization: petstore_auth configuration.access_token = 'YOUR_ACCESS_TOKEN' -# create an instance of the API class +# Defining host is optional and default to http://petstore.swagger.io:80/v2 +configuration.host = "http://petstore.swagger.io:80/v2" +# Create an instance of the API class api_instance = petstore_api.PetApi(petstore_api.ApiClient(configuration)) body = petstore_api.Pet() # Pet | Pet object that needs to be added to the store @@ -385,7 +397,9 @@ configuration = petstore_api.Configuration() # Configure OAuth2 access token for authorization: petstore_auth configuration.access_token = 'YOUR_ACCESS_TOKEN' -# create an instance of the API class +# Defining host is optional and default to http://petstore.swagger.io:80/v2 +configuration.host = "http://petstore.swagger.io:80/v2" +# Create an instance of the API class api_instance = petstore_api.PetApi(petstore_api.ApiClient(configuration)) pet_id = 56 # int | ID of pet that needs to be updated name = 'name_example' # str | Updated name of the pet (optional) @@ -444,7 +458,9 @@ configuration = petstore_api.Configuration() # Configure OAuth2 access token for authorization: petstore_auth configuration.access_token = 'YOUR_ACCESS_TOKEN' -# create an instance of the API class +# Defining host is optional and default to http://petstore.swagger.io:80/v2 +configuration.host = "http://petstore.swagger.io:80/v2" +# Create an instance of the API class api_instance = petstore_api.PetApi(petstore_api.ApiClient(configuration)) pet_id = 56 # int | ID of pet to update additional_metadata = 'additional_metadata_example' # str | Additional data to pass to server (optional) @@ -504,7 +520,9 @@ configuration = petstore_api.Configuration() # Configure OAuth2 access token for authorization: petstore_auth configuration.access_token = 'YOUR_ACCESS_TOKEN' -# create an instance of the API class +# Defining host is optional and default to http://petstore.swagger.io:80/v2 +configuration.host = "http://petstore.swagger.io:80/v2" +# Create an instance of the API class api_instance = petstore_api.PetApi(petstore_api.ApiClient(configuration)) pet_id = 56 # int | ID of pet to update required_file = '/path/to/file' # file | file to upload diff --git a/samples/client/petstore/python-asyncio/docs/StoreApi.md b/samples/client/petstore/python-asyncio/docs/StoreApi.md index 76b94f73dc..a2f4ece3e3 100644 --- a/samples/client/petstore/python-asyncio/docs/StoreApi.md +++ b/samples/client/petstore/python-asyncio/docs/StoreApi.md @@ -26,7 +26,7 @@ import petstore_api from petstore_api.rest import ApiException from pprint import pprint -# create an instance of the API class +# Create an instance of the API class api_instance = petstore_api.StoreApi() order_id = 'order_id_example' # str | ID of the order that needs to be deleted @@ -86,7 +86,9 @@ configuration.api_key['api_key'] = 'YOUR_API_KEY' # Uncomment below to setup prefix (e.g. Bearer) for API key, if needed # configuration.api_key_prefix['api_key'] = 'Bearer' -# create an instance of the API class +# Defining host is optional and default to http://petstore.swagger.io:80/v2 +configuration.host = "http://petstore.swagger.io:80/v2" +# Create an instance of the API class api_instance = petstore_api.StoreApi(petstore_api.ApiClient(configuration)) try: @@ -136,7 +138,7 @@ import petstore_api from petstore_api.rest import ApiException from pprint import pprint -# create an instance of the API class +# Create an instance of the API class api_instance = petstore_api.StoreApi() order_id = 56 # int | ID of pet that needs to be fetched @@ -190,7 +192,7 @@ import petstore_api from petstore_api.rest import ApiException from pprint import pprint -# create an instance of the API class +# Create an instance of the API class api_instance = petstore_api.StoreApi() body = petstore_api.Order() # Order | order placed for purchasing the pet diff --git a/samples/client/petstore/python-asyncio/docs/UserApi.md b/samples/client/petstore/python-asyncio/docs/UserApi.md index 783bb991ce..3ea4a2ef60 100644 --- a/samples/client/petstore/python-asyncio/docs/UserApi.md +++ b/samples/client/petstore/python-asyncio/docs/UserApi.md @@ -30,7 +30,7 @@ import petstore_api from petstore_api.rest import ApiException from pprint import pprint -# create an instance of the API class +# Create an instance of the API class api_instance = petstore_api.UserApi() body = petstore_api.User() # User | Created user object @@ -81,7 +81,7 @@ import petstore_api from petstore_api.rest import ApiException from pprint import pprint -# create an instance of the API class +# Create an instance of the API class api_instance = petstore_api.UserApi() body = [petstore_api.User()] # list[User] | List of user object @@ -132,7 +132,7 @@ import petstore_api from petstore_api.rest import ApiException from pprint import pprint -# create an instance of the API class +# Create an instance of the API class api_instance = petstore_api.UserApi() body = [petstore_api.User()] # list[User] | List of user object @@ -185,7 +185,7 @@ import petstore_api from petstore_api.rest import ApiException from pprint import pprint -# create an instance of the API class +# Create an instance of the API class api_instance = petstore_api.UserApi() username = 'username_example' # str | The name that needs to be deleted @@ -237,7 +237,7 @@ import petstore_api from petstore_api.rest import ApiException from pprint import pprint -# create an instance of the API class +# Create an instance of the API class api_instance = petstore_api.UserApi() username = 'username_example' # str | The name that needs to be fetched. Use user1 for testing. @@ -291,7 +291,7 @@ import petstore_api from petstore_api.rest import ApiException from pprint import pprint -# create an instance of the API class +# Create an instance of the API class api_instance = petstore_api.UserApi() username = 'username_example' # str | The user name for login password = 'password_example' # str | The password for login in clear text @@ -346,7 +346,7 @@ import petstore_api from petstore_api.rest import ApiException from pprint import pprint -# create an instance of the API class +# Create an instance of the API class api_instance = petstore_api.UserApi() try: @@ -395,7 +395,7 @@ import petstore_api from petstore_api.rest import ApiException from pprint import pprint -# create an instance of the API class +# Create an instance of the API class api_instance = petstore_api.UserApi() username = 'username_example' # str | name that need to be deleted body = petstore_api.User() # User | Updated user object diff --git a/samples/client/petstore/python-tornado/README.md b/samples/client/petstore/python-tornado/README.md index 221acfa588..27a0490dc0 100644 --- a/samples/client/petstore/python-tornado/README.md +++ b/samples/client/petstore/python-tornado/README.md @@ -52,7 +52,9 @@ from petstore_api.rest import ApiException from pprint import pprint -# create an instance of the API class +# Defining host is optional and default to http://petstore.swagger.io:80/v2 +configuration.host = "http://petstore.swagger.io:80/v2" +# Create an instance of the API class api_instance = petstore_api.AnotherFakeApi(petstore_api.ApiClient(configuration)) body = petstore_api.Client() # Client | client model diff --git a/samples/client/petstore/python-tornado/docs/AnotherFakeApi.md b/samples/client/petstore/python-tornado/docs/AnotherFakeApi.md index c3f84772cf..3be4009a7d 100644 --- a/samples/client/petstore/python-tornado/docs/AnotherFakeApi.md +++ b/samples/client/petstore/python-tornado/docs/AnotherFakeApi.md @@ -23,7 +23,7 @@ import petstore_api from petstore_api.rest import ApiException from pprint import pprint -# create an instance of the API class +# Create an instance of the API class api_instance = petstore_api.AnotherFakeApi() body = petstore_api.Client() # Client | client model diff --git a/samples/client/petstore/python-tornado/docs/FakeApi.md b/samples/client/petstore/python-tornado/docs/FakeApi.md index 946a8ce3e7..3aa6aadb2b 100644 --- a/samples/client/petstore/python-tornado/docs/FakeApi.md +++ b/samples/client/petstore/python-tornado/docs/FakeApi.md @@ -35,7 +35,7 @@ import petstore_api from petstore_api.rest import ApiException from pprint import pprint -# create an instance of the API class +# Create an instance of the API class api_instance = petstore_api.FakeApi() xml_item = petstore_api.XmlItem() # XmlItem | XmlItem Body @@ -88,7 +88,7 @@ import petstore_api from petstore_api.rest import ApiException from pprint import pprint -# create an instance of the API class +# Create an instance of the API class api_instance = petstore_api.FakeApi() body = True # bool | Input boolean as post body (optional) @@ -141,7 +141,7 @@ import petstore_api from petstore_api.rest import ApiException from pprint import pprint -# create an instance of the API class +# Create an instance of the API class api_instance = petstore_api.FakeApi() body = petstore_api.OuterComposite() # OuterComposite | Input composite as post body (optional) @@ -194,7 +194,7 @@ import petstore_api from petstore_api.rest import ApiException from pprint import pprint -# create an instance of the API class +# Create an instance of the API class api_instance = petstore_api.FakeApi() body = 3.4 # float | Input number as post body (optional) @@ -247,7 +247,7 @@ import petstore_api from petstore_api.rest import ApiException from pprint import pprint -# create an instance of the API class +# Create an instance of the API class api_instance = petstore_api.FakeApi() body = 'body_example' # str | Input string as post body (optional) @@ -300,7 +300,7 @@ import petstore_api from petstore_api.rest import ApiException from pprint import pprint -# create an instance of the API class +# Create an instance of the API class api_instance = petstore_api.FakeApi() body = petstore_api.FileSchemaTestClass() # FileSchemaTestClass | @@ -350,7 +350,7 @@ import petstore_api from petstore_api.rest import ApiException from pprint import pprint -# create an instance of the API class +# Create an instance of the API class api_instance = petstore_api.FakeApi() query = 'query_example' # str | body = petstore_api.User() # User | @@ -404,7 +404,7 @@ import petstore_api from petstore_api.rest import ApiException from pprint import pprint -# create an instance of the API class +# Create an instance of the API class api_instance = petstore_api.FakeApi() body = petstore_api.Client() # Client | client model @@ -463,7 +463,9 @@ configuration = petstore_api.Configuration() configuration.username = 'YOUR_USERNAME' configuration.password = 'YOUR_PASSWORD' -# create an instance of the API class +# Defining host is optional and default to http://petstore.swagger.io:80/v2 +configuration.host = "http://petstore.swagger.io:80/v2" +# Create an instance of the API class api_instance = petstore_api.FakeApi(petstore_api.ApiClient(configuration)) number = 3.4 # float | None double = 3.4 # float | None @@ -543,7 +545,7 @@ import petstore_api from petstore_api.rest import ApiException from pprint import pprint -# create an instance of the API class +# Create an instance of the API class api_instance = petstore_api.FakeApi() enum_header_string_array = ['enum_header_string_array_example'] # list[str] | Header parameter enum test (string array) (optional) enum_header_string = '-efg' # str | Header parameter enum test (string) (optional) (default to '-efg') @@ -611,7 +613,7 @@ import petstore_api from petstore_api.rest import ApiException from pprint import pprint -# create an instance of the API class +# Create an instance of the API class api_instance = petstore_api.FakeApi() required_string_group = 56 # int | Required String in group parameters required_boolean_group = True # bool | Required Boolean in group parameters @@ -672,7 +674,7 @@ import petstore_api from petstore_api.rest import ApiException from pprint import pprint -# create an instance of the API class +# Create an instance of the API class api_instance = petstore_api.FakeApi() param = {'key': 'param_example'} # dict(str, str) | request body @@ -723,7 +725,7 @@ import petstore_api from petstore_api.rest import ApiException from pprint import pprint -# create an instance of the API class +# Create an instance of the API class api_instance = petstore_api.FakeApi() param = 'param_example' # str | field1 param2 = 'param2_example' # str | field2 diff --git a/samples/client/petstore/python-tornado/docs/FakeClassnameTags123Api.md b/samples/client/petstore/python-tornado/docs/FakeClassnameTags123Api.md index 7ffcf21122..2fae5e0c77 100644 --- a/samples/client/petstore/python-tornado/docs/FakeClassnameTags123Api.md +++ b/samples/client/petstore/python-tornado/docs/FakeClassnameTags123Api.md @@ -29,7 +29,9 @@ configuration.api_key['api_key_query'] = 'YOUR_API_KEY' # Uncomment below to setup prefix (e.g. Bearer) for API key, if needed # configuration.api_key_prefix['api_key_query'] = 'Bearer' -# create an instance of the API class +# Defining host is optional and default to http://petstore.swagger.io:80/v2 +configuration.host = "http://petstore.swagger.io:80/v2" +# Create an instance of the API class api_instance = petstore_api.FakeClassnameTags123Api(petstore_api.ApiClient(configuration)) body = petstore_api.Client() # Client | client model diff --git a/samples/client/petstore/python-tornado/docs/PetApi.md b/samples/client/petstore/python-tornado/docs/PetApi.md index 3ed2551bd6..e4df08ee37 100644 --- a/samples/client/petstore/python-tornado/docs/PetApi.md +++ b/samples/client/petstore/python-tornado/docs/PetApi.md @@ -33,7 +33,9 @@ configuration = petstore_api.Configuration() # Configure OAuth2 access token for authorization: petstore_auth configuration.access_token = 'YOUR_ACCESS_TOKEN' -# create an instance of the API class +# Defining host is optional and default to http://petstore.swagger.io:80/v2 +configuration.host = "http://petstore.swagger.io:80/v2" +# Create an instance of the API class api_instance = petstore_api.PetApi(petstore_api.ApiClient(configuration)) body = petstore_api.Pet() # Pet | Pet object that needs to be added to the store @@ -89,7 +91,9 @@ configuration = petstore_api.Configuration() # Configure OAuth2 access token for authorization: petstore_auth configuration.access_token = 'YOUR_ACCESS_TOKEN' -# create an instance of the API class +# Defining host is optional and default to http://petstore.swagger.io:80/v2 +configuration.host = "http://petstore.swagger.io:80/v2" +# Create an instance of the API class api_instance = petstore_api.PetApi(petstore_api.ApiClient(configuration)) pet_id = 56 # int | Pet id to delete api_key = 'api_key_example' # str | (optional) @@ -149,7 +153,9 @@ configuration = petstore_api.Configuration() # Configure OAuth2 access token for authorization: petstore_auth configuration.access_token = 'YOUR_ACCESS_TOKEN' -# create an instance of the API class +# Defining host is optional and default to http://petstore.swagger.io:80/v2 +configuration.host = "http://petstore.swagger.io:80/v2" +# Create an instance of the API class api_instance = petstore_api.PetApi(petstore_api.ApiClient(configuration)) status = ['status_example'] # list[str] | Status values that need to be considered for filter @@ -208,7 +214,9 @@ configuration = petstore_api.Configuration() # Configure OAuth2 access token for authorization: petstore_auth configuration.access_token = 'YOUR_ACCESS_TOKEN' -# create an instance of the API class +# Defining host is optional and default to http://petstore.swagger.io:80/v2 +configuration.host = "http://petstore.swagger.io:80/v2" +# Create an instance of the API class api_instance = petstore_api.PetApi(petstore_api.ApiClient(configuration)) tags = ['tags_example'] # list[str] | Tags to filter by @@ -269,7 +277,9 @@ configuration.api_key['api_key'] = 'YOUR_API_KEY' # Uncomment below to setup prefix (e.g. Bearer) for API key, if needed # configuration.api_key_prefix['api_key'] = 'Bearer' -# create an instance of the API class +# Defining host is optional and default to http://petstore.swagger.io:80/v2 +configuration.host = "http://petstore.swagger.io:80/v2" +# Create an instance of the API class api_instance = petstore_api.PetApi(petstore_api.ApiClient(configuration)) pet_id = 56 # int | ID of pet to return @@ -327,7 +337,9 @@ configuration = petstore_api.Configuration() # Configure OAuth2 access token for authorization: petstore_auth configuration.access_token = 'YOUR_ACCESS_TOKEN' -# create an instance of the API class +# Defining host is optional and default to http://petstore.swagger.io:80/v2 +configuration.host = "http://petstore.swagger.io:80/v2" +# Create an instance of the API class api_instance = petstore_api.PetApi(petstore_api.ApiClient(configuration)) body = petstore_api.Pet() # Pet | Pet object that needs to be added to the store @@ -385,7 +397,9 @@ configuration = petstore_api.Configuration() # Configure OAuth2 access token for authorization: petstore_auth configuration.access_token = 'YOUR_ACCESS_TOKEN' -# create an instance of the API class +# Defining host is optional and default to http://petstore.swagger.io:80/v2 +configuration.host = "http://petstore.swagger.io:80/v2" +# Create an instance of the API class api_instance = petstore_api.PetApi(petstore_api.ApiClient(configuration)) pet_id = 56 # int | ID of pet that needs to be updated name = 'name_example' # str | Updated name of the pet (optional) @@ -444,7 +458,9 @@ configuration = petstore_api.Configuration() # Configure OAuth2 access token for authorization: petstore_auth configuration.access_token = 'YOUR_ACCESS_TOKEN' -# create an instance of the API class +# Defining host is optional and default to http://petstore.swagger.io:80/v2 +configuration.host = "http://petstore.swagger.io:80/v2" +# Create an instance of the API class api_instance = petstore_api.PetApi(petstore_api.ApiClient(configuration)) pet_id = 56 # int | ID of pet to update additional_metadata = 'additional_metadata_example' # str | Additional data to pass to server (optional) @@ -504,7 +520,9 @@ configuration = petstore_api.Configuration() # Configure OAuth2 access token for authorization: petstore_auth configuration.access_token = 'YOUR_ACCESS_TOKEN' -# create an instance of the API class +# Defining host is optional and default to http://petstore.swagger.io:80/v2 +configuration.host = "http://petstore.swagger.io:80/v2" +# Create an instance of the API class api_instance = petstore_api.PetApi(petstore_api.ApiClient(configuration)) pet_id = 56 # int | ID of pet to update required_file = '/path/to/file' # file | file to upload diff --git a/samples/client/petstore/python-tornado/docs/StoreApi.md b/samples/client/petstore/python-tornado/docs/StoreApi.md index 76b94f73dc..a2f4ece3e3 100644 --- a/samples/client/petstore/python-tornado/docs/StoreApi.md +++ b/samples/client/petstore/python-tornado/docs/StoreApi.md @@ -26,7 +26,7 @@ import petstore_api from petstore_api.rest import ApiException from pprint import pprint -# create an instance of the API class +# Create an instance of the API class api_instance = petstore_api.StoreApi() order_id = 'order_id_example' # str | ID of the order that needs to be deleted @@ -86,7 +86,9 @@ configuration.api_key['api_key'] = 'YOUR_API_KEY' # Uncomment below to setup prefix (e.g. Bearer) for API key, if needed # configuration.api_key_prefix['api_key'] = 'Bearer' -# create an instance of the API class +# Defining host is optional and default to http://petstore.swagger.io:80/v2 +configuration.host = "http://petstore.swagger.io:80/v2" +# Create an instance of the API class api_instance = petstore_api.StoreApi(petstore_api.ApiClient(configuration)) try: @@ -136,7 +138,7 @@ import petstore_api from petstore_api.rest import ApiException from pprint import pprint -# create an instance of the API class +# Create an instance of the API class api_instance = petstore_api.StoreApi() order_id = 56 # int | ID of pet that needs to be fetched @@ -190,7 +192,7 @@ import petstore_api from petstore_api.rest import ApiException from pprint import pprint -# create an instance of the API class +# Create an instance of the API class api_instance = petstore_api.StoreApi() body = petstore_api.Order() # Order | order placed for purchasing the pet diff --git a/samples/client/petstore/python-tornado/docs/UserApi.md b/samples/client/petstore/python-tornado/docs/UserApi.md index 783bb991ce..3ea4a2ef60 100644 --- a/samples/client/petstore/python-tornado/docs/UserApi.md +++ b/samples/client/petstore/python-tornado/docs/UserApi.md @@ -30,7 +30,7 @@ import petstore_api from petstore_api.rest import ApiException from pprint import pprint -# create an instance of the API class +# Create an instance of the API class api_instance = petstore_api.UserApi() body = petstore_api.User() # User | Created user object @@ -81,7 +81,7 @@ import petstore_api from petstore_api.rest import ApiException from pprint import pprint -# create an instance of the API class +# Create an instance of the API class api_instance = petstore_api.UserApi() body = [petstore_api.User()] # list[User] | List of user object @@ -132,7 +132,7 @@ import petstore_api from petstore_api.rest import ApiException from pprint import pprint -# create an instance of the API class +# Create an instance of the API class api_instance = petstore_api.UserApi() body = [petstore_api.User()] # list[User] | List of user object @@ -185,7 +185,7 @@ import petstore_api from petstore_api.rest import ApiException from pprint import pprint -# create an instance of the API class +# Create an instance of the API class api_instance = petstore_api.UserApi() username = 'username_example' # str | The name that needs to be deleted @@ -237,7 +237,7 @@ import petstore_api from petstore_api.rest import ApiException from pprint import pprint -# create an instance of the API class +# Create an instance of the API class api_instance = petstore_api.UserApi() username = 'username_example' # str | The name that needs to be fetched. Use user1 for testing. @@ -291,7 +291,7 @@ import petstore_api from petstore_api.rest import ApiException from pprint import pprint -# create an instance of the API class +# Create an instance of the API class api_instance = petstore_api.UserApi() username = 'username_example' # str | The user name for login password = 'password_example' # str | The password for login in clear text @@ -346,7 +346,7 @@ import petstore_api from petstore_api.rest import ApiException from pprint import pprint -# create an instance of the API class +# Create an instance of the API class api_instance = petstore_api.UserApi() try: @@ -395,7 +395,7 @@ import petstore_api from petstore_api.rest import ApiException from pprint import pprint -# create an instance of the API class +# Create an instance of the API class api_instance = petstore_api.UserApi() username = 'username_example' # str | name that need to be deleted body = petstore_api.User() # User | Updated user object diff --git a/samples/client/petstore/python/README.md b/samples/client/petstore/python/README.md index 221acfa588..27a0490dc0 100644 --- a/samples/client/petstore/python/README.md +++ b/samples/client/petstore/python/README.md @@ -52,7 +52,9 @@ from petstore_api.rest import ApiException from pprint import pprint -# create an instance of the API class +# Defining host is optional and default to http://petstore.swagger.io:80/v2 +configuration.host = "http://petstore.swagger.io:80/v2" +# Create an instance of the API class api_instance = petstore_api.AnotherFakeApi(petstore_api.ApiClient(configuration)) body = petstore_api.Client() # Client | client model diff --git a/samples/client/petstore/python/docs/AnotherFakeApi.md b/samples/client/petstore/python/docs/AnotherFakeApi.md index c3f84772cf..3be4009a7d 100644 --- a/samples/client/petstore/python/docs/AnotherFakeApi.md +++ b/samples/client/petstore/python/docs/AnotherFakeApi.md @@ -23,7 +23,7 @@ import petstore_api from petstore_api.rest import ApiException from pprint import pprint -# create an instance of the API class +# Create an instance of the API class api_instance = petstore_api.AnotherFakeApi() body = petstore_api.Client() # Client | client model diff --git a/samples/client/petstore/python/docs/FakeApi.md b/samples/client/petstore/python/docs/FakeApi.md index 946a8ce3e7..3aa6aadb2b 100644 --- a/samples/client/petstore/python/docs/FakeApi.md +++ b/samples/client/petstore/python/docs/FakeApi.md @@ -35,7 +35,7 @@ import petstore_api from petstore_api.rest import ApiException from pprint import pprint -# create an instance of the API class +# Create an instance of the API class api_instance = petstore_api.FakeApi() xml_item = petstore_api.XmlItem() # XmlItem | XmlItem Body @@ -88,7 +88,7 @@ import petstore_api from petstore_api.rest import ApiException from pprint import pprint -# create an instance of the API class +# Create an instance of the API class api_instance = petstore_api.FakeApi() body = True # bool | Input boolean as post body (optional) @@ -141,7 +141,7 @@ import petstore_api from petstore_api.rest import ApiException from pprint import pprint -# create an instance of the API class +# Create an instance of the API class api_instance = petstore_api.FakeApi() body = petstore_api.OuterComposite() # OuterComposite | Input composite as post body (optional) @@ -194,7 +194,7 @@ import petstore_api from petstore_api.rest import ApiException from pprint import pprint -# create an instance of the API class +# Create an instance of the API class api_instance = petstore_api.FakeApi() body = 3.4 # float | Input number as post body (optional) @@ -247,7 +247,7 @@ import petstore_api from petstore_api.rest import ApiException from pprint import pprint -# create an instance of the API class +# Create an instance of the API class api_instance = petstore_api.FakeApi() body = 'body_example' # str | Input string as post body (optional) @@ -300,7 +300,7 @@ import petstore_api from petstore_api.rest import ApiException from pprint import pprint -# create an instance of the API class +# Create an instance of the API class api_instance = petstore_api.FakeApi() body = petstore_api.FileSchemaTestClass() # FileSchemaTestClass | @@ -350,7 +350,7 @@ import petstore_api from petstore_api.rest import ApiException from pprint import pprint -# create an instance of the API class +# Create an instance of the API class api_instance = petstore_api.FakeApi() query = 'query_example' # str | body = petstore_api.User() # User | @@ -404,7 +404,7 @@ import petstore_api from petstore_api.rest import ApiException from pprint import pprint -# create an instance of the API class +# Create an instance of the API class api_instance = petstore_api.FakeApi() body = petstore_api.Client() # Client | client model @@ -463,7 +463,9 @@ configuration = petstore_api.Configuration() configuration.username = 'YOUR_USERNAME' configuration.password = 'YOUR_PASSWORD' -# create an instance of the API class +# Defining host is optional and default to http://petstore.swagger.io:80/v2 +configuration.host = "http://petstore.swagger.io:80/v2" +# Create an instance of the API class api_instance = petstore_api.FakeApi(petstore_api.ApiClient(configuration)) number = 3.4 # float | None double = 3.4 # float | None @@ -543,7 +545,7 @@ import petstore_api from petstore_api.rest import ApiException from pprint import pprint -# create an instance of the API class +# Create an instance of the API class api_instance = petstore_api.FakeApi() enum_header_string_array = ['enum_header_string_array_example'] # list[str] | Header parameter enum test (string array) (optional) enum_header_string = '-efg' # str | Header parameter enum test (string) (optional) (default to '-efg') @@ -611,7 +613,7 @@ import petstore_api from petstore_api.rest import ApiException from pprint import pprint -# create an instance of the API class +# Create an instance of the API class api_instance = petstore_api.FakeApi() required_string_group = 56 # int | Required String in group parameters required_boolean_group = True # bool | Required Boolean in group parameters @@ -672,7 +674,7 @@ import petstore_api from petstore_api.rest import ApiException from pprint import pprint -# create an instance of the API class +# Create an instance of the API class api_instance = petstore_api.FakeApi() param = {'key': 'param_example'} # dict(str, str) | request body @@ -723,7 +725,7 @@ import petstore_api from petstore_api.rest import ApiException from pprint import pprint -# create an instance of the API class +# Create an instance of the API class api_instance = petstore_api.FakeApi() param = 'param_example' # str | field1 param2 = 'param2_example' # str | field2 diff --git a/samples/client/petstore/python/docs/FakeClassnameTags123Api.md b/samples/client/petstore/python/docs/FakeClassnameTags123Api.md index 7ffcf21122..2fae5e0c77 100644 --- a/samples/client/petstore/python/docs/FakeClassnameTags123Api.md +++ b/samples/client/petstore/python/docs/FakeClassnameTags123Api.md @@ -29,7 +29,9 @@ configuration.api_key['api_key_query'] = 'YOUR_API_KEY' # Uncomment below to setup prefix (e.g. Bearer) for API key, if needed # configuration.api_key_prefix['api_key_query'] = 'Bearer' -# create an instance of the API class +# Defining host is optional and default to http://petstore.swagger.io:80/v2 +configuration.host = "http://petstore.swagger.io:80/v2" +# Create an instance of the API class api_instance = petstore_api.FakeClassnameTags123Api(petstore_api.ApiClient(configuration)) body = petstore_api.Client() # Client | client model diff --git a/samples/client/petstore/python/docs/PetApi.md b/samples/client/petstore/python/docs/PetApi.md index 3ed2551bd6..e4df08ee37 100644 --- a/samples/client/petstore/python/docs/PetApi.md +++ b/samples/client/petstore/python/docs/PetApi.md @@ -33,7 +33,9 @@ configuration = petstore_api.Configuration() # Configure OAuth2 access token for authorization: petstore_auth configuration.access_token = 'YOUR_ACCESS_TOKEN' -# create an instance of the API class +# Defining host is optional and default to http://petstore.swagger.io:80/v2 +configuration.host = "http://petstore.swagger.io:80/v2" +# Create an instance of the API class api_instance = petstore_api.PetApi(petstore_api.ApiClient(configuration)) body = petstore_api.Pet() # Pet | Pet object that needs to be added to the store @@ -89,7 +91,9 @@ configuration = petstore_api.Configuration() # Configure OAuth2 access token for authorization: petstore_auth configuration.access_token = 'YOUR_ACCESS_TOKEN' -# create an instance of the API class +# Defining host is optional and default to http://petstore.swagger.io:80/v2 +configuration.host = "http://petstore.swagger.io:80/v2" +# Create an instance of the API class api_instance = petstore_api.PetApi(petstore_api.ApiClient(configuration)) pet_id = 56 # int | Pet id to delete api_key = 'api_key_example' # str | (optional) @@ -149,7 +153,9 @@ configuration = petstore_api.Configuration() # Configure OAuth2 access token for authorization: petstore_auth configuration.access_token = 'YOUR_ACCESS_TOKEN' -# create an instance of the API class +# Defining host is optional and default to http://petstore.swagger.io:80/v2 +configuration.host = "http://petstore.swagger.io:80/v2" +# Create an instance of the API class api_instance = petstore_api.PetApi(petstore_api.ApiClient(configuration)) status = ['status_example'] # list[str] | Status values that need to be considered for filter @@ -208,7 +214,9 @@ configuration = petstore_api.Configuration() # Configure OAuth2 access token for authorization: petstore_auth configuration.access_token = 'YOUR_ACCESS_TOKEN' -# create an instance of the API class +# Defining host is optional and default to http://petstore.swagger.io:80/v2 +configuration.host = "http://petstore.swagger.io:80/v2" +# Create an instance of the API class api_instance = petstore_api.PetApi(petstore_api.ApiClient(configuration)) tags = ['tags_example'] # list[str] | Tags to filter by @@ -269,7 +277,9 @@ configuration.api_key['api_key'] = 'YOUR_API_KEY' # Uncomment below to setup prefix (e.g. Bearer) for API key, if needed # configuration.api_key_prefix['api_key'] = 'Bearer' -# create an instance of the API class +# Defining host is optional and default to http://petstore.swagger.io:80/v2 +configuration.host = "http://petstore.swagger.io:80/v2" +# Create an instance of the API class api_instance = petstore_api.PetApi(petstore_api.ApiClient(configuration)) pet_id = 56 # int | ID of pet to return @@ -327,7 +337,9 @@ configuration = petstore_api.Configuration() # Configure OAuth2 access token for authorization: petstore_auth configuration.access_token = 'YOUR_ACCESS_TOKEN' -# create an instance of the API class +# Defining host is optional and default to http://petstore.swagger.io:80/v2 +configuration.host = "http://petstore.swagger.io:80/v2" +# Create an instance of the API class api_instance = petstore_api.PetApi(petstore_api.ApiClient(configuration)) body = petstore_api.Pet() # Pet | Pet object that needs to be added to the store @@ -385,7 +397,9 @@ configuration = petstore_api.Configuration() # Configure OAuth2 access token for authorization: petstore_auth configuration.access_token = 'YOUR_ACCESS_TOKEN' -# create an instance of the API class +# Defining host is optional and default to http://petstore.swagger.io:80/v2 +configuration.host = "http://petstore.swagger.io:80/v2" +# Create an instance of the API class api_instance = petstore_api.PetApi(petstore_api.ApiClient(configuration)) pet_id = 56 # int | ID of pet that needs to be updated name = 'name_example' # str | Updated name of the pet (optional) @@ -444,7 +458,9 @@ configuration = petstore_api.Configuration() # Configure OAuth2 access token for authorization: petstore_auth configuration.access_token = 'YOUR_ACCESS_TOKEN' -# create an instance of the API class +# Defining host is optional and default to http://petstore.swagger.io:80/v2 +configuration.host = "http://petstore.swagger.io:80/v2" +# Create an instance of the API class api_instance = petstore_api.PetApi(petstore_api.ApiClient(configuration)) pet_id = 56 # int | ID of pet to update additional_metadata = 'additional_metadata_example' # str | Additional data to pass to server (optional) @@ -504,7 +520,9 @@ configuration = petstore_api.Configuration() # Configure OAuth2 access token for authorization: petstore_auth configuration.access_token = 'YOUR_ACCESS_TOKEN' -# create an instance of the API class +# Defining host is optional and default to http://petstore.swagger.io:80/v2 +configuration.host = "http://petstore.swagger.io:80/v2" +# Create an instance of the API class api_instance = petstore_api.PetApi(petstore_api.ApiClient(configuration)) pet_id = 56 # int | ID of pet to update required_file = '/path/to/file' # file | file to upload diff --git a/samples/client/petstore/python/docs/StoreApi.md b/samples/client/petstore/python/docs/StoreApi.md index 76b94f73dc..a2f4ece3e3 100644 --- a/samples/client/petstore/python/docs/StoreApi.md +++ b/samples/client/petstore/python/docs/StoreApi.md @@ -26,7 +26,7 @@ import petstore_api from petstore_api.rest import ApiException from pprint import pprint -# create an instance of the API class +# Create an instance of the API class api_instance = petstore_api.StoreApi() order_id = 'order_id_example' # str | ID of the order that needs to be deleted @@ -86,7 +86,9 @@ configuration.api_key['api_key'] = 'YOUR_API_KEY' # Uncomment below to setup prefix (e.g. Bearer) for API key, if needed # configuration.api_key_prefix['api_key'] = 'Bearer' -# create an instance of the API class +# Defining host is optional and default to http://petstore.swagger.io:80/v2 +configuration.host = "http://petstore.swagger.io:80/v2" +# Create an instance of the API class api_instance = petstore_api.StoreApi(petstore_api.ApiClient(configuration)) try: @@ -136,7 +138,7 @@ import petstore_api from petstore_api.rest import ApiException from pprint import pprint -# create an instance of the API class +# Create an instance of the API class api_instance = petstore_api.StoreApi() order_id = 56 # int | ID of pet that needs to be fetched @@ -190,7 +192,7 @@ import petstore_api from petstore_api.rest import ApiException from pprint import pprint -# create an instance of the API class +# Create an instance of the API class api_instance = petstore_api.StoreApi() body = petstore_api.Order() # Order | order placed for purchasing the pet diff --git a/samples/client/petstore/python/docs/UserApi.md b/samples/client/petstore/python/docs/UserApi.md index 783bb991ce..3ea4a2ef60 100644 --- a/samples/client/petstore/python/docs/UserApi.md +++ b/samples/client/petstore/python/docs/UserApi.md @@ -30,7 +30,7 @@ import petstore_api from petstore_api.rest import ApiException from pprint import pprint -# create an instance of the API class +# Create an instance of the API class api_instance = petstore_api.UserApi() body = petstore_api.User() # User | Created user object @@ -81,7 +81,7 @@ import petstore_api from petstore_api.rest import ApiException from pprint import pprint -# create an instance of the API class +# Create an instance of the API class api_instance = petstore_api.UserApi() body = [petstore_api.User()] # list[User] | List of user object @@ -132,7 +132,7 @@ import petstore_api from petstore_api.rest import ApiException from pprint import pprint -# create an instance of the API class +# Create an instance of the API class api_instance = petstore_api.UserApi() body = [petstore_api.User()] # list[User] | List of user object @@ -185,7 +185,7 @@ import petstore_api from petstore_api.rest import ApiException from pprint import pprint -# create an instance of the API class +# Create an instance of the API class api_instance = petstore_api.UserApi() username = 'username_example' # str | The name that needs to be deleted @@ -237,7 +237,7 @@ import petstore_api from petstore_api.rest import ApiException from pprint import pprint -# create an instance of the API class +# Create an instance of the API class api_instance = petstore_api.UserApi() username = 'username_example' # str | The name that needs to be fetched. Use user1 for testing. @@ -291,7 +291,7 @@ import petstore_api from petstore_api.rest import ApiException from pprint import pprint -# create an instance of the API class +# Create an instance of the API class api_instance = petstore_api.UserApi() username = 'username_example' # str | The user name for login password = 'password_example' # str | The password for login in clear text @@ -346,7 +346,7 @@ import petstore_api from petstore_api.rest import ApiException from pprint import pprint -# create an instance of the API class +# Create an instance of the API class api_instance = petstore_api.UserApi() try: @@ -395,7 +395,7 @@ import petstore_api from petstore_api.rest import ApiException from pprint import pprint -# create an instance of the API class +# Create an instance of the API class api_instance = petstore_api.UserApi() username = 'username_example' # str | name that need to be deleted body = petstore_api.User() # User | Updated user object diff --git a/samples/openapi3/client/petstore/python/README.md b/samples/openapi3/client/petstore/python/README.md index ce0d8c8d9c..d10f52f9f6 100644 --- a/samples/openapi3/client/petstore/python/README.md +++ b/samples/openapi3/client/petstore/python/README.md @@ -52,7 +52,9 @@ from petstore_api.rest import ApiException from pprint import pprint -# create an instance of the API class +# Defining host is optional and default to http://petstore.swagger.io:80/v2 +configuration.host = "http://petstore.swagger.io:80/v2" +# Create an instance of the API class api_instance = petstore_api.AnotherFakeApi(petstore_api.ApiClient(configuration)) client = petstore_api.Client() # Client | client model diff --git a/samples/openapi3/client/petstore/python/docs/AnotherFakeApi.md b/samples/openapi3/client/petstore/python/docs/AnotherFakeApi.md index 754a0529e0..9f419af344 100644 --- a/samples/openapi3/client/petstore/python/docs/AnotherFakeApi.md +++ b/samples/openapi3/client/petstore/python/docs/AnotherFakeApi.md @@ -23,7 +23,7 @@ import petstore_api from petstore_api.rest import ApiException from pprint import pprint -# create an instance of the API class +# Create an instance of the API class api_instance = petstore_api.AnotherFakeApi() client = petstore_api.Client() # Client | client model diff --git a/samples/openapi3/client/petstore/python/docs/DefaultApi.md b/samples/openapi3/client/petstore/python/docs/DefaultApi.md index e1f8818b40..92e27f40a2 100644 --- a/samples/openapi3/client/petstore/python/docs/DefaultApi.md +++ b/samples/openapi3/client/petstore/python/docs/DefaultApi.md @@ -21,7 +21,7 @@ import petstore_api from petstore_api.rest import ApiException from pprint import pprint -# create an instance of the API class +# Create an instance of the API class api_instance = petstore_api.DefaultApi() try: diff --git a/samples/openapi3/client/petstore/python/docs/FakeApi.md b/samples/openapi3/client/petstore/python/docs/FakeApi.md index 6c317500c8..6e5c947829 100644 --- a/samples/openapi3/client/petstore/python/docs/FakeApi.md +++ b/samples/openapi3/client/petstore/python/docs/FakeApi.md @@ -33,7 +33,7 @@ import petstore_api from petstore_api.rest import ApiException from pprint import pprint -# create an instance of the API class +# Create an instance of the API class api_instance = petstore_api.FakeApi() try: @@ -83,7 +83,7 @@ import petstore_api from petstore_api.rest import ApiException from pprint import pprint -# create an instance of the API class +# Create an instance of the API class api_instance = petstore_api.FakeApi() body = True # bool | Input boolean as post body (optional) @@ -136,7 +136,7 @@ import petstore_api from petstore_api.rest import ApiException from pprint import pprint -# create an instance of the API class +# Create an instance of the API class api_instance = petstore_api.FakeApi() outer_composite = petstore_api.OuterComposite() # OuterComposite | Input composite as post body (optional) @@ -189,7 +189,7 @@ import petstore_api from petstore_api.rest import ApiException from pprint import pprint -# create an instance of the API class +# Create an instance of the API class api_instance = petstore_api.FakeApi() body = 3.4 # float | Input number as post body (optional) @@ -242,7 +242,7 @@ import petstore_api from petstore_api.rest import ApiException from pprint import pprint -# create an instance of the API class +# Create an instance of the API class api_instance = petstore_api.FakeApi() body = 'body_example' # str | Input string as post body (optional) @@ -295,7 +295,7 @@ import petstore_api from petstore_api.rest import ApiException from pprint import pprint -# create an instance of the API class +# Create an instance of the API class api_instance = petstore_api.FakeApi() file_schema_test_class = petstore_api.FileSchemaTestClass() # FileSchemaTestClass | @@ -345,7 +345,7 @@ import petstore_api from petstore_api.rest import ApiException from pprint import pprint -# create an instance of the API class +# Create an instance of the API class api_instance = petstore_api.FakeApi() query = 'query_example' # str | user = petstore_api.User() # User | @@ -399,7 +399,7 @@ import petstore_api from petstore_api.rest import ApiException from pprint import pprint -# create an instance of the API class +# Create an instance of the API class api_instance = petstore_api.FakeApi() client = petstore_api.Client() # Client | client model @@ -458,7 +458,9 @@ configuration = petstore_api.Configuration() configuration.username = 'YOUR_USERNAME' configuration.password = 'YOUR_PASSWORD' -# create an instance of the API class +# Defining host is optional and default to http://petstore.swagger.io:80/v2 +configuration.host = "http://petstore.swagger.io:80/v2" +# Create an instance of the API class api_instance = petstore_api.FakeApi(petstore_api.ApiClient(configuration)) number = 3.4 # float | None double = 3.4 # float | None @@ -538,7 +540,7 @@ import petstore_api from petstore_api.rest import ApiException from pprint import pprint -# create an instance of the API class +# Create an instance of the API class api_instance = petstore_api.FakeApi() enum_header_string_array = ['enum_header_string_array_example'] # list[str] | Header parameter enum test (string array) (optional) enum_header_string = '-efg' # str | Header parameter enum test (string) (optional) (default to '-efg') @@ -610,7 +612,9 @@ configuration = petstore_api.Configuration() # Configure Bearer authorization (JWT): bearer_test configuration.access_token = 'YOUR_BEARER_TOKEN' -# create an instance of the API class +# Defining host is optional and default to http://petstore.swagger.io:80/v2 +configuration.host = "http://petstore.swagger.io:80/v2" +# Create an instance of the API class api_instance = petstore_api.FakeApi(petstore_api.ApiClient(configuration)) required_string_group = 56 # int | Required String in group parameters required_boolean_group = True # bool | Required Boolean in group parameters @@ -671,7 +675,7 @@ import petstore_api from petstore_api.rest import ApiException from pprint import pprint -# create an instance of the API class +# Create an instance of the API class api_instance = petstore_api.FakeApi() request_body = {'key': 'request_body_example'} # dict(str, str) | request body @@ -722,7 +726,7 @@ import petstore_api from petstore_api.rest import ApiException from pprint import pprint -# create an instance of the API class +# Create an instance of the API class api_instance = petstore_api.FakeApi() param = 'param_example' # str | field1 param2 = 'param2_example' # str | field2 diff --git a/samples/openapi3/client/petstore/python/docs/FakeClassnameTags123Api.md b/samples/openapi3/client/petstore/python/docs/FakeClassnameTags123Api.md index bb9189d492..5397122203 100644 --- a/samples/openapi3/client/petstore/python/docs/FakeClassnameTags123Api.md +++ b/samples/openapi3/client/petstore/python/docs/FakeClassnameTags123Api.md @@ -29,7 +29,9 @@ configuration.api_key['api_key_query'] = 'YOUR_API_KEY' # Uncomment below to setup prefix (e.g. Bearer) for API key, if needed # configuration.api_key_prefix['api_key_query'] = 'Bearer' -# create an instance of the API class +# Defining host is optional and default to http://petstore.swagger.io:80/v2 +configuration.host = "http://petstore.swagger.io:80/v2" +# Create an instance of the API class api_instance = petstore_api.FakeClassnameTags123Api(petstore_api.ApiClient(configuration)) client = petstore_api.Client() # Client | client model diff --git a/samples/openapi3/client/petstore/python/docs/PetApi.md b/samples/openapi3/client/petstore/python/docs/PetApi.md index 1f6f17ddb2..5bbf43d4c2 100644 --- a/samples/openapi3/client/petstore/python/docs/PetApi.md +++ b/samples/openapi3/client/petstore/python/docs/PetApi.md @@ -33,7 +33,9 @@ configuration = petstore_api.Configuration() # Configure OAuth2 access token for authorization: petstore_auth configuration.access_token = 'YOUR_ACCESS_TOKEN' -# create an instance of the API class +# Defining host is optional and default to http://petstore.swagger.io:80/v2 +configuration.host = "http://petstore.swagger.io:80/v2" +# Create an instance of the API class api_instance = petstore_api.PetApi(petstore_api.ApiClient(configuration)) pet = petstore_api.Pet() # Pet | Pet object that needs to be added to the store @@ -88,7 +90,9 @@ configuration = petstore_api.Configuration() # Configure OAuth2 access token for authorization: petstore_auth configuration.access_token = 'YOUR_ACCESS_TOKEN' -# create an instance of the API class +# Defining host is optional and default to http://petstore.swagger.io:80/v2 +configuration.host = "http://petstore.swagger.io:80/v2" +# Create an instance of the API class api_instance = petstore_api.PetApi(petstore_api.ApiClient(configuration)) pet_id = 56 # int | Pet id to delete api_key = 'api_key_example' # str | (optional) @@ -147,7 +151,9 @@ configuration = petstore_api.Configuration() # Configure OAuth2 access token for authorization: petstore_auth configuration.access_token = 'YOUR_ACCESS_TOKEN' -# create an instance of the API class +# Defining host is optional and default to http://petstore.swagger.io:80/v2 +configuration.host = "http://petstore.swagger.io:80/v2" +# Create an instance of the API class api_instance = petstore_api.PetApi(petstore_api.ApiClient(configuration)) status = ['status_example'] # list[str] | Status values that need to be considered for filter @@ -206,7 +212,9 @@ configuration = petstore_api.Configuration() # Configure OAuth2 access token for authorization: petstore_auth configuration.access_token = 'YOUR_ACCESS_TOKEN' -# create an instance of the API class +# Defining host is optional and default to http://petstore.swagger.io:80/v2 +configuration.host = "http://petstore.swagger.io:80/v2" +# Create an instance of the API class api_instance = petstore_api.PetApi(petstore_api.ApiClient(configuration)) tags = ['tags_example'] # list[str] | Tags to filter by @@ -267,7 +275,9 @@ configuration.api_key['api_key'] = 'YOUR_API_KEY' # Uncomment below to setup prefix (e.g. Bearer) for API key, if needed # configuration.api_key_prefix['api_key'] = 'Bearer' -# create an instance of the API class +# Defining host is optional and default to http://petstore.swagger.io:80/v2 +configuration.host = "http://petstore.swagger.io:80/v2" +# Create an instance of the API class api_instance = petstore_api.PetApi(petstore_api.ApiClient(configuration)) pet_id = 56 # int | ID of pet to return @@ -325,7 +335,9 @@ configuration = petstore_api.Configuration() # Configure OAuth2 access token for authorization: petstore_auth configuration.access_token = 'YOUR_ACCESS_TOKEN' -# create an instance of the API class +# Defining host is optional and default to http://petstore.swagger.io:80/v2 +configuration.host = "http://petstore.swagger.io:80/v2" +# Create an instance of the API class api_instance = petstore_api.PetApi(petstore_api.ApiClient(configuration)) pet = petstore_api.Pet() # Pet | Pet object that needs to be added to the store @@ -382,7 +394,9 @@ configuration = petstore_api.Configuration() # Configure OAuth2 access token for authorization: petstore_auth configuration.access_token = 'YOUR_ACCESS_TOKEN' -# create an instance of the API class +# Defining host is optional and default to http://petstore.swagger.io:80/v2 +configuration.host = "http://petstore.swagger.io:80/v2" +# Create an instance of the API class api_instance = petstore_api.PetApi(petstore_api.ApiClient(configuration)) pet_id = 56 # int | ID of pet that needs to be updated name = 'name_example' # str | Updated name of the pet (optional) @@ -441,7 +455,9 @@ configuration = petstore_api.Configuration() # Configure OAuth2 access token for authorization: petstore_auth configuration.access_token = 'YOUR_ACCESS_TOKEN' -# create an instance of the API class +# Defining host is optional and default to http://petstore.swagger.io:80/v2 +configuration.host = "http://petstore.swagger.io:80/v2" +# Create an instance of the API class api_instance = petstore_api.PetApi(petstore_api.ApiClient(configuration)) pet_id = 56 # int | ID of pet to update additional_metadata = 'additional_metadata_example' # str | Additional data to pass to server (optional) @@ -501,7 +517,9 @@ configuration = petstore_api.Configuration() # Configure OAuth2 access token for authorization: petstore_auth configuration.access_token = 'YOUR_ACCESS_TOKEN' -# create an instance of the API class +# Defining host is optional and default to http://petstore.swagger.io:80/v2 +configuration.host = "http://petstore.swagger.io:80/v2" +# Create an instance of the API class api_instance = petstore_api.PetApi(petstore_api.ApiClient(configuration)) pet_id = 56 # int | ID of pet to update required_file = '/path/to/file' # file | file to upload diff --git a/samples/openapi3/client/petstore/python/docs/StoreApi.md b/samples/openapi3/client/petstore/python/docs/StoreApi.md index ee56106ba0..aa2aafec80 100644 --- a/samples/openapi3/client/petstore/python/docs/StoreApi.md +++ b/samples/openapi3/client/petstore/python/docs/StoreApi.md @@ -26,7 +26,7 @@ import petstore_api from petstore_api.rest import ApiException from pprint import pprint -# create an instance of the API class +# Create an instance of the API class api_instance = petstore_api.StoreApi() order_id = 'order_id_example' # str | ID of the order that needs to be deleted @@ -86,7 +86,9 @@ configuration.api_key['api_key'] = 'YOUR_API_KEY' # Uncomment below to setup prefix (e.g. Bearer) for API key, if needed # configuration.api_key_prefix['api_key'] = 'Bearer' -# create an instance of the API class +# Defining host is optional and default to http://petstore.swagger.io:80/v2 +configuration.host = "http://petstore.swagger.io:80/v2" +# Create an instance of the API class api_instance = petstore_api.StoreApi(petstore_api.ApiClient(configuration)) try: @@ -136,7 +138,7 @@ import petstore_api from petstore_api.rest import ApiException from pprint import pprint -# create an instance of the API class +# Create an instance of the API class api_instance = petstore_api.StoreApi() order_id = 56 # int | ID of pet that needs to be fetched @@ -190,7 +192,7 @@ import petstore_api from petstore_api.rest import ApiException from pprint import pprint -# create an instance of the API class +# Create an instance of the API class api_instance = petstore_api.StoreApi() order = petstore_api.Order() # Order | order placed for purchasing the pet diff --git a/samples/openapi3/client/petstore/python/docs/UserApi.md b/samples/openapi3/client/petstore/python/docs/UserApi.md index 0003f88505..cd3eee5115 100644 --- a/samples/openapi3/client/petstore/python/docs/UserApi.md +++ b/samples/openapi3/client/petstore/python/docs/UserApi.md @@ -30,7 +30,7 @@ import petstore_api from petstore_api.rest import ApiException from pprint import pprint -# create an instance of the API class +# Create an instance of the API class api_instance = petstore_api.UserApi() user = petstore_api.User() # User | Created user object @@ -81,7 +81,7 @@ import petstore_api from petstore_api.rest import ApiException from pprint import pprint -# create an instance of the API class +# Create an instance of the API class api_instance = petstore_api.UserApi() user = [petstore_api.User()] # list[User] | List of user object @@ -132,7 +132,7 @@ import petstore_api from petstore_api.rest import ApiException from pprint import pprint -# create an instance of the API class +# Create an instance of the API class api_instance = petstore_api.UserApi() user = [petstore_api.User()] # list[User] | List of user object @@ -185,7 +185,7 @@ import petstore_api from petstore_api.rest import ApiException from pprint import pprint -# create an instance of the API class +# Create an instance of the API class api_instance = petstore_api.UserApi() username = 'username_example' # str | The name that needs to be deleted @@ -237,7 +237,7 @@ import petstore_api from petstore_api.rest import ApiException from pprint import pprint -# create an instance of the API class +# Create an instance of the API class api_instance = petstore_api.UserApi() username = 'username_example' # str | The name that needs to be fetched. Use user1 for testing. @@ -291,7 +291,7 @@ import petstore_api from petstore_api.rest import ApiException from pprint import pprint -# create an instance of the API class +# Create an instance of the API class api_instance = petstore_api.UserApi() username = 'username_example' # str | The user name for login password = 'password_example' # str | The password for login in clear text @@ -346,7 +346,7 @@ import petstore_api from petstore_api.rest import ApiException from pprint import pprint -# create an instance of the API class +# Create an instance of the API class api_instance = petstore_api.UserApi() try: @@ -395,7 +395,7 @@ import petstore_api from petstore_api.rest import ApiException from pprint import pprint -# create an instance of the API class +# Create an instance of the API class api_instance = petstore_api.UserApi() username = 'username_example' # str | name that need to be deleted user = petstore_api.User() # User | Updated user object From 23e63dccfa9872e93f14c6eec3a9d5cfbdcba5a1 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?J=C3=A9r=C3=A9mie=20Bresson?= Date: Fri, 28 Jun 2019 11:55:51 +0200 Subject: [PATCH 12/22] [java-client][okhttp-gson] support bearer authentication (#3236) --- .../libraries/okhttp-gson/ApiClient.mustache | 5 +++-- .../codegen/java/JavaClientCodegenTest.java | 13 ++++++++++++ .../test/resources/3_0/pingBearerAuth.yaml | 21 +++++++++++++++++++ 3 files changed, 37 insertions(+), 2 deletions(-) create mode 100644 modules/openapi-generator/src/test/resources/3_0/pingBearerAuth.yaml diff --git a/modules/openapi-generator/src/main/resources/Java/libraries/okhttp-gson/ApiClient.mustache b/modules/openapi-generator/src/main/resources/Java/libraries/okhttp-gson/ApiClient.mustache index 3c4559359c..a5617334a8 100644 --- a/modules/openapi-generator/src/main/resources/Java/libraries/okhttp-gson/ApiClient.mustache +++ b/modules/openapi-generator/src/main/resources/Java/libraries/okhttp-gson/ApiClient.mustache @@ -88,8 +88,9 @@ public class ApiClient { public ApiClient() { init(); - // Setup authentications (key: authentication name, value: authentication).{{#authMethods}}{{#isBasic}} - authentications.put("{{name}}", new HttpBasicAuth());{{/isBasic}}{{#isApiKey}} + // Setup authentications (key: authentication name, value: authentication).{{#authMethods}}{{#isBasic}}{{#isBasicBasic}} + authentications.put("{{name}}", new HttpBasicAuth());{{/isBasicBasic}}{{^isBasicBasic}} + authentications.put("{{name}}", new HttpBearerAuth("{{scheme}}"));{{/isBasicBasic}}{{/isBasic}}{{#isApiKey}} authentications.put("{{name}}", new ApiKeyAuth({{#isKeyInHeader}}"header"{{/isKeyInHeader}}{{^isKeyInHeader}}"query"{{/isKeyInHeader}}, "{{keyParamName}}"));{{/isApiKey}}{{#isOAuth}} authentications.put("{{name}}", new OAuth());{{/isOAuth}}{{/authMethods}} // Prevent the authentications from being modified. diff --git a/modules/openapi-generator/src/test/java/org/openapitools/codegen/java/JavaClientCodegenTest.java b/modules/openapi-generator/src/test/java/org/openapitools/codegen/java/JavaClientCodegenTest.java index 0f5573450e..acfd791fd0 100644 --- a/modules/openapi-generator/src/test/java/org/openapitools/codegen/java/JavaClientCodegenTest.java +++ b/modules/openapi-generator/src/test/java/org/openapitools/codegen/java/JavaClientCodegenTest.java @@ -44,6 +44,7 @@ import org.openapitools.codegen.CodegenOperation; import org.openapitools.codegen.CodegenParameter; import org.openapitools.codegen.CodegenProperty; import org.openapitools.codegen.CodegenResponse; +import org.openapitools.codegen.CodegenSecurity; import org.openapitools.codegen.DefaultGenerator; import org.openapitools.codegen.MockDefaultGenerator; import org.openapitools.codegen.MockDefaultGenerator.WrittenTemplateBasedFile; @@ -409,6 +410,18 @@ public class JavaClientCodegenTest { Assert.assertEquals(cm.getClassname(), "OtherObj"); } + @Test + public void testBearerAuth() { + final OpenAPI openAPI = TestUtils.parseSpec("src/test/resources/3_0/pingBearerAuth.yaml"); + JavaClientCodegen codegen = new JavaClientCodegen(); + + List security = codegen.fromSecurity(openAPI.getComponents().getSecuritySchemes()); + Assert.assertEquals(security.size(), 1); + Assert.assertEquals(security.get(0).isBasic, Boolean.TRUE); + Assert.assertEquals(security.get(0).isBasicBasic, Boolean.FALSE); + Assert.assertEquals(security.get(0).isBasicBearer, Boolean.TRUE); + } + private CodegenProperty codegenPropertyWithArrayOfIntegerValues() { CodegenProperty array = new CodegenProperty(); final CodegenProperty items = new CodegenProperty(); diff --git a/modules/openapi-generator/src/test/resources/3_0/pingBearerAuth.yaml b/modules/openapi-generator/src/test/resources/3_0/pingBearerAuth.yaml new file mode 100644 index 0000000000..a503051829 --- /dev/null +++ b/modules/openapi-generator/src/test/resources/3_0/pingBearerAuth.yaml @@ -0,0 +1,21 @@ +openapi: 3.0.1 +info: + title: ping test + version: '1.0' +servers: + - url: 'http://localhost:8080/' +paths: + /ping: + get: + operationId: pingGet + responses: + '201': + description: OK +components: + securitySchemes: + bearerAuth: + scheme: bearer + bearerFormat: token + type: http +security: + - bearerAuth: [] \ No newline at end of file From 51014839fdf08fea5b79c7a017b6fe5015776aff Mon Sep 17 00:00:00 2001 From: wing328 Date: Fri, 28 Jun 2019 18:00:48 +0800 Subject: [PATCH 13/22] add new perl file --- .../petstore/perl/t/AnotherFakeApiTest.t | 41 +++++++++++++++++++ 1 file changed, 41 insertions(+) create mode 100644 samples/client/petstore/perl/t/AnotherFakeApiTest.t diff --git a/samples/client/petstore/perl/t/AnotherFakeApiTest.t b/samples/client/petstore/perl/t/AnotherFakeApiTest.t new file mode 100644 index 0000000000..52d6452f0a --- /dev/null +++ b/samples/client/petstore/perl/t/AnotherFakeApiTest.t @@ -0,0 +1,41 @@ +=begin comment + +OpenAPI Petstore + +This spec is mainly for testing Petstore server and contains fake endpoints, models. Please do not use this for any other purpose. Special characters: \" \\ + +The version of the OpenAPI document: 1.0.0 + +Generated by: https://openapi-generator.tech + +=end comment + +=cut + +# +# NOTE: This class is auto generated by OpenAPI Generator +# Please update the test cases below to test the API endpoints. +# Ref: https://openapi-generator.tech +# +use Test::More tests => 1; #TODO update number of test cases +use Test::Exception; + +use lib 'lib'; +use strict; +use warnings; + +use_ok('WWW::OpenAPIClient::AnotherFakeApi'); + +my $api = WWW::OpenAPIClient::AnotherFakeApi->new(); +isa_ok($api, 'WWW::OpenAPIClient::AnotherFakeApi'); + +# +# call_123_test_special_tags test +# +{ + my $body = undef; # replace NULL with a proper value + my $result = $api->call_123_test_special_tags(body => $body); +} + + +1; From e46bd7dd1862c1ce5557000a68a7786669913599 Mon Sep 17 00:00:00 2001 From: Thiago Arrais Date: Fri, 28 Jun 2019 12:14:13 -0300 Subject: [PATCH 14/22] [go] Serialize multipart array of complex objects as JSON (#2965) * Serialize multipart array of complex objects as JSON * Update sample client * Update sample client --- .../src/main/resources/go/api.mustache | 11 +++++++++++ .../src/main/resources/go/client.mustache | 10 ++++++++++ .../petstore/go/go-petstore-withXml/api_fake.go | 6 +++++- .../client/petstore/go/go-petstore-withXml/client.go | 10 ++++++++++ samples/client/petstore/go/go-petstore/api_fake.go | 6 +++++- samples/client/petstore/go/go-petstore/client.go | 10 ++++++++++ .../go/go-petstore/.openapi-generator/VERSION | 2 +- .../client/petstore/go/go-petstore/api_fake.go | 6 +++++- .../openapi3/client/petstore/go/go-petstore/client.go | 10 ++++++++++ 9 files changed, 67 insertions(+), 4 deletions(-) diff --git a/modules/openapi-generator/src/main/resources/go/api.mustache b/modules/openapi-generator/src/main/resources/go/api.mustache index 1a6a8f0434..2b04681ac9 100644 --- a/modules/openapi-generator/src/main/resources/go/api.mustache +++ b/modules/openapi-generator/src/main/resources/go/api.mustache @@ -203,9 +203,20 @@ func (a *{{{classname}}}Service) {{{nickname}}}(ctx context.Context{{#hasParams} localVarFormParams.Add("{{baseName}}", parameterToString({{paramName}}, "{{#collectionFormat}}{{collectionFormat}}{{/collectionFormat}}")) {{/required}} {{^required}} +{{#isModel}} + if localVarOptionals != nil && localVarOptionals.{{vendorExtensions.x-exportParamName}}.IsSet() { + paramJson, err := parameterToJson(localVarOptionals.{{vendorExtensions.x-exportParamName}}.Value()) + if err != nil { + return {{#returnType}}localVarReturnValue, {{/returnType}}nil, err + } + localVarFormParams.Add("{{baseName}}", paramJson) + } +{{/isModel}} +{{^isModel}} if localVarOptionals != nil && localVarOptionals.{{vendorExtensions.x-exportParamName}}.IsSet() { localVarFormParams.Add("{{baseName}}", parameterToString(localVarOptionals.{{vendorExtensions.x-exportParamName}}.Value(), "{{#collectionFormat}}{{collectionFormat}}{{/collectionFormat}}")) } +{{/isModel}} {{/required}} {{/isFile}} {{/formParams}} diff --git a/modules/openapi-generator/src/main/resources/go/client.mustache b/modules/openapi-generator/src/main/resources/go/client.mustache index c67976ea72..1c4241ff04 100644 --- a/modules/openapi-generator/src/main/resources/go/client.mustache +++ b/modules/openapi-generator/src/main/resources/go/client.mustache @@ -149,6 +149,16 @@ func parameterToString(obj interface{}, collectionFormat string) string { return fmt.Sprintf("%v", obj) } +// helper for converting interface{} parameters to json strings +func parameterToJson(obj interface{}) (string, error) { + jsonBuf, err := json.Marshal(obj) + if err != nil { + return "", err + } + return string(jsonBuf), err +} + + // callAPI do the request. func (c *APIClient) callAPI(request *http.Request) (*http.Response, error) { return c.cfg.HTTPClient.Do(request) diff --git a/samples/client/petstore/go/go-petstore-withXml/api_fake.go b/samples/client/petstore/go/go-petstore-withXml/api_fake.go index b943fc4be8..24b92afc3a 100644 --- a/samples/client/petstore/go/go-petstore-withXml/api_fake.go +++ b/samples/client/petstore/go/go-petstore-withXml/api_fake.go @@ -833,7 +833,11 @@ func (a *FakeApiService) TestEndpointParameters(ctx context.Context, number floa localVarFormParams.Add("date", parameterToString(localVarOptionals.Date.Value(), "")) } if localVarOptionals != nil && localVarOptionals.DateTime.IsSet() { - localVarFormParams.Add("dateTime", parameterToString(localVarOptionals.DateTime.Value(), "")) + paramJson, err := parameterToJson(localVarOptionals.DateTime.Value()) + if err != nil { + return nil, err + } + localVarFormParams.Add("dateTime", paramJson) } if localVarOptionals != nil && localVarOptionals.Password.IsSet() { localVarFormParams.Add("password", parameterToString(localVarOptionals.Password.Value(), "")) diff --git a/samples/client/petstore/go/go-petstore-withXml/client.go b/samples/client/petstore/go/go-petstore-withXml/client.go index 9c9943dd67..631e48fcef 100644 --- a/samples/client/petstore/go/go-petstore-withXml/client.go +++ b/samples/client/petstore/go/go-petstore-withXml/client.go @@ -161,6 +161,16 @@ func parameterToString(obj interface{}, collectionFormat string) string { return fmt.Sprintf("%v", obj) } +// helper for converting interface{} parameters to json strings +func parameterToJson(obj interface{}) (string, error) { + jsonBuf, err := json.Marshal(obj) + if err != nil { + return "", err + } + return string(jsonBuf), err +} + + // callAPI do the request. func (c *APIClient) callAPI(request *http.Request) (*http.Response, error) { return c.cfg.HTTPClient.Do(request) diff --git a/samples/client/petstore/go/go-petstore/api_fake.go b/samples/client/petstore/go/go-petstore/api_fake.go index 27c3ae978b..e6a157d6ce 100644 --- a/samples/client/petstore/go/go-petstore/api_fake.go +++ b/samples/client/petstore/go/go-petstore/api_fake.go @@ -832,7 +832,11 @@ func (a *FakeApiService) TestEndpointParameters(ctx context.Context, number floa localVarFormParams.Add("date", parameterToString(localVarOptionals.Date.Value(), "")) } if localVarOptionals != nil && localVarOptionals.DateTime.IsSet() { - localVarFormParams.Add("dateTime", parameterToString(localVarOptionals.DateTime.Value(), "")) + paramJson, err := parameterToJson(localVarOptionals.DateTime.Value()) + if err != nil { + return nil, err + } + localVarFormParams.Add("dateTime", paramJson) } if localVarOptionals != nil && localVarOptionals.Password.IsSet() { localVarFormParams.Add("password", parameterToString(localVarOptionals.Password.Value(), "")) diff --git a/samples/client/petstore/go/go-petstore/client.go b/samples/client/petstore/go/go-petstore/client.go index e67a99338b..79a128973d 100644 --- a/samples/client/petstore/go/go-petstore/client.go +++ b/samples/client/petstore/go/go-petstore/client.go @@ -160,6 +160,16 @@ func parameterToString(obj interface{}, collectionFormat string) string { return fmt.Sprintf("%v", obj) } +// helper for converting interface{} parameters to json strings +func parameterToJson(obj interface{}) (string, error) { + jsonBuf, err := json.Marshal(obj) + if err != nil { + return "", err + } + return string(jsonBuf), err +} + + // callAPI do the request. func (c *APIClient) callAPI(request *http.Request) (*http.Response, error) { return c.cfg.HTTPClient.Do(request) diff --git a/samples/openapi3/client/petstore/go/go-petstore/.openapi-generator/VERSION b/samples/openapi3/client/petstore/go/go-petstore/.openapi-generator/VERSION index d96260ba33..479c313e87 100644 --- a/samples/openapi3/client/petstore/go/go-petstore/.openapi-generator/VERSION +++ b/samples/openapi3/client/petstore/go/go-petstore/.openapi-generator/VERSION @@ -1 +1 @@ -4.0.2-SNAPSHOT \ No newline at end of file +4.0.3-SNAPSHOT \ No newline at end of file diff --git a/samples/openapi3/client/petstore/go/go-petstore/api_fake.go b/samples/openapi3/client/petstore/go/go-petstore/api_fake.go index 6dd6f996d1..a2438b1a42 100644 --- a/samples/openapi3/client/petstore/go/go-petstore/api_fake.go +++ b/samples/openapi3/client/petstore/go/go-petstore/api_fake.go @@ -849,7 +849,11 @@ func (a *FakeApiService) TestEndpointParameters(ctx context.Context, number floa localVarFormParams.Add("date", parameterToString(localVarOptionals.Date.Value(), "")) } if localVarOptionals != nil && localVarOptionals.DateTime.IsSet() { - localVarFormParams.Add("dateTime", parameterToString(localVarOptionals.DateTime.Value(), "")) + paramJson, err := parameterToJson(localVarOptionals.DateTime.Value()) + if err != nil { + return nil, err + } + localVarFormParams.Add("dateTime", paramJson) } if localVarOptionals != nil && localVarOptionals.Password.IsSet() { localVarFormParams.Add("password", parameterToString(localVarOptionals.Password.Value(), "")) diff --git a/samples/openapi3/client/petstore/go/go-petstore/client.go b/samples/openapi3/client/petstore/go/go-petstore/client.go index db46607be2..3f2edef8d7 100644 --- a/samples/openapi3/client/petstore/go/go-petstore/client.go +++ b/samples/openapi3/client/petstore/go/go-petstore/client.go @@ -163,6 +163,16 @@ func parameterToString(obj interface{}, collectionFormat string) string { return fmt.Sprintf("%v", obj) } +// helper for converting interface{} parameters to json strings +func parameterToJson(obj interface{}) (string, error) { + jsonBuf, err := json.Marshal(obj) + if err != nil { + return "", err + } + return string(jsonBuf), err +} + + // callAPI do the request. func (c *APIClient) callAPI(request *http.Request) (*http.Response, error) { return c.cfg.HTTPClient.Do(request) From 731b1629429c0d3b0d1fbb49f06e332d5c66286e Mon Sep 17 00:00:00 2001 From: "Mateusz Szychowski (Muttley)" Date: Fri, 28 Jun 2019 19:21:01 +0200 Subject: [PATCH 15/22] [C++][Pistache] Fix warnings (#3238) * [C++][Pistache] Fix warnings Remove unecessary semicolon (Wpedantic) Remove unused parameter name (Wunused-parameter) * [C++][Pistache] Update Petstore sample --- .../main/resources/cpp-pistache-server/api-source.mustache | 6 +++--- samples/server/petstore/cpp-pistache/api/PetApi.cpp | 4 ++-- samples/server/petstore/cpp-pistache/api/StoreApi.cpp | 6 +++--- samples/server/petstore/cpp-pistache/api/UserApi.cpp | 6 +++--- 4 files changed, 11 insertions(+), 11 deletions(-) diff --git a/modules/openapi-generator/src/main/resources/cpp-pistache-server/api-source.mustache b/modules/openapi-generator/src/main/resources/cpp-pistache-server/api-source.mustache index cfb88ec331..4e35d5f863 100644 --- a/modules/openapi-generator/src/main/resources/cpp-pistache-server/api-source.mustache +++ b/modules/openapi-generator/src/main/resources/cpp-pistache-server/api-source.mustache @@ -14,7 +14,7 @@ using namespace {{modelNamespace}};{{/hasModelImport}} {{classname}}::{{classname}}(std::shared_ptr rtr) { router = rtr; -}; +} void {{classname}}::init() { setupRoutes(); @@ -32,7 +32,7 @@ void {{classname}}::setupRoutes() { } {{#operation}} -void {{classname}}::{{operationIdSnakeCase}}_handler(const Pistache::Rest::Request &request, Pistache::Http::ResponseWriter response) { +void {{classname}}::{{operationIdSnakeCase}}_handler(const Pistache::Rest::Request &{{#hasParams}}request{{/hasParams}}, Pistache::Http::ResponseWriter response) { {{#vendorExtensions.x-codegen-pistache-isParsingSupported}} {{#hasPathParams}} // Getting the path params @@ -92,7 +92,7 @@ void {{classname}}::{{operationIdSnakeCase}}_handler(const Pistache::Rest::Reque } {{/operation}} -void {{classname}}::{{classnameSnakeLowerCase}}_default_handler(const Pistache::Rest::Request &request, Pistache::Http::ResponseWriter response) { +void {{classname}}::{{classnameSnakeLowerCase}}_default_handler(const Pistache::Rest::Request &, Pistache::Http::ResponseWriter response) { response.send(Pistache::Http::Code::Not_Found, "The requested method does not exist"); } diff --git a/samples/server/petstore/cpp-pistache/api/PetApi.cpp b/samples/server/petstore/cpp-pistache/api/PetApi.cpp index 2dcf3b1434..32d47377c6 100644 --- a/samples/server/petstore/cpp-pistache/api/PetApi.cpp +++ b/samples/server/petstore/cpp-pistache/api/PetApi.cpp @@ -23,7 +23,7 @@ using namespace org::openapitools::server::model; PetApi::PetApi(std::shared_ptr rtr) { router = rtr; -}; +} void PetApi::init() { setupRoutes(); @@ -201,7 +201,7 @@ void PetApi::upload_file_handler(const Pistache::Rest::Request &request, Pistach } -void PetApi::pet_api_default_handler(const Pistache::Rest::Request &request, Pistache::Http::ResponseWriter response) { +void PetApi::pet_api_default_handler(const Pistache::Rest::Request &, Pistache::Http::ResponseWriter response) { response.send(Pistache::Http::Code::Not_Found, "The requested method does not exist"); } diff --git a/samples/server/petstore/cpp-pistache/api/StoreApi.cpp b/samples/server/petstore/cpp-pistache/api/StoreApi.cpp index b9ae6c1d58..d113387773 100644 --- a/samples/server/petstore/cpp-pistache/api/StoreApi.cpp +++ b/samples/server/petstore/cpp-pistache/api/StoreApi.cpp @@ -23,7 +23,7 @@ using namespace org::openapitools::server::model; StoreApi::StoreApi(std::shared_ptr rtr) { router = rtr; -}; +} void StoreApi::init() { setupRoutes(); @@ -58,7 +58,7 @@ void StoreApi::delete_order_handler(const Pistache::Rest::Request &request, Pist } } -void StoreApi::get_inventory_handler(const Pistache::Rest::Request &request, Pistache::Http::ResponseWriter response) { +void StoreApi::get_inventory_handler(const Pistache::Rest::Request &, Pistache::Http::ResponseWriter response) { try { this->get_inventory(response); @@ -111,7 +111,7 @@ void StoreApi::place_order_handler(const Pistache::Rest::Request &request, Pista } -void StoreApi::store_api_default_handler(const Pistache::Rest::Request &request, Pistache::Http::ResponseWriter response) { +void StoreApi::store_api_default_handler(const Pistache::Rest::Request &, Pistache::Http::ResponseWriter response) { response.send(Pistache::Http::Code::Not_Found, "The requested method does not exist"); } diff --git a/samples/server/petstore/cpp-pistache/api/UserApi.cpp b/samples/server/petstore/cpp-pistache/api/UserApi.cpp index 76846eb5ec..51889d5504 100644 --- a/samples/server/petstore/cpp-pistache/api/UserApi.cpp +++ b/samples/server/petstore/cpp-pistache/api/UserApi.cpp @@ -23,7 +23,7 @@ using namespace org::openapitools::server::model; UserApi::UserApi(std::shared_ptr rtr) { router = rtr; -}; +} void UserApi::init() { setupRoutes(); @@ -170,7 +170,7 @@ void UserApi::login_user_handler(const Pistache::Rest::Request &request, Pistach } } -void UserApi::logout_user_handler(const Pistache::Rest::Request &request, Pistache::Http::ResponseWriter response) { +void UserApi::logout_user_handler(const Pistache::Rest::Request &, Pistache::Http::ResponseWriter response) { try { this->logout_user(response); @@ -208,7 +208,7 @@ void UserApi::update_user_handler(const Pistache::Rest::Request &request, Pistac } -void UserApi::user_api_default_handler(const Pistache::Rest::Request &request, Pistache::Http::ResponseWriter response) { +void UserApi::user_api_default_handler(const Pistache::Rest::Request &, Pistache::Http::ResponseWriter response) { response.send(Pistache::Http::Code::Not_Found, "The requested method does not exist"); } From 3e5e82460fcbb594b8baeb243656535842e434c7 Mon Sep 17 00:00:00 2001 From: Jim Schubert Date: Sat, 29 Jun 2019 20:30:45 -0400 Subject: [PATCH 16/22] [online] Apidocs ui (#3229) * [online] Use rapidoc UI for api documentation --- modules/openapi-generator-online/pom.xml | 13 +- .../online/configuration/HomeController.java | 4 +- .../OpenAPIDocumentationConfig.java | 16 +- .../src/main/resources/application.properties | 1 + .../src/main/resources/static/index.html | 17 ++ .../src/main/resources/static/logo.png | Bin 0 -> 2866 bytes .../src/main/resources/static/rapidoc-min.js | 182 ++++++++++++++++++ .../src/main/resources/version.properties | 1 + 8 files changed, 227 insertions(+), 7 deletions(-) create mode 100755 modules/openapi-generator-online/src/main/resources/static/index.html create mode 100644 modules/openapi-generator-online/src/main/resources/static/logo.png create mode 100644 modules/openapi-generator-online/src/main/resources/static/rapidoc-min.js create mode 100644 modules/openapi-generator-online/src/main/resources/version.properties diff --git a/modules/openapi-generator-online/pom.xml b/modules/openapi-generator-online/pom.xml index 2936f13649..ffdd53dfce 100644 --- a/modules/openapi-generator-online/pom.xml +++ b/modules/openapi-generator-online/pom.xml @@ -33,6 +33,14 @@ openapi-generator-online src/main/java + + + src/main/resources + true + + + + org.springframework.boot @@ -69,11 +77,6 @@ - - io.springfox - springfox-swagger-ui - ${springfox-version} - com.fasterxml.jackson.datatype diff --git a/modules/openapi-generator-online/src/main/java/org/openapitools/codegen/online/configuration/HomeController.java b/modules/openapi-generator-online/src/main/java/org/openapitools/codegen/online/configuration/HomeController.java index 187d0b4156..04912686cc 100644 --- a/modules/openapi-generator-online/src/main/java/org/openapitools/codegen/online/configuration/HomeController.java +++ b/modules/openapi-generator-online/src/main/java/org/openapitools/codegen/online/configuration/HomeController.java @@ -27,6 +27,8 @@ import org.springframework.web.bind.annotation.RequestMapping; public class HomeController { @RequestMapping(value = "/") public String index() { - return "redirect:swagger-ui.html"; + return "redirect:index.html"; } + + } diff --git a/modules/openapi-generator-online/src/main/java/org/openapitools/codegen/online/configuration/OpenAPIDocumentationConfig.java b/modules/openapi-generator-online/src/main/java/org/openapitools/codegen/online/configuration/OpenAPIDocumentationConfig.java index 6a0fdbe131..497bdc7994 100644 --- a/modules/openapi-generator-online/src/main/java/org/openapitools/codegen/online/configuration/OpenAPIDocumentationConfig.java +++ b/modules/openapi-generator-online/src/main/java/org/openapitools/codegen/online/configuration/OpenAPIDocumentationConfig.java @@ -29,7 +29,9 @@ import springfox.documentation.spi.DocumentationType; import springfox.documentation.spring.web.plugins.Docket; import springfox.documentation.swagger2.annotations.EnableSwagger2; +import java.io.IOException; import java.io.InputStream; +import java.util.Properties; @Configuration @@ -37,13 +39,25 @@ import java.io.InputStream; public class OpenAPIDocumentationConfig { ApiInfo apiInfo() { + final Properties properties = new Properties(); + try (InputStream stream = this.getClass().getResourceAsStream("/version.properties")) { + if (stream != null) { + properties.load(stream); + } + } catch (IOException ex) { + // ignore + } + + String version = properties.getProperty("version", "unknown"); + + return new ApiInfoBuilder() .title("OpenAPI Generator Online") .description("This is an online openapi generator server. You can find out more at https://github.com/OpenAPITools/openapi-generator.") .license("Apache 2.0") .licenseUrl("http://www.apache.org/licenses/LICENSE-2.0.html") .termsOfServiceUrl("") - .version("3.0.0") + .version(version) .contact(new Contact("","", "")) .build(); } diff --git a/modules/openapi-generator-online/src/main/resources/application.properties b/modules/openapi-generator-online/src/main/resources/application.properties index 8a3fc27449..98e8956185 100644 --- a/modules/openapi-generator-online/src/main/resources/application.properties +++ b/modules/openapi-generator-online/src/main/resources/application.properties @@ -2,3 +2,4 @@ springfox.documentation.swagger.v2.path=/api-docs server.port=8080 spring.jackson.date-format=org.openapitools.codegen.online.RFC3339DateFormat spring.jackson.serialization.WRITE_DATES_AS_TIMESTAMPS=false +spring.resources.static-locations=classpath:/META-INF/resources/,classpath:/resources/,classpath:/static/,classpath:/public/ diff --git a/modules/openapi-generator-online/src/main/resources/static/index.html b/modules/openapi-generator-online/src/main/resources/static/index.html new file mode 100755 index 0000000000..0920d74bd0 --- /dev/null +++ b/modules/openapi-generator-online/src/main/resources/static/index.html @@ -0,0 +1,17 @@ + + + + + + + + + + + + \ No newline at end of file diff --git a/modules/openapi-generator-online/src/main/resources/static/logo.png b/modules/openapi-generator-online/src/main/resources/static/logo.png new file mode 100644 index 0000000000000000000000000000000000000000..b57b94a6f1044d7f51fc4eed19abef5120be8c4e GIT binary patch literal 2866 zcmai0dpwhU8^1S)5;}-R$eL45J1}H6)T|n*5jA>>nR|0LJJ^PeH*G0T9#V9$5QSck z^mHH+iKp^*P?AzgDfPTM$f1O{ba?Nf)2H6|`QzSp{jTrz{e7?N`u(nZX^a(1^{369 z1^|FQeVK0%{B5OvrfS2V-GE930GdakV5XEAu$;se^0BNaVI+u^@kOv70Lb1l5sS?O zrRYeI3kfKgfw~3^8j7M|*0=`X14L9X8d{bp23IAn2xcep*d9?BZ?9=&83`ufgHje+ z#*Yz5NHPj$oR1n9Nrn{?Cb<1oFsCAlqGW#NG#P96CA#vge`_dQb;I3 zt2tSb!Z;}fgMt0%NpdN~`N}SkOr{SP0;l%i2v|JsTR13#I5g%LIc!M8!fp`Z)XP6$ zS#faMle)iS{(^=PKd}Ez$hTtP8vh(EV~KuH1A_ws{y&`0|4xlWN{ff9^|K5cW3@t%0I`^r*>V;?yk* z5kTI=Uwtqi9{(+2=+Au<{UX64Bmu%GFlMs(aN)<-CQUVp#DHXA4AU3l!&rFt zZxnxZhyKhBSC#~mLmas;OA5k@@dOViyqlA=Td=bWiGU{&+@0`55`H56aWs4dqF7Sa z-{I8<8BHGV9BCOOkqX7~@ui8=y$Xz-uqMnHX#7~C(c^t1vDoSwQZOR1Fe;7>Mok=? z&t8d;BTZn5!9`rSWfaUJ4hMp(Ek`q=g;F7UfnS^eO>jf2GqL+VFd-U*N&k0>xJiLH z^?m!Skc|5w2l6=Jn+poZO{~EeAD$q%FCzptz6>Ey08btb>=!-ZOWntPIVlS^;K;M@ftnmdSP}gvO27rMQhjV zj_tl|M6Htf*M!iQJ~?N5Ze9R(!9Uo~Phh;)=G(t6Z3?q8)2#FF*l+)YY2pAmIXL1< z9r8j~Cl9deO9)wc`}TI&btzY<2*{d!5xddJ?@Y4q?m$`8R}?Kyez@|Zq5N`4)apvcl{8g%$7tN^Z~uMHhb*(lBT)wHGY>-3!;T(EKG;$D zaARgay22(rPRFyZ)$(Z`ssS;Y!mUiXDq+Jf3mwt2PzeBFE!7V~cE~#(e!1k+eHR5Y zw>IUh+ZF;ErWPg?n%oQw?77hx4n> zR^2|;G}R&CG3U{Ax`WbF=@n7lw|(=6cNU8NoRd1LdjnNUAz|g5B?dOnNr|+Xnrjuj zDSA4p%?ph(tQa#j?*Q)Y##lgiiQ!aZ-CLC&EMH|l*Z|n_^ffHpU28+J&w6e!UGoxn>BISom-I}fA@6NNe)9|aVOK06$ zdxr{{=@Qnpp&Hw%06}zX~|Iqw7-G&Uh^ zFF6c&b*5Wi1KdI)GCLe&Z=b5~@-BOEkeI1KADY>Fsd=msKa31VglmlPEp`#7)l91~ z7}CKYZ-+#TbRI$ESQ%A1cHWy)HM+WT-LM{g%Qmj^ZAgT{f%7BrFD;vrO-p0f0CSJ| z=qlTdR1fX(ApID!*xI_WR9^$()KR%pJ2OYIr}`l-^~Q5$dWNB9ElO7K9wH0 z+~{?7Y(BZ}@Zt4)_4T;8!M%O_COm1sP3&y^(zeB&?tXsCLS?DK&gU}6q^7cMx$t*( z`TPS)Qp{LNr13DYEDVSNIDROzrWCjGM$g@a#d)T#ZP7{>5ipjdAf}Z9y~=&AJ!f@e zrnI2@v?`kQcO#~x2aetKlA`2GLUt))A1x+iI6uORUWzpkZ{8#ocwM@WY5hgsuZ3Nv z@YgbE-D}nt{E_O-@YLhhi{}(+87G`pA|KTrU@SmJwVbuWWwc9y|B!ooJ@?qeB3!r& z6#$2xJEL_@RUxn%ut1c)yY_Y#lb4jR5UNm~*hZrsCzPBl)O4iplC30Ud^}!{V%k8} zeWBU4%KFseCcOQc+hoMmI;#W3G>wwZ8hko3LRmsRWR-lvH6t_YRMr+mxBo7g;c;f0 zfABz#YjdOA2Qt{P_YE*e!k@kJ9$;n?i*M~e!;v($v=tN-h?`Xed!lQAVJ>ur(e}hO zA{lwMTuUlglzV|~O+iY5**vFbrP$YkPY&|^CbX_%f$gWO(9sHxEeGTo_m}DJws~bt z_g9AewJ~~uvwSLY!!KO>cY2jYu6m>Gok#2f9^24oAbE=F`R5o)IOY6mu6_8{_TNfxYs}Cn>&xsC z%ZEzJZl;?5(|)E;nI|-5UeyDg7`xOPWgCW4sh=0&&e._disposeHandlers.splice(n,1)},check:S,apply:C,status:function(t){if(!t)return p;f.push(t)},addStatusHandler:function(t){f.push(t)},removeStatusHandler:function(t){var e=f.indexOf(t);e>=0&&f.splice(e,1)},data:s[t]};return n=void 0,e}var f=[],p="idle";function h(t){p=t;for(var e=0;e0;){var i=r.pop(),o=i.id,s=i.chain;if((a=E[o])&&!a.hot._selfAccepted){if(a.hot._selfDeclined)return{type:"self-declined",chain:s,moduleId:o};if(a.hot._main)return{type:"unaccepted",chain:s,moduleId:o};for(var u=0;u ")),S.type){case"self-declined":e.onDeclined&&e.onDeclined(S),e.ignoreDeclined||(A=new Error("Aborted because of self decline: "+S.moduleId+R));break;case"declined":e.onDeclined&&e.onDeclined(S),e.ignoreDeclined||(A=new Error("Aborted because of declined dependency: "+S.moduleId+" in "+S.parentId+R));break;case"unaccepted":e.onUnaccepted&&e.onUnaccepted(S),e.ignoreUnaccepted||(A=new Error("Aborted because "+c+" is not accepted"+R));break;case"accepted":e.onAccepted&&e.onAccepted(S),O=!0;break;case"disposed":e.onDisposed&&e.onDisposed(S),C=!0;break;default:throw new Error("Unexception type "+S.type)}if(A)return h("abort"),Promise.reject(A);if(O)for(c in m[c]=v[c],f(y,S.outdatedModules),S.outdatedDependencies)Object.prototype.hasOwnProperty.call(S.outdatedDependencies,c)&&(d[c]||(d[c]=[]),f(d[c],S.outdatedDependencies[c]));C&&(f(y,[S.moduleId]),m[c]=b)}var T,q=[];for(r=0;r0;)if(c=D.pop(),a=E[c]){var M={},j=a.hot._disposeHandlers;for(o=0;o=0&&k.parents.splice(T,1))}}for(c in d)if(Object.prototype.hasOwnProperty.call(d,c)&&(a=E[c]))for(z=d[c],o=0;o=0&&a.children.splice(T,1);for(c in h("apply"),i=g,m)Object.prototype.hasOwnProperty.call(m,c)&&(t[c]=m[c]);var F=null;for(c in d)if(Object.prototype.hasOwnProperty.call(d,c)&&(a=E[c])){z=d[c];var L=[];for(r=0;r ?(paragraph|[^\n]*)(?:\n|$))+/,list:/^( {0,3})(bull) [\s\S]+?(?:hr|def|\n{2,}(?! )(?!\1bull )\n*|\s*$)/,html:"^ {0,3}(?:<(script|pre|style)[\\s>][\\s\\S]*?(?:[^\\n]*\\n+|$)|comment[^\\n]*(\\n+|$)|<\\?[\\s\\S]*?\\?>\\n*|\\n*|\\n*|)[\\s\\S]*?(?:\\n{2,}|$)|<(?!script|pre|style)([a-z][\\w-]*)(?:attribute)*? */?>(?=[ \\t]*(?:\\n|$))[\\s\\S]*?(?:\\n{2,}|$)|(?=[ \\t]*(?:\\n|$))[\\s\\S]*?(?:\\n{2,}|$))",def:/^ {0,3}\[(label)\]: *\n? *]+)>?(?:(?: +\n? *| *\n *)(title))? *(?:\n+|$)/,table:g,lheading:/^([^\n]+)\n *(=|-){2,} *(?:\n+|$)/,paragraph:/^([^\n]+(?:\n(?!hr|heading|lheading| {0,3}>|<\/?(?:tag)(?: +|\n|\/?>)|<(?:script|pre|style|!--))[^\n]+)*)/,text:/^[^\n]+/};function r(t){this.tokens=[],this.tokens.links=Object.create(null),this.options=t||_.defaults,this.rules=n.normal,this.options.pedantic?this.rules=n.pedantic:this.options.gfm&&(this.options.tables?this.rules=n.tables:this.rules=n.gfm)}n._label=/(?!\s*\])(?:\\[\[\]]|[^\[\]])+/,n._title=/(?:"(?:\\"?|[^"\\])*"|'[^'\n]*(?:\n[^'\n]+)*\n?'|\([^()]*\))/,n.def=p(n.def).replace("label",n._label).replace("title",n._title).getRegex(),n.bullet=/(?:[*+-]|\d{1,9}\.)/,n.item=/^( *)(bull) ?[^\n]*(?:\n(?!\1bull ?)[^\n]*)*/,n.item=p(n.item,"gm").replace(/bull/g,n.bullet).getRegex(),n.list=p(n.list).replace(/bull/g,n.bullet).replace("hr","\\n+(?=\\1?(?:(?:- *){3,}|(?:_ *){3,}|(?:\\* *){3,})(?:\\n+|$))").replace("def","\\n+(?="+n.def.source+")").getRegex(),n._tag="address|article|aside|base|basefont|blockquote|body|caption|center|col|colgroup|dd|details|dialog|dir|div|dl|dt|fieldset|figcaption|figure|footer|form|frame|frameset|h[1-6]|head|header|hr|html|iframe|legend|li|link|main|menu|menuitem|meta|nav|noframes|ol|optgroup|option|p|param|section|source|summary|table|tbody|td|tfoot|th|thead|title|tr|track|ul",n._comment=//,n.html=p(n.html,"i").replace("comment",n._comment).replace("tag",n._tag).replace("attribute",/ +[a-zA-Z:_][\w.:-]*(?: *= *"[^"\n]*"| *= *'[^'\n]*'| *= *[^\s"'=<>`]+)?/).getRegex(),n.paragraph=p(n.paragraph).replace("hr",n.hr).replace("heading",n.heading).replace("lheading",n.lheading).replace("tag",n._tag).getRegex(),n.blockquote=p(n.blockquote).replace("paragraph",n.paragraph).getRegex(),n.normal=y({},n),n.gfm=y({},n.normal,{fences:/^ {0,3}(`{3,}|~{3,})([^`\n]*)\n(?:|([\s\S]*?)\n)(?: {0,3}\1[~`]* *(?:\n+|$)|$)/,paragraph:/^/,heading:/^ *(#{1,6}) +([^\n]+?) *#* *(?:\n+|$)/}),n.gfm.paragraph=p(n.paragraph).replace("(?!","(?!"+n.gfm.fences.source.replace("\\1","\\2")+"|"+n.list.source.replace("\\1","\\3")+"|").getRegex(),n.tables=y({},n.gfm,{nptable:/^ *([^|\n ].*\|.*)\n *([-:]+ *\|[-| :]*)(?:\n((?:.*[^>\n ].*(?:\n|$))*)\n*|$)/,table:/^ *\|(.+)\n *\|?( *[-:]+[-| :]*)(?:\n((?: *[^>\n ].*(?:\n|$))*)\n*|$)/}),n.pedantic=y({},n.normal,{html:p("^ *(?:comment *(?:\\n|\\s*$)|<(tag)[\\s\\S]+? *(?:\\n{2,}|\\s*$)|\\s]*)*?/?> *(?:\\n{2,}|\\s*$))").replace("comment",n._comment).replace(/tag/g,"(?!(?:a|em|strong|small|s|cite|q|dfn|abbr|data|time|code|var|samp|kbd|sub|sup|i|b|u|mark|ruby|rt|rp|bdi|bdo|span|br|wbr|ins|del|img)\\b)\\w+(?!:|[^\\w\\s@]*@)\\b").getRegex(),def:/^ *\[([^\]]+)\]: *]+)>?(?: +(["(][^\n]+[")]))? *(?:\n+|$)/}),r.rules=n,r.lex=function(t,e){return new r(e).lex(t)},r.prototype.lex=function(t){return t=t.replace(/\r\n|\r/g,"\n").replace(/\t/g," ").replace(/\u00a0/g," ").replace(/\u2424/g,"\n"),this.token(t,!0)},r.prototype.token=function(t,e){var r,i,o,s,u,a,c,l,f,p,h,d,v,g,y,w;for(t=t.replace(/^ +$/gm,"");t;)if((o=this.rules.newline.exec(t))&&(t=t.substring(o[0].length),o[0].length>1&&this.tokens.push({type:"space"})),o=this.rules.code.exec(t))t=t.substring(o[0].length),o=o[0].replace(/^ {4}/gm,""),this.tokens.push({type:"code",text:this.options.pedantic?o:b(o,"\n")});else if(o=this.rules.fences.exec(t))t=t.substring(o[0].length),this.tokens.push({type:"code",lang:o[2]?o[2].trim():o[2],text:o[3]||""});else if(o=this.rules.heading.exec(t))t=t.substring(o[0].length),this.tokens.push({type:"heading",depth:o[1].length,text:o[2]});else if((o=this.rules.nptable.exec(t))&&(a={type:"table",header:m(o[1].replace(/^ *| *\| *$/g,"")),align:o[2].replace(/^ *|\| *$/g,"").split(/ *\| */),cells:o[3]?o[3].replace(/\n$/,"").split("\n"):[]}).header.length===a.align.length){for(t=t.substring(o[0].length),h=0;h ?/gm,""),this.token(o,e),this.tokens.push({type:"blockquote_end"});else if(o=this.rules.list.exec(t)){for(t=t.substring(o[0].length),c={type:"list_start",ordered:g=(s=o[2]).length>1,start:g?+s:"",loose:!1},this.tokens.push(c),l=[],r=!1,v=(o=o[0].match(this.rules.item)).length,h=0;h1?1===u.length:u.length>1||this.options.smartLists&&u!==s)&&(t=o.slice(h+1).join("\n")+t,h=v-1)),i=r||/\n\n(?!\s*$)/.test(a),h!==v-1&&(r="\n"===a.charAt(a.length-1),i||(i=r)),i&&(c.loose=!0),w=void 0,(y=/^\[[ xX]\] /.test(a))&&(w=" "!==a[1],a=a.replace(/^\[[ xX]\] +/,"")),f={type:"list_item_start",task:y,checked:w,loose:i},l.push(f),this.tokens.push(f),this.token(a,!1),this.tokens.push({type:"list_item_end"});if(c.loose)for(v=l.length,h=0;h?@\[\]\\^_`{|}~])/,autolink:/^<(scheme:[^\s\x00-\x1f<>]*|email)>/,url:g,tag:"^comment|^|^<[a-zA-Z][\\w-]*(?:attribute)*?\\s*/?>|^<\\?[\\s\\S]*?\\?>|^|^",link:/^!?\[(label)\]\(href(?:\s+(title))?\s*\)/,reflink:/^!?\[(label)\]\[(?!\s*\])((?:\\[\[\]]?|[^\[\]\\])+)\]/,nolink:/^!?\[(?!\s*\])((?:\[[^\[\]]*\]|\\[\[\]]|[^\[\]])*)\](?:\[\])?/,strong:/^__([^\s_])__(?!_)|^\*\*([^\s*])\*\*(?!\*)|^__([^\s][\s\S]*?[^\s])__(?!_)|^\*\*([^\s][\s\S]*?[^\s])\*\*(?!\*)/,em:/^_([^\s_])_(?!_)|^\*([^\s*"<\[])\*(?!\*)|^_([^\s][\s\S]*?[^\s_])_(?!_|[^\spunctuation])|^_([^\s_][\s\S]*?[^\s])_(?!_|[^\spunctuation])|^\*([^\s"<\[][\s\S]*?[^\s*])\*(?!\*)|^\*([^\s*"<\[][\s\S]*?[^\s])\*(?!\*)/,code:/^(`+)([^`]|[^`][\s\S]*?[^`])\1(?!`)/,br:/^( {2,}|\\)\n(?!\s*$)/,del:g,text:/^(`+|[^`])(?:[\s\S]*?(?:(?=[\\?@\\[^_{|}~",i.em=p(i.em).replace(/punctuation/g,i._punctuation).getRegex(),i._escapes=/\\([!"#$%&'()*+,\-.\/:;<=>?@\[\]\\^_`{|}~])/g,i._scheme=/[a-zA-Z][a-zA-Z0-9+.-]{1,31}/,i._email=/[a-zA-Z0-9.!#$%&'*+\/=?^_`{|}~-]+(@)[a-zA-Z0-9](?:[a-zA-Z0-9-]{0,61}[a-zA-Z0-9])?(?:\.[a-zA-Z0-9](?:[a-zA-Z0-9-]{0,61}[a-zA-Z0-9])?)+(?![-_])/,i.autolink=p(i.autolink).replace("scheme",i._scheme).replace("email",i._email).getRegex(),i._attribute=/\s+[a-zA-Z:_][\w.:-]*(?:\s*=\s*"[^"]*"|\s*=\s*'[^']*'|\s*=\s*[^\s"'=<>`]+)?/,i.tag=p(i.tag).replace("comment",n._comment).replace("attribute",i._attribute).getRegex(),i._label=/(?:\[[^\[\]]*\]|\\[\[\]]?|`[^`]*`|`(?!`)|[^\[\]\\`])*?/,i._href=/\s*(<(?:\\[<>]?|[^\s<>\\])*>|[^\s\x00-\x1f]*)/,i._title=/"(?:\\"?|[^"\\])*"|'(?:\\'?|[^'\\])*'|\((?:\\\)?|[^)\\])*\)/,i.link=p(i.link).replace("label",i._label).replace("href",i._href).replace("title",i._title).getRegex(),i.reflink=p(i.reflink).replace("label",i._label).getRegex(),i.normal=y({},i),i.pedantic=y({},i.normal,{strong:/^__(?=\S)([\s\S]*?\S)__(?!_)|^\*\*(?=\S)([\s\S]*?\S)\*\*(?!\*)/,em:/^_(?=\S)([\s\S]*?\S)_(?!_)|^\*(?=\S)([\s\S]*?\S)\*(?!\*)/,link:p(/^!?\[(label)\]\((.*?)\)/).replace("label",i._label).getRegex(),reflink:p(/^!?\[(label)\]\s*\[([^\]]*)\]/).replace("label",i._label).getRegex()}),i.gfm=y({},i.normal,{escape:p(i.escape).replace("])","~|])").getRegex(),_extended_email:/[A-Za-z0-9._+-]+(@)[a-zA-Z0-9-_]+(?:\.[a-zA-Z0-9-_]*[a-zA-Z0-9])+(?![-_])/,url:/^((?:ftp|https?):\/\/|www\.)(?:[a-zA-Z0-9\-]+\.?)+[^\s<]*|^email/,_backpedal:/(?:[^?!.,:;*_~()&]+|\([^)]*\)|&(?![a-zA-Z0-9]+;$)|[?!.,:;*_~)]+(?!$))+/,del:/^~+(?=\S)([\s\S]*?\S)~+/,text:/^(`+|[^`])(?:[\s\S]*?(?:(?=[\\/i.test(s[0])&&(this.inLink=!1),!this.inRawBlock&&/^<(pre|code|kbd|script)(\s|>)/i.test(s[0])?this.inRawBlock=!0:this.inRawBlock&&/^<\/(pre|code|kbd|script)(\s|>)/i.test(s[0])&&(this.inRawBlock=!1),t=t.substring(s[0].length),a+=this.options.sanitize?this.options.sanitizer?this.options.sanitizer(s[0]):l(s[0]):s[0];else if(s=this.rules.link.exec(t)){var c=w(s[2],"()");if(c>-1){var f=s[0].length-(s[2].length-c)-(s[3]||"").length;s[2]=s[2].substring(0,c),s[0]=s[0].substring(0,f).trim(),s[3]=""}t=t.substring(s[0].length),this.inLink=!0,r=s[2],this.options.pedantic?(e=/^([^'"]*[^\s])\s+(['"])(.*)\2/.exec(r))?(r=e[1],i=e[3]):i="":i=s[3]?s[3].slice(1,-1):"",r=r.trim().replace(/^<([\s\S]*)>$/,"$1"),a+=this.outputLink(s,{href:o.escapes(r),title:o.escapes(i)}),this.inLink=!1}else if((s=this.rules.reflink.exec(t))||(s=this.rules.nolink.exec(t))){if(t=t.substring(s[0].length),e=(s[2]||s[1]).replace(/\s+/g," "),!(e=this.links[e.toLowerCase()])||!e.href){a+=s[0].charAt(0),t=s[0].substring(1)+t;continue}this.inLink=!0,a+=this.outputLink(s,e),this.inLink=!1}else if(s=this.rules.strong.exec(t))t=t.substring(s[0].length),a+=this.renderer.strong(this.output(s[4]||s[3]||s[2]||s[1]));else if(s=this.rules.em.exec(t))t=t.substring(s[0].length),a+=this.renderer.em(this.output(s[6]||s[5]||s[4]||s[3]||s[2]||s[1]));else if(s=this.rules.code.exec(t))t=t.substring(s[0].length),a+=this.renderer.codespan(l(s[2].trim(),!0));else if(s=this.rules.br.exec(t))t=t.substring(s[0].length),a+=this.renderer.br();else if(s=this.rules.del.exec(t))t=t.substring(s[0].length),a+=this.renderer.del(this.output(s[1]));else if(s=this.rules.autolink.exec(t))t=t.substring(s[0].length),r="@"===s[2]?"mailto:"+(n=l(this.mangle(s[1]))):n=l(s[1]),a+=this.renderer.link(r,null,n);else if(this.inLink||!(s=this.rules.url.exec(t))){if(s=this.rules.text.exec(t))t=t.substring(s[0].length),this.inRawBlock?a+=this.renderer.text(s[0]):a+=this.renderer.text(l(this.smartypants(s[0])));else if(t)throw new Error("Infinite loop on byte: "+t.charCodeAt(0))}else{if("@"===s[2])r="mailto:"+(n=l(s[0]));else{do{u=s[0],s[0]=this.rules._backpedal.exec(s[0])[0]}while(u!==s[0]);n=l(s[0]),r="www."===s[1]?"http://"+n:n}t=t.substring(s[0].length),a+=this.renderer.link(r,null,n)}return a},o.escapes=function(t){return t?t.replace(o.rules._escapes,"$1"):t},o.prototype.outputLink=function(t,e){var n=e.href,r=e.title?l(e.title):null;return"!"!==t[0].charAt(0)?this.renderer.link(n,r,this.output(t[1])):this.renderer.image(n,r,l(t[1]))},o.prototype.smartypants=function(t){return this.options.smartypants?t.replace(/---/g,"—").replace(/--/g,"–").replace(/(^|[-\u2014\/(\[{"\s])'/g,"$1‘").replace(/'/g,"’").replace(/(^|[-\u2014\/(\[{\u2018\s])"/g,"$1“").replace(/"/g,"”").replace(/\.{3}/g,"…"):t},o.prototype.mangle=function(t){if(!this.options.mangle)return t;for(var e,n="",r=t.length,i=0;i.5&&(e="x"+e.toString(16)),n+="&#"+e+";";return n},s.prototype.code=function(t,e,n){var r=(e||"").match(/\S*/)[0];if(this.options.highlight){var i=this.options.highlight(t,r);null!=i&&i!==t&&(n=!0,t=i)}return r?'
'+(n?t:l(t,!0))+"
\n":"
"+(n?t:l(t,!0))+"
"},s.prototype.blockquote=function(t){return"
\n"+t+"
\n"},s.prototype.html=function(t){return t},s.prototype.heading=function(t,e,n,r){return this.options.headerIds?"'+t+"\n":""+t+"\n"},s.prototype.hr=function(){return this.options.xhtml?"
\n":"
\n"},s.prototype.list=function(t,e,n){var r=e?"ol":"ul";return"<"+r+(e&&1!==n?' start="'+n+'"':"")+">\n"+t+"\n"},s.prototype.listitem=function(t){return"
  • "+t+"
  • \n"},s.prototype.checkbox=function(t){return" "},s.prototype.paragraph=function(t){return"

    "+t+"

    \n"},s.prototype.table=function(t,e){return e&&(e=""+e+""),"\n\n"+t+"\n"+e+"
    \n"},s.prototype.tablerow=function(t){return"\n"+t+"\n"},s.prototype.tablecell=function(t,e){var n=e.header?"th":"td";return(e.align?"<"+n+' align="'+e.align+'">':"<"+n+">")+t+"\n"},s.prototype.strong=function(t){return""+t+""},s.prototype.em=function(t){return""+t+""},s.prototype.codespan=function(t){return""+t+""},s.prototype.br=function(){return this.options.xhtml?"
    ":"
    "},s.prototype.del=function(t){return""+t+""},s.prototype.link=function(t,e,n){if(null===(t=h(this.options.sanitize,this.options.baseUrl,t)))return n;var r='"},s.prototype.image=function(t,e,n){if(null===(t=h(this.options.sanitize,this.options.baseUrl,t)))return n;var r=''+n+'":">"},s.prototype.text=function(t){return t},u.prototype.strong=u.prototype.em=u.prototype.codespan=u.prototype.del=u.prototype.text=function(t){return t},u.prototype.link=u.prototype.image=function(t,e,n){return""+n},u.prototype.br=function(){return""},a.parse=function(t,e){return new a(e).parse(t)},a.prototype.parse=function(t){this.inline=new o(t.links,this.options),this.inlineText=new o(t.links,y({},this.options,{renderer:new u})),this.tokens=t.reverse();for(var e="";this.next();)e+=this.tok();return e},a.prototype.next=function(){return this.token=this.tokens.pop()},a.prototype.peek=function(){return this.tokens[this.tokens.length-1]||0},a.prototype.parseText=function(){for(var t=this.token.text;"text"===this.peek().type;)t+="\n"+this.next().text;return this.inline.output(t)},a.prototype.tok=function(){switch(this.token.type){case"space":return"";case"hr":return this.renderer.hr();case"heading":return this.renderer.heading(this.inline.output(this.token.text),this.token.depth,f(this.inlineText.output(this.token.text)),this.slugger);case"code":return this.renderer.code(this.token.text,this.token.lang,this.token.escaped);case"table":var t,e,n,r,i="",o="";for(n="",t=0;t?@[\]^`{|}~]/g,"").replace(/\s/g,"-");if(this.seen.hasOwnProperty(e)){var n=e;do{this.seen[n]++,e=n+"-"+this.seen[n]}while(this.seen.hasOwnProperty(e))}return this.seen[e]=0,e},l.escapeTest=/[&<>"']/,l.escapeReplace=/[&<>"']/g,l.replacements={"&":"&","<":"<",">":">",'"':""","'":"'"},l.escapeTestNoEncode=/[<>"']|&(?!#?\w+;)/,l.escapeReplaceNoEncode=/[<>"']|&(?!#?\w+;)/g;var d={},v=/^$|^[a-z][a-z0-9+.-]*:|^[?#]/i;function g(){}function y(t){for(var e,n,r=1;r=0&&"\\"===n[i];)r=!r;return r?"|":" |"}).split(/ \|/),r=0;if(n.length>e)n.splice(e);else for(;n.lengthAn error occurred:

    "+l(t.message+"",!0)+"
    ";throw t}}g.exec=g,_.options=_.setOptions=function(t){return y(_.defaults,t),_},_.getDefaults=function(){return{baseUrl:null,breaks:!1,gfm:!0,headerIds:!0,headerPrefix:"",highlight:null,langPrefix:"language-",mangle:!0,pedantic:!1,renderer:new s,sanitize:!1,sanitizer:null,silent:!1,smartLists:!1,smartypants:!1,tables:!0,xhtml:!1}},_.defaults=_.getDefaults(),_.Parser=a,_.parser=a.parse,_.Renderer=s,_.TextRenderer=u,_.Lexer=r,_.lexer=r.lex,_.InlineLexer=o,_.inlineLexer=o.output,_.Slugger=c,_.parse=_,t.exports=_}(this||"undefined"!=typeof window&&window)}).call(this,n(3))},function(t,e){var n;n=function(){return this}();try{n=n||new Function("return this")()}catch(t){"object"==typeof window&&(n=window)}t.exports=n},function(t,e){var n,r,i=t.exports={};function o(){throw new Error("setTimeout has not been defined")}function s(){throw new Error("clearTimeout has not been defined")}function u(t){if(n===setTimeout)return setTimeout(t,0);if((n===o||!n)&&setTimeout)return n=setTimeout,setTimeout(t,0);try{return n(t,0)}catch(e){try{return n.call(null,t,0)}catch(e){return n.call(this,t,0)}}}!function(){try{n="function"==typeof setTimeout?setTimeout:o}catch(t){n=o}try{r="function"==typeof clearTimeout?clearTimeout:s}catch(t){r=s}}();var a,c=[],l=!1,f=-1;function p(){l&&a&&(l=!1,a.length?c=a.concat(c):f=-1,c.length&&h())}function h(){if(!l){var t=u(p);l=!0;for(var e=c.length;e;){for(a=c,c=[];++f1)for(var n=1;n + * @license MIT + */ +var r=n(299),i=n(300),o=n(109);function s(){return a.TYPED_ARRAY_SUPPORT?2147483647:1073741823}function u(t,e){if(s()=s())throw new RangeError("Attempt to allocate Buffer larger than maximum size: 0x"+s().toString(16)+" bytes");return 0|t}function d(t,e){if(a.isBuffer(t))return t.length;if("undefined"!=typeof ArrayBuffer&&"function"==typeof ArrayBuffer.isView&&(ArrayBuffer.isView(t)||t instanceof ArrayBuffer))return t.byteLength;"string"!=typeof t&&(t=""+t);var n=t.length;if(0===n)return 0;for(var r=!1;;)switch(e){case"ascii":case"latin1":case"binary":return n;case"utf8":case"utf-8":case void 0:return N(t).length;case"ucs2":case"ucs-2":case"utf16le":case"utf-16le":return 2*n;case"hex":return n>>>1;case"base64":return I(t).length;default:if(r)return N(t).length;e=(""+e).toLowerCase(),r=!0}}function v(t,e,n){var r=t[e];t[e]=t[n],t[n]=r}function g(t,e,n,r,i){if(0===t.length)return-1;if("string"==typeof n?(r=n,n=0):n>2147483647?n=2147483647:n<-2147483648&&(n=-2147483648),n=+n,isNaN(n)&&(n=i?0:t.length-1),n<0&&(n=t.length+n),n>=t.length){if(i)return-1;n=t.length-1}else if(n<0){if(!i)return-1;n=0}if("string"==typeof e&&(e=a.from(e,r)),a.isBuffer(e))return 0===e.length?-1:y(t,e,n,r,i);if("number"==typeof e)return e&=255,a.TYPED_ARRAY_SUPPORT&&"function"==typeof Uint8Array.prototype.indexOf?i?Uint8Array.prototype.indexOf.call(t,e,n):Uint8Array.prototype.lastIndexOf.call(t,e,n):y(t,[e],n,r,i);throw new TypeError("val must be string, number or Buffer")}function y(t,e,n,r,i){var o,s=1,u=t.length,a=e.length;if(void 0!==r&&("ucs2"===(r=String(r).toLowerCase())||"ucs-2"===r||"utf16le"===r||"utf-16le"===r)){if(t.length<2||e.length<2)return-1;s=2,u/=2,a/=2,n/=2}function c(t,e){return 1===s?t[e]:t.readUInt16BE(e*s)}if(i){var l=-1;for(o=n;ou&&(n=u-a),o=n;o>=0;o--){for(var f=!0,p=0;pi&&(r=i):r=i;var o=e.length;if(o%2!=0)throw new TypeError("Invalid hex string");r>o/2&&(r=o/2);for(var s=0;s>8,i=n%256,o.push(i),o.push(r);return o}(e,t.length-n),t,n,r)}function A(t,e,n){return 0===e&&n===t.length?r.fromByteArray(t):r.fromByteArray(t.slice(e,n))}function O(t,e,n){n=Math.min(t.length,n);for(var r=[],i=e;i239?4:c>223?3:c>191?2:1;if(i+f<=n)switch(f){case 1:c<128&&(l=c);break;case 2:128==(192&(o=t[i+1]))&&(a=(31&c)<<6|63&o)>127&&(l=a);break;case 3:o=t[i+1],s=t[i+2],128==(192&o)&&128==(192&s)&&(a=(15&c)<<12|(63&o)<<6|63&s)>2047&&(a<55296||a>57343)&&(l=a);break;case 4:o=t[i+1],s=t[i+2],u=t[i+3],128==(192&o)&&128==(192&s)&&128==(192&u)&&(a=(15&c)<<18|(63&o)<<12|(63&s)<<6|63&u)>65535&&a<1114112&&(l=a)}null===l?(l=65533,f=1):l>65535&&(l-=65536,r.push(l>>>10&1023|55296),l=56320|1023&l),r.push(l),i+=f}return function(t){var e=t.length;if(e<=C)return String.fromCharCode.apply(String,t);var n="",r=0;for(;rthis.length)return"";if((void 0===n||n>this.length)&&(n=this.length),n<=0)return"";if((n>>>=0)<=(e>>>=0))return"";for(t||(t="utf8");;)switch(t){case"hex":return R(this,e,n);case"utf8":case"utf-8":return O(this,e,n);case"ascii":return E(this,e,n);case"latin1":case"binary":return U(this,e,n);case"base64":return A(this,e,n);case"ucs2":case"ucs-2":case"utf16le":case"utf-16le":return T(this,e,n);default:if(r)throw new TypeError("Unknown encoding: "+t);t=(t+"").toLowerCase(),r=!0}}.apply(this,arguments)},a.prototype.equals=function(t){if(!a.isBuffer(t))throw new TypeError("Argument must be a Buffer");return this===t||0===a.compare(this,t)},a.prototype.inspect=function(){var t="",n=e.INSPECT_MAX_BYTES;return this.length>0&&(t=this.toString("hex",0,n).match(/.{2}/g).join(" "),this.length>n&&(t+=" ... ")),""},a.prototype.compare=function(t,e,n,r,i){if(!a.isBuffer(t))throw new TypeError("Argument must be a Buffer");if(void 0===e&&(e=0),void 0===n&&(n=t?t.length:0),void 0===r&&(r=0),void 0===i&&(i=this.length),e<0||n>t.length||r<0||i>this.length)throw new RangeError("out of range index");if(r>=i&&e>=n)return 0;if(r>=i)return-1;if(e>=n)return 1;if(this===t)return 0;for(var o=(i>>>=0)-(r>>>=0),s=(n>>>=0)-(e>>>=0),u=Math.min(o,s),c=this.slice(r,i),l=t.slice(e,n),f=0;fi)&&(n=i),t.length>0&&(n<0||e<0)||e>this.length)throw new RangeError("Attempt to write outside buffer bounds");r||(r="utf8");for(var o=!1;;)switch(r){case"hex":return m(this,t,e,n);case"utf8":case"utf-8":return b(this,t,e,n);case"ascii":return w(this,t,e,n);case"latin1":case"binary":return _(this,t,e,n);case"base64":return x(this,t,e,n);case"ucs2":case"ucs-2":case"utf16le":case"utf-16le":return S(this,t,e,n);default:if(o)throw new TypeError("Unknown encoding: "+r);r=(""+r).toLowerCase(),o=!0}},a.prototype.toJSON=function(){return{type:"Buffer",data:Array.prototype.slice.call(this._arr||this,0)}};var C=4096;function E(t,e,n){var r="";n=Math.min(t.length,n);for(var i=e;ir)&&(n=r);for(var i="",o=e;on)throw new RangeError("Trying to access beyond buffer length")}function P(t,e,n,r,i,o){if(!a.isBuffer(t))throw new TypeError('"buffer" argument must be a Buffer instance');if(e>i||et.length)throw new RangeError("Index out of range")}function z(t,e,n,r){e<0&&(e=65535+e+1);for(var i=0,o=Math.min(t.length-n,2);i>>8*(r?i:1-i)}function D(t,e,n,r){e<0&&(e=4294967295+e+1);for(var i=0,o=Math.min(t.length-n,4);i>>8*(r?i:3-i)&255}function M(t,e,n,r,i,o){if(n+r>t.length)throw new RangeError("Index out of range");if(n<0)throw new RangeError("Index out of range")}function j(t,e,n,r,o){return o||M(t,0,n,4),i.write(t,e,n,r,23,4),n+4}function k(t,e,n,r,o){return o||M(t,0,n,8),i.write(t,e,n,r,52,8),n+8}a.prototype.slice=function(t,e){var n,r=this.length;if((t=~~t)<0?(t+=r)<0&&(t=0):t>r&&(t=r),(e=void 0===e?r:~~e)<0?(e+=r)<0&&(e=0):e>r&&(e=r),e0&&(i*=256);)r+=this[t+--e]*i;return r},a.prototype.readUInt8=function(t,e){return e||q(t,1,this.length),this[t]},a.prototype.readUInt16LE=function(t,e){return e||q(t,2,this.length),this[t]|this[t+1]<<8},a.prototype.readUInt16BE=function(t,e){return e||q(t,2,this.length),this[t]<<8|this[t+1]},a.prototype.readUInt32LE=function(t,e){return e||q(t,4,this.length),(this[t]|this[t+1]<<8|this[t+2]<<16)+16777216*this[t+3]},a.prototype.readUInt32BE=function(t,e){return e||q(t,4,this.length),16777216*this[t]+(this[t+1]<<16|this[t+2]<<8|this[t+3])},a.prototype.readIntLE=function(t,e,n){t|=0,e|=0,n||q(t,e,this.length);for(var r=this[t],i=1,o=0;++o=(i*=128)&&(r-=Math.pow(2,8*e)),r},a.prototype.readIntBE=function(t,e,n){t|=0,e|=0,n||q(t,e,this.length);for(var r=e,i=1,o=this[t+--r];r>0&&(i*=256);)o+=this[t+--r]*i;return o>=(i*=128)&&(o-=Math.pow(2,8*e)),o},a.prototype.readInt8=function(t,e){return e||q(t,1,this.length),128&this[t]?-1*(255-this[t]+1):this[t]},a.prototype.readInt16LE=function(t,e){e||q(t,2,this.length);var n=this[t]|this[t+1]<<8;return 32768&n?4294901760|n:n},a.prototype.readInt16BE=function(t,e){e||q(t,2,this.length);var n=this[t+1]|this[t]<<8;return 32768&n?4294901760|n:n},a.prototype.readInt32LE=function(t,e){return e||q(t,4,this.length),this[t]|this[t+1]<<8|this[t+2]<<16|this[t+3]<<24},a.prototype.readInt32BE=function(t,e){return e||q(t,4,this.length),this[t]<<24|this[t+1]<<16|this[t+2]<<8|this[t+3]},a.prototype.readFloatLE=function(t,e){return e||q(t,4,this.length),i.read(this,t,!0,23,4)},a.prototype.readFloatBE=function(t,e){return e||q(t,4,this.length),i.read(this,t,!1,23,4)},a.prototype.readDoubleLE=function(t,e){return e||q(t,8,this.length),i.read(this,t,!0,52,8)},a.prototype.readDoubleBE=function(t,e){return e||q(t,8,this.length),i.read(this,t,!1,52,8)},a.prototype.writeUIntLE=function(t,e,n,r){(t=+t,e|=0,n|=0,r)||P(this,t,e,n,Math.pow(2,8*n)-1,0);var i=1,o=0;for(this[e]=255&t;++o=0&&(o*=256);)this[e+i]=t/o&255;return e+n},a.prototype.writeUInt8=function(t,e,n){return t=+t,e|=0,n||P(this,t,e,1,255,0),a.TYPED_ARRAY_SUPPORT||(t=Math.floor(t)),this[e]=255&t,e+1},a.prototype.writeUInt16LE=function(t,e,n){return t=+t,e|=0,n||P(this,t,e,2,65535,0),a.TYPED_ARRAY_SUPPORT?(this[e]=255&t,this[e+1]=t>>>8):z(this,t,e,!0),e+2},a.prototype.writeUInt16BE=function(t,e,n){return t=+t,e|=0,n||P(this,t,e,2,65535,0),a.TYPED_ARRAY_SUPPORT?(this[e]=t>>>8,this[e+1]=255&t):z(this,t,e,!1),e+2},a.prototype.writeUInt32LE=function(t,e,n){return t=+t,e|=0,n||P(this,t,e,4,4294967295,0),a.TYPED_ARRAY_SUPPORT?(this[e+3]=t>>>24,this[e+2]=t>>>16,this[e+1]=t>>>8,this[e]=255&t):D(this,t,e,!0),e+4},a.prototype.writeUInt32BE=function(t,e,n){return t=+t,e|=0,n||P(this,t,e,4,4294967295,0),a.TYPED_ARRAY_SUPPORT?(this[e]=t>>>24,this[e+1]=t>>>16,this[e+2]=t>>>8,this[e+3]=255&t):D(this,t,e,!1),e+4},a.prototype.writeIntLE=function(t,e,n,r){if(t=+t,e|=0,!r){var i=Math.pow(2,8*n-1);P(this,t,e,n,i-1,-i)}var o=0,s=1,u=0;for(this[e]=255&t;++o>0)-u&255;return e+n},a.prototype.writeIntBE=function(t,e,n,r){if(t=+t,e|=0,!r){var i=Math.pow(2,8*n-1);P(this,t,e,n,i-1,-i)}var o=n-1,s=1,u=0;for(this[e+o]=255&t;--o>=0&&(s*=256);)t<0&&0===u&&0!==this[e+o+1]&&(u=1),this[e+o]=(t/s>>0)-u&255;return e+n},a.prototype.writeInt8=function(t,e,n){return t=+t,e|=0,n||P(this,t,e,1,127,-128),a.TYPED_ARRAY_SUPPORT||(t=Math.floor(t)),t<0&&(t=255+t+1),this[e]=255&t,e+1},a.prototype.writeInt16LE=function(t,e,n){return t=+t,e|=0,n||P(this,t,e,2,32767,-32768),a.TYPED_ARRAY_SUPPORT?(this[e]=255&t,this[e+1]=t>>>8):z(this,t,e,!0),e+2},a.prototype.writeInt16BE=function(t,e,n){return t=+t,e|=0,n||P(this,t,e,2,32767,-32768),a.TYPED_ARRAY_SUPPORT?(this[e]=t>>>8,this[e+1]=255&t):z(this,t,e,!1),e+2},a.prototype.writeInt32LE=function(t,e,n){return t=+t,e|=0,n||P(this,t,e,4,2147483647,-2147483648),a.TYPED_ARRAY_SUPPORT?(this[e]=255&t,this[e+1]=t>>>8,this[e+2]=t>>>16,this[e+3]=t>>>24):D(this,t,e,!0),e+4},a.prototype.writeInt32BE=function(t,e,n){return t=+t,e|=0,n||P(this,t,e,4,2147483647,-2147483648),t<0&&(t=4294967295+t+1),a.TYPED_ARRAY_SUPPORT?(this[e]=t>>>24,this[e+1]=t>>>16,this[e+2]=t>>>8,this[e+3]=255&t):D(this,t,e,!1),e+4},a.prototype.writeFloatLE=function(t,e,n){return j(this,t,e,!0,n)},a.prototype.writeFloatBE=function(t,e,n){return j(this,t,e,!1,n)},a.prototype.writeDoubleLE=function(t,e,n){return k(this,t,e,!0,n)},a.prototype.writeDoubleBE=function(t,e,n){return k(this,t,e,!1,n)},a.prototype.copy=function(t,e,n,r){if(n||(n=0),r||0===r||(r=this.length),e>=t.length&&(e=t.length),e||(e=0),r>0&&r=this.length)throw new RangeError("sourceStart out of bounds");if(r<0)throw new RangeError("sourceEnd out of bounds");r>this.length&&(r=this.length),t.length-e=0;--i)t[i+e]=this[i+n];else if(o<1e3||!a.TYPED_ARRAY_SUPPORT)for(i=0;i>>=0,n=void 0===n?this.length:n>>>0,t||(t=0),"number"==typeof t)for(o=e;o55295&&n<57344){if(!i){if(n>56319){(e-=3)>-1&&o.push(239,191,189);continue}if(s+1===r){(e-=3)>-1&&o.push(239,191,189);continue}i=n;continue}if(n<56320){(e-=3)>-1&&o.push(239,191,189),i=n;continue}n=65536+(i-55296<<10|n-56320)}else i&&(e-=3)>-1&&o.push(239,191,189);if(i=null,n<128){if((e-=1)<0)break;o.push(n)}else if(n<2048){if((e-=2)<0)break;o.push(n>>6|192,63&n|128)}else if(n<65536){if((e-=3)<0)break;o.push(n>>12|224,n>>6&63|128,63&n|128)}else{if(!(n<1114112))throw new Error("Invalid code point");if((e-=4)<0)break;o.push(n>>18|240,n>>12&63|128,n>>6&63|128,63&n|128)}}return o}function I(t){return r.toByteArray(function(t){if((t=function(t){return t.trim?t.trim():t.replace(/^\s+|\s+$/g,"")}(t).replace(F,"")).length<2)return"";for(;t.length%4!=0;)t+="=";return t}(t))}function $(t,e,n,r){for(var i=0;i=e.length||i>=t.length);++i)e[i+n]=t[i];return i}}).call(this,n(3))},function(t,e,n){"use strict";var r=n(39),i=Object.keys||function(t){var e=[];for(var n in t)e.push(n);return e};t.exports=f;var o=n(24);o.inherits=n(8);var s=n(116),u=n(120);o.inherits(f,s);for(var a=i(u.prototype),c=0;ca){var c=u;u=a,a=c}return u+s+a+s+(r.isUndefined(o)?i:o)}function f(t,e){return l(t,e.v,e.w,e.name)}u.prototype._nodeCount=0,u.prototype._edgeCount=0,u.prototype.isDirected=function(){return this._isDirected},u.prototype.isMultigraph=function(){return this._isMultigraph},u.prototype.isCompound=function(){return this._isCompound},u.prototype.setGraph=function(t){return this._label=t,this},u.prototype.graph=function(){return this._label},u.prototype.setDefaultNodeLabel=function(t){return r.isFunction(t)||(t=r.constant(t)),this._defaultNodeLabelFn=t,this},u.prototype.nodeCount=function(){return this._nodeCount},u.prototype.nodes=function(){return r.keys(this._nodes)},u.prototype.sources=function(){var t=this;return r.filter(this.nodes(),function(e){return r.isEmpty(t._in[e])})},u.prototype.sinks=function(){var t=this;return r.filter(this.nodes(),function(e){return r.isEmpty(t._out[e])})},u.prototype.setNodes=function(t,e){var n=arguments,i=this;return r.each(t,function(t){n.length>1?i.setNode(t,e):i.setNode(t)}),this},u.prototype.setNode=function(t,e){return r.has(this._nodes,t)?(arguments.length>1&&(this._nodes[t]=e),this):(this._nodes[t]=arguments.length>1?e:this._defaultNodeLabelFn(t),this._isCompound&&(this._parent[t]=o,this._children[t]={},this._children[o][t]=!0),this._in[t]={},this._preds[t]={},this._out[t]={},this._sucs[t]={},++this._nodeCount,this)},u.prototype.node=function(t){return this._nodes[t]},u.prototype.hasNode=function(t){return r.has(this._nodes,t)},u.prototype.removeNode=function(t){var e=this;if(r.has(this._nodes,t)){var n=function(t){e.removeEdge(e._edgeObjs[t])};delete this._nodes[t],this._isCompound&&(this._removeFromParentsChildList(t),delete this._parent[t],r.each(this.children(t),function(t){e.setParent(t)}),delete this._children[t]),r.each(r.keys(this._in[t]),n),delete this._in[t],delete this._preds[t],r.each(r.keys(this._out[t]),n),delete this._out[t],delete this._sucs[t],--this._nodeCount}return this},u.prototype.setParent=function(t,e){if(!this._isCompound)throw new Error("Cannot set parent in a non-compound graph");if(r.isUndefined(e))e=o;else{for(var n=e+="";!r.isUndefined(n);n=this.parent(n))if(n===t)throw new Error("Setting "+e+" as parent of "+t+" would create a cycle");this.setNode(e)}return this.setNode(t),this._removeFromParentsChildList(t),this._parent[t]=e,this._children[e][t]=!0,this},u.prototype._removeFromParentsChildList=function(t){delete this._children[this._parent[t]][t]},u.prototype.parent=function(t){if(this._isCompound){var e=this._parent[t];if(e!==o)return e}},u.prototype.children=function(t){if(r.isUndefined(t)&&(t=o),this._isCompound){var e=this._children[t];if(e)return r.keys(e)}else{if(t===o)return this.nodes();if(this.hasNode(t))return[]}},u.prototype.predecessors=function(t){var e=this._preds[t];if(e)return r.keys(e)},u.prototype.successors=function(t){var e=this._sucs[t];if(e)return r.keys(e)},u.prototype.neighbors=function(t){var e=this.predecessors(t);if(e)return r.union(e,this.successors(t))},u.prototype.isLeaf=function(t){return 0===(this.isDirected()?this.successors(t):this.neighbors(t)).length},u.prototype.filterNodes=function(t){var e=new this.constructor({directed:this._isDirected,multigraph:this._isMultigraph,compound:this._isCompound});e.setGraph(this.graph());var n=this;r.each(this._nodes,function(n,r){t(r)&&e.setNode(r,n)}),r.each(this._edgeObjs,function(t){e.hasNode(t.v)&&e.hasNode(t.w)&&e.setEdge(t,n.edge(t))});var i={};return this._isCompound&&r.each(e.nodes(),function(t){e.setParent(t,function t(r){var o=n.parent(r);return void 0===o||e.hasNode(o)?(i[r]=o,o):o in i?i[o]:t(o)}(t))}),e},u.prototype.setDefaultEdgeLabel=function(t){return r.isFunction(t)||(t=r.constant(t)),this._defaultEdgeLabelFn=t,this},u.prototype.edgeCount=function(){return this._edgeCount},u.prototype.edges=function(){return r.values(this._edgeObjs)},u.prototype.setPath=function(t,e){var n=this,i=arguments;return r.reduce(t,function(t,r){return i.length>1?n.setEdge(t,r,e):n.setEdge(t,r),r}),this},u.prototype.setEdge=function(){var t,e,n,i,o=!1,s=arguments[0];"object"==typeof s&&null!==s&&"v"in s?(t=s.v,e=s.w,n=s.name,2===arguments.length&&(i=arguments[1],o=!0)):(t=s,e=arguments[1],n=arguments[3],arguments.length>2&&(i=arguments[2],o=!0)),t=""+t,e=""+e,r.isUndefined(n)||(n=""+n);var u=l(this._isDirected,t,e,n);if(r.has(this._edgeLabels,u))return o&&(this._edgeLabels[u]=i),this;if(!r.isUndefined(n)&&!this._isMultigraph)throw new Error("Cannot set a named edge when isMultigraph = false");this.setNode(t),this.setNode(e),this._edgeLabels[u]=o?i:this._defaultEdgeLabelFn(t,e,n);var c=function(t,e,n,r){var i=""+e,o=""+n;if(!t&&i>o){var s=i;i=o,o=s}var u={v:i,w:o};r&&(u.name=r);return u}(this._isDirected,t,e,n);return t=c.v,e=c.w,Object.freeze(c),this._edgeObjs[u]=c,a(this._preds[e],t),a(this._sucs[t],e),this._in[e][u]=c,this._out[t][u]=c,this._edgeCount++,this},u.prototype.edge=function(t,e,n){var r=1===arguments.length?f(this._isDirected,arguments[0]):l(this._isDirected,t,e,n);return this._edgeLabels[r]},u.prototype.hasEdge=function(t,e,n){var i=1===arguments.length?f(this._isDirected,arguments[0]):l(this._isDirected,t,e,n);return r.has(this._edgeLabels,i)},u.prototype.removeEdge=function(t,e,n){var r=1===arguments.length?f(this._isDirected,arguments[0]):l(this._isDirected,t,e,n),i=this._edgeObjs[r];return i&&(t=i.v,e=i.w,delete this._edgeLabels[r],delete this._edgeObjs[r],c(this._preds[e],t),c(this._sucs[t],e),delete this._in[e][r],delete this._out[t][r],this._edgeCount--),this},u.prototype.inEdges=function(t,e){var n=this._in[t];if(n){var i=r.values(n);return e?r.filter(i,function(t){return t.v===e}):i}},u.prototype.outEdges=function(t,e){var n=this._out[t];if(n){var i=r.values(n);return e?r.filter(i,function(t){return t.w===e}):i}},u.prototype.nodeEdges=function(t,e){var n=this.inEdges(t,e);if(n)return n.concat(this.outEdges(t,e))}},function(t,e,n){var r=n(25),i=n(143),o=n(144),s=n(145),u=n(146),a=n(147);function c(t){var e=this.__data__=new r(t);this.size=e.size}c.prototype.clear=i,c.prototype.delete=o,c.prototype.get=s,c.prototype.has=u,c.prototype.set=a,t.exports=c},function(t,e){t.exports=function(t,e){return t===e||t!=t&&e!=e}},function(t,e,n){var r=n(9)(n(6),"Map");t.exports=r},function(t,e,n){var r=n(154),i=n(161),o=n(163),s=n(164),u=n(165);function a(t){var e=-1,n=null==t?0:t.length;for(this.clear();++e-1&&t%1==0&&t<=n}},function(t,e){t.exports=function(t){return function(e){return t(e)}}},function(t,e,n){(function(t){var r=n(66),i=e&&!e.nodeType&&e,o=i&&"object"==typeof t&&t&&!t.nodeType&&t,s=o&&o.exports===i&&r.process,u=function(){try{var t=o&&o.require&&o.require("util").types;return t||s&&s.binding&&s.binding("util")}catch(t){}}();t.exports=u}).call(this,n(20)(t))},function(t,e,n){var r=n(33),i=n(171),o=Object.prototype.hasOwnProperty;t.exports=function(t){if(!r(t))return i(t);var e=[];for(var n in Object(t))o.call(t,n)&&"constructor"!=n&&e.push(n);return e}},function(t,e,n){var r=n(75),i=n(76),o=Object.prototype.propertyIsEnumerable,s=Object.getOwnPropertySymbols,u=s?function(t){return null==t?[]:(t=Object(t),r(s(t),function(e){return o.call(t,e)}))}:i;t.exports=u},function(t,e){t.exports=function(t,e){for(var n=-1,r=e.length,i=t.length;++n=0;r--){var i=t[r];"."===i?t.splice(r,1):".."===i?(t.splice(r,1),n++):n&&(t.splice(r,1),n--)}if(e)for(;n--;n)t.unshift("..");return t}var r=/^(\/?|)([\s\S]*?)((?:\.{1,2}|[^\/]+?|)(\.[^.\/]*|))(?:[\/]*)$/,i=function(t){return r.exec(t).slice(1)};function o(t,e){if(t.filter)return t.filter(e);for(var n=[],r=0;r=-1&&!r;i--){var s=i>=0?arguments[i]:t.cwd();if("string"!=typeof s)throw new TypeError("Arguments to path.resolve must be strings");s&&(e=s+"/"+e,r="/"===s.charAt(0))}return(r?"/":"")+(e=n(o(e.split("/"),function(t){return!!t}),!r).join("/"))||"."},e.normalize=function(t){var r=e.isAbsolute(t),i="/"===s(t,-1);return(t=n(o(t.split("/"),function(t){return!!t}),!r).join("/"))||r||(t="."),t&&i&&(t+="/"),(r?"/":"")+t},e.isAbsolute=function(t){return"/"===t.charAt(0)},e.join=function(){var t=Array.prototype.slice.call(arguments,0);return e.normalize(o(t,function(t,e){if("string"!=typeof t)throw new TypeError("Arguments to path.join must be strings");return t}).join("/"))},e.relative=function(t,n){function r(t){for(var e=0;e=0&&""===t[n];n--);return e>n?[]:t.slice(e,n-e+1)}t=e.resolve(t).substr(1),n=e.resolve(n).substr(1);for(var i=r(t.split("/")),o=r(n.split("/")),s=Math.min(i.length,o.length),u=s,a=0;a",'"',"`"," ","\r","\n","\t"]),l=["'"].concat(c),f=["%","/","?",";","#"].concat(l),p=["/","?","#"],h=/^[+a-z0-9A-Z_-]{0,63}$/,d=/^([+a-z0-9A-Z_-]{0,63})(.*)$/,v={javascript:!0,"javascript:":!0},g={javascript:!0,"javascript:":!0},y={http:!0,https:!0,ftp:!0,gopher:!0,file:!0,"http:":!0,"https:":!0,"ftp:":!0,"gopher:":!0,"file:":!0},m=n(103);function b(t,e,n){if(t&&i.isObject(t)&&t instanceof o)return t;var r=new o;return r.parse(t,e,n),r}o.prototype.parse=function(t,e,n){if(!i.isString(t))throw new TypeError("Parameter 'url' must be a string, not "+typeof t);var o=t.indexOf("?"),u=-1!==o&&o127?z+="x":z+=P[D];if(!z.match(h)){var j=T.slice(0,E),k=T.slice(E+1),F=P.match(d);F&&(j.push(F[1]),k.unshift(F[2])),k.length&&(b="/"+k.join(".")+b),this.hostname=j.join(".");break}}}this.hostname.length>255?this.hostname="":this.hostname=this.hostname.toLowerCase(),R||(this.hostname=r.toASCII(this.hostname));var L=this.port?":"+this.port:"",N=this.hostname||"";this.host=N+L,this.href+=this.host,R&&(this.hostname=this.hostname.substr(1,this.hostname.length-2),"/"!==b[0]&&(b="/"+b))}if(!v[x])for(E=0,q=l.length;E0)&&n.host.split("@"))&&(n.auth=R.shift(),n.host=n.hostname=R.shift());return n.search=t.search,n.query=t.query,i.isNull(n.pathname)&&i.isNull(n.search)||(n.path=(n.pathname?n.pathname:"")+(n.search?n.search:"")),n.href=n.format(),n}if(!S.length)return n.pathname=null,n.search?n.path="/"+n.search:n.path=null,n.href=n.format(),n;for(var O=S.slice(-1)[0],C=(n.host||t.host||S.length>1)&&("."===O||".."===O)||""===O,E=0,U=S.length;U>=0;U--)"."===(O=S[U])?S.splice(U,1):".."===O?(S.splice(U,1),E++):E&&(S.splice(U,1),E--);if(!_&&!x)for(;E--;E)S.unshift("..");!_||""===S[0]||S[0]&&"/"===S[0].charAt(0)||S.unshift(""),C&&"/"!==S.join("/").substr(-1)&&S.push("");var R,T=""===S[0]||S[0]&&"/"===S[0].charAt(0);A&&(n.hostname=n.host=T?"":S.length?S.shift():"",(R=!!(n.host&&n.host.indexOf("@")>0)&&n.host.split("@"))&&(n.auth=R.shift(),n.host=n.hostname=R.shift()));return(_=_||n.host&&S.length)&&!T&&S.unshift(""),S.length?n.pathname=S.join("/"):(n.pathname=null,n.path=null),i.isNull(n.pathname)&&i.isNull(n.search)||(n.path=(n.pathname?n.pathname:"")+(n.search?n.search:"")),n.auth=t.auth||n.auth,n.slashes=n.slashes||t.slashes,n.href=n.format(),n},o.prototype.parseHost=function(){var t=this.host,e=u.exec(t);e&&(":"!==(e=e[0])&&(this.port=e.substr(1)),t=t.substr(0,t.length-e.length)),t&&(this.hostname=t)}},function(t,e,n){"use strict";var r=n(17);t.exports=new r({explicit:[n(289),n(290),n(291)]})},function(t,e,n){"use strict";function r(t){return t=(t=t.split("~1").join("/")).split("~0").join("~")}t.exports={jptr:function(t,e,n){if(void 0===t)return!1;if(!e||"#"===e)return void 0!==n?n:t;if(e.indexOf("#")>=0){let t=e.split("#");if(t[0])return!1;e=t[1],e=decodeURIComponent(e.slice(1).split("+").join(" "))}e.startsWith("/")&&(e=e.slice(1));let i=e.split("/");for(let e=0;e0?i[e-1]:"",-1!=s||t.hasOwnProperty(i[e]))if(s>=0)o&&(t[s]=n),t=t[s];else{if(-2===s)return o?(Array.isArray(t)&&t.push(n),n):void 0;o&&(t[i[e]]=n),t=t[i[e]]}else{if(void 0===n||"object"!=typeof t||Array.isArray(t))return!1;t[i[e]]=o?n:"0"===i[e+1]||"-"===i[e+1]?[]:{},t=t[i[e]]}}return t},jpescape:function(t){return t=(t=t.split("~").join("~0")).split("/").join("~1")},jpunescape:r}},function(t,e,n){"use strict";t.exports={nop:function(t){return t},clone:function(t){return JSON.parse(JSON.stringify(t))},shallowClone:function(t){let e={};for(let n in t)t.hasOwnProperty(n)&&(e[n]=t[n]);return e},deepClone:function t(e){let n=Array.isArray(e)?[]:{};for(let r in e)(e.hasOwnProperty(r)||Array.isArray(e))&&(n[r]="object"==typeof e[r]?t(e[r]):e[r]);return n},fastClone:function(t){return Object.assign({},t)},circularClone:function t(e,n){if(n||(n=new WeakMap),Object(e)!==e||e instanceof Function)return e;if(n.has(e))return n.get(e);try{var r=new e.constructor}catch(t){r=Object.create(Object.getPrototypeOf(e))}return n.set(e,r),Object.assign(r,...Object.keys(e).map(r=>({[r]:t(e[r],n)})))}}},function(t,e,n){"use strict";const r=n(104),i=n(61),o=(n(60),n(285)),s=n(105),u=n(106),a=n(63),c=a.jptr,l=n(110).isRef,f=n(64).clone,p=n(64).circularClone,h=n(111).recurse,d=n(309),v=n(313),g=n(112),y=n(314).statusCodes,m=n(327).version,b="3.0.0";let w;class _ extends Error{constructor(t){super(t),this.name="S2OError"}}function x(t,e){let n=new _(t);if(n.options=e,!e.promise)throw n;e.promise.reject(n)}function S(t,e,n){n.warnOnly?e[n.warnProperty||"x-s2o-warning"]=t:x(t,n)}function A(t,e){v.walkSchema(t,{},{},function(t,n,r){!function(t,e){if(t["x-required"]&&Array.isArray(t["x-required"])&&(t.required||(t.required=[]),t.required=t.required.concat(t["x-required"]),delete t["x-required"]),t["x-anyOf"]&&(t.anyOf=t["x-anyOf"],delete t["x-anyOf"]),t["x-oneOf"]&&(t.oneOf=t["x-oneOf"],delete t["x-oneOf"]),t["x-not"]&&(t.not=t["x-not"],delete t["x-not"]),"boolean"==typeof t["x-nullable"]&&(t.nullable=t["x-nullable"],delete t["x-nullable"]),"object"==typeof t["x-discriminator"]&&"string"==typeof t["x-discriminator"].propertyName){t.discriminator=t["x-discriminator"],delete t["x-discriminator"];for(let e in t.discriminator.mapping){let n=t.discriminator.mapping[e];n.startsWith("#/definitions/")&&(t.discriminator.mapping[e]=n.replace("#/definitions/","#/components/schemas/"))}}}(t),function(t,e,n){if(t.discriminator&&"string"==typeof t.discriminator&&(t.discriminator={propertyName:t.discriminator}),t.items&&Array.isArray(t.items)&&(0===t.items.length?t.items={}:1===t.items.length?t.items=t.items[0]:t.items={anyOf:t.items}),t.type&&Array.isArray(t.type))if(n.patch){if(0===t.type.length)delete t.type;else{t.oneOf||(t.oneOf=[]);for(let e of t.type){let n={};if("null"===e)t.nullable=!0;else{n.type=e;for(let e of g.arrayProperties)void 0!==t.prop&&(n[e]=t[e],delete t[e])}n.type&&t.oneOf.push(n)}delete t.type,0===t.oneOf.length?delete t.oneOf:t.oneOf.length<2&&(t.type=t.oneOf[0].type,Object.keys(t.oneOf[0]).length>1&&S("Lost properties from oneOf",t,n),delete t.oneOf)}t.type&&Array.isArray(t.type)&&1===t.type.length&&(t.type=t.type[0])}else x("(Patchable) schema type must not be an array",n);t.type&&"null"===t.type&&(delete t.type,t.nullable=!0),"array"!==t.type||t.items||(t.items={}),"boolean"==typeof t.required&&(t.required&&t.name&&(void 0===e.required&&(e.required=[]),Array.isArray(e.required)&&e.required.push(t.name)),delete t.required),t.xml&&"string"==typeof t.xml.namespace&&(t.xml.namespace||delete t.xml.namespace)}(t,n,e)})}function O(t,e,n){let r=n.payload.options;if(l(t,e)){if(t[e].startsWith("#/components/")) ;else if("#/consumes"===t[e])delete t[e],n.parent[n.pkey]=f(r.openapi.consumes);else if("#/produces"===t[e])delete t[e],n.parent[n.pkey]=f(r.openapi.produces);else if(t[e].startsWith("#/definitions/")){let n=t[e].replace("#/definitions/","").split("/"),i=w.schemas[decodeURIComponent(n[0])];i?n[0]=i:S("Could not resolve reference "+t[e],t,r),t[e]="#/components/schemas/"+n.join("/")}else if(t[e].startsWith("#/parameters/"))t[e]="#/components/parameters/"+g.sanitise(t[e].replace("#/parameters/",""));else if(t[e].startsWith("#/responses/"))t[e]="#/components/responses/"+g.sanitise(t[e].replace("#/responses/",""));else if(t[e].startsWith("#")){let n=f(a.jptr(r.openapi,t[e]));if(!1===n)S("direct $ref not found "+t[e],t,r);else if(r.refmap[t[e]])t[e]=r.refmap[t[e]];else{let o=t[e],s="schemas",u=(o=(o=(o=(o=o.replace("/properties/headers/","")).replace("/properties/responses/","")).replace("/properties/parameters/","")).replace("/properties/schemas/","")).lastIndexOf("/schema");if("schemas"===(s=o.indexOf("/headers/")>u?"headers":o.indexOf("/responses/")>u?"responses":o.indexOf("/example")>u?"examples":o.indexOf("/parameters/")>u?"parameters":"schemas")&&A(n,r),"responses"!==s){let o=s.substr(0,s.length-1);"parameter"===o&&n.name&&n.name===g.sanitise(n.name)&&(o=encodeURIComponent(n.name));let u=1;for(t["x-miro"]&&(i=(i=t["x-miro"]).indexOf("#")>=0?i.split("#")[1].split("/").pop():i.split("/").pop().split(".")[0],o=encodeURIComponent(g.sanitise(i)),u="");a.jptr(r.openapi,"#/components/"+s+"/"+o+u);)u=""===u?2:++u;let c="#/components/"+s+"/"+o+u,l="";"examples"===s&&(n={value:n},l="/value"),a.jptr(r.openapi,c,n),r.refmap[t[e]]=c+l,t[e]=c+l}}}if(delete t["x-miro"],Object.keys(t).length>1){let r=t[e];delete t[e],n.parent[n.pkey]={allOf:[{$ref:r},t]}}}var i;if("x-ms-odata"===e&&"string"==typeof t[e]&&t[e].startsWith("#/")){let n=t[e].replace("#/definitions/","").replace("#/components/schemas/","").split("/"),i=w.schemas[decodeURIComponent(n[0])];i?n[0]=i:S("Could not resolve reference "+t[e],t,r),t[e]="#/components/schemas/"+n.join("/")}}function C(t){for(let e in t)for(let n in t[e]){let r=g.sanitise(n);n!=r&&(t[e][r]=t[e][n],delete t[e][n])}}function E(t,e){if("basic"===t.type&&(t.type="http",t.scheme="basic"),"oauth2"===t.type){let n={},r=t.flow;"application"===t.flow&&(r="clientCredentials"),"accessCode"===t.flow&&(r="authorizationCode"),void 0!==t.authorizationUrl&&(n.authorizationUrl=t.authorizationUrl.split("?")[0].trim()||"/"),"string"==typeof t.tokenUrl&&(n.tokenUrl=t.tokenUrl.split("?")[0].trim()||"/"),n.scopes=t.scopes||{},t.flows={},t.flows[r]=n,delete t.flow,delete t.authorizationUrl,delete t.tokenUrl,delete t.scopes,void 0!==t.name&&(e.patch?delete t.name:x("(Patchable) oauth2 securitySchemes should not have name property",e))}}function U(t){return t&&!t["x-s2o-delete"]}function R(t,e){if(t.$ref)t.$ref=t.$ref.replace("#/responses/","#/components/responses/");else{t.type&&!t.schema&&(t.schema={}),t.type&&(t.schema.type=t.type),t.items&&t.items.collectionFormat&&t.items.type&&"array"!=t.items.type&&(t.items.collectionFormat!=t.collectionFormat&&S("Nested collectionFormats are not supported",t,e),delete t.items.collectionFormat),void 0!==t.collectionFormat&&("array"!=t.type&&(e.patch?delete t.collectionFormat:x("(Patchable) collectionFormat is only applicable to header.type array",e)),"csv"===t.collectionFormat&&(t.style="simple"),"ssv"===t.collectionFormat&&S("collectionFormat:ssv is no longer supported for headers",t,e),"pipes"===t.collectionFormat&&S("collectionFormat:pipes is no longer supported for headers",t,e),"multi"===t.collectionFormat&&(t.explode=!0),"tsv"===t.collectionFormat&&(S("collectionFormat:tsv is no longer supported",t,e),t["x-collectionFormat"]="tsv"),delete t.collectionFormat),delete t.type;for(let e of g.parameterTypeProperties)void 0!==t[e]&&(t.schema[e]=t[e],delete t[e]);for(let e of g.arrayProperties)void 0!==t[e]&&(t.schema[e]=t[e],delete t[e])}}function T(t,e){if(t.$ref.indexOf("#/parameters/")>=0){let e=t.$ref.split("#/parameters/");t.$ref=e[0]+"#/components/parameters/"+g.sanitise(e[1])}t.$ref.indexOf("#/definitions/")>=0&&S("Definition used as parameter",t,e)}function q(t,e,n,r,i,o){let s,u={},a=!0;if(e&&e.consumes&&"string"==typeof e.consumes){if(!o.patch)return x("(Patchable) operation.consumes must be an array",o);e.consumes=[e.consumes]}Array.isArray(i.consumes)||delete i.consumes;let l=((e?e.consumes:null)||i.consumes||[]).filter(g.uniqueOnly);if(t&&t.$ref&&"string"==typeof t.$ref){T(t,o);let e=decodeURIComponent(t.$ref.replace("#/components/parameters/","")),n=!1,r=i.components.parameters[e];if(r&&!r["x-s2o-delete"]||!t.$ref.startsWith("#/")||(t["x-s2o-delete"]=!0,n=!0),n){let e=t.$ref,n=c(i,t.$ref);!n&&e.startsWith("#/")?S("Could not resolve reference "+e,t,o):n&&(t=n)}}if(t&&(t.name||t.in)){"boolean"==typeof t["x-deprecated"]&&(t.deprecated=t["x-deprecated"],delete t["x-deprecated"]),void 0!==t["x-example"]&&(t.example=t["x-example"],delete t["x-example"]),"body"==t.in||t.type||(o.patch?t.type="string":x("(Patchable) parameter.type is mandatory for non-body parameters",o)),t.type&&"object"==typeof t.type&&t.type.$ref&&(t.type=c(i,t.type.$ref)),"file"===t.type&&(t["x-s2o-originalType"]=t.type,s=t.type),t.description&&"object"==typeof t.description&&t.description.$ref&&(t.description=c(i,t.description.$ref)),null===t.description&&delete t.description;let e=t.collectionFormat;if(t.collectionFormat&&("array"!=t.type&&(o.patch?delete t.collectionFormat:x("(Patchable) collectionFormat is only applicable to param.type array",o)),"csv"!==t.collectionFormat||"query"!==t.in&&"cookie"!==t.in||(t.style="form",t.explode=!1),"csv"!==t.collectionFormat||"path"!==t.in&&"header"!==t.in||(t.style="simple"),"ssv"===t.collectionFormat&&("query"===t.in?t.style="spaceDelimited":S("collectionFormat:ssv is no longer supported except for in:query parameters",t,o)),"pipes"===t.collectionFormat&&("query"===t.in?t.style="pipeDelimited":S("collectionFormat:pipes is no longer supported except for in:query parameters",t,o)),"multi"===t.collectionFormat&&(t.explode=!0),"tsv"===t.collectionFormat&&(S("collectionFormat:tsv is no longer supported",t,o),t["x-collectionFormat"]="tsv"),delete t.collectionFormat),t.type&&"object"!=t.type&&"body"!=t.type&&"formData"!=t.in)if(t.items&&t.schema)S("parameter has array,items and schema",t,o);else{t.schema&&"object"==typeof t.schema||(t.schema={}),t.schema.type=t.type,t.items&&(t.schema.items=t.items,delete t.items,h(t.schema.items,null,function(n,r,i){"collectionFormat"===r&&"string"==typeof n[r]&&(e&&n[r]!==e&&S("Nested collectionFormats are not supported",t,o),delete n[r])}));for(let e of g.parameterTypeProperties)void 0!==t[e]&&(t.schema[e]=t[e]),delete t[e]}t.schema&&A(t.schema,o),t["x-ms-skip-url-encoding"]&&"query"===t.in&&(t.allowReserved=!0,delete t["x-ms-skip-url-encoding"])}if(t&&"formData"===t.in){a=!1,u.content={};let e="application/x-www-form-urlencoded";if(l.length&&l.indexOf("multipart/form-data")>=0&&(e="multipart/form-data"),u.content[e]={},t.schema)u.content[e].schema=t.schema,t.schema.$ref&&(u["x-s2o-name"]=decodeURIComponent(t.schema.$ref.replace("#/components/schemas/","")));else{u.content[e].schema={},u.content[e].schema.type="object",u.content[e].schema.properties={},u.content[e].schema.properties[t.name]={};let n=u.content[e].schema,r=u.content[e].schema.properties[t.name];t.description&&(r.description=t.description),t.example&&(r.example=t.example),t.type&&(r.type=t.type);for(let e of g.parameterTypeProperties)void 0!==t[e]&&(r[e]=t[e]);!0===t.required&&(n.required||(n.required=[]),n.required.push(t.name)),void 0!==t.default&&(r.default=t.default),r.properties&&(r.properties=t.properties),t.allOf&&(r.allOf=t.allOf),"array"===t.type&&t.items&&(r.items=t.items,r.items.collectionFormat&&delete r.items.collectionFormat),"file"!==s&&"file"!==t["x-s2o-originalType"]||(r.type="string",r.format="binary"),P(t,r)}}else t&&"file"===t.type&&(t.required&&(u.required=t.required),u.content={},u.content["application/octet-stream"]={},u.content["application/octet-stream"].schema={},u.content["application/octet-stream"].schema.type="string",u.content["application/octet-stream"].schema.format="binary",P(t,u));if(t&&"body"===t.in){u.content={},t.name&&(u["x-s2o-name"]=(e&&e.operationId?g.sanitiseAll(e.operationId):"")+("_"+t.name).toCamelCase()),t.description&&(u.description=t.description),t.required&&(u.required=t.required),e&&o.rbname&&t.name&&(e[o.rbname]=t.name),t.schema&&t.schema.$ref?u["x-s2o-name"]=decodeURIComponent(t.schema.$ref.replace("#/components/schemas/","")):t.schema&&"array"===t.schema.type&&t.schema.items&&t.schema.items.$ref&&(u["x-s2o-name"]=decodeURIComponent(t.schema.items.$ref.replace("#/components/schemas/",""))+"Array"),l.length||l.push("application/json");for(let e of l)u.content[e]={},u.content[e].schema=f(t.schema||{}),A(u.content[e].schema,o);P(t,u)}if(Object.keys(u).length>0&&(t["x-s2o-delete"]=!0,e))if(e.requestBody&&a){e.requestBody["x-s2o-overloaded"]=!0,S("Operation "+(e.operationId||r)+" has multiple requestBodies",e,o)}else e.requestBody=Object.assign({},e.requestBody),e.requestBody.content&&e.requestBody.content["multipart/form-data"]&&e.requestBody.content["multipart/form-data"].schema&&e.requestBody.content["multipart/form-data"].schema.properties&&u.content["multipart/form-data"]&&u.content["multipart/form-data"].schema&&u.content["multipart/form-data"].schema.properties?(e.requestBody.content["multipart/form-data"].schema.properties=Object.assign(e.requestBody.content["multipart/form-data"].schema.properties,u.content["multipart/form-data"].schema.properties),e.requestBody.content["multipart/form-data"].schema.required=(e.requestBody.content["multipart/form-data"].schema.required||[]).concat(u.content["multipart/form-data"].schema.required||[]),e.requestBody.content["multipart/form-data"].schema.required.length||delete e.requestBody.content["multipart/form-data"].schema.required):e.requestBody.content&&e.requestBody.content["application/x-www-form-urlencoded"]&&e.requestBody.content["application/x-www-form-urlencoded"].schema&&e.requestBody.content["application/x-www-form-urlencoded"].schema.properties&&u.content["application/x-www-form-urlencoded"]&&u.content["application/x-www-form-urlencoded"].schema&&u.content["application/x-www-form-urlencoded"].schema.properties?(e.requestBody.content["application/x-www-form-urlencoded"].schema.properties=Object.assign(e.requestBody.content["application/x-www-form-urlencoded"].schema.properties,u.content["application/x-www-form-urlencoded"].schema.properties),e.requestBody.content["application/x-www-form-urlencoded"].schema.required=(e.requestBody.content["application/x-www-form-urlencoded"].schema.required||[]).concat(u.content["application/x-www-form-urlencoded"].schema.required||[]),e.requestBody.content["application/x-www-form-urlencoded"].schema.required.length||delete e.requestBody.content["application/x-www-form-urlencoded"].schema.required):(e.requestBody=Object.assign(e.requestBody,u),e.requestBody["x-s2o-name"]||(e.requestBody.schema&&e.requestBody.schema.$ref?e.requestBody["x-s2o-name"]=decodeURIComponent(e.requestBody.schema.$ref.replace("#/components/schemas/","")).split("/").join(""):e.operationId&&(e.requestBody["x-s2o-name"]=g.sanitiseAll(e.operationId))));if(t){delete t.type;for(let e of g.parameterTypeProperties)delete t[e];"path"!==t.in||void 0!==t.required&&!0===t.required||(o.patch?t.required=!0:x("(Patchable) path parameters must be required:true",o))}return u}function P(t,e){for(let n in t)n.startsWith("x-")&&!n.startsWith("x-s2o")&&(e[n]=t[n])}function z(t,e,n,r,i){if(!t)return!1;if(t.$ref&&"string"==typeof t.$ref)t.$ref.indexOf("#/definitions/")>=0?S("definition used as response: "+t.$ref,t,i):t.$ref.startsWith("#/responses/")&&(t.$ref="#/components/responses/"+g.sanitise(decodeURIComponent(t.$ref.replace("#/responses/",""))));else{if((void 0===t.description||null===t.description||""===t.description&&i.patch)&&(i.patch?"object"!=typeof t||Array.isArray(t)||(t.description=y[t]||""):x("(Patchable) response.description is mandatory",i)),t.schema){if(A(t.schema,i),t.schema.$ref&&"string"==typeof t.schema.$ref&&t.schema.$ref.startsWith("#/responses/")&&(t.schema.$ref="#/components/responses/"+g.sanitise(decodeURIComponent(t.schema.$ref.replace("#/responses/","")))),n&&n.produces&&"string"==typeof n.produces){if(!i.patch)return x("(Patchable) operation.produces must be an array",i);n.produces=[n.produces]}r.produces&&!Array.isArray(r.produces)&&delete r.produces;let e=((n?n.produces:null)||r.produces||[]).filter(g.uniqueOnly);e.length||e.push("*/*"),t.content={};for(let n of e){if(t.content[n]={},t.content[n].schema=f(t.schema),t.examples&&t.examples[n]){let e={};e.value=t.examples[n],t.content[n].examples={},t.content[n].examples.response=e,delete t.examples[n]}"file"===t.content[n].schema.type&&(t.content[n].schema={type:"string",format:"binary"})}delete t.schema}for(let e in t.examples)t.content||(t.content={}),t.content[e]||(t.content[e]={}),t.content[e].examples={},t.content[e].examples.response={},t.content[e].examples.response.value=t.examples[e];if(delete t.examples,t.headers)for(let e in t.headers)"status code"===e.toLowerCase()?i.patch?delete t.headers[e]:x('(Patchable) "Status Code" is not a valid header',i):R(t.headers[e],i)}}function D(t,e,n,r,o){for(let s in t){let u=t[s];u&&u["x-trace"]&&"object"==typeof u["x-trace"]&&(u.trace=u["x-trace"],delete u["x-trace"]),u&&u["x-summary"]&&"string"==typeof u["x-summary"]&&(u.summary=u["x-summary"],delete u["x-summary"]),u&&u["x-description"]&&"string"==typeof u["x-description"]&&(u.description=u["x-description"],delete u["x-description"]),u&&u["x-servers"]&&Array.isArray(u["x-servers"])&&(u.servers=u["x-servers"],delete u["x-servers"]);for(let t in u)if(g.httpMethods.indexOf(t)>=0||"x-amazon-apigateway-any-method"===t){let l=u[t];if(l&&l.parameters&&Array.isArray(l.parameters)){if(u.parameters)for(let t of u.parameters){"string"==typeof t.$ref&&(T(t,n),t=c(o,t.$ref)),l.parameters.find(function(e,n,r){return e.name===t.name&&e.in===t.in})||"formData"!==t.in&&"body"!==t.in&&"file"!==t.type||q(t,l,0,s,o,n)}for(let e of l.parameters)q(e,l,0,t+":"+s,o,n);n.debug||(l.parameters=l.parameters.filter(U))}if(l&&l.security&&C(l.security),"object"==typeof l){if(!l.responses){let t={description:"Default response"};l.responses={default:t}}for(let t in l.responses){z(l.responses[t],0,l,o,n)}}if(l&&l["x-servers"]&&Array.isArray(l["x-servers"]))l.servers=l["x-servers"],delete l["x-servers"];else if(l&&l.schemes&&l.schemes.length)for(let t of l.schemes)if((!o.schemes||o.schemes.indexOf(t)<0)&&(l.servers||(l.servers=[]),Array.isArray(o.servers)))for(let e of o.servers){let n=f(e),r=i.parse(n.url);r.protocol=t,n.url=r.format(),l.servers.push(n)}if(n.debug&&(l["x-s2o-consumes"]=l.consumes||[],l["x-s2o-produces"]=l.produces||[]),l){if(delete l.consumes,delete l.produces,delete l.schemes,l["x-ms-examples"]){for(let t in l["x-ms-examples"]){let e=l["x-ms-examples"][t],n=g.sanitiseAll(t);if(e.parameters)for(let n in e.parameters){let r=e.parameters[n];for(let e of(l.parameters||[]).concat(u.parameters||[]))e.$ref&&(e=a.jptr(o,e.$ref)),e.name!==n||e.example||(e.examples||(e.examples={}),e.examples[t]={value:r})}if(e.responses)for(let r in e.responses){if(e.responses[r].headers)for(let t in e.responses[r].headers){let n=e.responses[r].headers[t];for(let e in l.responses[r].headers)if(e===t){l.responses[r].headers[e].example=n}}if(e.responses[r].body&&(o.components.examples[n]={value:f(e.responses[r].body)},l.responses[r]&&l.responses[r].content))for(let e in l.responses[r].content){let i=l.responses[r].content[e];i.examples||(i.examples={}),i.examples[t]={$ref:"#/components/examples/"+n}}}}delete l["x-ms-examples"]}if(l.parameters&&0===l.parameters.length&&delete l.parameters,l.requestBody){let n=l.operationId?g.sanitiseAll(l.operationId):g.sanitiseAll(t+s).toCamelCase(),i=g.sanitise(l.requestBody["x-s2o-name"]||n||"");delete l.requestBody["x-s2o-name"];let o=JSON.stringify(l.requestBody),u=g.hash(o);if(!r[u]){let t={};t.name=i,t.body=l.requestBody,t.refs=[],r[u]=t}let c="#/"+e+"/"+encodeURIComponent(a.jpescape(s))+"/"+t+"/requestBody";r[u].refs.push(c)}}}if(u&&u.parameters){for(let t in u.parameters){q(u.parameters[t],null,0,s,o,n)}!n.debug&&Array.isArray(u.parameters)&&(u.parameters=u.parameters.filter(U))}}}function M(t,e){let n={};w={schemas:{}},t.security&&C(t.security);for(let n in t.components.securitySchemes){let r=g.sanitise(n);n!=r&&(t.components.securitySchemes[r]&&x("Duplicate sanitised securityScheme name "+r,e),t.components.securitySchemes[r]=t.components.securitySchemes[n],delete t.components.securitySchemes[n]),E(t.components.securitySchemes[r],e)}for(let n in t.components.schemas){let r=g.sanitiseAll(n),i="";if(n!=r){for(;t.components.schemas[r+i];)i=i?++i:2;t.components.schemas[r+i]=t.components.schemas[n],delete t.components.schemas[n]}w.schemas[n]=r+i,A(t.components.schemas[r+i],e)}e.refmap={},h(t,{payload:{options:e}},O),function(t,e){for(let n in e.refmap)a.jptr(t,n,{$ref:e.refmap[n]})}(t,e);for(let n in t.components.parameters){let r=g.sanitise(n);n!=r&&(t.components.parameters[r]&&x("Duplicate sanitised parameter name "+r,e),t.components.parameters[r]=t.components.parameters[n],delete t.components.parameters[n]),q(t.components.parameters[r],null,0,r,t,e)}for(let n in t.components.responses){let r=g.sanitise(n);n!=r&&(t.components.responses[r]&&x("Duplicate sanitised response name "+r,e),t.components.responses[r]=t.components.responses[n],delete t.components.responses[n]);let i=t.components.responses[r];if(z(i,0,null,t,e),i.headers)for(let t in i.headers)"status code"===t.toLowerCase()?e.patch?delete i.headers[t]:x('(Patchable) "Status Code" is not a valid header',e):R(i.headers[t],e)}for(let e in t.components.requestBodies){let r=t.components.requestBodies[e],i=JSON.stringify(r),o=g.hash(i),s={};s.name=e,s.body=r,s.refs=[],n[o]=s}if(D(t.paths,"paths",e,n,t),t["x-ms-paths"]&&D(t["x-ms-paths"],"x-ms-paths",e,n,t),!e.debug)for(let e in t.components.parameters){t.components.parameters[e]["x-s2o-delete"]&&delete t.components.parameters[e]}e.debug&&(t["x-s2o-consumes"]=t.consumes||[],t["x-s2o-produces"]=t.produces||[]),delete t.consumes,delete t.produces,delete t.schemes;let r=[];t.components.requestBodies={};let i=1;for(let e in n){let o=n[e];if(o.refs.length>1){let e="";for(o.name||(o.name="requestBody",e=i++);r.indexOf(o.name+e)>=0;)e=e?++e:2;o.name=o.name+e,r.push(o.name),t.components.requestBodies[o.name]=f(o.body);for(let e in o.refs){let n={};n.$ref="#/components/requestBodies/"+o.name,a.jptr(t,o.refs[e],n)}}}return t.components.responses&&0===Object.keys(t.components.responses).length&&delete t.components.responses,t.components.parameters&&0===Object.keys(t.components.parameters).length&&delete t.components.parameters,t.components.examples&&0===Object.keys(t.components.examples).length&&delete t.components.examples,t.components.requestBodies&&0===Object.keys(t.components.requestBodies).length&&delete t.components.requestBodies,t.components.securitySchemes&&0===Object.keys(t.components.securitySchemes).length&&delete t.components.securitySchemes,t.components.headers&&0===Object.keys(t.components.headers).length&&delete t.components.headers,t.components.schemas&&0===Object.keys(t.components.schemas).length&&delete t.components.schemas,t.components&&0===Object.keys(t.components).length&&delete t.components,t}function j(t){return t&&t.url&&"string"==typeof t.url?(t.url=t.url.split("{{").join("{"),t.url=t.url.split("}}").join("}"),t.url.replace(/\{(.+?)\}/g,function(e,n){t.variables||(t.variables={}),t.variables[n]={default:"unknown"}}),t):t}function k(t,e,n){if(void 0===t.info||null===t.info){if(!e.patch)return n(new _("(Patchable) info object is mandatory"));t.info={version:"",title:""}}if("object"!=typeof t.info||Array.isArray(t.info))return n(new _("info must be an object"));if(void 0===t.info.title||null===t.info.title){if(!e.patch)return n(new _("(Patchable) info.title cannot be null"));t.info.title=""}if(void 0===t.info.version||null===t.info.version){if(!e.patch)return n(new _("(Patchable) info.version cannot be null"));t.info.version=""}if("string"!=typeof t.info.version){if(!e.patch)return n(new _("(Patchable) info.version must be a string"));t.info.version=t.info.version.toString()}if(void 0!==t.info.logo){if(!e.patch)return n(new _("(Patchable) info should not have logo property"));t.info["x-logo"]=t.info.logo,delete t.info.logo}if(void 0!==t.info.termsOfService){if(null===t.info.termsOfService){if(!e.patch)return n(new _("(Patchable) info.termsOfService cannot be null"));t.info.termsOfService=""}if(i.URL&&e.whatwg)try{i.URL.parse(t.info.termsOfService)}catch(r){if(!e.patch)return n(new _("(Patchable) info.termsOfService must be a URL"));delete t.info.termsOfService}}}function F(t,e,n){if(void 0===t.paths){if(!e.patch)return n(new _("(Patchable) paths object is mandatory"));t.paths={}}}function L(t,e,n){return o(n,new Promise(function(n,r){if(t||(t={}),e.original=t,e.externals=[],e.externalRefs={},e.rewriteRefs=!0,e.preserveMiro=!0,e.promise={},e.promise.resolve=n,e.promise.reject=r,e.cache||(e.cache={}),e.source&&(e.cache[e.source]=e.original),t.openapi&&"string"==typeof t.openapi&&t.openapi.startsWith("3."))return e.openapi=p(t),k(e.openapi,e,r),F(e.openapi,e,r),void d.optionalResolve(e).then(function(){return e.direct?n(e.openapi):n(e)}).catch(function(t){console.warn(t),r(t)});if(!t.swagger||"2.0"!=t.swagger)return r(new _("Unsupported swagger/OpenAPI version: "+(t.openapi?t.openapi:t.swagger)));let i=e.openapi={};if(i.openapi="string"==typeof e.targetVersion&&e.targetVersion.startsWith("3.")?e.targetVersion:b,e.origin){i["x-origin"]||(i["x-origin"]=[]);let n={};n.url=e.source||e.origin,n.format="swagger",n.version=t.swagger,n.converter={},n.converter.url="https://github.com/mermade/oas-kit",n.converter.version=m,i["x-origin"].push(n)}if(delete(i=Object.assign(i,p(t))).swagger,h(i,{},function(t,e,n){null!==t[e]||e.startsWith("x-")||delete t[e]}),t.host)for(let e of Array.isArray(t.schemes)?t.schemes:[""]){let n={};n.url=(e?e+":":"")+"//"+t.host+(t.basePath?t.basePath:""),j(n),i.servers||(i.servers=[]),i.servers.push(n)}else if(t.basePath){let e={};e.url=t.basePath,j(e),i.servers||(i.servers=[]),i.servers.push(e)}if(delete i.host,delete i.basePath,i["x-servers"]&&Array.isArray(i["x-servers"])&&(i.servers=i["x-servers"],delete i["x-servers"]),t["x-ms-parameterized-host"]){let e=t["x-ms-parameterized-host"],n={};n.url=e.hostTemplate,n.variables={};for(let t in e.parameters){let r=e.parameters[t];r.$ref&&(r=f(c(i,r.$ref))),t.startsWith("x-")||(delete r.required,delete r.type,delete r.in,void 0===r.default&&(r.enum?r.default=r.enum[0]:r.default=""),n.variables[r.name]=r,delete r.name)}i.servers||(i.servers=[]),i.servers.push(n),delete i["x-ms-parameterized-host"]}k(i,e,r),F(i,e,r),"string"==typeof i.consumes&&(i.consumes=[i.consumes]),"string"==typeof i.produces&&(i.produces=[i.produces]),i.components={},i["x-callbacks"]&&(i.components.callbacks=i["x-callbacks"],delete i["x-callbacks"]),i.components.examples={},i.components.headers={},i["x-links"]&&(i.components.links=i["x-links"],delete i["x-links"]),i.components.parameters=i.parameters||{},i.components.responses=i.responses||{},i.components.requestBodies={},i.components.securitySchemes=i.securityDefinitions||{},i.components.schemas=i.definitions||{},delete i.definitions,delete i.responses,delete i.parameters,delete i.securityDefinitions,d.optionalResolve(e).then(function(){M(i,e),e.direct?n(e.openapi):n(e)}).catch(function(t){console.warn(t),r(t)})}))}function N(t,e,n){return o(n,new Promise(function(n,r){let i=null;try{i=JSON.parse(t)}catch(n){try{i=u.safeLoad(t,{json:!0}),e.sourceYaml=!0}catch(t){}}i?L(i,e).then(t=>n(t)).catch(t=>r(t)):r(new _("Could not parse string"))}))}t.exports={S2OError:_,targetVersion:b,convert:L,convertObj:L,convertUrl:function(t,e,n){return o(n,new Promise(function(n,r){e.origin=!0,e.source||(e.source=t),e.verbose&&console.log("GET "+t),s(t,{agent:e.agent}).then(function(t){if(200!==t.status)throw new _(`Received status code ${t.status}`);return t.text()}).then(function(t){N(t,e).then(t=>n(t)).catch(t=>r(t))}).catch(function(t){r(t)})}))},convertStr:N,convertFile:function(t,e,n){return o(n,new Promise(function(n,i){r.readFile(t,e.encoding||"utf8",function(r,o){r?i(r):(e.sourceFile=t,N(o,e).then(t=>n(t)).catch(t=>i(t)))})}))},convertStream:function(t,e,n){return o(n,new Promise(function(n,r){let i="";t.on("data",function(t){i+=t}).on("end",function(){N(i,e).then(t=>n(t)).catch(t=>r(t))})}))}}},function(t,e,n){(function(e){var n="object"==typeof e&&e&&e.Object===Object&&e;t.exports=n}).call(this,n(3))},function(t,e){var n=Function.prototype.toString;t.exports=function(t){if(null!=t){try{return n.call(t)}catch(t){}try{return t+""}catch(t){}}return""}},function(t,e,n){var r=n(69),i=n(44),o=Object.prototype.hasOwnProperty;t.exports=function(t,e,n){var s=t[e];o.call(t,e)&&i(s,n)&&(void 0!==n||e in t)||r(t,e,n)}},function(t,e,n){var r=n(70);t.exports=function(t,e,n){"__proto__"==e&&r?r(t,e,{configurable:!0,enumerable:!0,value:n,writable:!0}):t[e]=n}},function(t,e,n){var r=n(9),i=function(){try{var t=r(Object,"defineProperty");return t({},"",{}),t}catch(t){}}();t.exports=i},function(t,e,n){var r=n(167),i=n(31),o=n(0),s=n(21),u=n(72),a=n(32),c=Object.prototype.hasOwnProperty;t.exports=function(t,e){var n=o(t),l=!n&&i(t),f=!n&&!l&&s(t),p=!n&&!l&&!f&&a(t),h=n||l||f||p,d=h?r(t.length,String):[],v=d.length;for(var g in t)!e&&!c.call(t,g)||h&&("length"==g||f&&("offset"==g||"parent"==g)||p&&("buffer"==g||"byteLength"==g||"byteOffset"==g)||u(g,v))||d.push(g);return d}},function(t,e){var n=9007199254740991,r=/^(?:0|[1-9]\d*)$/;t.exports=function(t,e){var i=typeof t;return!!(e=null==e?n:e)&&("number"==i||"symbol"!=i&&r.test(t))&&t>-1&&t%1==0&&tp))return!1;var d=l.get(t);if(d&&l.get(e))return d==e;var v=-1,g=!0,y=n&u?new r:void 0;for(l.set(t,e),l.set(e,t);++v0&&(o=a.removeMin(),(s=u[o]).distance!==Number.POSITIVE_INFINITY);)r(o).forEach(c);return u}(t,String(e),n||o,r||function(e){return t.outEdges(e)})};var o=r.constant(1)},function(t,e,n){var r=n(5);function i(){this._arr=[],this._keyIndices={}}t.exports=i,i.prototype.size=function(){return this._arr.length},i.prototype.keys=function(){return this._arr.map(function(t){return t.key})},i.prototype.has=function(t){return r.has(this._keyIndices,t)},i.prototype.priority=function(t){var e=this._keyIndices[t];if(void 0!==e)return this._arr[e].priority},i.prototype.min=function(){if(0===this.size())throw new Error("Queue underflow");return this._arr[0].key},i.prototype.add=function(t,e){var n=this._keyIndices;if(t=String(t),!r.has(n,t)){var i=this._arr,o=i.length;return n[t]=o,i.push({key:t,priority:e}),this._decrease(o),!0}return!1},i.prototype.removeMin=function(){this._swap(0,this._arr.length-1);var t=this._arr.pop();return delete this._keyIndices[t.key],this._heapify(0),t.key},i.prototype.decrease=function(t,e){var n=this._keyIndices[t];if(e>this._arr[n].priority)throw new Error("New priority is greater than current priority. Key: "+t+" Old: "+this._arr[n].priority+" New: "+e);this._arr[n].priority=e,this._decrease(n)},i.prototype._heapify=function(t){var e=this._arr,n=2*t,r=n+1,i=t;n>1].priorityt._pos){var o=n.substr(t._pos);if("x-user-defined"===t._charset){for(var s=new r(o.length),u=0;ut._pos&&(t.push(new r(new Uint8Array(c.result.slice(t._pos)))),t._pos=c.result.byteLength)},c.onload=function(){t.push(null)},c.readAsArrayBuffer(n)}t._xhr.readyState===a.DONE&&"ms-stream"!==t._mode&&t.push(null)}}).call(this,n(4),n(18).Buffer,n(3))},function(t,e,n){(e=t.exports=n(116)).Stream=e,e.Readable=e,e.Writable=n(120),e.Duplex=n(19),e.Transform=n(122),e.PassThrough=n(323)},function(t,e,n){"use strict";(function(e,r){var i=n(39);t.exports=b;var o,s=n(109);b.ReadableState=m;n(117).EventEmitter;var u=function(t,e){return t.listeners(e).length},a=n(118),c=n(40).Buffer,l=e.Uint8Array||function(){};var f=n(24);f.inherits=n(8);var p=n(317),h=void 0;h=p&&p.debuglog?p.debuglog("stream"):function(){};var d,v=n(318),g=n(119);f.inherits(b,a);var y=["error","close","destroy","pause","resume"];function m(t,e){t=t||{};var r=e instanceof(o=o||n(19));this.objectMode=!!t.objectMode,r&&(this.objectMode=this.objectMode||!!t.readableObjectMode);var i=t.highWaterMark,s=t.readableHighWaterMark,u=this.objectMode?16:16384;this.highWaterMark=i||0===i?i:r&&(s||0===s)?s:u,this.highWaterMark=Math.floor(this.highWaterMark),this.buffer=new v,this.length=0,this.pipes=null,this.pipesCount=0,this.flowing=null,this.ended=!1,this.endEmitted=!1,this.reading=!1,this.sync=!0,this.needReadable=!1,this.emittedReadable=!1,this.readableListening=!1,this.resumeScheduled=!1,this.destroyed=!1,this.defaultEncoding=t.defaultEncoding||"utf8",this.awaitDrain=0,this.readingMore=!1,this.decoder=null,this.encoding=null,t.encoding&&(d||(d=n(121).StringDecoder),this.decoder=new d(t.encoding),this.encoding=t.encoding)}function b(t){if(o=o||n(19),!(this instanceof b))return new b(t);this._readableState=new m(t,this),this.readable=!0,t&&("function"==typeof t.read&&(this._read=t.read),"function"==typeof t.destroy&&(this._destroy=t.destroy)),a.call(this)}function w(t,e,n,r,i){var o,s=t._readableState;null===e?(s.reading=!1,function(t,e){if(e.ended)return;if(e.decoder){var n=e.decoder.end();n&&n.length&&(e.buffer.push(n),e.length+=e.objectMode?1:n.length)}e.ended=!0,A(t)}(t,s)):(i||(o=function(t,e){var n;r=e,c.isBuffer(r)||r instanceof l||"string"==typeof e||void 0===e||t.objectMode||(n=new TypeError("Invalid non-string/buffer chunk"));var r;return n}(s,e)),o?t.emit("error",o):s.objectMode||e&&e.length>0?("string"==typeof e||s.objectMode||Object.getPrototypeOf(e)===c.prototype||(e=function(t){return c.from(t)}(e)),r?s.endEmitted?t.emit("error",new Error("stream.unshift() after end event")):_(t,s,e,!0):s.ended?t.emit("error",new Error("stream.push() after EOF")):(s.reading=!1,s.decoder&&!n?(e=s.decoder.write(e),s.objectMode||0!==e.length?_(t,s,e,!1):C(t,s)):_(t,s,e,!1))):r||(s.reading=!1));return function(t){return!t.ended&&(t.needReadable||t.lengthe.highWaterMark&&(e.highWaterMark=function(t){return t>=x?t=x:(t--,t|=t>>>1,t|=t>>>2,t|=t>>>4,t|=t>>>8,t|=t>>>16,t++),t}(t)),t<=e.length?t:e.ended?e.length:(e.needReadable=!0,0))}function A(t){var e=t._readableState;e.needReadable=!1,e.emittedReadable||(h("emitReadable",e.flowing),e.emittedReadable=!0,e.sync?i.nextTick(O,t):O(t))}function O(t){h("emit readable"),t.emit("readable"),T(t)}function C(t,e){e.readingMore||(e.readingMore=!0,i.nextTick(E,t,e))}function E(t,e){for(var n=e.length;!e.reading&&!e.flowing&&!e.ended&&e.length=e.length?(n=e.decoder?e.buffer.join(""):1===e.buffer.length?e.buffer.head.data:e.buffer.concat(e.length),e.buffer.clear()):n=function(t,e,n){var r;to.length?o.length:t;if(s===o.length?i+=o:i+=o.slice(0,t),0===(t-=s)){s===o.length?(++r,n.next?e.head=n.next:e.head=e.tail=null):(e.head=n,n.data=o.slice(s));break}++r}return e.length-=r,i}(t,e):function(t,e){var n=c.allocUnsafe(t),r=e.head,i=1;r.data.copy(n),t-=r.data.length;for(;r=r.next;){var o=r.data,s=t>o.length?o.length:t;if(o.copy(n,n.length-t,0,s),0===(t-=s)){s===o.length?(++i,r.next?e.head=r.next:e.head=e.tail=null):(e.head=r,r.data=o.slice(s));break}++i}return e.length-=i,n}(t,e);return r}(t,e.buffer,e.decoder),n);var n}function P(t){var e=t._readableState;if(e.length>0)throw new Error('"endReadable()" called on non-empty stream');e.endEmitted||(e.ended=!0,i.nextTick(z,e,t))}function z(t,e){t.endEmitted||0!==t.length||(t.endEmitted=!0,e.readable=!1,e.emit("end"))}function D(t,e){for(var n=0,r=t.length;n=e.highWaterMark||e.ended))return h("read: emitReadable",e.length,e.ended),0===e.length&&e.ended?P(this):A(this),null;if(0===(t=S(t,e))&&e.ended)return 0===e.length&&P(this),null;var r,i=e.needReadable;return h("need readable",i),(0===e.length||e.length-t0?q(t,e):null)?(e.needReadable=!0,t=0):e.length-=t,0===e.length&&(e.ended||(e.needReadable=!0),n!==t&&e.ended&&P(this)),null!==r&&this.emit("data",r),r},b.prototype._read=function(t){this.emit("error",new Error("_read() is not implemented"))},b.prototype.pipe=function(t,e){var n=this,o=this._readableState;switch(o.pipesCount){case 0:o.pipes=t;break;case 1:o.pipes=[o.pipes,t];break;default:o.pipes.push(t)}o.pipesCount+=1,h("pipe count=%d opts=%j",o.pipesCount,e);var a=(!e||!1!==e.end)&&t!==r.stdout&&t!==r.stderr?l:b;function c(e,r){h("onunpipe"),e===n&&r&&!1===r.hasUnpiped&&(r.hasUnpiped=!0,h("cleanup"),t.removeListener("close",y),t.removeListener("finish",m),t.removeListener("drain",f),t.removeListener("error",g),t.removeListener("unpipe",c),n.removeListener("end",l),n.removeListener("end",b),n.removeListener("data",v),p=!0,!o.awaitDrain||t._writableState&&!t._writableState.needDrain||f())}function l(){h("onend"),t.end()}o.endEmitted?i.nextTick(a):n.once("end",a),t.on("unpipe",c);var f=function(t){return function(){var e=t._readableState;h("pipeOnDrain",e.awaitDrain),e.awaitDrain&&e.awaitDrain--,0===e.awaitDrain&&u(t,"data")&&(e.flowing=!0,T(t))}}(n);t.on("drain",f);var p=!1;var d=!1;function v(e){h("ondata"),d=!1,!1!==t.write(e)||d||((1===o.pipesCount&&o.pipes===t||o.pipesCount>1&&-1!==D(o.pipes,t))&&!p&&(h("false write response, pause",n._readableState.awaitDrain),n._readableState.awaitDrain++,d=!0),n.pause())}function g(e){h("onerror",e),b(),t.removeListener("error",g),0===u(t,"error")&&t.emit("error",e)}function y(){t.removeListener("finish",m),b()}function m(){h("onfinish"),t.removeListener("close",y),b()}function b(){h("unpipe"),n.unpipe(t)}return n.on("data",v),function(t,e,n){if("function"==typeof t.prependListener)return t.prependListener(e,n);t._events&&t._events[e]?s(t._events[e])?t._events[e].unshift(n):t._events[e]=[n,t._events[e]]:t.on(e,n)}(t,"error",g),t.once("close",y),t.once("finish",m),t.emit("pipe",n),o.flowing||(h("pipe resume"),n.resume()),t},b.prototype.unpipe=function(t){var e=this._readableState,n={hasUnpiped:!1};if(0===e.pipesCount)return this;if(1===e.pipesCount)return t&&t!==e.pipes?this:(t||(t=e.pipes),e.pipes=null,e.pipesCount=0,e.flowing=!1,t&&t.emit("unpipe",this,n),this);if(!t){var r=e.pipes,i=e.pipesCount;e.pipes=null,e.pipesCount=0,e.flowing=!1;for(var o=0;o0&&s.length>i&&!s.warned){s.warned=!0;var a=new Error("Possible EventEmitter memory leak detected. "+s.length+" "+String(e)+" listeners added. Use emitter.setMaxListeners() to increase limit");a.name="MaxListenersExceededWarning",a.emitter=t,a.type=e,a.count=s.length,u=a,console&&console.warn&&console.warn(u)}return t}function f(t,e,n){var r={fired:!1,wrapFn:void 0,target:t,type:e,listener:n},i=function(){for(var t=[],e=0;e0&&(s=e[0]),s instanceof Error)throw s;var u=new Error("Unhandled error."+(s?" ("+s.message+")":""));throw u.context=s,u}var a=i[t];if(void 0===a)return!1;if("function"==typeof a)o(a,this,e);else{var c=a.length,l=d(a,c);for(n=0;n=0;o--)if(n[o]===e||n[o].listener===e){s=n[o].listener,i=o;break}if(i<0)return this;0===i?n.shift():function(t,e){for(;e+1=0;r--)this.removeListener(t,e[r]);return this},u.prototype.listeners=function(t){return p(this,t,!0)},u.prototype.rawListeners=function(t){return p(this,t,!1)},u.listenerCount=function(t,e){return"function"==typeof t.listenerCount?t.listenerCount(e):h.call(t,e)},u.prototype.listenerCount=h,u.prototype.eventNames=function(){return this._eventsCount>0?r(this._events):[]}},function(t,e,n){t.exports=n(117).EventEmitter},function(t,e,n){"use strict";var r=n(39);function i(t,e){t.emit("error",e)}t.exports={destroy:function(t,e){var n=this,o=this._readableState&&this._readableState.destroyed,s=this._writableState&&this._writableState.destroyed;return o||s?(e?e(t):!t||this._writableState&&this._writableState.errorEmitted||r.nextTick(i,this,t),this):(this._readableState&&(this._readableState.destroyed=!0),this._writableState&&(this._writableState.destroyed=!0),this._destroy(t||null,function(t){!e&&t?(r.nextTick(i,n,t),n._writableState&&(n._writableState.errorEmitted=!0)):e&&e(t)}),this)},undestroy:function(){this._readableState&&(this._readableState.destroyed=!1,this._readableState.reading=!1,this._readableState.ended=!1,this._readableState.endEmitted=!1),this._writableState&&(this._writableState.destroyed=!1,this._writableState.ended=!1,this._writableState.ending=!1,this._writableState.finished=!1,this._writableState.errorEmitted=!1)}}},function(t,e,n){"use strict";(function(e,r,i){var o=n(39);function s(t){var e=this;this.next=null,this.entry=null,this.finish=function(){!function(t,e,n){var r=t.entry;t.entry=null;for(;r;){var i=r.callback;e.pendingcb--,i(n),r=r.next}e.corkedRequestsFree?e.corkedRequestsFree.next=t:e.corkedRequestsFree=t}(e,t)}}t.exports=m;var u,a=!e.browser&&["v0.10","v0.9."].indexOf(e.version.slice(0,5))>-1?r:o.nextTick;m.WritableState=y;var c=n(24);c.inherits=n(8);var l={deprecate:n(322)},f=n(118),p=n(40).Buffer,h=i.Uint8Array||function(){};var d,v=n(119);function g(){}function y(t,e){u=u||n(19),t=t||{};var r=e instanceof u;this.objectMode=!!t.objectMode,r&&(this.objectMode=this.objectMode||!!t.writableObjectMode);var i=t.highWaterMark,c=t.writableHighWaterMark,l=this.objectMode?16:16384;this.highWaterMark=i||0===i?i:r&&(c||0===c)?c:l,this.highWaterMark=Math.floor(this.highWaterMark),this.finalCalled=!1,this.needDrain=!1,this.ending=!1,this.ended=!1,this.finished=!1,this.destroyed=!1;var f=!1===t.decodeStrings;this.decodeStrings=!f,this.defaultEncoding=t.defaultEncoding||"utf8",this.length=0,this.writing=!1,this.corked=0,this.sync=!0,this.bufferProcessing=!1,this.onwrite=function(t){!function(t,e){var n=t._writableState,r=n.sync,i=n.writecb;if(function(t){t.writing=!1,t.writecb=null,t.length-=t.writelen,t.writelen=0}(n),e)!function(t,e,n,r,i){--e.pendingcb,n?(o.nextTick(i,r),o.nextTick(A,t,e),t._writableState.errorEmitted=!0,t.emit("error",r)):(i(r),t._writableState.errorEmitted=!0,t.emit("error",r),A(t,e))}(t,n,r,e,i);else{var s=x(n);s||n.corked||n.bufferProcessing||!n.bufferedRequest||_(t,n),r?a(w,t,n,s,i):w(t,n,s,i)}}(e,t)},this.writecb=null,this.writelen=0,this.bufferedRequest=null,this.lastBufferedRequest=null,this.pendingcb=0,this.prefinished=!1,this.errorEmitted=!1,this.bufferedRequestCount=0,this.corkedRequestsFree=new s(this)}function m(t){if(u=u||n(19),!(d.call(m,this)||this instanceof u))return new m(t);this._writableState=new y(t,this),this.writable=!0,t&&("function"==typeof t.write&&(this._write=t.write),"function"==typeof t.writev&&(this._writev=t.writev),"function"==typeof t.destroy&&(this._destroy=t.destroy),"function"==typeof t.final&&(this._final=t.final)),f.call(this)}function b(t,e,n,r,i,o,s){e.writelen=r,e.writecb=s,e.writing=!0,e.sync=!0,n?t._writev(i,e.onwrite):t._write(i,o,e.onwrite),e.sync=!1}function w(t,e,n,r){n||function(t,e){0===e.length&&e.needDrain&&(e.needDrain=!1,t.emit("drain"))}(t,e),e.pendingcb--,r(),A(t,e)}function _(t,e){e.bufferProcessing=!0;var n=e.bufferedRequest;if(t._writev&&n&&n.next){var r=e.bufferedRequestCount,i=new Array(r),o=e.corkedRequestsFree;o.entry=n;for(var u=0,a=!0;n;)i[u]=n,n.isBuf||(a=!1),n=n.next,u+=1;i.allBuffers=a,b(t,e,!0,e.length,i,"",o.finish),e.pendingcb++,e.lastBufferedRequest=null,o.next?(e.corkedRequestsFree=o.next,o.next=null):e.corkedRequestsFree=new s(e),e.bufferedRequestCount=0}else{for(;n;){var c=n.chunk,l=n.encoding,f=n.callback;if(b(t,e,!1,e.objectMode?1:c.length,c,l,f),n=n.next,e.bufferedRequestCount--,e.writing)break}null===n&&(e.lastBufferedRequest=null)}e.bufferedRequest=n,e.bufferProcessing=!1}function x(t){return t.ending&&0===t.length&&null===t.bufferedRequest&&!t.finished&&!t.writing}function S(t,e){t._final(function(n){e.pendingcb--,n&&t.emit("error",n),e.prefinished=!0,t.emit("prefinish"),A(t,e)})}function A(t,e){var n=x(e);return n&&(!function(t,e){e.prefinished||e.finalCalled||("function"==typeof t._final?(e.pendingcb++,e.finalCalled=!0,o.nextTick(S,t,e)):(e.prefinished=!0,t.emit("prefinish")))}(t,e),0===e.pendingcb&&(e.finished=!0,t.emit("finish"))),n}c.inherits(m,f),y.prototype.getBuffer=function(){for(var t=this.bufferedRequest,e=[];t;)e.push(t),t=t.next;return e},function(){try{Object.defineProperty(y.prototype,"buffer",{get:l.deprecate(function(){return this.getBuffer()},"_writableState.buffer is deprecated. Use _writableState.getBuffer instead.","DEP0003")})}catch(t){}}(),"function"==typeof Symbol&&Symbol.hasInstance&&"function"==typeof Function.prototype[Symbol.hasInstance]?(d=Function.prototype[Symbol.hasInstance],Object.defineProperty(m,Symbol.hasInstance,{value:function(t){return!!d.call(this,t)||this===m&&(t&&t._writableState instanceof y)}})):d=function(t){return t instanceof this},m.prototype.pipe=function(){this.emit("error",new Error("Cannot pipe, not readable"))},m.prototype.write=function(t,e,n){var r,i=this._writableState,s=!1,u=!i.objectMode&&(r=t,p.isBuffer(r)||r instanceof h);return u&&!p.isBuffer(t)&&(t=function(t){return p.from(t)}(t)),"function"==typeof e&&(n=e,e=null),u?e="buffer":e||(e=i.defaultEncoding),"function"!=typeof n&&(n=g),i.ended?function(t,e){var n=new Error("write after end");t.emit("error",n),o.nextTick(e,n)}(this,n):(u||function(t,e,n,r){var i=!0,s=!1;return null===n?s=new TypeError("May not write null values to stream"):"string"==typeof n||void 0===n||e.objectMode||(s=new TypeError("Invalid non-string/buffer chunk")),s&&(t.emit("error",s),o.nextTick(r,s),i=!1),i}(this,i,t,n))&&(i.pendingcb++,s=function(t,e,n,r,i,o){if(!n){var s=function(t,e,n){t.objectMode||!1===t.decodeStrings||"string"!=typeof e||(e=p.from(e,n));return e}(e,r,i);r!==s&&(n=!0,i="buffer",r=s)}var u=e.objectMode?1:r.length;e.length+=u;var a=e.length-1))throw new TypeError("Unknown encoding: "+t);return this._writableState.defaultEncoding=t,this},Object.defineProperty(m.prototype,"writableHighWaterMark",{enumerable:!1,get:function(){return this._writableState.highWaterMark}}),m.prototype._write=function(t,e,n){n(new Error("_write() is not implemented"))},m.prototype._writev=null,m.prototype.end=function(t,e,n){var r=this._writableState;"function"==typeof t?(n=t,t=null,e=null):"function"==typeof e&&(n=e,e=null),null!=t&&this.write(t,e),r.corked&&(r.corked=1,this.uncork()),r.ending||r.finished||function(t,e,n){e.ending=!0,A(t,e),n&&(e.finished?o.nextTick(n):t.once("finish",n));e.ended=!0,t.writable=!1}(this,r,n)},Object.defineProperty(m.prototype,"destroyed",{get:function(){return void 0!==this._writableState&&this._writableState.destroyed},set:function(t){this._writableState&&(this._writableState.destroyed=t)}}),m.prototype.destroy=v.destroy,m.prototype._undestroy=v.undestroy,m.prototype._destroy=function(t,e){this.end(),e(t)}}).call(this,n(4),n(320).setImmediate,n(3))},function(t,e,n){"use strict";var r=n(40).Buffer,i=r.isEncoding||function(t){switch((t=""+t)&&t.toLowerCase()){case"hex":case"utf8":case"utf-8":case"ascii":case"binary":case"base64":case"ucs2":case"ucs-2":case"utf16le":case"utf-16le":case"raw":return!0;default:return!1}};function o(t){var e;switch(this.encoding=function(t){var e=function(t){if(!t)return"utf8";for(var e;;)switch(t){case"utf8":case"utf-8":return"utf8";case"ucs2":case"ucs-2":case"utf16le":case"utf-16le":return"utf16le";case"latin1":case"binary":return"latin1";case"base64":case"ascii":case"hex":return t;default:if(e)return;t=(""+t).toLowerCase(),e=!0}}(t);if("string"!=typeof e&&(r.isEncoding===i||!i(t)))throw new Error("Unknown encoding: "+t);return e||t}(t),this.encoding){case"utf16le":this.text=a,this.end=c,e=4;break;case"utf8":this.fillLast=u,e=4;break;case"base64":this.text=l,this.end=f,e=3;break;default:return this.write=p,void(this.end=h)}this.lastNeed=0,this.lastTotal=0,this.lastChar=r.allocUnsafe(e)}function s(t){return t<=127?0:t>>5==6?2:t>>4==14?3:t>>3==30?4:t>>6==2?-1:-2}function u(t){var e=this.lastTotal-this.lastNeed,n=function(t,e,n){if(128!=(192&e[0]))return t.lastNeed=0,"�";if(t.lastNeed>1&&e.length>1){if(128!=(192&e[1]))return t.lastNeed=1,"�";if(t.lastNeed>2&&e.length>2&&128!=(192&e[2]))return t.lastNeed=2,"�"}}(this,t);return void 0!==n?n:this.lastNeed<=t.length?(t.copy(this.lastChar,e,0,this.lastNeed),this.lastChar.toString(this.encoding,0,this.lastTotal)):(t.copy(this.lastChar,e,0,t.length),void(this.lastNeed-=t.length))}function a(t,e){if((t.length-e)%2==0){var n=t.toString("utf16le",e);if(n){var r=n.charCodeAt(n.length-1);if(r>=55296&&r<=56319)return this.lastNeed=2,this.lastTotal=4,this.lastChar[0]=t[t.length-2],this.lastChar[1]=t[t.length-1],n.slice(0,-1)}return n}return this.lastNeed=1,this.lastTotal=2,this.lastChar[0]=t[t.length-1],t.toString("utf16le",e,t.length-1)}function c(t){var e=t&&t.length?this.write(t):"";if(this.lastNeed){var n=this.lastTotal-this.lastNeed;return e+this.lastChar.toString("utf16le",0,n)}return e}function l(t,e){var n=(t.length-e)%3;return 0===n?t.toString("base64",e):(this.lastNeed=3-n,this.lastTotal=3,1===n?this.lastChar[0]=t[t.length-1]:(this.lastChar[0]=t[t.length-2],this.lastChar[1]=t[t.length-1]),t.toString("base64",e,t.length-n))}function f(t){var e=t&&t.length?this.write(t):"";return this.lastNeed?e+this.lastChar.toString("base64",0,3-this.lastNeed):e}function p(t){return t.toString(this.encoding)}function h(t){return t&&t.length?this.write(t):""}e.StringDecoder=o,o.prototype.write=function(t){if(0===t.length)return"";var e,n;if(this.lastNeed){if(void 0===(e=this.fillLast(t)))return"";n=this.lastNeed,this.lastNeed=0}else n=0;return n=0)return i>0&&(t.lastNeed=i-1),i;if(--r=0)return i>0&&(t.lastNeed=i-2),i;if(--r=0)return i>0&&(2===i?i=0:t.lastNeed=i-3),i;return 0}(this,t,e);if(!this.lastNeed)return t.toString("utf8",e);this.lastTotal=n;var r=t.length-(n-this.lastNeed);return t.copy(this.lastChar,0,r),t.toString("utf8",e,r)},o.prototype.fillLast=function(t){if(this.lastNeed<=t.length)return t.copy(this.lastChar,this.lastTotal-this.lastNeed,0,this.lastNeed),this.lastChar.toString(this.encoding,0,this.lastTotal);t.copy(this.lastChar,this.lastTotal-this.lastNeed,0,t.length),this.lastNeed-=t.length}},function(t,e,n){"use strict";t.exports=s;var r=n(19),i=n(24);function o(t,e){var n=this._transformState;n.transforming=!1;var r=n.writecb;if(!r)return this.emit("error",new Error("write callback called multiple times"));n.writechunk=null,n.writecb=null,null!=e&&this.push(e),r(t);var i=this._readableState;i.reading=!1,(i.needReadable||i.length-1?i=s:(n=r.isUndefined(t)?void 0:O(t),r.isUndefined(n)?i=s:((i=n).path=a(o.join(n.path,s.path)),i.query=function(t,e){var n={};function i(t){r.forOwn(t,function(t,e){n[e]=t})}return i(u.parse(t||"")),i(u.parse(e||"")),0===Object.keys(n).length?void 0:u.stringify(n)}(n.query,s.query))),i.fragment=void 0,(-1===h.indexOf(i.reference)&&0===i.path.indexOf("../")?"../":"")+c.serialize(i)}function g(t){return p.indexOf(w(t))>-1}function y(t){return r.isUndefined(t.error)&&"invalid"!==t.type}function m(t,e){var n=t;return e.forEach(function(t){if(!(t in n))throw Error("JSON Pointer points to missing location: "+z(e));n=n[t]}),n}function b(t){return Object.keys(t).filter(function(t){return"$ref"!==t})}function w(t){var e;switch(t.uriDetails.reference){case"absolute":case"uri":e="remote";break;case"same-document":e="local";break;default:e=t.uriDetails.reference}return e}function _(t,e){var n=f[t],i=Promise.resolve(),o=r.cloneDeep(e.loaderOptions||{});return r.isUndefined(n)?(r.isUndefined(o.processContent)&&(o.processContent=function(t,e){e(void 0,JSON.parse(t.text))}),i=(i=s.load(decodeURI(t),o)).then(function(e){return f[t]={value:e},e}).catch(function(e){throw f[t]={error:e},e})):i=i.then(function(){if(r.isError(n.error))throw n.error;return n.value}),i=i.then(function(t){return r.cloneDeep(t)})}function x(t,e){var n=!0;try{if(!r.isPlainObject(t))throw new Error("obj is not an Object");if(!r.isString(t.$ref))throw new Error("obj.$ref is not a String")}catch(t){if(e)throw t;n=!1}return n}function S(t){return-1!==t.indexOf("://")||o.isAbsolute(t)?t:o.resolve(e.cwd(),t)}function A(t,e){t.error=e.message,t.missing=!0}function O(t){return c.parse(t)}function C(t,e){var n,i;if(t=r.isUndefined(t)?{}:r.cloneDeep(t),!r.isObject(t))throw new TypeError("options must be an Object");if(!r.isUndefined(t.resolveCirculars)&&!r.isBoolean(t.resolveCirculars))throw new TypeError("options.resolveCirculars must be a Boolean");if(!(r.isUndefined(t.filter)||r.isArray(t.filter)||r.isFunction(t.filter)||r.isString(t.filter)))throw new TypeError("options.filter must be an Array, a Function of a String");if(!r.isUndefined(t.includeInvalid)&&!r.isBoolean(t.includeInvalid))throw new TypeError("options.includeInvalid must be a Boolean");if(!r.isUndefined(t.location)&&!r.isString(t.location))throw new TypeError("options.location must be a String");if(!r.isUndefined(t.refPreProcessor)&&!r.isFunction(t.refPreProcessor))throw new TypeError("options.refPreProcessor must be a Function");if(!r.isUndefined(t.refPostProcessor)&&!r.isFunction(t.refPostProcessor))throw new TypeError("options.refPostProcessor must be a Function");if(!r.isUndefined(t.subDocPath)&&!r.isArray(t.subDocPath)&&!q(t.subDocPath))throw new TypeError("options.subDocPath must be an Array of path segments or a valid JSON Pointer");if(r.isUndefined(t.resolveCirculars)&&(t.resolveCirculars=!1),t.filter=function(t){var e,n;return r.isArray(t.filter)||r.isString(t.filter)?(n=r.isString(t.filter)?[t.filter]:t.filter,e=function(t){return n.indexOf(t.type)>-1||n.indexOf(w(t))>-1}):r.isFunction(t.filter)?e=t.filter:r.isUndefined(t.filter)&&(e=function(){return!0}),function(n,r){return("invalid"!==n.type||!0===t.includeInvalid)&&e(n,r)}}(t),r.isUndefined(t.location)&&(t.location=S("./root.json")),(n=t.location.split("#")).length>1&&(t.subDocPath="#"+n[1]),i=decodeURI(t.location)===t.location,t.location=v(t.location,void 0),i&&(t.location=decodeURI(t.location)),t.subDocPath=function(t){var e;return r.isArray(t.subDocPath)?e=t.subDocPath:r.isString(t.subDocPath)?e=P(t.subDocPath):r.isUndefined(t.subDocPath)&&(e=[]),e}(t),!r.isUndefined(e))try{m(e,t.subDocPath)}catch(t){throw t.message=t.message.replace("JSON Pointer","options.subDocPath"),t}return t}function E(t){if(!r.isArray(t))throw new TypeError("path must be an array");return t.map(function(t){return r.isString(t)||(t=JSON.stringify(t)),t.replace(/~1/g,"/").replace(/~0/g,"~")})}function U(t){if(!r.isArray(t))throw new TypeError("path must be an array");return t.map(function(t){return r.isString(t)||(t=JSON.stringify(t)),t.replace(/~/g,"~0").replace(/\//g,"~1")})}function R(t,e){var n={};if(!r.isArray(t)&&!r.isObject(t))throw new TypeError("obj must be an Array or an Object");return function t(e,n,i,o){var s=!0;function u(n,r){i.push(r),t(e,n,i,o),i.pop()}r.isFunction(o)&&(s=o(e,n,i)),-1===e.indexOf(n)&&(e.push(n),!1!==s&&(r.isArray(n)?n.forEach(function(t,e){u(t,e.toString())}):r.isObject(n)&&r.forOwn(n,function(t,e){u(t,e)})),e.pop())}(function(t,e){var n,r=[];return e.length>0&&(n=t,e.slice(0,e.length-1).forEach(function(t){t in n&&(n=n[t],r.push(n))})),r}(t,(e=C(e,t)).subDocPath),m(t,e.subDocPath),r.cloneDeep(e.subDocPath),function(t,i,o){var s,u,a=!0;return x(i)&&(r.isUndefined(e.refPreProcessor)||(i=e.refPreProcessor(r.cloneDeep(i),o)),s=T(i),r.isUndefined(e.refPostProcessor)||(s=e.refPostProcessor(s,o)),e.filter(s,o)&&(u=z(o),n[u]=s),b(i).length>0&&(a=!1)),a}),n}function T(t){var e,n,i,o={def:t};try{if(x(t,!0)){if(e=t.$ref,i=d[e],r.isUndefined(i)&&(i=d[e]=O(e)),o.uri=e,o.uriDetails=i,r.isUndefined(i.error)){o.type=w(o);try{["#","/"].indexOf(e[0])>-1?q(e,!0):e.indexOf("#")>-1&&q(i.fragment,!0)}catch(t){o.error=t.message,o.type="invalid"}}else o.error=o.uriDetails.error,o.type="invalid";(n=b(t)).length>0&&(o.warning="Extra JSON Reference properties will be ignored: "+n.join(", "))}else o.type="invalid"}catch(t){o.error=t.message,o.type="invalid"}return o}function q(t,e){var n,i=!0;try{if(!r.isString(t))throw new Error("ptr is not a String");if(""!==t){if(n=t.charAt(0),-1===["#","/"].indexOf(n))throw new Error("ptr must start with a / or #/");if("#"===n&&"#"!==t&&"/"!==t.charAt(1))throw new Error("ptr must start with a / or #/");if(t.match(l))throw new Error("ptr has invalid token(s)")}}catch(t){if(!0===e)throw t;i=!1}return i}function P(t){try{q(t,!0)}catch(t){throw new Error("ptr must be a JSON Pointer: "+t.message)}var e=t.split("/");return e.shift(),E(e)}function z(t,e){if(!r.isArray(t))throw new Error("path must be an Array");return(!1!==e?"#":"")+(t.length>0?"/":"")+U(t).join("/")}function D(t,e){var n=Promise.resolve();return n=n.then(function(){if(!r.isArray(t)&&!r.isObject(t))throw new TypeError("obj must be an Array or an Object");e=C(e,t),t=r.cloneDeep(t)}).then(function(){var n={deps:{},docs:{},refs:{}};return function t(e,n,i){var s,u,a=Promise.resolve(),c=z(n.subDocPath),l=S(n.location),f=o.dirname(n.location),p=l+c;return r.isUndefined(i.docs[l])&&(i.docs[l]=e),r.isUndefined(i.deps[p])&&(i.deps[p]={},s=R(e,n),r.forOwn(s,function(o,s){var l,h,d=S(n.location)+s,m=o.refdId=decodeURI(S(g(o)?v(f,o.uri):n.location)+"#"+(o.uri.indexOf("#")>-1?o.uri.split("#")[1]:""));i.refs[d]=o,y(o)&&(o.fqURI=m,i.deps[p][s===c?"#":s.replace(c+"/","#/")]=m,0!==d.indexOf(m+"/")?((u=r.cloneDeep(n)).subDocPath=r.isUndefined(o.uriDetails.fragment)?[]:P(decodeURI(o.uriDetails.fragment)),g(o)?(delete u.filter,u.location=m.split("#")[0],a=a.then((l=i,h=u,function(){var t=S(h.location),e=l.docs[t];return r.isUndefined(e)?_(t,h).catch(function(e){return l.docs[t]=e,e}):Promise.resolve().then(function(){return e})}))):a=a.then(function(){return e}),a=a.then(function(e,n,i){return function(o){if(r.isError(o))A(i,o);else try{return t(o,n,e).catch(function(t){A(i,t)})}catch(t){A(i,t)}}}(i,u,o))):o.circular=!0)})),a}(t,e,n).then(function(){return n})}).then(function(t){var n={},s=[],u=[],a=new i.Graph,c=S(e.location),l=c+z(e.subDocPath),f=o.dirname(c);return Object.keys(t.deps).forEach(function(t){a.setNode(t)}),r.forOwn(t.deps,function(t,e){r.forOwn(t,function(t){a.setEdge(e,t)})}),(s=i.alg.findCycles(a)).forEach(function(t){t.forEach(function(t){-1===u.indexOf(t)&&u.push(t)})}),r.forOwn(t.deps,function(e,n){r.forOwn(e,function(e,r){var i,o=!1,a=n+r.slice(1),c=t.refs[n+r.slice(1)],l=g(c);u.indexOf(e)>-1&&s.forEach(function(t){o||(i=t.indexOf(e))>-1&&t.forEach(function(n){o||0===a.indexOf(n+"/")&&(l&&i!==t.length-1&&"#"===e[e.length-1]||(o=!0))})}),o&&(c.circular=!0)})}),r.forOwn(Object.keys(t.deps).reverse(),function(n){var i=t.deps[n],o=n.split("#"),s=t.docs[o[0]],u=P(o[1]);r.forOwn(i,function(n,i){var a,c,l,f=n.split("#"),p=t.docs[f[0]],h=u.concat(P(i)),d=t.refs[o[0]+z(h)];if(r.isUndefined(d.error)&&r.isUndefined(d.missing))if(!e.resolveCirculars&&d.circular)d.value=d.def;else{try{d.value=m(p,P(f[1]))}catch(t){return void A(d,t)}""===o[1]&&"#"===i?t.docs[o[0]]=d.value:(a=s,c=h,l=d.value,m(a,c.slice(0,c.length-1))[c[c.length-1]]=l)}})}),Object.keys(t.refs).forEach(function(i){var o,s,u=t.refs[i];"invalid"!==u.type&&("#"===u.fqURI[u.fqURI.length-1]&&"#"!==u.uri[u.uri.length-1]&&(u.fqURI=u.fqURI.substr(0,u.fqURI.length-1)),o=u.fqURI.split("/"),s=u.uri.split("/"),r.times(s.length-1,function(t){var e=s[s.length-t-1],n=o.length-t-1,r=o[n];"."!==e&&".."!==e||(e=r),o[n]=e}),u.fqURI=o.join("/"),0===u.fqURI.indexOf(c)?u.fqURI=u.fqURI.replace(c,""):0===u.fqURI.indexOf(f)&&(u.fqURI=u.fqURI.replace(f,"")),"/"===u.fqURI[0]&&(u.fqURI="."+u.fqURI)),0===i.indexOf(l)&&function r(i,o,s){var u,a=o.split("#"),c=t.refs[o];n[a[0]===e.location?"#"+a[1]:z(e.subDocPath.concat(s))]=c,!c.circular&&y(c)?(u=t.deps[c.refdId],0!==c.refdId.indexOf(i)&&Object.keys(u).forEach(function(t){r(c.refdId,c.refdId+t.substr(1),s.concat(P(t)))})):!c.circular&&c.error&&(c.error=c.error.replace("options.subDocPath","JSON Pointer"),c.error.indexOf("#")>-1&&(c.error=c.error.replace(c.uri.substr(c.uri.indexOf("#")),c.uri)),0!==c.error.indexOf("ENOENT:")&&0!==c.error.indexOf("Not Found")||(c.error="JSON Pointer points to missing location: "+c.uri))}(l,i,P(i.substr(l.length)))}),r.forOwn(t.refs,function(t){delete t.refdId,t.missing&&(t.error=t.error.split(": ")[0]+": "+t.def.$ref)}),{refs:n,resolved:t.docs[c]}})}"undefined"==typeof Promise&&n(102),t.exports.clearCache=function(){f={}},t.exports.decodePath=function(t){return E(t)},t.exports.encodePath=function(t){return U(t)},t.exports.findRefs=function(t,e){return R(t,e)},t.exports.findRefsAt=function(t,e){return function(t,e){var n=Promise.resolve();return n=n.then(function(){if(!r.isString(t))throw new TypeError("location must be a string");return r.isUndefined(e)&&(e={}),r.isObject(e)&&(e.location=t),_((e=C(e)).location,e)}).then(function(t){var n=r.cloneDeep(f[e.location]),i=r.cloneDeep(e),o=O(e.location);return r.isUndefined(n.refs)&&(delete i.filter,delete i.subDocPath,i.includeInvalid=!0,f[e.location].refs=R(t,i)),r.isUndefined(e.filter)||(i.filter=e.filter),r.isUndefined(o.fragment)?r.isUndefined(o.subDocPath)||(i.subDocPath=e.subDocPath):i.subDocPath=P(decodeURI(o.fragment)),{refs:R(t,i),value:t}})}(t,e)},t.exports.getRefDetails=function(t){return T(t)},t.exports.isPtr=function(t,e){return q(t,e)},t.exports.isRef=function(t,e){return function(t,e){return x(t,e)&&"invalid"!==T(t).type}(t,e)},t.exports.pathFromPtr=function(t){return P(t)},t.exports.pathToPtr=function(t,e){return z(t,e)},t.exports.resolveRefs=function(t,e){return D(t,e)},t.exports.resolveRefsAt=function(t,e){return function(t,e){var n=Promise.resolve();return n=n.then(function(){if(!r.isString(t))throw new TypeError("location must be a string");return r.isUndefined(e)&&(e={}),r.isObject(e)&&(e.location=t),_((e=C(e)).location,e)}).then(function(t){var n=r.cloneDeep(e),i=O(e.location);return r.isUndefined(i.fragment)||(n.subDocPath=P(decodeURI(i.fragment))),D(t,n).then(function(e){return{refs:e.refs,resolved:e.resolved,value:t}})})}(t,e)}}).call(this,n(4))},function(t,e,n){var r=n(41);"string"==typeof r&&(r=[[t.i,r,""]]);var i={hmr:!0,transform:void 0,insertInto:void 0},o=n(131)(r,i);r.locals&&(t.exports=r.locals),t.hot.accept(41,function(){var e=n(41);if("string"==typeof e&&(e=[[t.i,e,""]]),!function(t,e){var n,r=0;for(n in t){if(!e||t[n]!==e[n])return!1;r++}for(n in e)r--;return 0===r}(r.locals,e.locals))throw new Error("Aborting CSS HMR due to changed css-modules locals.");o(e)}),t.hot.dispose(function(){o()})},function(t,e,n){"use strict";t.exports=function(t){var e=[];return e.toString=function(){return this.map(function(e){var n=function(t,e){var n=t[1]||"",r=t[3];if(!r)return n;if(e&&"function"==typeof btoa){var i=(s=r,"/*# sourceMappingURL=data:application/json;charset=utf-8;base64,"+btoa(unescape(encodeURIComponent(JSON.stringify(s))))+" */"),o=r.sources.map(function(t){return"/*# sourceURL="+r.sourceRoot+t+" */"});return[n].concat(o).concat([i]).join("\n")}var s;return[n].join("\n")}(e,t);return e[2]?"@media "+e[2]+"{"+n+"}":n}).join("")},e.i=function(t,n){"string"==typeof t&&(t=[[null,t,""]]);for(var r={},i=0;i=0&&l.splice(e,1)}function g(t){var e=document.createElement("style");if(void 0===t.attrs.type&&(t.attrs.type="text/css"),void 0===t.attrs.nonce){var r=function(){0;return n.nc}();r&&(t.attrs.nonce=r)}return y(e,t.attrs),d(t,e),e}function y(t,e){Object.keys(e).forEach(function(n){t.setAttribute(n,e[n])})}function m(t,e){var n,r,i,o;if(e.transform&&t.css){if(!(o="function"==typeof e.transform?e.transform(t.css):e.transform.default(t.css)))return function(){};t.css=o}if(e.singleton){var s=c++;n=a||(a=g(e)),r=_.bind(null,n,s,!1),i=_.bind(null,n,s,!0)}else t.sourceMap&&"function"==typeof URL&&"function"==typeof URL.createObjectURL&&"function"==typeof URL.revokeObjectURL&&"function"==typeof Blob&&"function"==typeof btoa?(n=function(t){var e=document.createElement("link");return void 0===t.attrs.type&&(t.attrs.type="text/css"),t.attrs.rel="stylesheet",y(e,t.attrs),d(t,e),e}(e),r=function(t,e,n){var r=n.css,i=n.sourceMap,o=void 0===e.convertToAbsoluteUrls&&i;(e.convertToAbsoluteUrls||o)&&(r=f(r));i&&(r+="\n/*# sourceMappingURL=data:application/json;base64,"+btoa(unescape(encodeURIComponent(JSON.stringify(i))))+" */");var s=new Blob([r],{type:"text/css"}),u=t.href;t.href=URL.createObjectURL(s),u&&URL.revokeObjectURL(u)}.bind(null,n,e),i=function(){v(n),n.href&&URL.revokeObjectURL(n.href)}):(n=g(e),r=function(t,e){var n=e.css,r=e.media;r&&t.setAttribute("media",r);if(t.styleSheet)t.styleSheet.cssText=n;else{for(;t.firstChild;)t.removeChild(t.firstChild);t.appendChild(document.createTextNode(n))}}.bind(null,n),i=function(){v(n)});return r(t),function(e){if(e){if(e.css===t.css&&e.media===t.media&&e.sourceMap===t.sourceMap)return;r(t=e)}else i()}}t.exports=function(t,e){if("undefined"!=typeof DEBUG&&DEBUG&&"object"!=typeof document)throw new Error("The style-loader cannot be used in a non-browser environment");(e=e||{}).attrs="object"==typeof e.attrs?e.attrs:{},e.singleton||"boolean"==typeof e.singleton||(e.singleton=s()),e.insertInto||(e.insertInto="head"),e.insertAt||(e.insertAt="bottom");var n=h(t,e);return p(n,e),function(t){for(var r=[],i=0;i + * Copyright JS Foundation and other contributors + * Released under MIT license + * Based on Underscore.js 1.8.3 + * Copyright Jeremy Ashkenas, DocumentCloud and Investigative Reporters & Editors + */(function(){var o,s=200,u="Unsupported core-js use. Try https://npms.io/search?q=ponyfill.",a="Expected a function",c="__lodash_hash_undefined__",l=500,f="__lodash_placeholder__",p=1,h=2,d=4,v=1,g=2,y=1,m=2,b=4,w=8,_=16,x=32,S=64,A=128,O=256,C=512,E=30,U="...",R=800,T=16,q=1,P=2,z=1/0,D=9007199254740991,M=1.7976931348623157e308,j=NaN,k=4294967295,F=k-1,L=k>>>1,N=[["ary",A],["bind",y],["bindKey",m],["curry",w],["curryRight",_],["flip",C],["partial",x],["partialRight",S],["rearg",O]],I="[object Arguments]",$="[object Array]",B="[object AsyncFunction]",H="[object Boolean]",Y="[object Date]",Z="[object DOMException]",X="[object Error]",W="[object Function]",J="[object GeneratorFunction]",G="[object Map]",Q="[object Number]",V="[object Null]",K="[object Object]",tt="[object Proxy]",et="[object RegExp]",nt="[object Set]",rt="[object String]",it="[object Symbol]",ot="[object Undefined]",st="[object WeakMap]",ut="[object WeakSet]",at="[object ArrayBuffer]",ct="[object DataView]",lt="[object Float32Array]",ft="[object Float64Array]",pt="[object Int8Array]",ht="[object Int16Array]",dt="[object Int32Array]",vt="[object Uint8Array]",gt="[object Uint8ClampedArray]",yt="[object Uint16Array]",mt="[object Uint32Array]",bt=/\b__p \+= '';/g,wt=/\b(__p \+=) '' \+/g,_t=/(__e\(.*?\)|\b__t\)) \+\n'';/g,xt=/&(?:amp|lt|gt|quot|#39);/g,St=/[&<>"']/g,At=RegExp(xt.source),Ot=RegExp(St.source),Ct=/<%-([\s\S]+?)%>/g,Et=/<%([\s\S]+?)%>/g,Ut=/<%=([\s\S]+?)%>/g,Rt=/\.|\[(?:[^[\]]*|(["'])(?:(?!\1)[^\\]|\\.)*?\1)\]/,Tt=/^\w*$/,qt=/[^.[\]]+|\[(?:(-?\d+(?:\.\d+)?)|(["'])((?:(?!\2)[^\\]|\\.)*?)\2)\]|(?=(?:\.|\[\])(?:\.|\[\]|$))/g,Pt=/[\\^$.*+?()[\]{}|]/g,zt=RegExp(Pt.source),Dt=/^\s+|\s+$/g,Mt=/^\s+/,jt=/\s+$/,kt=/\{(?:\n\/\* \[wrapped with .+\] \*\/)?\n?/,Ft=/\{\n\/\* \[wrapped with (.+)\] \*/,Lt=/,? & /,Nt=/[^\x00-\x2f\x3a-\x40\x5b-\x60\x7b-\x7f]+/g,It=/\\(\\)?/g,$t=/\$\{([^\\}]*(?:\\.[^\\}]*)*)\}/g,Bt=/\w*$/,Ht=/^[-+]0x[0-9a-f]+$/i,Yt=/^0b[01]+$/i,Zt=/^\[object .+?Constructor\]$/,Xt=/^0o[0-7]+$/i,Wt=/^(?:0|[1-9]\d*)$/,Jt=/[\xc0-\xd6\xd8-\xf6\xf8-\xff\u0100-\u017f]/g,Gt=/($^)/,Qt=/['\n\r\u2028\u2029\\]/g,Vt="\\u0300-\\u036f\\ufe20-\\ufe2f\\u20d0-\\u20ff",Kt="\\xac\\xb1\\xd7\\xf7\\x00-\\x2f\\x3a-\\x40\\x5b-\\x60\\x7b-\\xbf\\u2000-\\u206f \\t\\x0b\\f\\xa0\\ufeff\\n\\r\\u2028\\u2029\\u1680\\u180e\\u2000\\u2001\\u2002\\u2003\\u2004\\u2005\\u2006\\u2007\\u2008\\u2009\\u200a\\u202f\\u205f\\u3000",te="[\\ud800-\\udfff]",ee="["+Kt+"]",ne="["+Vt+"]",re="\\d+",ie="[\\u2700-\\u27bf]",oe="[a-z\\xdf-\\xf6\\xf8-\\xff]",se="[^\\ud800-\\udfff"+Kt+re+"\\u2700-\\u27bfa-z\\xdf-\\xf6\\xf8-\\xffA-Z\\xc0-\\xd6\\xd8-\\xde]",ue="\\ud83c[\\udffb-\\udfff]",ae="[^\\ud800-\\udfff]",ce="(?:\\ud83c[\\udde6-\\uddff]){2}",le="[\\ud800-\\udbff][\\udc00-\\udfff]",fe="[A-Z\\xc0-\\xd6\\xd8-\\xde]",pe="(?:"+oe+"|"+se+")",he="(?:"+fe+"|"+se+")",de="(?:"+ne+"|"+ue+")"+"?",ve="[\\ufe0e\\ufe0f]?"+de+("(?:\\u200d(?:"+[ae,ce,le].join("|")+")[\\ufe0e\\ufe0f]?"+de+")*"),ge="(?:"+[ie,ce,le].join("|")+")"+ve,ye="(?:"+[ae+ne+"?",ne,ce,le,te].join("|")+")",me=RegExp("['’]","g"),be=RegExp(ne,"g"),we=RegExp(ue+"(?="+ue+")|"+ye+ve,"g"),_e=RegExp([fe+"?"+oe+"+(?:['’](?:d|ll|m|re|s|t|ve))?(?="+[ee,fe,"$"].join("|")+")",he+"+(?:['’](?:D|LL|M|RE|S|T|VE))?(?="+[ee,fe+pe,"$"].join("|")+")",fe+"?"+pe+"+(?:['’](?:d|ll|m|re|s|t|ve))?",fe+"+(?:['’](?:D|LL|M|RE|S|T|VE))?","\\d*(?:1ST|2ND|3RD|(?![123])\\dTH)(?=\\b|[a-z_])","\\d*(?:1st|2nd|3rd|(?![123])\\dth)(?=\\b|[A-Z_])",re,ge].join("|"),"g"),xe=RegExp("[\\u200d\\ud800-\\udfff"+Vt+"\\ufe0e\\ufe0f]"),Se=/[a-z][A-Z]|[A-Z]{2}[a-z]|[0-9][a-zA-Z]|[a-zA-Z][0-9]|[^a-zA-Z0-9 ]/,Ae=["Array","Buffer","DataView","Date","Error","Float32Array","Float64Array","Function","Int8Array","Int16Array","Int32Array","Map","Math","Object","Promise","RegExp","Set","String","Symbol","TypeError","Uint8Array","Uint8ClampedArray","Uint16Array","Uint32Array","WeakMap","_","clearTimeout","isFinite","parseInt","setTimeout"],Oe=-1,Ce={};Ce[lt]=Ce[ft]=Ce[pt]=Ce[ht]=Ce[dt]=Ce[vt]=Ce[gt]=Ce[yt]=Ce[mt]=!0,Ce[I]=Ce[$]=Ce[at]=Ce[H]=Ce[ct]=Ce[Y]=Ce[X]=Ce[W]=Ce[G]=Ce[Q]=Ce[K]=Ce[et]=Ce[nt]=Ce[rt]=Ce[st]=!1;var Ee={};Ee[I]=Ee[$]=Ee[at]=Ee[ct]=Ee[H]=Ee[Y]=Ee[lt]=Ee[ft]=Ee[pt]=Ee[ht]=Ee[dt]=Ee[G]=Ee[Q]=Ee[K]=Ee[et]=Ee[nt]=Ee[rt]=Ee[it]=Ee[vt]=Ee[gt]=Ee[yt]=Ee[mt]=!0,Ee[X]=Ee[W]=Ee[st]=!1;var Ue={"\\":"\\","'":"'","\n":"n","\r":"r","\u2028":"u2028","\u2029":"u2029"},Re=parseFloat,Te=parseInt,qe="object"==typeof t&&t&&t.Object===Object&&t,Pe="object"==typeof self&&self&&self.Object===Object&&self,ze=qe||Pe||Function("return this")(),De=e&&!e.nodeType&&e,Me=De&&"object"==typeof r&&r&&!r.nodeType&&r,je=Me&&Me.exports===De,ke=je&&qe.process,Fe=function(){try{var t=Me&&Me.require&&Me.require("util").types;return t||ke&&ke.binding&&ke.binding("util")}catch(t){}}(),Le=Fe&&Fe.isArrayBuffer,Ne=Fe&&Fe.isDate,Ie=Fe&&Fe.isMap,$e=Fe&&Fe.isRegExp,Be=Fe&&Fe.isSet,He=Fe&&Fe.isTypedArray;function Ye(t,e,n){switch(n.length){case 0:return t.call(e);case 1:return t.call(e,n[0]);case 2:return t.call(e,n[0],n[1]);case 3:return t.call(e,n[0],n[1],n[2])}return t.apply(e,n)}function Ze(t,e,n,r){for(var i=-1,o=null==t?0:t.length;++i-1}function Ve(t,e,n){for(var r=-1,i=null==t?0:t.length;++r-1;);return n}function _n(t,e){for(var n=t.length;n--&&an(e,t[n],0)>-1;);return n}var xn=hn({"À":"A","Á":"A","Â":"A","Ã":"A","Ä":"A","Å":"A","à":"a","á":"a","â":"a","ã":"a","ä":"a","å":"a","Ç":"C","ç":"c","Ð":"D","ð":"d","È":"E","É":"E","Ê":"E","Ë":"E","è":"e","é":"e","ê":"e","ë":"e","Ì":"I","Í":"I","Î":"I","Ï":"I","ì":"i","í":"i","î":"i","ï":"i","Ñ":"N","ñ":"n","Ò":"O","Ó":"O","Ô":"O","Õ":"O","Ö":"O","Ø":"O","ò":"o","ó":"o","ô":"o","õ":"o","ö":"o","ø":"o","Ù":"U","Ú":"U","Û":"U","Ü":"U","ù":"u","ú":"u","û":"u","ü":"u","Ý":"Y","ý":"y","ÿ":"y","Æ":"Ae","æ":"ae","Þ":"Th","þ":"th","ß":"ss","Ā":"A","Ă":"A","Ą":"A","ā":"a","ă":"a","ą":"a","Ć":"C","Ĉ":"C","Ċ":"C","Č":"C","ć":"c","ĉ":"c","ċ":"c","č":"c","Ď":"D","Đ":"D","ď":"d","đ":"d","Ē":"E","Ĕ":"E","Ė":"E","Ę":"E","Ě":"E","ē":"e","ĕ":"e","ė":"e","ę":"e","ě":"e","Ĝ":"G","Ğ":"G","Ġ":"G","Ģ":"G","ĝ":"g","ğ":"g","ġ":"g","ģ":"g","Ĥ":"H","Ħ":"H","ĥ":"h","ħ":"h","Ĩ":"I","Ī":"I","Ĭ":"I","Į":"I","İ":"I","ĩ":"i","ī":"i","ĭ":"i","į":"i","ı":"i","Ĵ":"J","ĵ":"j","Ķ":"K","ķ":"k","ĸ":"k","Ĺ":"L","Ļ":"L","Ľ":"L","Ŀ":"L","Ł":"L","ĺ":"l","ļ":"l","ľ":"l","ŀ":"l","ł":"l","Ń":"N","Ņ":"N","Ň":"N","Ŋ":"N","ń":"n","ņ":"n","ň":"n","ŋ":"n","Ō":"O","Ŏ":"O","Ő":"O","ō":"o","ŏ":"o","ő":"o","Ŕ":"R","Ŗ":"R","Ř":"R","ŕ":"r","ŗ":"r","ř":"r","Ś":"S","Ŝ":"S","Ş":"S","Š":"S","ś":"s","ŝ":"s","ş":"s","š":"s","Ţ":"T","Ť":"T","Ŧ":"T","ţ":"t","ť":"t","ŧ":"t","Ũ":"U","Ū":"U","Ŭ":"U","Ů":"U","Ű":"U","Ų":"U","ũ":"u","ū":"u","ŭ":"u","ů":"u","ű":"u","ų":"u","Ŵ":"W","ŵ":"w","Ŷ":"Y","ŷ":"y","Ÿ":"Y","Ź":"Z","Ż":"Z","Ž":"Z","ź":"z","ż":"z","ž":"z","IJ":"IJ","ij":"ij","Œ":"Oe","œ":"oe","ʼn":"'n","ſ":"s"}),Sn=hn({"&":"&","<":"<",">":">",'"':""","'":"'"});function An(t){return"\\"+Ue[t]}function On(t){return xe.test(t)}function Cn(t){var e=-1,n=Array(t.size);return t.forEach(function(t,r){n[++e]=[r,t]}),n}function En(t,e){return function(n){return t(e(n))}}function Un(t,e){for(var n=-1,r=t.length,i=0,o=[];++n",""":'"',"'":"'"});var Dn=function t(e){var n,r=(e=null==e?ze:Dn.defaults(ze.Object(),e,Dn.pick(ze,Ae))).Array,i=e.Date,Vt=e.Error,Kt=e.Function,te=e.Math,ee=e.Object,ne=e.RegExp,re=e.String,ie=e.TypeError,oe=r.prototype,se=Kt.prototype,ue=ee.prototype,ae=e["__core-js_shared__"],ce=se.toString,le=ue.hasOwnProperty,fe=0,pe=(n=/[^.]+$/.exec(ae&&ae.keys&&ae.keys.IE_PROTO||""))?"Symbol(src)_1."+n:"",he=ue.toString,de=ce.call(ee),ve=ze._,ge=ne("^"+ce.call(le).replace(Pt,"\\$&").replace(/hasOwnProperty|(function).*?(?=\\\()| for .+?(?=\\\])/g,"$1.*?")+"$"),ye=je?e.Buffer:o,we=e.Symbol,xe=e.Uint8Array,Ue=ye?ye.allocUnsafe:o,qe=En(ee.getPrototypeOf,ee),Pe=ee.create,De=ue.propertyIsEnumerable,Me=oe.splice,ke=we?we.isConcatSpreadable:o,Fe=we?we.iterator:o,on=we?we.toStringTag:o,hn=function(){try{var t=Lo(ee,"defineProperty");return t({},"",{}),t}catch(t){}}(),Mn=e.clearTimeout!==ze.clearTimeout&&e.clearTimeout,jn=i&&i.now!==ze.Date.now&&i.now,kn=e.setTimeout!==ze.setTimeout&&e.setTimeout,Fn=te.ceil,Ln=te.floor,Nn=ee.getOwnPropertySymbols,In=ye?ye.isBuffer:o,$n=e.isFinite,Bn=oe.join,Hn=En(ee.keys,ee),Yn=te.max,Zn=te.min,Xn=i.now,Wn=e.parseInt,Jn=te.random,Gn=oe.reverse,Qn=Lo(e,"DataView"),Vn=Lo(e,"Map"),Kn=Lo(e,"Promise"),tr=Lo(e,"Set"),er=Lo(e,"WeakMap"),nr=Lo(ee,"create"),rr=er&&new er,ir={},or=fs(Qn),sr=fs(Vn),ur=fs(Kn),ar=fs(tr),cr=fs(er),lr=we?we.prototype:o,fr=lr?lr.valueOf:o,pr=lr?lr.toString:o;function hr(t){if(Uu(t)&&!yu(t)&&!(t instanceof yr)){if(t instanceof gr)return t;if(le.call(t,"__wrapped__"))return ps(t)}return new gr(t)}var dr=function(){function t(){}return function(e){if(!Eu(e))return{};if(Pe)return Pe(e);t.prototype=e;var n=new t;return t.prototype=o,n}}();function vr(){}function gr(t,e){this.__wrapped__=t,this.__actions__=[],this.__chain__=!!e,this.__index__=0,this.__values__=o}function yr(t){this.__wrapped__=t,this.__actions__=[],this.__dir__=1,this.__filtered__=!1,this.__iteratees__=[],this.__takeCount__=k,this.__views__=[]}function mr(t){var e=-1,n=null==t?0:t.length;for(this.clear();++e=e?t:e)),t}function Mr(t,e,n,r,i,s){var u,a=e&p,c=e&h,l=e&d;if(n&&(u=i?n(t,r,i,s):n(t)),u!==o)return u;if(!Eu(t))return t;var f=yu(t);if(f){if(u=function(t){var e=t.length,n=new t.constructor(e);return e&&"string"==typeof t[0]&&le.call(t,"index")&&(n.index=t.index,n.input=t.input),n}(t),!a)return no(t,u)}else{var v=$o(t),g=v==W||v==J;if(_u(t))return Gi(t,a);if(v==K||v==I||g&&!i){if(u=c||g?{}:Ho(t),!a)return c?function(t,e){return ro(t,Io(t),e)}(t,function(t,e){return t&&ro(e,oa(e),t)}(u,t)):function(t,e){return ro(t,No(t),e)}(t,qr(u,t))}else{if(!Ee[v])return i?t:{};u=function(t,e,n){var r,i,o,s=t.constructor;switch(e){case at:return Qi(t);case H:case Y:return new s(+t);case ct:return function(t,e){var n=e?Qi(t.buffer):t.buffer;return new t.constructor(n,t.byteOffset,t.byteLength)}(t,n);case lt:case ft:case pt:case ht:case dt:case vt:case gt:case yt:case mt:return Vi(t,n);case G:return new s;case Q:case rt:return new s(t);case et:return(o=new(i=t).constructor(i.source,Bt.exec(i))).lastIndex=i.lastIndex,o;case nt:return new s;case it:return r=t,fr?ee(fr.call(r)):{}}}(t,v,a)}}s||(s=new xr);var y=s.get(t);if(y)return y;if(s.set(t,u),zu(t))return t.forEach(function(r){u.add(Mr(r,e,n,r,t,s))}),u;if(Ru(t))return t.forEach(function(r,i){u.set(i,Mr(r,e,n,i,t,s))}),u;var m=f?o:(l?c?Po:qo:c?oa:ia)(t);return Xe(m||t,function(r,i){m&&(r=t[i=r]),Ur(u,i,Mr(r,e,n,i,t,s))}),u}function jr(t,e,n){var r=n.length;if(null==t)return!r;for(t=ee(t);r--;){var i=n[r],s=e[i],u=t[i];if(u===o&&!(i in t)||!s(u))return!1}return!0}function kr(t,e,n){if("function"!=typeof t)throw new ie(a);return is(function(){t.apply(o,n)},e)}function Fr(t,e,n,r){var i=-1,o=Qe,u=!0,a=t.length,c=[],l=e.length;if(!a)return c;n&&(e=Ke(e,yn(n))),r?(o=Ve,u=!1):e.length>=s&&(o=bn,u=!1,e=new _r(e));t:for(;++i-1},br.prototype.set=function(t,e){var n=this.__data__,r=Rr(n,t);return r<0?(++this.size,n.push([t,e])):n[r][1]=e,this},wr.prototype.clear=function(){this.size=0,this.__data__={hash:new mr,map:new(Vn||br),string:new mr}},wr.prototype.delete=function(t){var e=ko(this,t).delete(t);return this.size-=e?1:0,e},wr.prototype.get=function(t){return ko(this,t).get(t)},wr.prototype.has=function(t){return ko(this,t).has(t)},wr.prototype.set=function(t,e){var n=ko(this,t),r=n.size;return n.set(t,e),this.size+=n.size==r?0:1,this},_r.prototype.add=_r.prototype.push=function(t){return this.__data__.set(t,c),this},_r.prototype.has=function(t){return this.__data__.has(t)},xr.prototype.clear=function(){this.__data__=new br,this.size=0},xr.prototype.delete=function(t){var e=this.__data__,n=e.delete(t);return this.size=e.size,n},xr.prototype.get=function(t){return this.__data__.get(t)},xr.prototype.has=function(t){return this.__data__.has(t)},xr.prototype.set=function(t,e){var n=this.__data__;if(n instanceof br){var r=n.__data__;if(!Vn||r.length0&&n(u)?e>1?Hr(u,e-1,n,r,i):tn(i,u):r||(i[i.length]=u)}return i}var Yr=uo(),Zr=uo(!0);function Xr(t,e){return t&&Yr(t,e,ia)}function Wr(t,e){return t&&Zr(t,e,ia)}function Jr(t,e){return Ge(e,function(e){return Au(t[e])})}function Gr(t,e){for(var n=0,r=(e=Zi(e,t)).length;null!=t&&ne}function ti(t,e){return null!=t&&le.call(t,e)}function ei(t,e){return null!=t&&e in ee(t)}function ni(t,e,n){for(var i=n?Ve:Qe,s=t[0].length,u=t.length,a=u,c=r(u),l=1/0,f=[];a--;){var p=t[a];a&&e&&(p=Ke(p,yn(e))),l=Zn(p.length,l),c[a]=!n&&(e||s>=120&&p.length>=120)?new _r(a&&p):o}p=t[0];var h=-1,d=c[0];t:for(;++h=u)return a;var c=n[r];return a*("desc"==c?-1:1)}}return t.index-e.index}(t,e,n)})}function mi(t,e,n){for(var r=-1,i=e.length,o={};++r-1;)u!==t&&Me.call(u,a,1),Me.call(t,a,1);return t}function wi(t,e){for(var n=t?e.length:0,r=n-1;n--;){var i=e[n];if(n==r||i!==o){var o=i;Zo(i)?Me.call(t,i,1):Fi(t,i)}}return t}function _i(t,e){return t+Ln(Jn()*(e-t+1))}function xi(t,e){var n="";if(!t||e<1||e>D)return n;do{e%2&&(n+=t),(e=Ln(e/2))&&(t+=t)}while(e);return n}function Si(t,e){return os(ts(t,e,Ta),t+"")}function Ai(t){return Ar(ha(t))}function Oi(t,e){var n=ha(t);return as(n,Dr(e,0,n.length))}function Ci(t,e,n,r){if(!Eu(t))return t;for(var i=-1,s=(e=Zi(e,t)).length,u=s-1,a=t;null!=a&&++io?0:o+e),(n=n>o?o:n)<0&&(n+=o),o=e>n?0:n-e>>>0,e>>>=0;for(var s=r(o);++i>>1,s=t[o];null!==s&&!Mu(s)&&(n?s<=e:s=s){var l=e?null:So(t);if(l)return Rn(l);u=!1,i=bn,c=new _r}else c=e?[]:a;t:for(;++r=r?t:Ti(t,e,n)}var Ji=Mn||function(t){return ze.clearTimeout(t)};function Gi(t,e){if(e)return t.slice();var n=t.length,r=Ue?Ue(n):new t.constructor(n);return t.copy(r),r}function Qi(t){var e=new t.constructor(t.byteLength);return new xe(e).set(new xe(t)),e}function Vi(t,e){var n=e?Qi(t.buffer):t.buffer;return new t.constructor(n,t.byteOffset,t.length)}function Ki(t,e){if(t!==e){var n=t!==o,r=null===t,i=t==t,s=Mu(t),u=e!==o,a=null===e,c=e==e,l=Mu(e);if(!a&&!l&&!s&&t>e||s&&u&&c&&!a&&!l||r&&u&&c||!n&&c||!i)return 1;if(!r&&!s&&!l&&t1?n[i-1]:o,u=i>2?n[2]:o;for(s=t.length>3&&"function"==typeof s?(i--,s):o,u&&Xo(n[0],n[1],u)&&(s=i<3?o:s,i=1),e=ee(e);++r-1?i[s?e[u]:u]:o}}function po(t){return To(function(e){var n=e.length,r=n,i=gr.prototype.thru;for(t&&e.reverse();r--;){var s=e[r];if("function"!=typeof s)throw new ie(a);if(i&&!u&&"wrapper"==Do(s))var u=new gr([],!0)}for(r=u?r:n;++r1&&w.reverse(),p&&la))return!1;var l=s.get(t);if(l&&s.get(e))return l==e;var f=-1,p=!0,h=n&g?new _r:o;for(s.set(t,e),s.set(e,t);++f-1&&t%1==0&&t1?"& ":"")+e[r],e=e.join(n>2?", ":" "),t.replace(kt,"{\n/* [wrapped with "+e+"] */\n")}(r,function(t,e){return Xe(N,function(n){var r="_."+n[0];e&n[1]&&!Qe(t,r)&&t.push(r)}),t.sort()}(function(t){var e=t.match(Ft);return e?e[1].split(Lt):[]}(r),n)))}function us(t){var e=0,n=0;return function(){var r=Xn(),i=T-(r-n);if(n=r,i>0){if(++e>=R)return arguments[0]}else e=0;return t.apply(o,arguments)}}function as(t,e){var n=-1,r=t.length,i=r-1;for(e=e===o?r:e;++n1?t[e-1]:o;return n="function"==typeof n?(t.pop(),n):o,Ps(t,n)});function Ls(t){var e=hr(t);return e.__chain__=!0,e}function Ns(t,e){return e(t)}var Is=To(function(t){var e=t.length,n=e?t[0]:0,r=this.__wrapped__,i=function(e){return zr(e,t)};return!(e>1||this.__actions__.length)&&r instanceof yr&&Zo(n)?((r=r.slice(n,+n+(e?1:0))).__actions__.push({func:Ns,args:[i],thisArg:o}),new gr(r,this.__chain__).thru(function(t){return e&&!t.length&&t.push(o),t})):this.thru(i)});var $s=io(function(t,e,n){le.call(t,n)?++t[n]:Pr(t,n,1)});var Bs=fo(gs),Hs=fo(ys);function Ys(t,e){return(yu(t)?Xe:Lr)(t,jo(e,3))}function Zs(t,e){return(yu(t)?We:Nr)(t,jo(e,3))}var Xs=io(function(t,e,n){le.call(t,n)?t[n].push(e):Pr(t,n,[e])});var Ws=Si(function(t,e,n){var i=-1,o="function"==typeof e,s=bu(t)?r(t.length):[];return Lr(t,function(t){s[++i]=o?Ye(e,t,n):ri(t,e,n)}),s}),Js=io(function(t,e,n){Pr(t,n,e)});function Gs(t,e){return(yu(t)?Ke:pi)(t,jo(e,3))}var Qs=io(function(t,e,n){t[n?0:1].push(e)},function(){return[[],[]]});var Vs=Si(function(t,e){if(null==t)return[];var n=e.length;return n>1&&Xo(t,e[0],e[1])?e=[]:n>2&&Xo(e[0],e[1],e[2])&&(e=[e[0]]),yi(t,Hr(e,1),[])}),Ks=jn||function(){return ze.Date.now()};function tu(t,e,n){return e=n?o:e,e=t&&null==e?t.length:e,Oo(t,A,o,o,o,o,e)}function eu(t,e){var n;if("function"!=typeof e)throw new ie(a);return t=Iu(t),function(){return--t>0&&(n=e.apply(this,arguments)),t<=1&&(e=o),n}}var nu=Si(function(t,e,n){var r=y;if(n.length){var i=Un(n,Mo(nu));r|=x}return Oo(t,r,e,n,i)}),ru=Si(function(t,e,n){var r=y|m;if(n.length){var i=Un(n,Mo(ru));r|=x}return Oo(e,r,t,n,i)});function iu(t,e,n){var r,i,s,u,c,l,f=0,p=!1,h=!1,d=!0;if("function"!=typeof t)throw new ie(a);function v(e){var n=r,s=i;return r=i=o,f=e,u=t.apply(s,n)}function g(t){var n=t-l;return l===o||n>=e||n<0||h&&t-f>=s}function y(){var t=Ks();if(g(t))return m(t);c=is(y,function(t){var n=e-(t-l);return h?Zn(n,s-(t-f)):n}(t))}function m(t){return c=o,d&&r?v(t):(r=i=o,u)}function b(){var t=Ks(),n=g(t);if(r=arguments,i=this,l=t,n){if(c===o)return function(t){return f=t,c=is(y,e),p?v(t):u}(l);if(h)return c=is(y,e),v(l)}return c===o&&(c=is(y,e)),u}return e=Bu(e)||0,Eu(n)&&(p=!!n.leading,s=(h="maxWait"in n)?Yn(Bu(n.maxWait)||0,e):s,d="trailing"in n?!!n.trailing:d),b.cancel=function(){c!==o&&Ji(c),f=0,r=l=i=c=o},b.flush=function(){return c===o?u:m(Ks())},b}var ou=Si(function(t,e){return kr(t,1,e)}),su=Si(function(t,e,n){return kr(t,Bu(e)||0,n)});function uu(t,e){if("function"!=typeof t||null!=e&&"function"!=typeof e)throw new ie(a);var n=function(){var r=arguments,i=e?e.apply(this,r):r[0],o=n.cache;if(o.has(i))return o.get(i);var s=t.apply(this,r);return n.cache=o.set(i,s)||o,s};return n.cache=new(uu.Cache||wr),n}function au(t){if("function"!=typeof t)throw new ie(a);return function(){var e=arguments;switch(e.length){case 0:return!t.call(this);case 1:return!t.call(this,e[0]);case 2:return!t.call(this,e[0],e[1]);case 3:return!t.call(this,e[0],e[1],e[2])}return!t.apply(this,e)}}uu.Cache=wr;var cu=Xi(function(t,e){var n=(e=1==e.length&&yu(e[0])?Ke(e[0],yn(jo())):Ke(Hr(e,1),yn(jo()))).length;return Si(function(r){for(var i=-1,o=Zn(r.length,n);++i=e}),gu=ii(function(){return arguments}())?ii:function(t){return Uu(t)&&le.call(t,"callee")&&!De.call(t,"callee")},yu=r.isArray,mu=Le?yn(Le):function(t){return Uu(t)&&Vr(t)==at};function bu(t){return null!=t&&Cu(t.length)&&!Au(t)}function wu(t){return Uu(t)&&bu(t)}var _u=In||Ba,xu=Ne?yn(Ne):function(t){return Uu(t)&&Vr(t)==Y};function Su(t){if(!Uu(t))return!1;var e=Vr(t);return e==X||e==Z||"string"==typeof t.message&&"string"==typeof t.name&&!qu(t)}function Au(t){if(!Eu(t))return!1;var e=Vr(t);return e==W||e==J||e==B||e==tt}function Ou(t){return"number"==typeof t&&t==Iu(t)}function Cu(t){return"number"==typeof t&&t>-1&&t%1==0&&t<=D}function Eu(t){var e=typeof t;return null!=t&&("object"==e||"function"==e)}function Uu(t){return null!=t&&"object"==typeof t}var Ru=Ie?yn(Ie):function(t){return Uu(t)&&$o(t)==G};function Tu(t){return"number"==typeof t||Uu(t)&&Vr(t)==Q}function qu(t){if(!Uu(t)||Vr(t)!=K)return!1;var e=qe(t);if(null===e)return!0;var n=le.call(e,"constructor")&&e.constructor;return"function"==typeof n&&n instanceof n&&ce.call(n)==de}var Pu=$e?yn($e):function(t){return Uu(t)&&Vr(t)==et};var zu=Be?yn(Be):function(t){return Uu(t)&&$o(t)==nt};function Du(t){return"string"==typeof t||!yu(t)&&Uu(t)&&Vr(t)==rt}function Mu(t){return"symbol"==typeof t||Uu(t)&&Vr(t)==it}var ju=He?yn(He):function(t){return Uu(t)&&Cu(t.length)&&!!Ce[Vr(t)]};var ku=wo(fi),Fu=wo(function(t,e){return t<=e});function Lu(t){if(!t)return[];if(bu(t))return Du(t)?Pn(t):no(t);if(Fe&&t[Fe])return function(t){for(var e,n=[];!(e=t.next()).done;)n.push(e.value);return n}(t[Fe]());var e=$o(t);return(e==G?Cn:e==nt?Rn:ha)(t)}function Nu(t){return t?(t=Bu(t))===z||t===-z?(t<0?-1:1)*M:t==t?t:0:0===t?t:0}function Iu(t){var e=Nu(t),n=e%1;return e==e?n?e-n:e:0}function $u(t){return t?Dr(Iu(t),0,k):0}function Bu(t){if("number"==typeof t)return t;if(Mu(t))return j;if(Eu(t)){var e="function"==typeof t.valueOf?t.valueOf():t;t=Eu(e)?e+"":e}if("string"!=typeof t)return 0===t?t:+t;t=t.replace(Dt,"");var n=Yt.test(t);return n||Xt.test(t)?Te(t.slice(2),n?2:8):Ht.test(t)?j:+t}function Hu(t){return ro(t,oa(t))}function Yu(t){return null==t?"":ji(t)}var Zu=oo(function(t,e){if(Qo(e)||bu(e))ro(e,ia(e),t);else for(var n in e)le.call(e,n)&&Ur(t,n,e[n])}),Xu=oo(function(t,e){ro(e,oa(e),t)}),Wu=oo(function(t,e,n,r){ro(e,oa(e),t,r)}),Ju=oo(function(t,e,n,r){ro(e,ia(e),t,r)}),Gu=To(zr);var Qu=Si(function(t,e){t=ee(t);var n=-1,r=e.length,i=r>2?e[2]:o;for(i&&Xo(e[0],e[1],i)&&(r=1);++n1),e}),ro(t,Po(t),n),r&&(n=Mr(n,p|h|d,Uo));for(var i=e.length;i--;)Fi(n,e[i]);return n});var ca=To(function(t,e){return null==t?{}:function(t,e){return mi(t,e,function(e,n){return ta(t,n)})}(t,e)});function la(t,e){if(null==t)return{};var n=Ke(Po(t),function(t){return[t]});return e=jo(e),mi(t,n,function(t,n){return e(t,n[0])})}var fa=Ao(ia),pa=Ao(oa);function ha(t){return null==t?[]:mn(t,ia(t))}var da=co(function(t,e,n){return e=e.toLowerCase(),t+(n?va(e):e)});function va(t){return Sa(Yu(t).toLowerCase())}function ga(t){return(t=Yu(t))&&t.replace(Jt,xn).replace(be,"")}var ya=co(function(t,e,n){return t+(n?"-":"")+e.toLowerCase()}),ma=co(function(t,e,n){return t+(n?" ":"")+e.toLowerCase()}),ba=ao("toLowerCase");var wa=co(function(t,e,n){return t+(n?"_":"")+e.toLowerCase()});var _a=co(function(t,e,n){return t+(n?" ":"")+Sa(e)});var xa=co(function(t,e,n){return t+(n?" ":"")+e.toUpperCase()}),Sa=ao("toUpperCase");function Aa(t,e,n){return t=Yu(t),(e=n?o:e)===o?function(t){return Se.test(t)}(t)?function(t){return t.match(_e)||[]}(t):function(t){return t.match(Nt)||[]}(t):t.match(e)||[]}var Oa=Si(function(t,e){try{return Ye(t,o,e)}catch(t){return Su(t)?t:new Vt(t)}}),Ca=To(function(t,e){return Xe(e,function(e){e=ls(e),Pr(t,e,nu(t[e],t))}),t});function Ea(t){return function(){return t}}var Ua=po(),Ra=po(!0);function Ta(t){return t}function qa(t){return ai("function"==typeof t?t:Mr(t,p))}var Pa=Si(function(t,e){return function(n){return ri(n,t,e)}}),za=Si(function(t,e){return function(n){return ri(t,n,e)}});function Da(t,e,n){var r=ia(e),i=Jr(e,r);null!=n||Eu(e)&&(i.length||!r.length)||(n=e,e=t,t=this,i=Jr(e,ia(e)));var o=!(Eu(n)&&"chain"in n&&!n.chain),s=Au(t);return Xe(i,function(n){var r=e[n];t[n]=r,s&&(t.prototype[n]=function(){var e=this.__chain__;if(o||e){var n=t(this.__wrapped__);return(n.__actions__=no(this.__actions__)).push({func:r,args:arguments,thisArg:t}),n.__chain__=e,n}return r.apply(t,tn([this.value()],arguments))})}),t}function Ma(){}var ja=yo(Ke),ka=yo(Je),Fa=yo(rn);function La(t){return Wo(t)?pn(ls(t)):function(t){return function(e){return Gr(e,t)}}(t)}var Na=bo(),Ia=bo(!0);function $a(){return[]}function Ba(){return!1}var Ha=go(function(t,e){return t+e},0),Ya=xo("ceil"),Za=go(function(t,e){return t/e},1),Xa=xo("floor");var Wa,Ja=go(function(t,e){return t*e},1),Ga=xo("round"),Qa=go(function(t,e){return t-e},0);return hr.after=function(t,e){if("function"!=typeof e)throw new ie(a);return t=Iu(t),function(){if(--t<1)return e.apply(this,arguments)}},hr.ary=tu,hr.assign=Zu,hr.assignIn=Xu,hr.assignInWith=Wu,hr.assignWith=Ju,hr.at=Gu,hr.before=eu,hr.bind=nu,hr.bindAll=Ca,hr.bindKey=ru,hr.castArray=function(){if(!arguments.length)return[];var t=arguments[0];return yu(t)?t:[t]},hr.chain=Ls,hr.chunk=function(t,e,n){e=(n?Xo(t,e,n):e===o)?1:Yn(Iu(e),0);var i=null==t?0:t.length;if(!i||e<1)return[];for(var s=0,u=0,a=r(Fn(i/e));si?0:i+n),(r=r===o||r>i?i:Iu(r))<0&&(r+=i),r=n>r?0:$u(r);n>>0)?(t=Yu(t))&&("string"==typeof e||null!=e&&!Pu(e))&&!(e=ji(e))&&On(t)?Wi(Pn(t),0,n):t.split(e,n):[]},hr.spread=function(t,e){if("function"!=typeof t)throw new ie(a);return e=null==e?0:Yn(Iu(e),0),Si(function(n){var r=n[e],i=Wi(n,0,e);return r&&tn(i,r),Ye(t,this,i)})},hr.tail=function(t){var e=null==t?0:t.length;return e?Ti(t,1,e):[]},hr.take=function(t,e,n){return t&&t.length?Ti(t,0,(e=n||e===o?1:Iu(e))<0?0:e):[]},hr.takeRight=function(t,e,n){var r=null==t?0:t.length;return r?Ti(t,(e=r-(e=n||e===o?1:Iu(e)))<0?0:e,r):[]},hr.takeRightWhile=function(t,e){return t&&t.length?Ni(t,jo(e,3),!1,!0):[]},hr.takeWhile=function(t,e){return t&&t.length?Ni(t,jo(e,3)):[]},hr.tap=function(t,e){return e(t),t},hr.throttle=function(t,e,n){var r=!0,i=!0;if("function"!=typeof t)throw new ie(a);return Eu(n)&&(r="leading"in n?!!n.leading:r,i="trailing"in n?!!n.trailing:i),iu(t,e,{leading:r,maxWait:e,trailing:i})},hr.thru=Ns,hr.toArray=Lu,hr.toPairs=fa,hr.toPairsIn=pa,hr.toPath=function(t){return yu(t)?Ke(t,ls):Mu(t)?[t]:no(cs(Yu(t)))},hr.toPlainObject=Hu,hr.transform=function(t,e,n){var r=yu(t),i=r||_u(t)||ju(t);if(e=jo(e,4),null==n){var o=t&&t.constructor;n=i?r?new o:[]:Eu(t)&&Au(o)?dr(qe(t)):{}}return(i?Xe:Xr)(t,function(t,r,i){return e(n,t,r,i)}),n},hr.unary=function(t){return tu(t,1)},hr.union=Us,hr.unionBy=Rs,hr.unionWith=Ts,hr.uniq=function(t){return t&&t.length?ki(t):[]},hr.uniqBy=function(t,e){return t&&t.length?ki(t,jo(e,2)):[]},hr.uniqWith=function(t,e){return e="function"==typeof e?e:o,t&&t.length?ki(t,o,e):[]},hr.unset=function(t,e){return null==t||Fi(t,e)},hr.unzip=qs,hr.unzipWith=Ps,hr.update=function(t,e,n){return null==t?t:Li(t,e,Yi(n))},hr.updateWith=function(t,e,n,r){return r="function"==typeof r?r:o,null==t?t:Li(t,e,Yi(n),r)},hr.values=ha,hr.valuesIn=function(t){return null==t?[]:mn(t,oa(t))},hr.without=zs,hr.words=Aa,hr.wrap=function(t,e){return lu(Yi(e),t)},hr.xor=Ds,hr.xorBy=Ms,hr.xorWith=js,hr.zip=ks,hr.zipObject=function(t,e){return Bi(t||[],e||[],Ur)},hr.zipObjectDeep=function(t,e){return Bi(t||[],e||[],Ci)},hr.zipWith=Fs,hr.entries=fa,hr.entriesIn=pa,hr.extend=Xu,hr.extendWith=Wu,Da(hr,hr),hr.add=Ha,hr.attempt=Oa,hr.camelCase=da,hr.capitalize=va,hr.ceil=Ya,hr.clamp=function(t,e,n){return n===o&&(n=e,e=o),n!==o&&(n=(n=Bu(n))==n?n:0),e!==o&&(e=(e=Bu(e))==e?e:0),Dr(Bu(t),e,n)},hr.clone=function(t){return Mr(t,d)},hr.cloneDeep=function(t){return Mr(t,p|d)},hr.cloneDeepWith=function(t,e){return Mr(t,p|d,e="function"==typeof e?e:o)},hr.cloneWith=function(t,e){return Mr(t,d,e="function"==typeof e?e:o)},hr.conformsTo=function(t,e){return null==e||jr(t,e,ia(e))},hr.deburr=ga,hr.defaultTo=function(t,e){return null==t||t!=t?e:t},hr.divide=Za,hr.endsWith=function(t,e,n){t=Yu(t),e=ji(e);var r=t.length,i=n=n===o?r:Dr(Iu(n),0,r);return(n-=e.length)>=0&&t.slice(n,i)==e},hr.eq=hu,hr.escape=function(t){return(t=Yu(t))&&Ot.test(t)?t.replace(St,Sn):t},hr.escapeRegExp=function(t){return(t=Yu(t))&&zt.test(t)?t.replace(Pt,"\\$&"):t},hr.every=function(t,e,n){var r=yu(t)?Je:Ir;return n&&Xo(t,e,n)&&(e=o),r(t,jo(e,3))},hr.find=Bs,hr.findIndex=gs,hr.findKey=function(t,e){return sn(t,jo(e,3),Xr)},hr.findLast=Hs,hr.findLastIndex=ys,hr.findLastKey=function(t,e){return sn(t,jo(e,3),Wr)},hr.floor=Xa,hr.forEach=Ys,hr.forEachRight=Zs,hr.forIn=function(t,e){return null==t?t:Yr(t,jo(e,3),oa)},hr.forInRight=function(t,e){return null==t?t:Zr(t,jo(e,3),oa)},hr.forOwn=function(t,e){return t&&Xr(t,jo(e,3))},hr.forOwnRight=function(t,e){return t&&Wr(t,jo(e,3))},hr.get=Ku,hr.gt=du,hr.gte=vu,hr.has=function(t,e){return null!=t&&Bo(t,e,ti)},hr.hasIn=ta,hr.head=bs,hr.identity=Ta,hr.includes=function(t,e,n,r){t=bu(t)?t:ha(t),n=n&&!r?Iu(n):0;var i=t.length;return n<0&&(n=Yn(i+n,0)),Du(t)?n<=i&&t.indexOf(e,n)>-1:!!i&&an(t,e,n)>-1},hr.indexOf=function(t,e,n){var r=null==t?0:t.length;if(!r)return-1;var i=null==n?0:Iu(n);return i<0&&(i=Yn(r+i,0)),an(t,e,i)},hr.inRange=function(t,e,n){return e=Nu(e),n===o?(n=e,e=0):n=Nu(n),function(t,e,n){return t>=Zn(e,n)&&t=-D&&t<=D},hr.isSet=zu,hr.isString=Du,hr.isSymbol=Mu,hr.isTypedArray=ju,hr.isUndefined=function(t){return t===o},hr.isWeakMap=function(t){return Uu(t)&&$o(t)==st},hr.isWeakSet=function(t){return Uu(t)&&Vr(t)==ut},hr.join=function(t,e){return null==t?"":Bn.call(t,e)},hr.kebabCase=ya,hr.last=Ss,hr.lastIndexOf=function(t,e,n){var r=null==t?0:t.length;if(!r)return-1;var i=r;return n!==o&&(i=(i=Iu(n))<0?Yn(r+i,0):Zn(i,r-1)),e==e?function(t,e,n){for(var r=n+1;r--;)if(t[r]===e)return r;return r}(t,e,i):un(t,ln,i,!0)},hr.lowerCase=ma,hr.lowerFirst=ba,hr.lt=ku,hr.lte=Fu,hr.max=function(t){return t&&t.length?$r(t,Ta,Kr):o},hr.maxBy=function(t,e){return t&&t.length?$r(t,jo(e,2),Kr):o},hr.mean=function(t){return fn(t,Ta)},hr.meanBy=function(t,e){return fn(t,jo(e,2))},hr.min=function(t){return t&&t.length?$r(t,Ta,fi):o},hr.minBy=function(t,e){return t&&t.length?$r(t,jo(e,2),fi):o},hr.stubArray=$a,hr.stubFalse=Ba,hr.stubObject=function(){return{}},hr.stubString=function(){return""},hr.stubTrue=function(){return!0},hr.multiply=Ja,hr.nth=function(t,e){return t&&t.length?gi(t,Iu(e)):o},hr.noConflict=function(){return ze._===this&&(ze._=ve),this},hr.noop=Ma,hr.now=Ks,hr.pad=function(t,e,n){t=Yu(t);var r=(e=Iu(e))?qn(t):0;if(!e||r>=e)return t;var i=(e-r)/2;return mo(Ln(i),n)+t+mo(Fn(i),n)},hr.padEnd=function(t,e,n){t=Yu(t);var r=(e=Iu(e))?qn(t):0;return e&&re){var r=t;t=e,e=r}if(n||t%1||e%1){var i=Jn();return Zn(t+i*(e-t+Re("1e-"+((i+"").length-1))),e)}return _i(t,e)},hr.reduce=function(t,e,n){var r=yu(t)?en:dn,i=arguments.length<3;return r(t,jo(e,4),n,i,Lr)},hr.reduceRight=function(t,e,n){var r=yu(t)?nn:dn,i=arguments.length<3;return r(t,jo(e,4),n,i,Nr)},hr.repeat=function(t,e,n){return e=(n?Xo(t,e,n):e===o)?1:Iu(e),xi(Yu(t),e)},hr.replace=function(){var t=arguments,e=Yu(t[0]);return t.length<3?e:e.replace(t[1],t[2])},hr.result=function(t,e,n){var r=-1,i=(e=Zi(e,t)).length;for(i||(i=1,t=o);++rD)return[];var n=k,r=Zn(t,k);e=jo(e),t-=k;for(var i=gn(r,e);++n=s)return t;var a=n-qn(r);if(a<1)return r;var c=u?Wi(u,0,a).join(""):t.slice(0,a);if(i===o)return c+r;if(u&&(a+=c.length-a),Pu(i)){if(t.slice(a).search(i)){var l,f=c;for(i.global||(i=ne(i.source,Yu(Bt.exec(i))+"g")),i.lastIndex=0;l=i.exec(f);)var p=l.index;c=c.slice(0,p===o?a:p)}}else if(t.indexOf(ji(i),a)!=a){var h=c.lastIndexOf(i);h>-1&&(c=c.slice(0,h))}return c+r},hr.unescape=function(t){return(t=Yu(t))&&At.test(t)?t.replace(xt,zn):t},hr.uniqueId=function(t){var e=++fe;return Yu(t)+e},hr.upperCase=xa,hr.upperFirst=Sa,hr.each=Ys,hr.eachRight=Zs,hr.first=bs,Da(hr,(Wa={},Xr(hr,function(t,e){le.call(hr.prototype,e)||(Wa[e]=t)}),Wa),{chain:!1}),hr.VERSION="4.17.11",Xe(["bind","bindKey","curry","curryRight","partial","partialRight"],function(t){hr[t].placeholder=hr}),Xe(["drop","take"],function(t,e){yr.prototype[t]=function(n){n=n===o?1:Yn(Iu(n),0);var r=this.__filtered__&&!e?new yr(this):this.clone();return r.__filtered__?r.__takeCount__=Zn(n,r.__takeCount__):r.__views__.push({size:Zn(n,k),type:t+(r.__dir__<0?"Right":"")}),r},yr.prototype[t+"Right"]=function(e){return this.reverse()[t](e).reverse()}}),Xe(["filter","map","takeWhile"],function(t,e){var n=e+1,r=n==q||3==n;yr.prototype[t]=function(t){var e=this.clone();return e.__iteratees__.push({iteratee:jo(t,3),type:n}),e.__filtered__=e.__filtered__||r,e}}),Xe(["head","last"],function(t,e){var n="take"+(e?"Right":"");yr.prototype[t]=function(){return this[n](1).value()[0]}}),Xe(["initial","tail"],function(t,e){var n="drop"+(e?"":"Right");yr.prototype[t]=function(){return this.__filtered__?new yr(this):this[n](1)}}),yr.prototype.compact=function(){return this.filter(Ta)},yr.prototype.find=function(t){return this.filter(t).head()},yr.prototype.findLast=function(t){return this.reverse().find(t)},yr.prototype.invokeMap=Si(function(t,e){return"function"==typeof t?new yr(this):this.map(function(n){return ri(n,t,e)})}),yr.prototype.reject=function(t){return this.filter(au(jo(t)))},yr.prototype.slice=function(t,e){t=Iu(t);var n=this;return n.__filtered__&&(t>0||e<0)?new yr(n):(t<0?n=n.takeRight(-t):t&&(n=n.drop(t)),e!==o&&(n=(e=Iu(e))<0?n.dropRight(-e):n.take(e-t)),n)},yr.prototype.takeRightWhile=function(t){return this.reverse().takeWhile(t).reverse()},yr.prototype.toArray=function(){return this.take(k)},Xr(yr.prototype,function(t,e){var n=/^(?:filter|find|map|reject)|While$/.test(e),r=/^(?:head|last)$/.test(e),i=hr[r?"take"+("last"==e?"Right":""):e],s=r||/^find/.test(e);i&&(hr.prototype[e]=function(){var e=this.__wrapped__,u=r?[1]:arguments,a=e instanceof yr,c=u[0],l=a||yu(e),f=function(t){var e=i.apply(hr,tn([t],u));return r&&p?e[0]:e};l&&n&&"function"==typeof c&&1!=c.length&&(a=l=!1);var p=this.__chain__,h=!!this.__actions__.length,d=s&&!p,v=a&&!h;if(!s&&l){e=v?e:new yr(this);var g=t.apply(e,u);return g.__actions__.push({func:Ns,args:[f],thisArg:o}),new gr(g,p)}return d&&v?t.apply(this,u):(g=this.thru(f),d?r?g.value()[0]:g.value():g)})}),Xe(["pop","push","shift","sort","splice","unshift"],function(t){var e=oe[t],n=/^(?:push|sort|unshift)$/.test(t)?"tap":"thru",r=/^(?:pop|shift)$/.test(t);hr.prototype[t]=function(){var t=arguments;if(r&&!this.__chain__){var i=this.value();return e.apply(yu(i)?i:[],t)}return this[n](function(n){return e.apply(yu(n)?n:[],t)})}}),Xr(yr.prototype,function(t,e){var n=hr[e];if(n){var r=n.name+"";(ir[r]||(ir[r]=[])).push({name:e,func:n})}}),ir[ho(o,m).name]=[{name:"wrapper",func:o}],yr.prototype.clone=function(){var t=new yr(this.__wrapped__);return t.__actions__=no(this.__actions__),t.__dir__=this.__dir__,t.__filtered__=this.__filtered__,t.__iteratees__=no(this.__iteratees__),t.__takeCount__=this.__takeCount__,t.__views__=no(this.__views__),t},yr.prototype.reverse=function(){if(this.__filtered__){var t=new yr(this);t.__dir__=-1,t.__filtered__=!0}else(t=this.clone()).__dir__*=-1;return t},yr.prototype.value=function(){var t=this.__wrapped__.value(),e=this.__dir__,n=yu(t),r=e<0,i=n?t.length:0,o=function(t,e,n){for(var r=-1,i=n.length;++r=this.__values__.length;return{done:t,value:t?o:this.__values__[this.__index__++]}},hr.prototype.plant=function(t){for(var e,n=this;n instanceof vr;){var r=ps(n);r.__index__=0,r.__values__=o,e?i.__wrapped__=r:e=r;var i=r;n=n.__wrapped__}return i.__wrapped__=t,e},hr.prototype.reverse=function(){var t=this.__wrapped__;if(t instanceof yr){var e=t;return this.__actions__.length&&(e=new yr(this)),(e=e.reverse()).__actions__.push({func:Ns,args:[Es],thisArg:o}),new gr(e,this.__chain__)}return this.thru(Es)},hr.prototype.toJSON=hr.prototype.valueOf=hr.prototype.value=function(){return Ii(this.__wrapped__,this.__actions__)},hr.prototype.first=hr.prototype.head,Fe&&(hr.prototype[Fe]=function(){return this}),hr}();ze._=Dn,(i=function(){return Dn}.call(e,n,e,r))===o||(r.exports=i)}).call(this)}).call(this,n(3),n(20)(t))},function(t,e,n){var r=n(135);t.exports={Graph:r.Graph,json:n(261),alg:n(262),version:r.version}},function(t,e,n){t.exports={Graph:n(42),version:n(260)}},function(t,e,n){var r=n(137),i=4;t.exports=function(t){return r(t,i)}},function(t,e,n){var r=n(43),i=n(47),o=n(68),s=n(166),u=n(172),a=n(175),c=n(176),l=n(177),f=n(178),p=n(78),h=n(179),d=n(15),v=n(183),g=n(184),y=n(189),m=n(0),b=n(21),w=n(190),_=n(10),x=n(192),S=n(11),A=1,O=2,C=4,E="[object Arguments]",U="[object Function]",R="[object GeneratorFunction]",T="[object Object]",q={};q[E]=q["[object Array]"]=q["[object ArrayBuffer]"]=q["[object DataView]"]=q["[object Boolean]"]=q["[object Date]"]=q["[object Float32Array]"]=q["[object Float64Array]"]=q["[object Int8Array]"]=q["[object Int16Array]"]=q["[object Int32Array]"]=q["[object Map]"]=q["[object Number]"]=q[T]=q["[object RegExp]"]=q["[object Set]"]=q["[object String]"]=q["[object Symbol]"]=q["[object Uint8Array]"]=q["[object Uint8ClampedArray]"]=q["[object Uint16Array]"]=q["[object Uint32Array]"]=!0,q["[object Error]"]=q[U]=q["[object WeakMap]"]=!1,t.exports=function t(e,n,P,z,D,M){var j,k=n&A,F=n&O,L=n&C;if(P&&(j=D?P(e,z,D,M):P(e)),void 0!==j)return j;if(!_(e))return e;var N=m(e);if(N){if(j=v(e),!k)return c(e,j)}else{var I=d(e),$=I==U||I==R;if(b(e))return a(e,k);if(I==T||I==E||$&&!D){if(j=F||$?{}:y(e),!k)return F?f(e,u(j,e)):l(e,s(j,e))}else{if(!q[I])return D?e:{};j=g(e,I,k)}}M||(M=new r);var B=M.get(e);if(B)return B;if(M.set(e,j),x(e))return e.forEach(function(r){j.add(t(r,n,P,r,e,M))}),j;if(w(e))return e.forEach(function(r,i){j.set(i,t(r,n,P,i,e,M))}),j;var H=L?F?h:p:F?keysIn:S,Y=N?void 0:H(e);return i(Y||e,function(r,i){Y&&(r=e[i=r]),o(j,i,t(r,n,P,i,e,M))}),j}},function(t,e){t.exports=function(){this.__data__=[],this.size=0}},function(t,e,n){var r=n(26),i=Array.prototype.splice;t.exports=function(t){var e=this.__data__,n=r(e,t);return!(n<0||(n==e.length-1?e.pop():i.call(e,n,1),--this.size,0))}},function(t,e,n){var r=n(26);t.exports=function(t){var e=this.__data__,n=r(e,t);return n<0?void 0:e[n][1]}},function(t,e,n){var r=n(26);t.exports=function(t){return r(this.__data__,t)>-1}},function(t,e,n){var r=n(26);t.exports=function(t,e){var n=this.__data__,i=r(n,t);return i<0?(++this.size,n.push([t,e])):n[i][1]=e,this}},function(t,e,n){var r=n(25);t.exports=function(){this.__data__=new r,this.size=0}},function(t,e){t.exports=function(t){var e=this.__data__,n=e.delete(t);return this.size=e.size,n}},function(t,e){t.exports=function(t){return this.__data__.get(t)}},function(t,e){t.exports=function(t){return this.__data__.has(t)}},function(t,e,n){var r=n(25),i=n(45),o=n(46),s=200;t.exports=function(t,e){var n=this.__data__;if(n instanceof r){var u=n.__data__;if(!i||u.length0&&o(l)?n>1?t(l,n-1,o,s,u):r(u,l):s||(u[u.length]=l)}return u}},function(t,e,n){var r=n(14),i=n(31),o=n(0),s=r?r.isConcatSpreadable:void 0;t.exports=function(t){return o(t)||i(t)||!!(s&&t&&t[s])}},function(t,e,n){var r=n(35),i=n(243),o=n(245);t.exports=function(t,e){return o(i(t,e,r),t+"")}},function(t,e,n){var r=n(244),i=Math.max;t.exports=function(t,e,n){return e=i(void 0===e?t.length-1:e,0),function(){for(var o=arguments,s=-1,u=i(o.length-e,0),a=Array(u);++s0){if(++e>=n)return arguments[0]}else e=0;return t.apply(void 0,arguments)}}},function(t,e,n){var r=n(87),i=n(249),o=n(254),s=n(88),u=n(255),a=n(56),c=200;t.exports=function(t,e,n){var l=-1,f=i,p=t.length,h=!0,d=[],v=d;if(n)h=!1,f=o;else if(p>=c){var g=e?null:u(t);if(g)return a(g);h=!1,f=s,v=new r}else v=e?[]:d;t:for(;++l-1}},function(t,e,n){var r=n(251),i=n(252),o=n(253);t.exports=function(t,e,n){return e==e?o(t,e,n):r(t,i,n)}},function(t,e){t.exports=function(t,e,n,r){for(var i=t.length,o=n+(r?1:-1);r?o--:++o1||1===e.length&&t.hasEdge(e[0],e[0])})}},function(t,e,n){var r=n(5);t.exports=function(t,e,n){return function(t,e,n){var r={},i=t.nodes();return i.forEach(function(t){r[t]={},r[t][t]={distance:0},i.forEach(function(e){t!==e&&(r[t][e]={distance:Number.POSITIVE_INFINITY})}),n(t).forEach(function(n){var i=n.v===t?n.w:n.v,o=e(n);r[t][i]={distance:o,predecessor:t}})}),i.forEach(function(t){var e=r[t];i.forEach(function(n){var o=r[n];i.forEach(function(n){var r=o[t],i=e[n],s=o[n],u=r.distance+i.distance;u0;){if(n=a.removeMin(),r.has(u,n))s.setEdge(n,u[n]);else{if(l)throw new Error("Input graph is not connected: "+t);l=!0}t.nodeEdges(n).forEach(c)}return s}},function(t,e,n){"use strict";var r={file:n(272),http:n(100),https:n(100)},i="object"==typeof window||"function"==typeof importScripts?r.http:r.file;"undefined"==typeof Promise&&n(102),t.exports.load=function(t,e){var n=Promise.resolve();return void 0===e&&(e={}),n=(n=n.then(function(){if(void 0===t)throw new TypeError("location is required");if("string"!=typeof t)throw new TypeError("location must be a string");if(void 0!==e){if("object"!=typeof e)throw new TypeError("options must be an object");if(void 0!==e.processContent&&"function"!=typeof e.processContent)throw new TypeError("options.processContent must be a function")}})).then(function(){return new Promise(function(n,o){(function(t){var e=function(t){return void 0!==t&&(t=-1===t.indexOf("://")?"":t.split("://")[0]),t}(t),n=r[e];if(void 0===n){if(""!==e)throw new Error("Unsupported scheme: "+e);n=i}return n})(t).load(t,e||{},function(t,e){t?o(t):n(e)})})}).then(function(n){return e.processContent?new Promise(function(r,i){"object"!=typeof n&&(n={text:n}),n.location=t,e.processContent(n,function(t,e){t?i(t):r(e)})}):"object"==typeof n?n.text:n})}},function(t,e,n){"use strict";var r=new TypeError("The 'file' scheme is not supported in the browser");t.exports.getBase=function(){throw r},t.exports.load=function(){var t=arguments[arguments.length-1];if("function"!=typeof t)throw r;t(r)}},function(t,e,n){var r;"undefined"!=typeof window?r=window:"undefined"!=typeof self?r=self:(console.warn("Using browser-only version of superagent in non-browser environment"),r=this);var i=n(274),o=n(275),s=n(101),u=n(276),a=n(278);function c(){}var l=e=t.exports=function(t,n){return"function"==typeof n?new e.Request("GET",t).end(n):1==arguments.length?new e.Request("GET",t):new e.Request(t,n)};e.Request=y,l.getXHR=function(){if(!(!r.XMLHttpRequest||r.location&&"file:"==r.location.protocol&&r.ActiveXObject))return new XMLHttpRequest;try{return new ActiveXObject("Microsoft.XMLHTTP")}catch(t){}try{return new ActiveXObject("Msxml2.XMLHTTP.6.0")}catch(t){}try{return new ActiveXObject("Msxml2.XMLHTTP.3.0")}catch(t){}try{return new ActiveXObject("Msxml2.XMLHTTP")}catch(t){}throw Error("Browser-only version of superagent could not find XHR")};var f="".trim?function(t){return t.trim()}:function(t){return t.replace(/(^\s*|\s*$)/g,"")};function p(t){if(!s(t))return t;var e=[];for(var n in t)h(e,n,t[n]);return e.join("&")}function h(t,e,n){if(null!=n)if(Array.isArray(n))n.forEach(function(n){h(t,e,n)});else if(s(n))for(var r in n)h(t,e+"["+r+"]",n[r]);else t.push(encodeURIComponent(e)+"="+encodeURIComponent(n));else null===n&&t.push(encodeURIComponent(e))}function d(t){for(var e,n,r={},i=t.split("&"),o=0,s=i.length;o=2&&t._responseTimeoutTimer&&clearTimeout(t._responseTimeoutTimer),4==n){var r;try{r=e.status}catch(t){r=0}if(!r){if(t.timedout||t._aborted)return;return t.crossDomainError()}t.emit("end")}};var r=function(e,n){n.total>0&&(n.percent=n.loaded/n.total*100),n.direction=e,t.emit("progress",n)};if(this.hasListeners("progress"))try{e.onprogress=r.bind(null,"download"),e.upload&&(e.upload.onprogress=r.bind(null,"upload"))}catch(t){}try{this.username&&this.password?e.open(this.method,this.url,!0,this.username,this.password):e.open(this.method,this.url,!0)}catch(t){return this.callback(t)}if(this._withCredentials&&(e.withCredentials=!0),!this._formData&&"GET"!=this.method&&"HEAD"!=this.method&&"string"!=typeof n&&!this._isHost(n)){var i=this._header["content-type"],o=this._serializer||l.serialize[i?i.split(";")[0]:""];!o&&v(i)&&(o=l.serialize["application/json"]),o&&(n=o(n))}for(var s in this.header)null!=this.header[s]&&this.header.hasOwnProperty(s)&&e.setRequestHeader(s,this.header[s]);return this._responseType&&(e.responseType=this._responseType),this.emit("request",this),e.send(void 0!==n?n:null),this},l.agent=function(){return new a},["GET","POST","OPTIONS","PATCH","PUT","DELETE"].forEach(function(t){a.prototype[t.toLowerCase()]=function(e,n){var r=new l.Request(t,e);return this._setDefaults(r),n&&r.end(n),r}}),a.prototype.del=a.prototype.delete,l.get=function(t,e,n){var r=l("GET",t);return"function"==typeof e&&(n=e,e=null),e&&r.query(e),n&&r.end(n),r},l.head=function(t,e,n){var r=l("HEAD",t);return"function"==typeof e&&(n=e,e=null),e&&r.query(e),n&&r.end(n),r},l.options=function(t,e,n){var r=l("OPTIONS",t);return"function"==typeof e&&(n=e,e=null),e&&r.send(e),n&&r.end(n),r},l.del=m,l.delete=m,l.patch=function(t,e,n){var r=l("PATCH",t);return"function"==typeof e&&(n=e,e=null),e&&r.send(e),n&&r.end(n),r},l.post=function(t,e,n){var r=l("POST",t);return"function"==typeof e&&(n=e,e=null),e&&r.send(e),n&&r.end(n),r},l.put=function(t,e,n){var r=l("PUT",t);return"function"==typeof e&&(n=e,e=null),e&&r.send(e),n&&r.end(n),r}},function(t,e,n){function r(t){if(t)return function(t){for(var e in r.prototype)t[e]=r.prototype[e];return t}(t)}t.exports=r,r.prototype.on=r.prototype.addEventListener=function(t,e){return this._callbacks=this._callbacks||{},(this._callbacks["$"+t]=this._callbacks["$"+t]||[]).push(e),this},r.prototype.once=function(t,e){function n(){this.off(t,n),e.apply(this,arguments)}return n.fn=e,this.on(t,n),this},r.prototype.off=r.prototype.removeListener=r.prototype.removeAllListeners=r.prototype.removeEventListener=function(t,e){if(this._callbacks=this._callbacks||{},0==arguments.length)return this._callbacks={},this;var n,r=this._callbacks["$"+t];if(!r)return this;if(1==arguments.length)return delete this._callbacks["$"+t],this;for(var i=0;i=this._maxRetries)return!1;if(this._retryCallback)try{var n=this._retryCallback(t,e);if(!0===n)return!0;if(!1===n)return!1}catch(t){console.error(t)}if(e&&e.status&&e.status>=500&&501!=e.status)return!0;if(t){if(t.code&&~o.indexOf(t.code))return!0;if(t.timeout&&"ECONNABORTED"==t.code)return!0;if(t.crossDomain)return!0}return!1},i.prototype._retry=function(){return this.clearTimeout(),this.req&&(this.req=null,this.req=this.request()),this._aborted=!1,this.timedout=!1,this._end()},i.prototype.then=function(t,e){if(!this._fullfilledPromise){var n=this;this._endCalled&&console.warn("Warning: superagent request was sent twice, because both .end() and .then() were called. Never call .end() if you use promises"),this._fullfilledPromise=new Promise(function(t,e){n.end(function(n,r){n?e(n):t(r)})})}return this._fullfilledPromise.then(t,e)},i.prototype.catch=function(t){return this.then(void 0,t)},i.prototype.use=function(t){return t(this),this},i.prototype.ok=function(t){if("function"!=typeof t)throw Error("Callback required");return this._okCallback=t,this},i.prototype._isResponseOK=function(t){return!!t&&(this._okCallback?this._okCallback(t):t.status>=200&&t.status<300)},i.prototype.get=function(t){return this._header[t.toLowerCase()]},i.prototype.getHeader=i.prototype.get,i.prototype.set=function(t,e){if(r(t)){for(var n in t)this.set(n,t[n]);return this}return this._header[t.toLowerCase()]=e,this.header[t]=e,this},i.prototype.unset=function(t){return delete this._header[t.toLowerCase()],delete this.header[t],this},i.prototype.field=function(t,e){if(null==t)throw new Error(".field(name, val) name can not be empty");if(this._data&&console.error(".field() can't be used if .send() is used. Please use only .send() or only .field() & .attach()"),r(t)){for(var n in t)this.field(n,t[n]);return this}if(Array.isArray(e)){for(var i in e)this.field(t,e[i]);return this}if(null==e)throw new Error(".field(name, val) val can not be empty");return"boolean"==typeof e&&(e=""+e),this._getFormData().append(t,e),this},i.prototype.abort=function(){return this._aborted?this:(this._aborted=!0,this.xhr&&this.xhr.abort(),this.req&&this.req.abort(),this.clearTimeout(),this.emit("abort"),this)},i.prototype._auth=function(t,e,n,r){switch(n.type){case"basic":this.set("Authorization","Basic "+r(t+":"+e));break;case"auto":this.username=t,this.password=e;break;case"bearer":this.set("Authorization","Bearer "+t)}return this},i.prototype.withCredentials=function(t){return null==t&&(t=!0),this._withCredentials=t,this},i.prototype.redirects=function(t){return this._maxRedirects=t,this},i.prototype.maxResponseSize=function(t){if("number"!=typeof t)throw TypeError("Invalid argument");return this._maxResponseSize=t,this},i.prototype.toJSON=function(){return{method:this.method,url:this.url,data:this._data,headers:this._header}},i.prototype.send=function(t){var e=r(t),n=this._header["content-type"];if(this._formData&&console.error(".send() can't be used if .attach() or .field() is used. Please use only .send() or only .field() & .attach()"),e&&!this._data)Array.isArray(t)?this._data=[]:this._isHost(t)||(this._data={});else if(t&&this._data&&this._isHost(this._data))throw Error("Can't merge these send calls");if(e&&r(this._data))for(var i in t)this._data[i]=t[i];else"string"==typeof t?(n||this.type("form"),n=this._header["content-type"],this._data="application/x-www-form-urlencoded"==n?this._data?this._data+"&"+t:t:(this._data||"")+t):this._data=t;return!e||this._isHost(t)?this:(n||this.type("json"),this)},i.prototype.sortQuery=function(t){return this._sort=void 0===t||t,this},i.prototype._finalizeQueryString=function(){var t=this._query.join("&");if(t&&(this.url+=(this.url.indexOf("?")>=0?"&":"?")+t),this._query.length=0,this._sort){var e=this.url.indexOf("?");if(e>=0){var n=this.url.substring(e+1).split("&");"function"==typeof this._sort?n.sort(this._sort):n.sort(),this.url=this.url.substring(0,e)+"?"+n.join("&")}}},i.prototype._appendQueryString=function(){console.trace("Unsupported")},i.prototype._timeoutError=function(t,e,n){if(!this._aborted){var r=new Error(t+e+"ms exceeded");r.timeout=e,r.code="ECONNABORTED",r.errno=n,this.timedout=!0,this.abort(),this.callback(r)}},i.prototype._setTimeouts=function(){var t=this;this._timeout&&!this._timer&&(this._timer=setTimeout(function(){t._timeoutError("Timeout of ",t._timeout,"ETIME")},this._timeout)),this._responseTimeout&&!this._responseTimeoutTimer&&(this._responseTimeoutTimer=setTimeout(function(){t._timeoutError("Response timeout of ",t._responseTimeout,"ETIMEDOUT")},this._responseTimeout))}},function(t,e,n){"use strict";var r=n(277);function i(t){if(t)return function(t){for(var e in i.prototype)t[e]=i.prototype[e];return t}(t)}t.exports=i,i.prototype.get=function(t){return this.header[t.toLowerCase()]},i.prototype._setHeaderProperties=function(t){var e=t["content-type"]||"";this.type=r.type(e);var n=r.params(e);for(var i in n)this[i]=n[i];this.links={};try{t.link&&(this.links=r.parseLinks(t.link))}catch(t){}},i.prototype._setStatusProperties=function(t){var e=t/100|0;this.status=this.statusCode=t,this.statusType=e,this.info=1==e,this.ok=2==e,this.redirect=3==e,this.clientError=4==e,this.serverError=5==e,this.error=(4==e||5==e)&&this.toError(),this.created=201==t,this.accepted=202==t,this.noContent=204==t,this.badRequest=400==t,this.unauthorized=401==t,this.notAcceptable=406==t,this.forbidden=403==t,this.notFound=404==t,this.unprocessableEntity=422==t}},function(t,e,n){"use strict";e.type=function(t){return t.split(/ *; */).shift()},e.params=function(t){return t.split(/ *; */).reduce(function(t,e){var n=e.split(/ *= */),r=n.shift(),i=n.shift();return r&&i&&(t[r]=i),t},{})},e.parseLinks=function(t){return t.split(/ *, */).reduce(function(t,e){var n=e.split(/ *; */),r=n[0].slice(1,-1);return t[n[1].split(/ *= */)[1].slice(1,-1)]=r,t},{})},e.cleanHeader=function(t,e){return delete t["content-type"],delete t["content-length"],delete t["transfer-encoding"],delete t.host,e&&(delete t.authorization,delete t.cookie),t}},function(t,e){function n(){this._defaults=[]}["use","on","once","set","query","type","accept","auth","withCredentials","sortQuery","retry","ok","redirects","timeout","buffer","serialize","parse","ca","key","pfx","cert"].forEach(function(t){n.prototype[t]=function(){return this._defaults.push({fn:t,arguments:arguments}),this}}),n.prototype._setDefaults=function(t){this._defaults.forEach(function(e){t[e.fn].apply(t,e.arguments)})},t.exports=n},function(t,e,n){"use strict";function r(t,e){return Object.prototype.hasOwnProperty.call(t,e)}t.exports=function(t,e,n,o){e=e||"&",n=n||"=";var s={};if("string"!=typeof t||0===t.length)return s;var u=/\+/g;t=t.split(e);var a=1e3;o&&"number"==typeof o.maxKeys&&(a=o.maxKeys);var c=t.length;a>0&&c>a&&(c=a);for(var l=0;l=0?(f=v.substr(0,g),p=v.substr(g+1)):(f=v,p=""),h=decodeURIComponent(f),d=decodeURIComponent(p),r(s,h)?i(s[h])?s[h].push(d):s[h]=[s[h],d]:s[h]=d}return s};var i=Array.isArray||function(t){return"[object Array]"===Object.prototype.toString.call(t)}},function(t,e,n){"use strict";var r=function(t){switch(typeof t){case"string":return t;case"boolean":return t?"true":"false";case"number":return isFinite(t)?t:"";default:return""}};t.exports=function(t,e,n,u){return e=e||"&",n=n||"=",null===t&&(t=void 0),"object"==typeof t?o(s(t),function(s){var u=encodeURIComponent(r(s))+n;return i(t[s])?o(t[s],function(t){return u+encodeURIComponent(r(t))}).join(e):u+encodeURIComponent(r(t[s]))}).join(e):u?encodeURIComponent(r(u))+n+encodeURIComponent(r(t)):""};var i=Array.isArray||function(t){return"[object Array]"===Object.prototype.toString.call(t)};function o(t,e){if(t.map)return t.map(e);for(var n=[],r=0;r{const e=/^\\\\\?\\/.test(t),n=/[^\u0000-\u0080]+/.test(t);return e||n?t:t.replace(/\\/g,"/")})},function(t,e,n){ +/** @license URI.js v4.2.1 (c) 2011 Gary Court. License: http://github.com/garycourt/uri-js */ +!function(t){"use strict";function e(){for(var t=arguments.length,e=Array(t),n=0;n1){e[0]=e[0].slice(0,-1);for(var r=e.length-1,i=1;i= 0x80 (not a basic code point)","invalid-input":"Invalid input"},d=Math.floor,v=String.fromCharCode;function g(t){throw new RangeError(h[t])}function y(t,e){var n=t.split("@"),r="";n.length>1&&(r=n[0]+"@",t=n[1]);var i=(t=t.replace(p,".")).split("."),o=function(t,e){for(var n=[],r=t.length;r--;)n[r]=e(t[r]);return n}(i,e).join(".");return r+o}function m(t){for(var e=[],n=0,r=t.length;n=55296&&i<=56319&&n>1,t+=d(t/e);t>455;r+=36)t=d(t/35);return d(r+36*t/(t+38))},_=function(t){var e,n=[],r=t.length,i=0,o=128,s=72,u=t.lastIndexOf("-");u<0&&(u=0);for(var a=0;a=128&&g("not-basic"),n.push(t.charCodeAt(a));for(var l=u>0?u+1:0;l=r&&g("invalid-input");var v=(e=t.charCodeAt(l++))-48<10?e-22:e-65<26?e-65:e-97<26?e-97:36;(v>=36||v>d((c-i)/p))&&g("overflow"),i+=v*p;var y=h<=s?1:h>=s+26?26:h-s;if(vd(c/m)&&g("overflow"),p*=m}var b=n.length+1;s=w(i-f,b,0==f),d(i/b)>c-o&&g("overflow"),o+=d(i/b),i%=b,n.splice(i++,0,o)}return String.fromCodePoint.apply(String,n)},x=function(t){var e=[],n=(t=m(t)).length,r=128,i=0,o=72,s=!0,u=!1,a=void 0;try{for(var l,f=t[Symbol.iterator]();!(s=(l=f.next()).done);s=!0){var p=l.value;p<128&&e.push(v(p))}}catch(t){u=!0,a=t}finally{try{!s&&f.return&&f.return()}finally{if(u)throw a}}var h=e.length,y=h;for(h&&e.push("-");y=r&&E<_&&(_=E)}}catch(t){S=!0,A=t}finally{try{!x&&C.return&&C.return()}finally{if(S)throw A}}var U=y+1;_-r>d((c-i)/U)&&g("overflow"),i+=(_-r)*U,r=_;var R=!0,T=!1,q=void 0;try{for(var P,z=t[Symbol.iterator]();!(R=(P=z.next()).done);R=!0){var D=P.value;if(Dc&&g("overflow"),D==r){for(var M=i,j=36;;j+=36){var k=j<=o?1:j>=o+26?26:j-o;if(M>6|192).toString(16).toUpperCase()+"%"+(63&e|128).toString(16).toUpperCase():"%"+(e>>12|224).toString(16).toUpperCase()+"%"+(e>>6&63|128).toString(16).toUpperCase()+"%"+(63&e|128).toString(16).toUpperCase()}function C(t){for(var e="",n=0,r=t.length;n=194&&i<224){if(r-n>=6){var o=parseInt(t.substr(n+4,2),16);e+=String.fromCharCode((31&i)<<6|63&o)}else e+=t.substr(n,6);n+=6}else if(i>=224){if(r-n>=9){var s=parseInt(t.substr(n+4,2),16),u=parseInt(t.substr(n+7,2),16);e+=String.fromCharCode((15&i)<<12|(63&s)<<6|63&u)}else e+=t.substr(n,9);n+=9}else e+=t.substr(n,3),n+=3}return e}function E(t,e){function n(t){var n=C(t);return n.match(e.UNRESERVED)?n:t}return t.scheme&&(t.scheme=String(t.scheme).replace(e.PCT_ENCODED,n).toLowerCase().replace(e.NOT_SCHEME,"")),void 0!==t.userinfo&&(t.userinfo=String(t.userinfo).replace(e.PCT_ENCODED,n).replace(e.NOT_USERINFO,O).replace(e.PCT_ENCODED,i)),void 0!==t.host&&(t.host=String(t.host).replace(e.PCT_ENCODED,n).toLowerCase().replace(e.NOT_HOST,O).replace(e.PCT_ENCODED,i)),void 0!==t.path&&(t.path=String(t.path).replace(e.PCT_ENCODED,n).replace(t.scheme?e.NOT_PATH:e.NOT_PATH_NOSCHEME,O).replace(e.PCT_ENCODED,i)),void 0!==t.query&&(t.query=String(t.query).replace(e.PCT_ENCODED,n).replace(e.NOT_QUERY,O).replace(e.PCT_ENCODED,i)),void 0!==t.fragment&&(t.fragment=String(t.fragment).replace(e.PCT_ENCODED,n).replace(e.NOT_FRAGMENT,O).replace(e.PCT_ENCODED,i)),t}function U(t){return t.replace(/^0*(.*)/,"$1")||"0"}function R(t,e){var n=t.match(e.IPV4ADDRESS)||[],r=a(n,2),i=r[1];return i?i.split(".").map(U).join("."):t}function T(t,e){var n=t.match(e.IPV6ADDRESS)||[],r=a(n,3),i=r[1],o=r[2];if(i){for(var s=i.toLowerCase().split("::").reverse(),u=a(s,2),c=u[0],l=u[1],f=l?l.split(":").map(U):[],p=c.split(":").map(U),h=e.IPV4ADDRESS.test(p[p.length-1]),d=h?7:8,v=p.length-d,g=Array(d),y=0;y1){var _=g.slice(0,b.index),x=g.slice(b.index+b.length);w=_.join(":")+"::"+x.join(":")}else w=g.join(":");return o&&(w+="%"+o),w}return t}var q=/^(?:([^:\/?#]+):)?(?:\/\/((?:([^\/?#@]*)@)?(\[[^\/?#\]]+\]|[^\/?#:]*)(?:\:(\d*))?))?([^?#]*)(?:\?([^#]*))?(?:#((?:.|\n|\r)*))?/i,P=void 0==="".match(/(){0}/)[1];function z(t){var e=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{},n={},r=!1!==e.iri?u:s;"suffix"===e.reference&&(t=(e.scheme?e.scheme+":":"")+"//"+t);var i=t.match(q);if(i){P?(n.scheme=i[1],n.userinfo=i[3],n.host=i[4],n.port=parseInt(i[5],10),n.path=i[6]||"",n.query=i[7],n.fragment=i[8],isNaN(n.port)&&(n.port=i[5])):(n.scheme=i[1]||void 0,n.userinfo=-1!==t.indexOf("@")?i[3]:void 0,n.host=-1!==t.indexOf("//")?i[4]:void 0,n.port=parseInt(i[5],10),n.path=i[6]||"",n.query=-1!==t.indexOf("?")?i[7]:void 0,n.fragment=-1!==t.indexOf("#")?i[8]:void 0,isNaN(n.port)&&(n.port=t.match(/\/\/(?:.|\n)*\:(?:\/|\?|\#|$)/)?i[4]:void 0)),n.host&&(n.host=T(R(n.host,r),r)),void 0!==n.scheme||void 0!==n.userinfo||void 0!==n.host||void 0!==n.port||n.path||void 0!==n.query?void 0===n.scheme?n.reference="relative":void 0===n.fragment?n.reference="absolute":n.reference="uri":n.reference="same-document",e.reference&&"suffix"!==e.reference&&e.reference!==n.reference&&(n.error=n.error||"URI is not a "+e.reference+" reference.");var o=A[(e.scheme||n.scheme||"").toLowerCase()];if(e.unicodeSupport||o&&o.unicodeSupport)E(n,r);else{if(n.host&&(e.domainHost||o&&o.domainHost))try{n.host=S.toASCII(n.host.replace(r.PCT_ENCODED,C).toLowerCase())}catch(t){n.error=n.error||"Host's domain name can not be converted to ASCII via punycode: "+t}E(n,s)}o&&o.parse&&o.parse(n,e)}else n.error=n.error||"URI can not be parsed.";return n}var D=/^\.\.?\//,M=/^\/\.(\/|$)/,j=/^\/\.\.(\/|$)/,k=/^\/?(?:.|\n)*?(?=\/|$)/;function F(t){for(var e=[];t.length;)if(t.match(D))t=t.replace(D,"");else if(t.match(M))t=t.replace(M,"/");else if(t.match(j))t=t.replace(j,"/"),e.pop();else if("."===t||".."===t)t="";else{var n=t.match(k);if(!n)throw new Error("Unexpected dot segment condition");var r=n[0];t=t.slice(r.length),e.push(r)}return e.join("")}function L(t){var e=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{},n=e.iri?u:s,r=[],i=A[(e.scheme||t.scheme||"").toLowerCase()];if(i&&i.serialize&&i.serialize(t,e),t.host)if(n.IPV6ADDRESS.test(t.host)) ;else if(e.domainHost||i&&i.domainHost)try{t.host=e.iri?S.toUnicode(t.host):S.toASCII(t.host.replace(n.PCT_ENCODED,C).toLowerCase())}catch(n){t.error=t.error||"Host's domain name can not be converted to "+(e.iri?"Unicode":"ASCII")+" via punycode: "+n}E(t,n),"suffix"!==e.reference&&t.scheme&&(r.push(t.scheme),r.push(":"));var o=function(t,e){var n=!1!==e.iri?u:s,r=[];return void 0!==t.userinfo&&(r.push(t.userinfo),r.push("@")),void 0!==t.host&&r.push(T(R(String(t.host),n),n).replace(n.IPV6ADDRESS,function(t,e,n){return"["+e+(n?"%25"+n:"")+"]"})),"number"==typeof t.port&&(r.push(":"),r.push(t.port.toString(10))),r.length?r.join(""):void 0}(t,e);if(void 0!==o&&("suffix"!==e.reference&&r.push("//"),r.push(o),t.path&&"/"!==t.path.charAt(0)&&r.push("/")),void 0!==t.path){var a=t.path;e.absolutePath||i&&i.absolutePath||(a=F(a)),void 0===o&&(a=a.replace(/^\/\//,"/%2F")),r.push(a)}return void 0!==t.query&&(r.push("?"),r.push(t.query)),void 0!==t.fragment&&(r.push("#"),r.push(t.fragment)),r.join("")}function N(t,e){var n=arguments.length>2&&void 0!==arguments[2]?arguments[2]:{},r=arguments[3],i={};return r||(t=z(L(t,n),n),e=z(L(e,n),n)),!(n=n||{}).tolerant&&e.scheme?(i.scheme=e.scheme,i.userinfo=e.userinfo,i.host=e.host,i.port=e.port,i.path=F(e.path||""),i.query=e.query):(void 0!==e.userinfo||void 0!==e.host||void 0!==e.port?(i.userinfo=e.userinfo,i.host=e.host,i.port=e.port,i.path=F(e.path||""),i.query=e.query):(e.path?("/"===e.path.charAt(0)?i.path=F(e.path):(void 0===t.userinfo&&void 0===t.host&&void 0===t.port||t.path?t.path?i.path=t.path.slice(0,t.path.lastIndexOf("/")+1)+e.path:i.path=e.path:i.path="/"+e.path,i.path=F(i.path)),i.query=e.query):(i.path=t.path,void 0!==e.query?i.query=e.query:i.query=t.query),i.userinfo=t.userinfo,i.host=t.host,i.port=t.port),i.scheme=t.scheme),i.fragment=e.fragment,i}function I(t,e){return t&&t.toString().replace(e&&e.iri?u.PCT_ENCODED:s.PCT_ENCODED,C)}var $={scheme:"http",domainHost:!0,parse:function(t,e){return t.host||(t.error=t.error||"HTTP URIs must have a host."),t},serialize:function(t,e){return t.port!==("https"!==String(t.scheme).toLowerCase()?80:443)&&""!==t.port||(t.port=void 0),t.path||(t.path="/"),t}},B={scheme:"https",domainHost:$.domainHost,parse:$.parse,serialize:$.serialize},H={},Y="[A-Za-z0-9\\-\\.\\_\\~\\xA0-\\u200D\\u2010-\\u2029\\u202F-\\uD7FF\\uF900-\\uFDCF\\uFDF0-\\uFFEF]",Z="[0-9A-Fa-f]",X=n(n("%[EFef][0-9A-Fa-f]%"+Z+Z+"%"+Z+Z)+"|"+n("%[89A-Fa-f][0-9A-Fa-f]%"+Z+Z)+"|"+n("%"+Z+Z)),W=e("[\\!\\$\\%\\'\\(\\)\\*\\+\\,\\-\\.0-9\\<\\>A-Z\\x5E-\\x7E]",'[\\"\\\\]'),J=new RegExp(Y,"g"),G=new RegExp(X,"g"),Q=new RegExp(e("[^]","[A-Za-z0-9\\!\\$\\%\\'\\*\\+\\-\\^\\_\\`\\{\\|\\}\\~]","[\\.]",'[\\"]',W),"g"),V=new RegExp(e("[^]",Y,"[\\!\\$\\'\\(\\)\\*\\+\\,\\;\\:\\@]"),"g"),K=V;function tt(t){var e=C(t);return e.match(J)?e:t}var et={scheme:"mailto",parse:function(t,e){var n=t,r=n.to=n.path?n.path.split(","):[];if(n.path=void 0,n.query){for(var i=!1,o={},s=n.query.split("&"),u=0,a=s.length;u= 0x80 (not a basic code point)","invalid-input":"Invalid input"},_=c-l,x=Math.floor,S=String.fromCharCode;function A(t){throw new RangeError(w[t])}function O(t,e){for(var n=t.length,r=[];n--;)r[n]=e(t[n]);return r}function C(t,e){var n=t.split("@"),r="";return n.length>1&&(r=n[0]+"@",t=n[1]),r+O((t=t.replace(b,".")).split("."),e).join(".")}function E(t){for(var e,n,r=[],i=0,o=t.length;i=55296&&e<=56319&&i65535&&(e+=S((t-=65536)>>>10&1023|55296),t=56320|1023&t),e+=S(t)}).join("")}function R(t,e){return t+22+75*(t<26)-((0!=e)<<5)}function T(t,e,n){var r=0;for(t=n?x(t/h):t>>1,t+=x(t/e);t>_*f>>1;r+=c)t=x(t/_);return x(r+(_+1)*t/(t+p))}function q(t){var e,n,r,i,o,s,u,p,h,y,m,b=[],w=t.length,_=0,S=v,O=d;for((n=t.lastIndexOf(g))<0&&(n=0),r=0;r=128&&A("not-basic"),b.push(t.charCodeAt(r));for(i=n>0?n+1:0;i=w&&A("invalid-input"),((p=(m=t.charCodeAt(i++))-48<10?m-22:m-65<26?m-65:m-97<26?m-97:c)>=c||p>x((a-_)/s))&&A("overflow"),_+=p*s,!(p<(h=u<=O?l:u>=O+f?f:u-O));u+=c)s>x(a/(y=c-h))&&A("overflow"),s*=y;O=T(_-o,e=b.length+1,0==o),x(_/e)>a-S&&A("overflow"),S+=x(_/e),_%=e,b.splice(_++,0,S)}return U(b)}function P(t){var e,n,r,i,o,s,u,p,h,y,m,b,w,_,O,C=[];for(b=(t=E(t)).length,e=v,n=0,o=d,s=0;s=e&&mx((a-n)/(w=r+1))&&A("overflow"),n+=(u-e)*w,e=u,s=0;sa&&A("overflow"),m==e){for(p=n,h=c;!(p<(y=h<=o?l:h>=o+f?f:h-o));h+=c)O=p-y,_=c-y,C.push(S(R(y+O%_,0))),p=x(O/_);C.push(S(R(p,0))),o=T(n,w,r==i),n=0,++r}++n,++e}return C.join("")}u={version:"1.4.1",ucs2:{decode:E,encode:U},decode:q,encode:P,toASCII:function(t){return C(t,function(t){return m.test(t)?"xn--"+P(t):t})},toUnicode:function(t){return C(t,function(t){return y.test(t)?q(t.slice(4).toLowerCase()):t})}},void 0===(i=function(){return u}.call(e,n,e,t))||(t.exports=i)}()}).call(this,n(20)(t),n(3))},function(t,e,n){"use strict";t.exports={isString:function(t){return"string"==typeof t},isObject:function(t){return"object"==typeof t&&null!==t},isNull:function(t){return null===t},isNullOrUndefined:function(t){return null==t}}},function(t,e,n){"use strict";(function(e,n){var r=e.process&&n.nextTick||e.setImmediate||function(t){setTimeout(t,0)};t.exports=function(t,e){return t?void e.then(function(e){r(function(){t(null,e)})},function(e){r(function(){t(e)})}):e}}).call(this,n(3),n(4))},function(t,e,n){"use strict";var r=n(287),i=n(308);function o(t){return function(){throw new Error("Function "+t+" is deprecated and cannot be used.")}}t.exports.Type=n(1),t.exports.Schema=n(17),t.exports.FAILSAFE_SCHEMA=n(62),t.exports.JSON_SCHEMA=n(108),t.exports.CORE_SCHEMA=n(107),t.exports.DEFAULT_SAFE_SCHEMA=n(23),t.exports.DEFAULT_FULL_SCHEMA=n(38),t.exports.load=r.load,t.exports.loadAll=r.loadAll,t.exports.safeLoad=r.safeLoad,t.exports.safeLoadAll=r.safeLoadAll,t.exports.dump=i.dump,t.exports.safeDump=i.safeDump,t.exports.YAMLException=n(22),t.exports.MINIMAL_SCHEMA=n(62),t.exports.SAFE_SCHEMA=n(23),t.exports.DEFAULT_SCHEMA=n(38),t.exports.scan=o("scan"),t.exports.parse=o("parse"),t.exports.compose=o("compose"),t.exports.addConstructor=o("addConstructor")},function(t,e,n){"use strict";var r=n(16),i=n(22),o=n(288),s=n(23),u=n(38),a=Object.prototype.hasOwnProperty,c=1,l=2,f=3,p=4,h=1,d=2,v=3,g=/[\x00-\x08\x0B\x0C\x0E-\x1F\x7F-\x84\x86-\x9F\uFFFE\uFFFF]|[\uD800-\uDBFF](?![\uDC00-\uDFFF])|(?:[^\uD800-\uDBFF]|^)[\uDC00-\uDFFF]/,y=/[\x85\u2028\u2029]/,m=/[,\[\]\{\}]/,b=/^(?:!|!!|![a-z\-]+!)$/i,w=/^(?:!|[^,\[\]\{\}])(?:%[0-9a-f]{2}|[0-9a-z\-#;\/\?:@&=\+\$,_\.!~\*'\(\)\[\]])*$/i;function _(t){return 10===t||13===t}function x(t){return 9===t||32===t}function S(t){return 9===t||32===t||10===t||13===t}function A(t){return 44===t||91===t||93===t||123===t||125===t}function O(t){var e;return 48<=t&&t<=57?t-48:97<=(e=32|t)&&e<=102?e-97+10:-1}function C(t){return 48===t?"\0":97===t?"":98===t?"\b":116===t?"\t":9===t?"\t":110===t?"\n":118===t?"\v":102===t?"\f":114===t?"\r":101===t?"":32===t?" ":34===t?'"':47===t?"/":92===t?"\\":78===t?"…":95===t?" ":76===t?"\u2028":80===t?"\u2029":""}function E(t){return t<=65535?String.fromCharCode(t):String.fromCharCode(55296+(t-65536>>10),56320+(t-65536&1023))}for(var U=new Array(256),R=new Array(256),T=0;T<256;T++)U[T]=C(T)?1:0,R[T]=C(T);function q(t,e){this.input=t,this.filename=e.filename||null,this.schema=e.schema||u,this.onWarning=e.onWarning||null,this.legacy=e.legacy||!1,this.json=e.json||!1,this.listener=e.listener||null,this.implicitTypes=this.schema.compiledImplicit,this.typeMap=this.schema.compiledTypeMap,this.length=t.length,this.position=0,this.line=0,this.lineStart=0,this.lineIndent=0,this.documents=[]}function P(t,e){return new i(e,new o(t.filename,t.input,t.position,t.line,t.position-t.lineStart))}function z(t,e){throw P(t,e)}function D(t,e){t.onWarning&&t.onWarning.call(null,P(t,e))}var M={YAML:function(t,e,n){var r,i,o;null!==t.version&&z(t,"duplication of %YAML directive"),1!==n.length&&z(t,"YAML directive accepts exactly one argument"),null===(r=/^([0-9]+)\.([0-9]+)$/.exec(n[0]))&&z(t,"ill-formed argument of the YAML directive"),i=parseInt(r[1],10),o=parseInt(r[2],10),1!==i&&z(t,"unacceptable YAML version of the document"),t.version=n[0],t.checkLineBreaks=o<2,1!==o&&2!==o&&D(t,"unsupported YAML version of the document")},TAG:function(t,e,n){var r,i;2!==n.length&&z(t,"TAG directive accepts exactly two arguments"),r=n[0],i=n[1],b.test(r)||z(t,"ill-formed tag handle (first argument) of the TAG directive"),a.call(t.tagMap,r)&&z(t,'there is a previously declared suffix for "'+r+'" tag handle'),w.test(i)||z(t,"ill-formed tag prefix (second argument) of the TAG directive"),t.tagMap[r]=i}};function j(t,e,n,r){var i,o,s,u;if(e1&&(t.result+=r.repeat("\n",e-1))}function B(t,e){var n,r,i=t.tag,o=t.anchor,s=[],u=!1;for(null!==t.anchor&&(t.anchorMap[t.anchor]=s),r=t.input.charCodeAt(t.position);0!==r&&45===r&&S(t.input.charCodeAt(t.position+1));)if(u=!0,t.position++,N(t,!0,-1)&&t.lineIndent<=e)s.push(null),r=t.input.charCodeAt(t.position);else if(n=t.line,Z(t,e,f,!1,!0),s.push(t.result),N(t,!0,-1),r=t.input.charCodeAt(t.position),(t.line===n||t.lineIndent>e)&&0!==r)z(t,"bad indentation of a sequence entry");else if(t.lineIndente?T=1:t.lineIndent===e?T=0:t.lineIndente?T=1:t.lineIndent===e?T=0:t.lineIndente)&&(Z(t,e,p,!0,i)&&(y?v=t.result:g=t.result),y||(F(t,f,h,d,v,g,o,s),d=v=g=null),N(t,!0,-1),u=t.input.charCodeAt(t.position)),t.lineIndent>e&&0!==u)z(t,"bad indentation of a mapping entry");else if(t.lineIndent=0))break;0===o?z(t,"bad explicit indentation width of a block scalar; it cannot be less than one"):l?z(t,"repeat of an indentation width identifier"):(f=e+o-1,l=!0)}if(x(s)){do{s=t.input.charCodeAt(++t.position)}while(x(s));if(35===s)do{s=t.input.charCodeAt(++t.position)}while(!_(s)&&0!==s)}for(;0!==s;){for(L(t),t.lineIndent=0,s=t.input.charCodeAt(t.position);(!l||t.lineIndentf&&(f=t.lineIndent),_(s))p++;else{if(t.lineIndent0){for(i=s,o=0;i>0;i--)(s=O(u=t.input.charCodeAt(++t.position)))>=0?o=(o<<4)+s:z(t,"expected hexadecimal character");t.result+=E(o),t.position++}else z(t,"unknown escape sequence");n=r=t.position}else _(u)?(j(t,n,r,!0),$(t,N(t,!1,e)),n=r=t.position):t.position===t.lineStart&&I(t)?z(t,"unexpected end of the document within a double quoted scalar"):(t.position++,r=t.position)}z(t,"unexpected end of the stream within a double quoted scalar")}(t,w)?P=!0:!function(t){var e,n,r;if(42!==(r=t.input.charCodeAt(t.position)))return!1;for(r=t.input.charCodeAt(++t.position),e=t.position;0!==r&&!S(r)&&!A(r);)r=t.input.charCodeAt(++t.position);return t.position===e&&z(t,"name of an alias node must contain at least one character"),n=t.input.slice(e,t.position),t.anchorMap.hasOwnProperty(n)||z(t,'unidentified alias "'+n+'"'),t.result=t.anchorMap[n],N(t,!0,-1),!0}(t)?function(t,e,n){var r,i,o,s,u,a,c,l,f=t.kind,p=t.result;if(S(l=t.input.charCodeAt(t.position))||A(l)||35===l||38===l||42===l||33===l||124===l||62===l||39===l||34===l||37===l||64===l||96===l)return!1;if((63===l||45===l)&&(S(r=t.input.charCodeAt(t.position+1))||n&&A(r)))return!1;for(t.kind="scalar",t.result="",i=o=t.position,s=!1;0!==l;){if(58===l){if(S(r=t.input.charCodeAt(t.position+1))||n&&A(r))break}else if(35===l){if(S(t.input.charCodeAt(t.position-1)))break}else{if(t.position===t.lineStart&&I(t)||n&&A(l))break;if(_(l)){if(u=t.line,a=t.lineStart,c=t.lineIndent,N(t,!1,-1),t.lineIndent>=e){s=!0,l=t.input.charCodeAt(t.position);continue}t.position=o,t.line=u,t.lineStart=a,t.lineIndent=c;break}}s&&(j(t,i,o,!1),$(t,t.line-u),i=o=t.position,s=!1),x(l)||(o=t.position+1),l=t.input.charCodeAt(++t.position)}return j(t,i,o,!1),!!t.result||(t.kind=f,t.result=p,!1)}(t,w,c===n)&&(P=!0,null===t.tag&&(t.tag="?")):(P=!0,null===t.tag&&null===t.anchor||z(t,"alias node should not have any properties")),null!==t.anchor&&(t.anchorMap[t.anchor]=t.result)):0===T&&(P=g&&B(t,C))),null!==t.tag&&"!"!==t.tag)if("?"===t.tag){for(y=0,m=t.implicitTypes.length;y tag; it should be "'+b.kind+'", not "'+t.kind+'"'),b.resolve(t.result)?(t.result=b.construct(t.result),null!==t.anchor&&(t.anchorMap[t.anchor]=t.result)):z(t,"cannot resolve a node with !<"+t.tag+"> explicit tag")):z(t,"unknown tag !<"+t.tag+">");return null!==t.listener&&t.listener("close",t),null!==t.tag||null!==t.anchor||P}function X(t){var e,n,r,i,o=t.position,s=!1;for(t.version=null,t.checkLineBreaks=t.legacy,t.tagMap={},t.anchorMap={};0!==(i=t.input.charCodeAt(t.position))&&(N(t,!0,-1),i=t.input.charCodeAt(t.position),!(t.lineIndent>0||37!==i));){for(s=!0,i=t.input.charCodeAt(++t.position),e=t.position;0!==i&&!S(i);)i=t.input.charCodeAt(++t.position);for(r=[],(n=t.input.slice(e,t.position)).length<1&&z(t,"directive name must not be less than one character in length");0!==i;){for(;x(i);)i=t.input.charCodeAt(++t.position);if(35===i){do{i=t.input.charCodeAt(++t.position)}while(0!==i&&!_(i));break}if(_(i))break;for(e=t.position;0!==i&&!S(i);)i=t.input.charCodeAt(++t.position);r.push(t.input.slice(e,t.position))}0!==i&&L(t),a.call(M,n)?M[n](t,n,r):D(t,'unknown document directive "'+n+'"')}N(t,!0,-1),0===t.lineIndent&&45===t.input.charCodeAt(t.position)&&45===t.input.charCodeAt(t.position+1)&&45===t.input.charCodeAt(t.position+2)?(t.position+=3,N(t,!0,-1)):s&&z(t,"directives end mark is expected"),Z(t,t.lineIndent-1,p,!1,!0),N(t,!0,-1),t.checkLineBreaks&&y.test(t.input.slice(o,t.position))&&D(t,"non-ASCII line breaks are interpreted as content"),t.documents.push(t.result),t.position===t.lineStart&&I(t)?46===t.input.charCodeAt(t.position)&&(t.position+=3,N(t,!0,-1)):t.position0&&-1==="\0\r\n…\u2028\u2029".indexOf(this.buffer.charAt(i-1));)if(i-=1,this.position-i>e/2-1){n=" ... ",i+=5;break}for(o="",s=this.position;se/2-1){o=" ... ",s-=5;break}return u=this.buffer.slice(i,s),r.repeat(" ",t)+n+u+o+"\n"+r.repeat(" ",t+this.position-i+n.length)+"^"},i.prototype.toString=function(t){var e,n="";return this.name&&(n+='in "'+this.name+'" '),n+="at line "+(this.line+1)+", column "+(this.column+1),t||(e=this.getSnippet())&&(n+=":\n"+e),n},t.exports=i},function(t,e,n){"use strict";var r=n(1);t.exports=new r("tag:yaml.org,2002:str",{kind:"scalar",construct:function(t){return null!==t?t:""}})},function(t,e,n){"use strict";var r=n(1);t.exports=new r("tag:yaml.org,2002:seq",{kind:"sequence",construct:function(t){return null!==t?t:[]}})},function(t,e,n){"use strict";var r=n(1);t.exports=new r("tag:yaml.org,2002:map",{kind:"mapping",construct:function(t){return null!==t?t:{}}})},function(t,e,n){"use strict";var r=n(1);t.exports=new r("tag:yaml.org,2002:null",{kind:"scalar",resolve:function(t){if(null===t)return!0;var e=t.length;return 1===e&&"~"===t||4===e&&("null"===t||"Null"===t||"NULL"===t)},construct:function(){return null},predicate:function(t){return null===t},represent:{canonical:function(){return"~"},lowercase:function(){return"null"},uppercase:function(){return"NULL"},camelcase:function(){return"Null"}},defaultStyle:"lowercase"})},function(t,e,n){"use strict";var r=n(1);t.exports=new r("tag:yaml.org,2002:bool",{kind:"scalar",resolve:function(t){if(null===t)return!1;var e=t.length;return 4===e&&("true"===t||"True"===t||"TRUE"===t)||5===e&&("false"===t||"False"===t||"FALSE"===t)},construct:function(t){return"true"===t||"True"===t||"TRUE"===t},predicate:function(t){return"[object Boolean]"===Object.prototype.toString.call(t)},represent:{lowercase:function(t){return t?"true":"false"},uppercase:function(t){return t?"TRUE":"FALSE"},camelcase:function(t){return t?"True":"False"}},defaultStyle:"lowercase"})},function(t,e,n){"use strict";var r=n(16),i=n(1);function o(t){return 48<=t&&t<=55}function s(t){return 48<=t&&t<=57}t.exports=new i("tag:yaml.org,2002:int",{kind:"scalar",resolve:function(t){if(null===t)return!1;var e,n,r=t.length,i=0,u=!1;if(!r)return!1;if("-"!==(e=t[i])&&"+"!==e||(e=t[++i]),"0"===e){if(i+1===r)return!0;if("b"===(e=t[++i])){for(i++;i=0?"0b"+t.toString(2):"-0b"+t.toString(2).slice(1)},octal:function(t){return t>=0?"0"+t.toString(8):"-0"+t.toString(8).slice(1)},decimal:function(t){return t.toString(10)},hexadecimal:function(t){return t>=0?"0x"+t.toString(16).toUpperCase():"-0x"+t.toString(16).toUpperCase().slice(1)}},defaultStyle:"decimal",styleAliases:{binary:[2,"bin"],octal:[8,"oct"],decimal:[10,"dec"],hexadecimal:[16,"hex"]}})},function(t,e,n){"use strict";var r=n(16),i=n(1),o=new RegExp("^(?:[-+]?(?:0|[1-9][0-9_]*)(?:\\.[0-9_]*)?(?:[eE][-+]?[0-9]+)?|\\.[0-9_]+(?:[eE][-+]?[0-9]+)?|[-+]?[0-9][0-9_]*(?::[0-5]?[0-9])+\\.[0-9_]*|[-+]?\\.(?:inf|Inf|INF)|\\.(?:nan|NaN|NAN))$");var s=/^[-+]?[0-9]+e/;t.exports=new i("tag:yaml.org,2002:float",{kind:"scalar",resolve:function(t){return null!==t&&!(!o.test(t)||"_"===t[t.length-1])},construct:function(t){var e,n,r,i;return n="-"===(e=t.replace(/_/g,"").toLowerCase())[0]?-1:1,i=[],"+-".indexOf(e[0])>=0&&(e=e.slice(1)),".inf"===e?1===n?Number.POSITIVE_INFINITY:Number.NEGATIVE_INFINITY:".nan"===e?NaN:e.indexOf(":")>=0?(e.split(":").forEach(function(t){i.unshift(parseFloat(t,10))}),e=0,r=1,i.forEach(function(t){e+=t*r,r*=60}),n*e):n*parseFloat(e,10)},predicate:function(t){return"[object Number]"===Object.prototype.toString.call(t)&&(t%1!=0||r.isNegativeZero(t))},represent:function(t,e){var n;if(isNaN(t))switch(e){case"lowercase":return".nan";case"uppercase":return".NAN";case"camelcase":return".NaN"}else if(Number.POSITIVE_INFINITY===t)switch(e){case"lowercase":return".inf";case"uppercase":return".INF";case"camelcase":return".Inf"}else if(Number.NEGATIVE_INFINITY===t)switch(e){case"lowercase":return"-.inf";case"uppercase":return"-.INF";case"camelcase":return"-.Inf"}else if(r.isNegativeZero(t))return"-0.0";return n=t.toString(10),s.test(n)?n.replace("e",".e"):n},defaultStyle:"lowercase"})},function(t,e,n){"use strict";var r=n(1),i=new RegExp("^([0-9][0-9][0-9][0-9])-([0-9][0-9])-([0-9][0-9])$"),o=new RegExp("^([0-9][0-9][0-9][0-9])-([0-9][0-9]?)-([0-9][0-9]?)(?:[Tt]|[ \\t]+)([0-9][0-9]?):([0-9][0-9]):([0-9][0-9])(?:\\.([0-9]*))?(?:[ \\t]*(Z|([-+])([0-9][0-9]?)(?::([0-9][0-9]))?))?$");t.exports=new r("tag:yaml.org,2002:timestamp",{kind:"scalar",resolve:function(t){return null!==t&&(null!==i.exec(t)||null!==o.exec(t))},construct:function(t){var e,n,r,s,u,a,c,l,f=0,p=null;if(null===(e=i.exec(t))&&(e=o.exec(t)),null===e)throw new Error("Date resolve error");if(n=+e[1],r=+e[2]-1,s=+e[3],!e[4])return new Date(Date.UTC(n,r,s));if(u=+e[4],a=+e[5],c=+e[6],e[7]){for(f=e[7].slice(0,3);f.length<3;)f+="0";f=+f}return e[9]&&(p=6e4*(60*+e[10]+ +(e[11]||0)),"-"===e[9]&&(p=-p)),l=new Date(Date.UTC(n,r,s,u,a,c,f)),p&&l.setTime(l.getTime()-p),l},instanceOf:Date,represent:function(t){return t.toISOString()}})},function(t,e,n){"use strict";var r=n(1);t.exports=new r("tag:yaml.org,2002:merge",{kind:"scalar",resolve:function(t){return"<<"===t||null===t}})},function(t,e,n){"use strict";var r;try{r=n(18).Buffer}catch(t){}var i=n(1),o="ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/=\n\r";t.exports=new i("tag:yaml.org,2002:binary",{kind:"scalar",resolve:function(t){if(null===t)return!1;var e,n,r=0,i=t.length,s=o;for(n=0;n64)){if(e<0)return!1;r+=6}return r%8==0},construct:function(t){var e,n,i=t.replace(/[\r\n=]/g,""),s=i.length,u=o,a=0,c=[];for(e=0;e>16&255),c.push(a>>8&255),c.push(255&a)),a=a<<6|u.indexOf(i.charAt(e));return 0==(n=s%4*6)?(c.push(a>>16&255),c.push(a>>8&255),c.push(255&a)):18===n?(c.push(a>>10&255),c.push(a>>2&255)):12===n&&c.push(a>>4&255),r?r.from?r.from(c):new r(c):c},predicate:function(t){return r&&r.isBuffer(t)},represent:function(t){var e,n,r="",i=0,s=t.length,u=o;for(e=0;e>18&63],r+=u[i>>12&63],r+=u[i>>6&63],r+=u[63&i]),i=(i<<8)+t[e];return 0==(n=s%3)?(r+=u[i>>18&63],r+=u[i>>12&63],r+=u[i>>6&63],r+=u[63&i]):2===n?(r+=u[i>>10&63],r+=u[i>>4&63],r+=u[i<<2&63],r+=u[64]):1===n&&(r+=u[i>>2&63],r+=u[i<<4&63],r+=u[64],r+=u[64]),r}})},function(t,e,n){"use strict";e.byteLength=function(t){var e=c(t),n=e[0],r=e[1];return 3*(n+r)/4-r},e.toByteArray=function(t){for(var e,n=c(t),r=n[0],s=n[1],u=new o(function(t,e,n){return 3*(e+n)/4-n}(0,r,s)),a=0,l=s>0?r-4:r,f=0;f>16&255,u[a++]=e>>8&255,u[a++]=255&e;2===s&&(e=i[t.charCodeAt(f)]<<2|i[t.charCodeAt(f+1)]>>4,u[a++]=255&e);1===s&&(e=i[t.charCodeAt(f)]<<10|i[t.charCodeAt(f+1)]<<4|i[t.charCodeAt(f+2)]>>2,u[a++]=e>>8&255,u[a++]=255&e);return u},e.fromByteArray=function(t){for(var e,n=t.length,i=n%3,o=[],s=0,u=n-i;su?u:s+16383));1===i?(e=t[n-1],o.push(r[e>>2]+r[e<<4&63]+"==")):2===i&&(e=(t[n-2]<<8)+t[n-1],o.push(r[e>>10]+r[e>>4&63]+r[e<<2&63]+"="));return o.join("")};for(var r=[],i=[],o="undefined"!=typeof Uint8Array?Uint8Array:Array,s="ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/",u=0,a=s.length;u0)throw new Error("Invalid string. Length must be a multiple of 4");var n=t.indexOf("=");return-1===n&&(n=e),[n,n===e?0:4-n%4]}function l(t,e,n){for(var i,o,s=[],u=e;u>18&63]+r[o>>12&63]+r[o>>6&63]+r[63&o]);return s.join("")}i["-".charCodeAt(0)]=62,i["_".charCodeAt(0)]=63},function(t,e){e.read=function(t,e,n,r,i){var o,s,u=8*i-r-1,a=(1<>1,l=-7,f=n?i-1:0,p=n?-1:1,h=t[e+f];for(f+=p,o=h&(1<<-l)-1,h>>=-l,l+=u;l>0;o=256*o+t[e+f],f+=p,l-=8);for(s=o&(1<<-l)-1,o>>=-l,l+=r;l>0;s=256*s+t[e+f],f+=p,l-=8);if(0===o)o=1-c;else{if(o===a)return s?NaN:1/0*(h?-1:1);s+=Math.pow(2,r),o-=c}return(h?-1:1)*s*Math.pow(2,o-r)},e.write=function(t,e,n,r,i,o){var s,u,a,c=8*o-i-1,l=(1<>1,p=23===i?Math.pow(2,-24)-Math.pow(2,-77):0,h=r?0:o-1,d=r?1:-1,v=e<0||0===e&&1/e<0?1:0;for(e=Math.abs(e),isNaN(e)||e===1/0?(u=isNaN(e)?1:0,s=l):(s=Math.floor(Math.log(e)/Math.LN2),e*(a=Math.pow(2,-s))<1&&(s--,a*=2),(e+=s+f>=1?p/a:p*Math.pow(2,1-f))*a>=2&&(s++,a/=2),s+f>=l?(u=0,s=l):s+f>=1?(u=(e*a-1)*Math.pow(2,i),s+=f):(u=e*Math.pow(2,f-1)*Math.pow(2,i),s=0));i>=8;t[n+h]=255&u,h+=d,u/=256,i-=8);for(s=s<0;t[n+h]=255&s,h+=d,s/=256,c-=8);t[n+h-d]|=128*v}},function(t,e,n){"use strict";var r=n(1),i=Object.prototype.hasOwnProperty,o=Object.prototype.toString;t.exports=new r("tag:yaml.org,2002:omap",{kind:"sequence",resolve:function(t){if(null===t)return!0;var e,n,r,s,u,a=[],c=t;for(e=0,n=c.length;e3)return!1;if("/"!==e[e.length-r.length-1])return!1}return!0},construct:function(t){var e=t,n=/\/([gim]*)$/.exec(t),r="";return"/"===e[0]&&(n&&(r=n[1]),e=e.slice(1,e.length-r.length-1)),new RegExp(e,r)},predicate:function(t){return"[object RegExp]"===Object.prototype.toString.call(t)},represent:function(t){var e="/"+t.source+"/";return t.global&&(e+="g"),t.multiline&&(e+="m"),t.ignoreCase&&(e+="i"),e}})},function(t,e,n){"use strict";var r;try{r=n(307)}catch(t){"undefined"!=typeof window&&(r=window.esprima)}var i=n(1);t.exports=new i("tag:yaml.org,2002:js/function",{kind:"scalar",resolve:function(t){if(null===t)return!1;try{var e="("+t+")",n=r.parse(e,{range:!0});return"Program"===n.type&&1===n.body.length&&"ExpressionStatement"===n.body[0].type&&("ArrowFunctionExpression"===n.body[0].expression.type||"FunctionExpression"===n.body[0].expression.type)}catch(t){return!1}},construct:function(t){var e,n="("+t+")",i=r.parse(n,{range:!0}),o=[];if("Program"!==i.type||1!==i.body.length||"ExpressionStatement"!==i.body[0].type||"ArrowFunctionExpression"!==i.body[0].expression.type&&"FunctionExpression"!==i.body[0].expression.type)throw new Error("Failed to resolve function");return i.body[0].expression.params.forEach(function(t){o.push(t.name)}),e=i.body[0].expression.body.range,"BlockStatement"===i.body[0].expression.body.type?new Function(o,n.slice(e[0]+1,e[1]-1)):new Function(o,"return "+n.slice(e[0],e[1]))},predicate:function(t){return"[object Function]"===Object.prototype.toString.call(t)},represent:function(t){return t.toString()}})},function(t,e){if("undefined"==typeof esprima){var n=new Error("Cannot find module 'esprima'");throw n.code="MODULE_NOT_FOUND",n}t.exports=esprima},function(t,e,n){"use strict";var r=n(16),i=n(22),o=n(38),s=n(23),u=Object.prototype.toString,a=Object.prototype.hasOwnProperty,c=9,l=10,f=32,p=33,h=34,d=35,v=37,g=38,y=39,m=42,b=44,w=45,_=58,x=62,S=63,A=64,O=91,C=93,E=96,U=123,R=124,T=125,q={0:"\\0",7:"\\a",8:"\\b",9:"\\t",10:"\\n",11:"\\v",12:"\\f",13:"\\r",27:"\\e",34:'\\"',92:"\\\\",133:"\\N",160:"\\_",8232:"\\L",8233:"\\P"},P=["y","Y","yes","Yes","YES","on","On","ON","n","N","no","No","NO","off","Off","OFF"];function z(t){var e,n,o;if(e=t.toString(16).toUpperCase(),t<=255)n="x",o=2;else if(t<=65535)n="u",o=4;else{if(!(t<=4294967295))throw new i("code point within a string may not be greater than 0xFFFFFFFF");n="U",o=8}return"\\"+n+r.repeat("0",o-e.length)+e}function D(t){this.schema=t.schema||o,this.indent=Math.max(1,t.indent||2),this.noArrayIndent=t.noArrayIndent||!1,this.skipInvalid=t.skipInvalid||!1,this.flowLevel=r.isNothing(t.flowLevel)?-1:t.flowLevel,this.styleMap=function(t,e){var n,r,i,o,s,u,c;if(null===e)return{};for(n={},i=0,o=(r=Object.keys(e)).length;ir&&" "!==t[q+1],q=o);else if(!F(s))return Y;P=P&&L(s)}c=c||f&&o-q-1>r&&" "!==t[q+1]}return a||c?n>9&&N(t)?Y:c?H:B:P&&!i(t)?I:$}function X(t,e,n,r){t.dump=function(){if(0===e.length)return"''";if(!t.noCompatMode&&-1!==P.indexOf(e))return"'"+e+"'";var o=t.indent*Math.max(1,n),s=-1===t.lineWidth?-1:Math.max(Math.min(t.lineWidth,40),t.lineWidth-o),u=r||t.flowLevel>-1&&n>=t.flowLevel;switch(Z(e,u,t.indent,s,function(e){return function(t,e){var n,r;for(n=0,r=t.implicitTypes.length;n"+W(e,t.indent)+J(M(function(t,e){var n,r,i=/(\n+)([^\n]*)/g,o=(u=t.indexOf("\n"),u=-1!==u?u:t.length,i.lastIndex=u,G(t.slice(0,u),e)),s="\n"===t[0]||" "===t[0];var u;for(;r=i.exec(t);){var a=r[1],c=r[2];n=" "===c[0],o+=a+(s||n||""===c?"":"\n")+G(c,e),s=n}return o}(e,s),o));case Y:return'"'+function(t){for(var e,n,r,i="",o=0;o=55296&&e<=56319&&(n=t.charCodeAt(o+1))>=56320&&n<=57343?(i+=z(1024*(e-55296)+n-56320+65536),o++):(r=q[e],i+=!r&&F(e)?t[o]:r||z(e));return i}(e)+'"';default:throw new i("impossible error: invalid scalar style")}}()}function W(t,e){var n=N(t)?String(e):"",r="\n"===t[t.length-1];return n+(r&&("\n"===t[t.length-2]||"\n"===t)?"+":r?"":"-")+"\n"}function J(t){return"\n"===t[t.length-1]?t.slice(0,-1):t}function G(t,e){if(""===t||" "===t[0])return t;for(var n,r,i=/ [^ ]/g,o=0,s=0,u=0,a="";n=i.exec(t);)(u=n.index)-o>e&&(r=s>o?s:u,a+="\n"+t.slice(o,r),o=r+1),s=u;return a+="\n",t.length-o>e&&s>o?a+=t.slice(o,s)+"\n"+t.slice(s+1):a+=t.slice(o),a.slice(1)}function Q(t,e,n){var r,o,s,c,l,f;for(s=0,c=(o=n?t.explicitTypes:t.implicitTypes).length;s tag resolver accepts not "'+f+'" style');r=l.represent[f](e,f)}t.dump=r}return!0}return!1}function V(t,e,n,r,o,s){t.tag=null,t.dump=n,Q(t,n,!1)||Q(t,n,!0);var a=u.call(t.dump);r&&(r=t.flowLevel<0||t.flowLevel>e);var c,f,p="[object Object]"===a||"[object Array]"===a;if(p&&(f=-1!==(c=t.duplicates.indexOf(n))),(null!==t.tag&&"?"!==t.tag||f||2!==t.indent&&e>0)&&(o=!1),f&&t.usedDuplicates[c])t.dump="*ref_"+c;else{if(p&&f&&!t.usedDuplicates[c]&&(t.usedDuplicates[c]=!0),"[object Object]"===a)r&&0!==Object.keys(t.dump).length?(!function(t,e,n,r){var o,s,u,a,c,f,p="",h=t.tag,d=Object.keys(n);if(!0===t.sortKeys)d.sort();else if("function"==typeof t.sortKeys)d.sort(t.sortKeys);else if(t.sortKeys)throw new i("sortKeys must be a boolean or a function");for(o=0,s=d.length;o1024)&&(t.dump&&l===t.dump.charCodeAt(0)?f+="?":f+="? "),f+=t.dump,c&&(f+=j(t,e)),V(t,e+1,a,!0,c)&&(t.dump&&l===t.dump.charCodeAt(0)?f+=":":f+=": ",p+=f+=t.dump));t.tag=h,t.dump=p||"{}"}(t,e,t.dump,o),f&&(t.dump="&ref_"+c+t.dump)):(!function(t,e,n){var r,i,o,s,u,a="",c=t.tag,l=Object.keys(n);for(r=0,i=l.length;r1024&&(u+="? "),u+=t.dump+(t.condenseFlow?'"':"")+":"+(t.condenseFlow?"":" "),V(t,e,s,!1,!1)&&(a+=u+=t.dump));t.tag=c,t.dump="{"+a+"}"}(t,e,t.dump),f&&(t.dump="&ref_"+c+" "+t.dump));else if("[object Array]"===a){var h=t.noArrayIndent&&e>0?e-1:e;r&&0!==t.dump.length?(!function(t,e,n,r){var i,o,s="",u=t.tag;for(i=0,o=n.length;i "+t.dump)}return!0}function K(t,e){var n,r,i=[],o=[];for(function t(e,n,r){var i,o,s;if(null!==e&&"object"==typeof e)if(-1!==(o=n.indexOf(e)))-1===r.indexOf(o)&&r.push(o);else if(n.push(e),Array.isArray(e))for(o=0,s=e.length;o1&&console.log("Replacing with",e),v++}}else{let i=l(a(e,t[n]));if(s.verbose>1&&console.log((!1===i?p.colour.red:p.colour.green)+"Internal resolution",t[n],p.colour.normal),!1===i){if(r.parent[r.pkey]={},s.fatal){let e=new Error("Internal $ref resolution failed "+t[n]);if(!s.promise)throw e;s.promise.reject(e)}}else v++,r.parent[r.pkey]=i,d[t[n]]=r.path.replace("/%24ref","")}else if(h.protocol){let e=o.resolve(i,t[n]).toString();s.verbose>1&&console.log(p.colour.yellow+"Rewriting external url ref",t[n],"as",e,p.colour.normal),t["x-miro"]=t[n],t[n]=e}else if(!t["x-miro"]){let e=o.resolve(i,t[n]).toString();s.verbose>1&&console.log(p.colour.yellow+"Rewriting external ref",t[n],"as",e,p.colour.normal),t["x-miro"]=t[n],t[n]=e}});return c(t,{},function(t,e,n){f(t,e)&&(void 0!==t.$fixed&&delete t.$fixed,s.preserveMiro||delete t["x-miro"])}),s.verbose>1&&console.log("Finished internal resolution"),t}function d(t,e){if(!e.filters||!e.filters.length)return t;for(let n of e.filters)t=n(t,e);return t}function v(t,e,n,c){var f=o.parse(n.source),p=n.source.split("\\").join("/").split("/");p.pop()||p.pop();let v="",g=e.split("#");g.length>1&&(v="#"+g[1],e=g[0]),p=p.join("/");let y,m=o.parse(e),b=m.protocol?m.protocol:f.protocol?f.protocol:"file:";if(y="file:"===b?i.resolve(p?p+"/":"",e):o.resolve(p?p+"/":"",e),n.cache[y]){n.verbose&&console.log("CACHED",y,v);let t=l(n.cache[y]),r=t;if(v&&!1===(r=a(r,v))&&(r={},n.fatal)){let t=new Error("Cached $ref resolution failed "+y+v);if(!n.promise)throw t;n.promise.reject(t)}return r=d(r=h(r,t,e,v,y,n),n),c(l(r),y,n),Promise.resolve(r)}return n.verbose&&console.log("GET",y,v),n.handlers&&n.handlers[b]?n.handlers[b](p,e,v,n).then(function(t){return t=d(t,n),n.cache[y]=t,c(t,y,n),t}).catch(function(t){throw n.verbose&&console.warn(t),t}):b&&b.startsWith("http")?s(y,{agent:n.agent}).then(function(t){if(200!==t.status)throw new Error(`Received status code ${t.status}`);return t.text()}).then(function(t){try{let r=u.safeLoad(t,{json:!0});if(t=r,n.cache[y]=l(t),v&&!1===(t=a(t,v))&&(t={},n.fatal)){let t=new Error("Remote $ref resolution failed "+y+v);if(!n.promise)throw t;n.promise.reject(t)}t=d(t=h(t,r,e,v,y,n),n)}catch(t){if(n.verbose&&console.warn(t),!n.promise||!n.fatal)throw t;n.promise.reject(t)}return c(t,y,n),t}).catch(function(t){if(n.verbose&&console.warn(t),n.cache[y]={},!n.promise||!n.fatal)throw t;n.promise.reject(t)}):(w=y,_=n.encoding||"utf8",new Promise(function(t,e){r.readFile(w,_,function(n,r){n?e(n):t(r)})})).then(function(t){try{let r=u.safeLoad(t,{json:!0});if(t=r,n.cache[y]=l(t),v&&!1===(t=a(t,v))&&(t={},n.fatal)){let t=new Error("File $ref resolution failed "+y+v);if(!n.promise)throw t;n.promise.reject(t)}t=d(t=h(t,r,e,v,y,n),n)}catch(t){if(n.verbose&&console.warn(t),!n.promise||!n.fatal)throw t;n.promise.reject(t)}return c(t,y,n),t}).catch(function(t){if(n.verbose&&console.warn(t),!n.promise||!n.fatal)throw t;n.promise.reject(t)});var w,_}function g(t){return new Promise(function(e,n){(function(t){return new Promise(function(e,n){function r(e,n,r){if(e[n]&&f(e[n],"$ref")){let o=e[n].$ref;if(!o.startsWith("#")){let s="";if(!i[o]){let e=Object.keys(i).find(function(t,e,n){return o.startsWith(t+"/")});e&&(t.verbose&&console.warn("Found potential subschema at",e),s=(s="/"+(o.split("#")[1]||"").replace(e.split("#")[1]||"")).split("/undefined").join(""),o=e)}if(i[o]||(i[o]={resolved:!1,paths:[],extras:{},description:e[n].description}),i[o].resolved)if(t.rewriteRefs){let r=i[o].resolvedAt;t.verbose>1&&console.log("Rewriting ref",o,r),e[n]["x-miro"]=o,e[n].$ref=r+s}else e[n]=l(i[o].data);else i[o].paths.push(r.path),i[o].extras[r.path]=s}}}let i=t.externalRefs;if(t.resolver.depth>0&&t.source===t.resolver.base)return e(i);c(t.openapi.definitions,{identityDetection:!0,path:"#/definitions"},r),c(t.openapi.components,{identityDetection:!0,path:"#/components"},r),c(t.openapi,{identityDetection:!0},r),e(i)})})(t).then(function(e){for(let n in e)if(!e[n].resolved){let r=t.resolver.depth;r>0&&r++,t.resolver.actions[r].push(function(){return v(t.openapi,n,t,function(t,r,i){if(!e[n].resolved){let o={};o.context=e[n],o.$ref=n,o.original=l(t),o.updated=t,o.source=r,i.externals.push(o),e[n].resolved=!0}let o=Object.assign({},i,{source:"",resolver:{actions:i.resolver.actions,depth:i.resolver.actions.length-1,base:i.resolver.base}});i.patch&&e[n].description&&!t.description&&"object"==typeof t&&(t.description=e[n].description),e[n].data=t;let s=(u=e[n].paths,[...new Set(u)]);var u;s=s.sort(function(t,e){const n=t.startsWith("#/components/")||t.startsWith("#/definitions/"),r=e.startsWith("#/components/")||e.startsWith("#/definitions/");return n&&!r?-1:r&&!n?1:0});for(let r of s)if(e[n].resolvedAt&&r!==e[n].resolvedAt&&r.indexOf("x-ms-examples/")<0)i.verbose>1&&console.log("Creating pointer to data at",r),a(i.openapi,r,{$ref:e[n].resolvedAt+e[n].extras[r],"x-miro":n+e[n].extras[r]});else{e[n].resolvedAt?i.verbose>1&&console.log("Avoiding circular reference"):(e[n].resolvedAt=r,i.verbose>1&&console.log("Creating initial clone of data at",r));let o=l(t);a(i.openapi,r,o)}0===i.resolver.actions[o.resolver.depth].length&&i.resolver.actions[o.resolver.depth].push(function(){return g(o)})})})}}).catch(function(e){t.verbose&&console.warn(e),n(e)});let r={options:t};r.actions=t.resolver.actions[t.resolver.depth],e(r)})}const y=t=>t.reduce((t,e)=>t.then(t=>e().then(Array.prototype.concat.bind(t))),Promise.resolve([]));function m(t,e,n){t.resolver.actions.push([]),g(t).then(function(r){y(r.actions).then(function(){if(t.resolver.depth>=t.resolver.actions.length)return console.warn("Ran off the end of resolver actions"),e(!0);t.resolver.depth++,t.resolver.actions[t.resolver.depth].length?setTimeout(function(){m(r.options,e,n)},0):(t.verbose>1&&console.log(p.colour.yellow+"Finished resolution!",p.colour.normal),e(t))}).catch(function(e){t.verbose&&console.warn(e),n(e)})}).catch(function(e){t.verbose&&console.warn(e),n(e)})}function b(t){if(t.cache||(t.cache={}),t.source){o.parse(t.source).protocol||(t.source=i.resolve(t.source))}t.externals||(t.externals=[]),t.externalRefs||(t.externalRefs=[]),t.rewriteRefs=!0,t.resolver={},t.resolver.depth=0,t.resolver.base=t.source,t.resolver.actions=[[]]}t.exports={optionalResolve:function(t){return b(t),new Promise(function(e,n){t.resolve?m(t,e,n):e(t)})},resolve:function(t,e,n){return n||(n={}),n.openapi=t,n.source=e,n.resolve=!0,b(n),new Promise(function(t,e){m(n,t,e)})}}},function(t,e,n){(function(t){var r=Object.getOwnPropertyDescriptors||function(t){for(var e=Object.keys(t),n={},r=0;r=o)return t;switch(t){case"%s":return String(r[n++]);case"%d":return Number(r[n++]);case"%j":try{return JSON.stringify(r[n++])}catch(t){return"[Circular]"}default:return t}}),a=r[n];n=3&&(r.depth=arguments[2]),arguments.length>=4&&(r.colors=arguments[3]),d(n)?r.showHidden=n:n&&e._extend(r,n),m(r.showHidden)&&(r.showHidden=!1),m(r.depth)&&(r.depth=2),m(r.colors)&&(r.colors=!1),m(r.customInspect)&&(r.customInspect=!0),r.colors&&(r.stylize=a),l(r,t,r.depth)}function a(t,e){var n=u.styles[e];return n?"["+u.colors[n][0]+"m"+t+"["+u.colors[n][1]+"m":t}function c(t,e){return t}function l(t,n,r){if(t.customInspect&&n&&S(n.inspect)&&n.inspect!==e.inspect&&(!n.constructor||n.constructor.prototype!==n)){var i=n.inspect(r,t);return y(i)||(i=l(t,i,r)),i}var o=function(t,e){if(m(e))return t.stylize("undefined","undefined");if(y(e)){var n="'"+JSON.stringify(e).replace(/^"|"$/g,"").replace(/'/g,"\\'").replace(/\\"/g,'"')+"'";return t.stylize(n,"string")}if(g(e))return t.stylize(""+e,"number");if(d(e))return t.stylize(""+e,"boolean");if(v(e))return t.stylize("null","null")}(t,n);if(o)return o;var s=Object.keys(n),u=function(t){var e={};return t.forEach(function(t,n){e[t]=!0}),e}(s);if(t.showHidden&&(s=Object.getOwnPropertyNames(n)),x(n)&&(s.indexOf("message")>=0||s.indexOf("description")>=0))return f(n);if(0===s.length){if(S(n)){var a=n.name?": "+n.name:"";return t.stylize("[Function"+a+"]","special")}if(b(n))return t.stylize(RegExp.prototype.toString.call(n),"regexp");if(_(n))return t.stylize(Date.prototype.toString.call(n),"date");if(x(n))return f(n)}var c,w="",A=!1,O=["{","}"];(h(n)&&(A=!0,O=["[","]"]),S(n))&&(w=" [Function"+(n.name?": "+n.name:"")+"]");return b(n)&&(w=" "+RegExp.prototype.toString.call(n)),_(n)&&(w=" "+Date.prototype.toUTCString.call(n)),x(n)&&(w=" "+f(n)),0!==s.length||A&&0!=n.length?r<0?b(n)?t.stylize(RegExp.prototype.toString.call(n),"regexp"):t.stylize("[Object]","special"):(t.seen.push(n),c=A?function(t,e,n,r,i){for(var o=[],s=0,u=e.length;s=0&&0,t+e.replace(/\u001b\[\d\d?m/g,"").length+1},0)>60)return n[0]+(""===e?"":e+"\n ")+" "+t.join(",\n ")+" "+n[1];return n[0]+e+" "+t.join(", ")+" "+n[1]}(c,w,O)):O[0]+w+O[1]}function f(t){return"["+Error.prototype.toString.call(t)+"]"}function p(t,e,n,r,i,o){var s,u,a;if((a=Object.getOwnPropertyDescriptor(e,i)||{value:e[i]}).get?u=a.set?t.stylize("[Getter/Setter]","special"):t.stylize("[Getter]","special"):a.set&&(u=t.stylize("[Setter]","special")),E(r,i)||(s="["+i+"]"),u||(t.seen.indexOf(a.value)<0?(u=v(n)?l(t,a.value,null):l(t,a.value,n-1)).indexOf("\n")>-1&&(u=o?u.split("\n").map(function(t){return" "+t}).join("\n").substr(2):"\n"+u.split("\n").map(function(t){return" "+t}).join("\n")):u=t.stylize("[Circular]","special")),m(s)){if(o&&i.match(/^\d+$/))return u;(s=JSON.stringify(""+i)).match(/^"([a-zA-Z_][a-zA-Z_0-9]*)"$/)?(s=s.substr(1,s.length-2),s=t.stylize(s,"name")):(s=s.replace(/'/g,"\\'").replace(/\\"/g,'"').replace(/(^"|"$)/g,"'"),s=t.stylize(s,"string"))}return s+": "+u}function h(t){return Array.isArray(t)}function d(t){return"boolean"==typeof t}function v(t){return null===t}function g(t){return"number"==typeof t}function y(t){return"string"==typeof t}function m(t){return void 0===t}function b(t){return w(t)&&"[object RegExp]"===A(t)}function w(t){return"object"==typeof t&&null!==t}function _(t){return w(t)&&"[object Date]"===A(t)}function x(t){return w(t)&&("[object Error]"===A(t)||t instanceof Error)}function S(t){return"function"==typeof t}function A(t){return Object.prototype.toString.call(t)}function O(t){return t<10?"0"+t.toString(10):t.toString(10)}e.debuglog=function(n){if(m(o)&&(o=t.env.NODE_DEBUG||""),n=n.toUpperCase(),!s[n])if(new RegExp("\\b"+n+"\\b","i").test(o)){var r=t.pid;s[n]=function(){var t=e.format.apply(e,arguments);console.error("%s %d: %s",n,r,t)}}else s[n]=function(){};return s[n]},e.inspect=u,u.colors={bold:[1,22],italic:[3,23],underline:[4,24],inverse:[7,27],white:[37,39],grey:[90,39],black:[30,39],blue:[34,39],cyan:[36,39],green:[32,39],magenta:[35,39],red:[31,39],yellow:[33,39]},u.styles={special:"cyan",number:"yellow",boolean:"yellow",undefined:"grey",null:"bold",string:"green",date:"magenta",regexp:"red"},e.isArray=h,e.isBoolean=d,e.isNull=v,e.isNullOrUndefined=function(t){return null==t},e.isNumber=g,e.isString=y,e.isSymbol=function(t){return"symbol"==typeof t},e.isUndefined=m,e.isRegExp=b,e.isObject=w,e.isDate=_,e.isError=x,e.isFunction=S,e.isPrimitive=function(t){return null===t||"boolean"==typeof t||"number"==typeof t||"string"==typeof t||"symbol"==typeof t||void 0===t},e.isBuffer=n(311);var C=["Jan","Feb","Mar","Apr","May","Jun","Jul","Aug","Sep","Oct","Nov","Dec"];function E(t,e){return Object.prototype.hasOwnProperty.call(t,e)}e.log=function(){var t,n;console.log("%s - %s",(t=new Date,n=[O(t.getHours()),O(t.getMinutes()),O(t.getSeconds())].join(":"),[t.getDate(),C[t.getMonth()],n].join(" ")),e.format.apply(e,arguments))},e.inherits=n(8),e._extend=function(t,e){if(!e||!w(e))return t;for(var n=Object.keys(e),r=n.length;r--;)t[n[r]]=e[n[r]];return t};var U="undefined"!=typeof Symbol?Symbol("util.promisify.custom"):void 0;function R(t,e){if(!t){var n=new Error("Promise was rejected with a falsy value");n.reason=t,t=n}return e(t)}e.promisify=function(t){if("function"!=typeof t)throw new TypeError('The "original" argument must be of type Function');if(U&&t[U]){var e;if("function"!=typeof(e=t[U]))throw new TypeError('The "util.promisify.custom" argument must be of type Function');return Object.defineProperty(e,U,{value:e,enumerable:!1,writable:!1,configurable:!0}),e}function e(){for(var e,n,r=new Promise(function(t,r){e=t,n=r}),i=[],o=0;o0?this.tail.next=e:this.head=e,this.tail=e,++this.length},t.prototype.unshift=function(t){var e={data:t,next:this.head};0===this.length&&(this.tail=e),this.head=e,++this.length},t.prototype.shift=function(){if(0!==this.length){var t=this.head.data;return 1===this.length?this.head=this.tail=null:this.head=this.head.next,--this.length,t}},t.prototype.clear=function(){this.head=this.tail=null,this.length=0},t.prototype.join=function(t){if(0===this.length)return"";for(var e=this.head,n=""+e.data;e=e.next;)n+=t+e.data;return n},t.prototype.concat=function(t){if(0===this.length)return r.alloc(0);if(1===this.length)return this.head.data;for(var e,n,i,o=r.allocUnsafe(t>>>0),s=this.head,u=0;s;)e=s.data,n=o,i=u,e.copy(n,i),u+=s.data.length,s=s.next;return o},t}(),i&&i.inspect&&i.inspect.custom&&(t.exports.prototype[i.inspect.custom]=function(){var t=i.inspect({length:this.length});return this.constructor.name+" "+t})},function(t,e){},function(t,e,n){(function(t){var r=void 0!==t&&t||"undefined"!=typeof self&&self||window,i=Function.prototype.apply;function o(t,e){this._id=t,this._clearFn=e}e.setTimeout=function(){return new o(i.call(setTimeout,r,arguments),clearTimeout)},e.setInterval=function(){return new o(i.call(setInterval,r,arguments),clearInterval)},e.clearTimeout=e.clearInterval=function(t){t&&t.close()},o.prototype.unref=o.prototype.ref=function(){},o.prototype.close=function(){this._clearFn.call(r,this._id)},e.enroll=function(t,e){clearTimeout(t._idleTimeoutId),t._idleTimeout=e},e.unenroll=function(t){clearTimeout(t._idleTimeoutId),t._idleTimeout=-1},e._unrefActive=e.active=function(t){clearTimeout(t._idleTimeoutId);var e=t._idleTimeout;e>=0&&(t._idleTimeoutId=setTimeout(function(){t._onTimeout&&t._onTimeout()},e))},n(321),e.setImmediate="undefined"!=typeof self&&self.setImmediate||void 0!==t&&t.setImmediate||this&&this.setImmediate,e.clearImmediate="undefined"!=typeof self&&self.clearImmediate||void 0!==t&&t.clearImmediate||this&&this.clearImmediate}).call(this,n(3))},function(t,e,n){(function(t,e){!function(t,n){"use strict";if(!t.setImmediate){var r,i,o,s,u,a=1,c={},l=!1,f=t.document,p=Object.getPrototypeOf&&Object.getPrototypeOf(t);p=p&&p.setTimeout?p:t,"[object process]"==={}.toString.call(t.process)?r=function(t){e.nextTick(function(){d(t)})}:!function(){if(t.postMessage&&!t.importScripts){var e=!0,n=t.onmessage;return t.onmessage=function(){e=!1},t.postMessage("","*"),t.onmessage=n,e}}()?t.MessageChannel?((o=new MessageChannel).port1.onmessage=function(t){d(t.data)},r=function(t){o.port2.postMessage(t)}):f&&"onreadystatechange"in f.createElement("script")?(i=f.documentElement,r=function(t){var e=f.createElement("script");e.onreadystatechange=function(){d(t),e.onreadystatechange=null,i.removeChild(e),e=null},i.appendChild(e)}):r=function(t){setTimeout(d,0,t)}:(s="setImmediate$"+Math.random()+"$",u=function(e){e.source===t&&"string"==typeof e.data&&0===e.data.indexOf(s)&&d(+e.data.slice(s.length))},t.addEventListener?t.addEventListener("message",u,!1):t.attachEvent("onmessage",u),r=function(e){t.postMessage(s+e,"*")}),p.setImmediate=function(t){"function"!=typeof t&&(t=new Function(""+t));for(var e=new Array(arguments.length-1),n=0;n",license:"BSD-3-Clause",dependencies:{"better-ajv-errors":"^0.6.1","call-me-maybe":"^1.0.1","js-yaml":"^3.12.0","node-fetch-h2":"^2.3.0","node-readfiles":"^0.2.0","oas-kit-common":"^1.0.6","oas-resolver":"^1.1.1","oas-schema-walker":"^1.1.2","oas-validator":"^2.0.2",reftools:"^1.0.4",yargs:"^12.0.2"},keywords:["swagger","openapi","openapi2","openapi3","converter","conversion","validator","validation","resolver","lint","linter"],gitHead:"90c589f40cb9869c94ebc06a275a4a9a0f6c6c69"}},function(t,e,n){"use strict";n.r(e);n(124); +/** + * @license + * Copyright (c) 2017 The Polymer Project Authors. All rights reserved. + * This code may only be used under the BSD style license found at + * http://polymer.github.io/LICENSE.txt + * The complete set of authors may be found at + * http://polymer.github.io/AUTHORS.txt + * The complete set of contributors may be found at + * http://polymer.github.io/CONTRIBUTORS.txt + * Code distributed by Google as part of the polymer project is also + * subject to an additional IP rights grant found at + * http://polymer.github.io/PATENTS.txt + */const r=new WeakMap,i=t=>"function"==typeof t&&r.has(t),o=void 0!==window.customElements&&void 0!==window.customElements.polyfillWrapFlushCallback,s=(t,e,n=null)=>{let r=e;for(;r!==n;){const e=r.nextSibling;t.removeChild(r),r=e}},u={},a={},c=`{{lit-${String(Math.random()).slice(2)}}}`,l=`\x3c!--${c}--\x3e`,f=new RegExp(`${c}|${l}`),p="$lit$";class h{constructor(t,e){this.parts=[],this.element=e;let n=-1,r=0;const i=[],o=e=>{const s=e.content,u=document.createTreeWalker(s,133,null,!1);let a=0;for(;u.nextNode();){n++;const e=u.currentNode;if(1===e.nodeType){if(e.hasAttributes()){const i=e.attributes;let o=0;for(let t=0;t=0&&o++;for(;o-- >0;){const i=t.strings[r],o=g.exec(i)[2],s=o.toLowerCase()+p,u=e.getAttribute(s).split(f);this.parts.push({type:"attribute",index:n,name:o,strings:u}),e.removeAttribute(s),r+=u.length-1}}"TEMPLATE"===e.tagName&&o(e)}else if(3===e.nodeType){const t=e.data;if(t.indexOf(c)>=0){const o=e.parentNode,s=t.split(f),u=s.length-1;for(let t=0;t-1!==t.index,v=()=>document.createComment(""),g=/([ \x09\x0a\x0c\x0d])([^\0-\x1F\x7F-\x9F \x09\x0a\x0c\x0d"'>=\/]+)([ \x09\x0a\x0c\x0d]*=[ \x09\x0a\x0c\x0d]*(?:[^ \x09\x0a\x0c\x0d"'`<>=]*|"[^"]*|'[^']*))$/; +/** + * @license + * Copyright (c) 2017 The Polymer Project Authors. All rights reserved. + * This code may only be used under the BSD style license found at + * http://polymer.github.io/LICENSE.txt + * The complete set of authors may be found at + * http://polymer.github.io/AUTHORS.txt + * The complete set of contributors may be found at + * http://polymer.github.io/CONTRIBUTORS.txt + * Code distributed by Google as part of the polymer project is also + * subject to an additional IP rights grant found at + * http://polymer.github.io/PATENTS.txt + */ +class y{constructor(t,e,n){this._parts=[],this.template=t,this.processor=e,this.options=n}update(t){let e=0;for(const n of this._parts)void 0!==n&&n.setValue(t[e]),e++;for(const t of this._parts)void 0!==t&&t.commit()}_clone(){const t=o?this.template.element.content.cloneNode(!0):document.importNode(this.template.element.content,!0),e=this.template.parts;let n=0,r=0;const i=t=>{const o=document.createTreeWalker(t,133,null,!1);let s=o.nextNode();for(;nnull===t||!("object"==typeof t||"function"==typeof t);class w{constructor(t,e,n){this.dirty=!0,this.element=t,this.name=e,this.strings=n,this.parts=[];for(let t=0;tthis.handleEvent(t))}setValue(t){this._pendingValue=t}commit(){for(;i(this._pendingValue);){const t=this._pendingValue;this._pendingValue=u,t(this)}if(this._pendingValue===u)return;const t=this._pendingValue,e=this.value,n=null==t||null!=e&&(t.capture!==e.capture||t.once!==e.once||t.passive!==e.passive),r=null!=t&&(null==e||n);n&&this.element.removeEventListener(this.eventName,this._boundHandleEvent,this._options),r&&(this._options=U(t),this.element.addEventListener(this.eventName,this._boundHandleEvent,this._options)),this.value=t,this._pendingValue=u}handleEvent(t){"function"==typeof this.value?this.value.call(this.eventContext||this.element,t):this.value.handleEvent(t)}}const U=t=>t&&(C?{capture:t.capture,passive:t.passive,once:t.once}:t.capture); +/** + * @license + * Copyright (c) 2017 The Polymer Project Authors. All rights reserved. + * This code may only be used under the BSD style license found at + * http://polymer.github.io/LICENSE.txt + * The complete set of authors may be found at + * http://polymer.github.io/AUTHORS.txt + * The complete set of contributors may be found at + * http://polymer.github.io/CONTRIBUTORS.txt + * Code distributed by Google as part of the polymer project is also + * subject to an additional IP rights grant found at + * http://polymer.github.io/PATENTS.txt + */const R=new class{handleAttributeExpressions(t,e,n,r){const i=e[0];return"."===i?new A(t,e.slice(1),n).parts:"@"===i?[new E(t,e.slice(1),r.eventContext)]:"?"===i?[new S(t,e.slice(1),n)]:new w(t,e,n).parts}handleTextExpression(t){return new x(t)}}; +/** + * @license + * Copyright (c) 2017 The Polymer Project Authors. All rights reserved. + * This code may only be used under the BSD style license found at + * http://polymer.github.io/LICENSE.txt + * The complete set of authors may be found at + * http://polymer.github.io/AUTHORS.txt + * The complete set of contributors may be found at + * http://polymer.github.io/CONTRIBUTORS.txt + * Code distributed by Google as part of the polymer project is also + * subject to an additional IP rights grant found at + * http://polymer.github.io/PATENTS.txt + */function T(t){let e=q.get(t.type);void 0===e&&(e={stringsArray:new WeakMap,keyString:new Map},q.set(t.type,e));let n=e.stringsArray.get(t.strings);if(void 0!==n)return n;const r=t.strings.join(c);return void 0===(n=e.keyString.get(r))&&(n=new h(t,t.getTemplateElement()),e.keyString.set(r,n)),e.stringsArray.set(t.strings,n),n}const q=new Map,P=new WeakMap; +/** + * @license + * Copyright (c) 2017 The Polymer Project Authors. All rights reserved. + * This code may only be used under the BSD style license found at + * http://polymer.github.io/LICENSE.txt + * The complete set of authors may be found at + * http://polymer.github.io/AUTHORS.txt + * The complete set of contributors may be found at + * http://polymer.github.io/CONTRIBUTORS.txt + * Code distributed by Google as part of the polymer project is also + * subject to an additional IP rights grant found at + * http://polymer.github.io/PATENTS.txt + */ +/** + * @license + * Copyright (c) 2017 The Polymer Project Authors. All rights reserved. + * This code may only be used under the BSD style license found at + * http://polymer.github.io/LICENSE.txt + * The complete set of authors may be found at + * http://polymer.github.io/AUTHORS.txt + * The complete set of contributors may be found at + * http://polymer.github.io/CONTRIBUTORS.txt + * Code distributed by Google as part of the polymer project is also + * subject to an additional IP rights grant found at + * http://polymer.github.io/PATENTS.txt + */ +(window.litHtmlVersions||(window.litHtmlVersions=[])).push("1.0.0");const z=(t,...e)=>new m(t,e,"html",R),D=133;function M(t,e){const{element:{content:n},parts:r}=t,i=document.createTreeWalker(n,D,null,!1);let o=k(r),s=r[o],u=-1,a=0;const c=[];let l=null;for(;i.nextNode();){u++;const t=i.currentNode;for(t.previousSibling===l&&(l=null),e.has(t)&&(c.push(t),null===l&&(l=t)),null!==l&&a++;void 0!==s&&s.index===u;)s.index=null!==l?-1:s.index-a,s=r[o=k(r,o)]}c.forEach(t=>t.parentNode.removeChild(t))}const j=t=>{let e=11===t.nodeType?0:1;const n=document.createTreeWalker(t,D,null,!1);for(;n.nextNode();)e++;return e},k=(t,e=-1)=>{for(let n=e+1;n`${t}--${e}`;let L=!0;void 0===window.ShadyCSS?L=!1:void 0===window.ShadyCSS.prepareTemplateDom&&(console.warn("Incompatible ShadyCSS version detected.Please update to at least @webcomponents/webcomponentsjs@2.0.2 and@webcomponents/shadycss@1.3.1."),L=!1);const N=t=>e=>{const n=F(e.type,t);let r=q.get(n);void 0===r&&(r={stringsArray:new WeakMap,keyString:new Map},q.set(n,r));let i=r.stringsArray.get(e.strings);if(void 0!==i)return i;const o=e.strings.join(c);if(void 0===(i=r.keyString.get(o))){const n=e.getTemplateElement();L&&window.ShadyCSS.prepareTemplateDom(n,t),i=new h(e,n),r.keyString.set(o,i)}return r.stringsArray.set(e.strings,i),i},I=["html","svg"],$=new Set,B=(t,e,n)=>{$.add(n);const r=t.querySelectorAll("style");if(0===r.length)return void window.ShadyCSS.prepareTemplateStyles(e.element,n);const i=document.createElement("style");for(let t=0;t{I.forEach(e=>{const n=q.get(F(e,t));void 0!==n&&n.keyString.forEach(t=>{const{element:{content:e}}=t,n=new Set;Array.from(e.querySelectorAll("style")).forEach(t=>{n.add(t)}),M(t,n)})})})(n),function(t,e,n=null){const{element:{content:r},parts:i}=t;if(null==n)return void r.appendChild(e);const o=document.createTreeWalker(r,D,null,!1);let s=k(i),u=0,a=-1;for(;o.nextNode();)for(a++,o.currentNode===n&&(u=j(e),n.parentNode.insertBefore(e,n));-1!==s&&i[s].index===a;){if(u>0){for(;-1!==s;)i[s].index+=u,s=k(i,s);return}s=k(i,s)}}(e,i,e.element.content.firstChild),window.ShadyCSS.prepareTemplateStyles(e.element,n),window.ShadyCSS.nativeShadow){const n=e.element.content.querySelector("style");t.insertBefore(n.cloneNode(!0),t.firstChild)}else{e.element.content.insertBefore(i,e.element.content.firstChild);const t=new Set;t.add(i),M(e,t)}}; +/** + * @license + * Copyright (c) 2017 The Polymer Project Authors. All rights reserved. + * This code may only be used under the BSD style license found at + * http://polymer.github.io/LICENSE.txt + * The complete set of authors may be found at + * http://polymer.github.io/AUTHORS.txt + * The complete set of contributors may be found at + * http://polymer.github.io/CONTRIBUTORS.txt + * Code distributed by Google as part of the polymer project is also + * subject to an additional IP rights grant found at + * http://polymer.github.io/PATENTS.txt + */ +window.JSCompiler_renameProperty=((t,e)=>t);const H={toAttribute(t,e){switch(e){case Boolean:return t?"":null;case Object:case Array:return null==t?t:JSON.stringify(t)}return t},fromAttribute(t,e){switch(e){case Boolean:return null!==t;case Number:return null===t?null:Number(t);case Object:case Array:return JSON.parse(t)}return t}},Y=(t,e)=>e!==t&&(e==e||t==t),Z={attribute:!0,type:String,converter:H,reflect:!1,hasChanged:Y},X=Promise.resolve(!0),W=1,J=4,G=8,Q=16,V=32;class K extends HTMLElement{constructor(){super(),this._updateState=0,this._instanceProperties=void 0,this._updatePromise=X,this._hasConnectedResolver=void 0,this._changedProperties=new Map,this._reflectingProperties=void 0,this.initialize()}static get observedAttributes(){this.finalize();const t=[];return this._classProperties.forEach((e,n)=>{const r=this._attributeNameForProperty(n,e);void 0!==r&&(this._attributeToPropertyMap.set(r,n),t.push(r))}),t}static _ensureClassProperties(){if(!this.hasOwnProperty(JSCompiler_renameProperty("_classProperties",this))){this._classProperties=new Map;const t=Object.getPrototypeOf(this)._classProperties;void 0!==t&&t.forEach((t,e)=>this._classProperties.set(e,t))}}static createProperty(t,e=Z){if(this._ensureClassProperties(),this._classProperties.set(t,e),e.noAccessor||this.prototype.hasOwnProperty(t))return;const n="symbol"==typeof t?Symbol():`__${t}`;Object.defineProperty(this.prototype,t,{get(){return this[n]},set(e){const r=this[t];this[n]=e,this._requestUpdate(t,r)},configurable:!0,enumerable:!0})}static finalize(){if(this.hasOwnProperty(JSCompiler_renameProperty("finalized",this))&&this.finalized)return;const t=Object.getPrototypeOf(this);if("function"==typeof t.finalize&&t.finalize(),this.finalized=!0,this._ensureClassProperties(),this._attributeToPropertyMap=new Map,this.hasOwnProperty(JSCompiler_renameProperty("properties",this))){const t=this.properties,e=[...Object.getOwnPropertyNames(t),..."function"==typeof Object.getOwnPropertySymbols?Object.getOwnPropertySymbols(t):[]];for(const n of e)this.createProperty(n,t[n])}}static _attributeNameForProperty(t,e){const n=e.attribute;return!1===n?void 0:"string"==typeof n?n:"string"==typeof t?t.toLowerCase():void 0}static _valueHasChanged(t,e,n=Y){return n(t,e)}static _propertyValueFromAttribute(t,e){const n=e.type,r=e.converter||H,i="function"==typeof r?r:r.fromAttribute;return i?i(t,n):t}static _propertyValueToAttribute(t,e){if(void 0===e.reflect)return;const n=e.type,r=e.converter;return(r&&r.toAttribute||H.toAttribute)(t,n)}initialize(){this._saveInstanceProperties(),this._requestUpdate()}_saveInstanceProperties(){this.constructor._classProperties.forEach((t,e)=>{if(this.hasOwnProperty(e)){const t=this[e];delete this[e],this._instanceProperties||(this._instanceProperties=new Map),this._instanceProperties.set(e,t)}})}_applyInstanceProperties(){this._instanceProperties.forEach((t,e)=>this[e]=t),this._instanceProperties=void 0}connectedCallback(){this._updateState=this._updateState|V,this._hasConnectedResolver&&(this._hasConnectedResolver(),this._hasConnectedResolver=void 0)}disconnectedCallback(){}attributeChangedCallback(t,e,n){e!==n&&this._attributeToProperty(t,n)}_propertyToAttribute(t,e,n=Z){const r=this.constructor,i=r._attributeNameForProperty(t,n);if(void 0!==i){const t=r._propertyValueToAttribute(e,n);if(void 0===t)return;this._updateState=this._updateState|G,null==t?this.removeAttribute(i):this.setAttribute(i,t),this._updateState=this._updateState&~G}}_attributeToProperty(t,e){if(this._updateState&G)return;const n=this.constructor,r=n._attributeToPropertyMap.get(t);if(void 0!==r){const t=n._classProperties.get(r)||Z;this._updateState=this._updateState|Q,this[r]=n._propertyValueFromAttribute(e,t),this._updateState=this._updateState&~Q}}_requestUpdate(t,e){let n=!0;if(void 0!==t){const r=this.constructor,i=r._classProperties.get(t)||Z;r._valueHasChanged(this[t],e,i.hasChanged)?(this._changedProperties.has(t)||this._changedProperties.set(t,e),!0!==i.reflect||this._updateState&Q||(void 0===this._reflectingProperties&&(this._reflectingProperties=new Map),this._reflectingProperties.set(t,i))):n=!1}!this._hasRequestedUpdate&&n&&this._enqueueUpdate()}requestUpdate(t,e){return this._requestUpdate(t,e),this.updateComplete}async _enqueueUpdate(){let t,e;this._updateState=this._updateState|J;const n=this._updatePromise;this._updatePromise=new Promise((n,r)=>{t=n,e=r});try{await n}catch(t){}this._hasConnected||await new Promise(t=>this._hasConnectedResolver=t);try{const t=this.performUpdate();null!=t&&await t}catch(t){e(t)}t(!this._hasRequestedUpdate)}get _hasConnected(){return this._updateState&V}get _hasRequestedUpdate(){return this._updateState&J}get hasUpdated(){return this._updateState&W}performUpdate(){this._instanceProperties&&this._applyInstanceProperties();let t=!1;const e=this._changedProperties;try{(t=this.shouldUpdate(e))&&this.update(e)}catch(e){throw t=!1,e}finally{this._markUpdated()}t&&(this._updateState&W||(this._updateState=this._updateState|W,this.firstUpdated(e)),this.updated(e))}_markUpdated(){this._changedProperties=new Map,this._updateState=this._updateState&~J}get updateComplete(){return this._updatePromise}shouldUpdate(t){return!0}update(t){void 0!==this._reflectingProperties&&this._reflectingProperties.size>0&&(this._reflectingProperties.forEach((t,e)=>this._propertyToAttribute(e,this[e],t)),this._reflectingProperties=void 0)}updated(t){}firstUpdated(t){}}K.finalized=!0;const tt="adoptedStyleSheets"in Document.prototype&&"replace"in CSSStyleSheet.prototype,et=Symbol();class nt{constructor(t,e){if(e!==et)throw new Error("CSSResult is not constructable. Use `unsafeCSS` or `css` instead.");this.cssText=t}get styleSheet(){return void 0===this._styleSheet&&(tt?(this._styleSheet=new CSSStyleSheet,this._styleSheet.replaceSync(this.cssText)):this._styleSheet=null),this._styleSheet}toString(){return this.cssText}}const rt=(t,...e)=>{const n=e.reduce((e,n,r)=>e+(t=>{if(t instanceof nt)return t.cssText;throw new Error(`Value passed to 'css' function must be a 'css' function result: ${t}. Use 'unsafeCSS' to pass non-literal values, but\n take care to ensure page security.`)})(n)+t[r+1],t[0]);return new nt(n,et)}; +/** + * @license + * Copyright (c) 2017 The Polymer Project Authors. All rights reserved. + * This code may only be used under the BSD style license found at + * http://polymer.github.io/LICENSE.txt + * The complete set of authors may be found at + * http://polymer.github.io/AUTHORS.txt + * The complete set of contributors may be found at + * http://polymer.github.io/CONTRIBUTORS.txt + * Code distributed by Google as part of the polymer project is also + * subject to an additional IP rights grant found at + * http://polymer.github.io/PATENTS.txt + */ +(window.litElementVersions||(window.litElementVersions=[])).push("2.0.1");const it=t=>t.flat?t.flat(1/0):function t(e,n=[]){for(let r=0,i=e.length;r(t.add(e),t),new Set).forEach(t=>e.unshift(t))}else t&&e.push(t);return e}initialize(){super.initialize(),this.renderRoot=this.createRenderRoot(),window.ShadowRoot&&this.renderRoot instanceof window.ShadowRoot&&this.adoptStyles()}createRenderRoot(){return this.attachShadow({mode:"open"})}adoptStyles(){const t=this.constructor._styles;0!==t.length&&(void 0===window.ShadyCSS||window.ShadyCSS.nativeShadow?tt?this.renderRoot.adoptedStyleSheets=t.map(t=>t.styleSheet):this._needsShimAdoptedStyleSheets=!0:window.ShadyCSS.ScopingShim.prepareAdoptedCssText(t.map(t=>t.cssText),this.localName))}connectedCallback(){super.connectedCallback(),this.hasUpdated&&void 0!==window.ShadyCSS&&window.ShadyCSS.styleElement(this)}update(t){super.update(t);const e=this.render();e instanceof m&&this.constructor.render(e,this.renderRoot,{scopeName:this.localName,eventContext:this}),this._needsShimAdoptedStyleSheets&&(this._needsShimAdoptedStyleSheets=!1,this.constructor._styles.forEach(t=>{const e=document.createElement("style");e.textContent=t.cssText,this.renderRoot.appendChild(e)}))}render(){}}ot.finalized=!0,ot.render=((t,e,n)=>{const r=n.scopeName,i=P.has(e),o=e instanceof ShadowRoot&&L&&t instanceof m,u=o&&!$.has(r),a=u?document.createDocumentFragment():e;if(((t,e,n)=>{let r=P.get(e);void 0===r&&(s(e,e.firstChild),P.set(e,r=new x(Object.assign({templateFactory:T},n))),r.appendInto(e)),r.setValue(t),r.commit()})(t,a,Object.assign({templateFactory:N(r)},n)),u){const t=P.get(a);P.delete(a),t.value instanceof y&&B(a,t.value.template,r),s(e,e.firstChild),e.appendChild(a),P.set(e,t)}!i&&o&&window.ShadyCSS.styleElement(e.host)}); +/** + * @license + * Copyright (c) 2017 The Polymer Project Authors. All rights reserved. + * This code may only be used under the BSD style license found at + * http://polymer.github.io/LICENSE.txt + * The complete set of authors may be found at + * http://polymer.github.io/AUTHORS.txt + * The complete set of contributors may be found at + * http://polymer.github.io/CONTRIBUTORS.txt + * Code distributed by Google as part of the polymer project is also + * subject to an additional IP rights grant found at + * http://polymer.github.io/PATENTS.txt + */ +const st=new WeakMap,ut=(t=>(...e)=>{const n=t(...e);return r.set(n,!0),n})(t=>e=>{if(!(e instanceof x))throw new Error("unsafeHTML can only be used in text bindings");const n=st.get(e);if(void 0!==n&&b(t)&&t===n.value&&e.value===n.fragment)return;const r=document.createElement("template");r.innerHTML=t;const i=document.importNode(r.content,!0);e.setValue(i),st.set(e,{value:t,fragment:i})});function at(){const t=function(t,e){e||(e=t.slice(0));return Object.freeze(Object.defineProperties(t,{raw:{value:Object.freeze(e)}}))}(['']);return at=function(){return t},t}customElements.define("m-logo",class extends ot{render(){return z(at())}});var ct={color:{inputReverseFg:"#fff",inputReverseBg:"#333",headerBg:"#444",getRgb:function(t){if(0===t.indexOf("#")&&(t=t.slice(1)),3===t.length&&(t=t[0]+t[0]+t[1]+t[1]+t[2]+t[2]),6!==t.length)throw new Error("Invalid HEX color.");return{r:parseInt(t.slice(0,2),16),g:parseInt(t.slice(2,4),16),b:parseInt(t.slice(4,6),16)}},invert:function(t){let e=this.getRgb(t);return.299*e.r+.587*e.g+.114*e.b>186?"#333":"#fff"},opacity:function(t,e){let n=this.getRgb(t);return"rgba(".concat(n.r,", ").concat(n.r,", ").concat(n.r,", ").concat(e,")")},brightness(t,e){let n=this.getRgb(t);return n.r=n.r+e,n.g=n.g+e,n.b=n.b+e,n.r>255?n.r=255:n.r<0&&(n.r=0),n.g>255?n.g=255:n.g<0&&(n.g=0),n.b>255?n.b=255:n.b<0&&(n.b=0),"#".concat(n.r.toString(16).padStart(2,"0")).concat(n.g.toString(16).padStart(2,"0")).concat(n.b.toString(16).padStart(2,"0"))}}},lt=n(2),ft=n.n(lt);function pt(){const t=function(t,e){e||(e=t.slice(0));return Object.freeze(Object.defineProperties(t,{raw:{value:Object.freeze(e)}}))}([""]);return pt=function(){return t},t}var ht=z(pt());function dt(){const t=xt(['',""]);return dt=function(){return t},t}function vt(){const t=xt(['"','"']);return vt=function(){return t},t}function gt(){const t=xt(["",":"]);return gt=function(){return t},t}function yt(){const t=xt(['
    ',"","
    "]);return yt=function(){return t},t}function mt(){const t=xt(['
    ','
    ','
    ',"
    "]);return mt=function(){return t},t}function bt(){const t=xt(["",""]);return bt=function(){return t},t}function wt(){const t=xt(['
    null
    ']);return wt=function(){return t},t}function _t(){const t=xt(["",'
    ',"
    "]);return _t=function(){return t},t}function xt(t,e){return e||(e=t.slice(0)),Object.freeze(Object.defineProperties(t,{raw:{value:Object.freeze(e)}}))}function St(){const t=Lt(["",""]);return St=function(){return t},t}function At(){const t=Lt(["",""]);return At=function(){return t},t}function Ot(){const t=Lt(['
    ',"
    "]);return Ot=function(){return t},t}function Ct(){const t=Lt(["",""]);return Ct=function(){return t},t}function Et(){const t=Lt(["",""]);return Et=function(){return t},t}function Ut(){const t=Lt(['',""]);return Ut=function(){return t},t}function Rt(){const t=Lt(["",":"]);return Rt=function(){return t},t}function Tt(){const t=Lt(['
    '," ","
    "]);return Tt=function(){return t},t}function qt(){const t=Lt(["",""]);return qt=function(){return t},t}function Pt(){const t=Lt(['',""]);return Pt=function(){return t},t}function zt(){const t=Lt(['
    ',"
    ",'
    ','
    ',"
    "]);return zt=function(){return t},t}function Dt(){const t=Lt(["[ ]"]);return Dt=function(){return t},t}function Mt(){const t=Lt(['{ } ',""]);return Mt=function(){return t},t}function jt(){const t=Lt(["",""]);return jt=function(){return t},t}function kt(){const t=Lt(['
    null
    ']);return kt=function(){return t},t}function Ft(){const t=Lt(["",'
    ',"
    "]);return Ft=function(){return t},t}function Lt(t,e){return e||(e=t.slice(0)),Object.freeze(Object.defineProperties(t,{raw:{value:Object.freeze(e)}}))}customElements.define("json-tree",class extends ot{render(){return z(_t(),ht,this.generateTree(this.data))}static get properties(){return{data:{type:Object}}}generateTree(t){if(null===t)return z(wt());if("object"==typeof t){let e=Array.isArray(t)?"array":"pure_object";return 0===Object.keys(t).length?z(bt(),Array.isArray(t)?"[ ]":"{ }"):z(mt(),"array"===e?"array":"object",this.toggleExpand,"array"===e?"[":"{",Object.keys(t).map(n=>z(yt(),"pure_object"===e?z(gt(),n):"",this.generateTree(t[n]))),"array"===e?"]":"}")}return z("string"==typeof t?vt():dt(),typeof t,t)}toggleExpand(t){t.target.classList.contains("expanded")?(t.target.classList.add("collapsed"),t.target.classList.remove("expanded"),t.target.innerHTML=t.target.classList.contains("array")?"[...]":"{...}",t.target.nextElementSibling.style.display="none",t.target.nextElementSibling.nextElementSibling.style.display="none"):(t.target.classList.remove("collapsed"),t.target.classList.add("expanded"),t.target.innerHTML=t.target.classList.contains("array")?"[":"{",t.target.nextElementSibling.style.display="block",t.target.nextElementSibling.nextElementSibling.style.display="block")}});function Nt(){const t=$t([".tags{\n display:flex;\n flex-wrap: wrap;\n outline: none;\n padding:0;\n border-radius:var(--border-radius);\n border:1px solid var(--input-border-color);\n cursor:text;\n overflow:hidden;\n }\n .tag, .editor{\n padding:3px;\n margin:2px;\n }\n .tag{\n border:1px solid var(--border-color);\n background-color:var(--bg2);\n color:var(--fg2);\n border-radius:var(--border-radius);\n word-break: break-all;\n cursor: none;\n }\n .tag:hover ~ #cursor {\n display: block;\n }\n .editor{\n flex:1;\n border:1px solid transparent;\n background:var(--input-bg);\n color:var(--fg);\n min-width:60px;\n outline: none;\n line-height: inherit;\n font-family:inherit;\n font-size:inherit;\n }\n .editor::placeholder {\n color: var(--placeholder-color);\n opacity:1;\n }"]);return Nt=function(){return t},t}function It(){const t=$t(['
    ']);return It=function(){return t},t}function $t(t,e){return e||(e=t.slice(0)),Object.freeze(Object.defineProperties(t,{raw:{value:Object.freeze(e)}}))}customElements.define("schema-tree",class extends ot{render(){return z(Ft(),ht,this.generateTree(this.data))}static get properties(){return{data:{type:Object}}}generateTree(t){if(null===t)return z(kt());if("object"==typeof t){let e=Array.isArray(t)?"array":"pure_object";return 0===Object.keys(t).length?z(jt(),Array.isArray(t)?"[ ]":"{ }"):1===Object.keys(t).length&&":description"===Object.keys(t)[0]?z(Mt(),t[":description"]):"array"===e&&"~|~"===t[0]?z(Dt()):z(zt(),"array"===e?"array":"object",this.toggleExpand,"array"===e?"[":"{",t[":description"]?z(Pt(),t[":description"]):"",Object.keys(t).map(n=>z(qt(),":description"!==n?z(Tt(),"pure_object"===e?z(Rt(),n):"",this.generateTree(t[n])):"")),"array"===e?"]":"}")}return z(Ut(),t?z(Et(),t.split("~|~").map((t,e)=>z(Ct(),t?z(Ot(),0==e?"item-type "+t.substring(0,4):"m-markdown-small item-descr",0==e?z(At(),t):z(St(),ut(ft()(t)))):""))):"")}toggleExpand(t){t.target.classList.contains("expanded")?(t.target.classList.add("collapsed"),t.target.classList.remove("expanded"),t.target.innerHTML=t.target.classList.contains("array")?"[...]":"{...}",t.target.parentNode.querySelectorAll(":scope > .obj-content-part").forEach(t=>t.style.display="none")):(t.target.classList.remove("collapsed"),t.target.classList.add("expanded"),t.target.innerHTML=t.target.classList.contains("array")?"[":"{",t.target.parentNode.querySelectorAll(":scope > .obj-content-part").forEach(t=>t.style.display=t.classList.contains("obj-descr")?"inline":"block"))}});function Bt(){const t=function(t,e){e||(e=t.slice(0));return Object.freeze(Object.defineProperties(t,{raw:{value:Object.freeze(e)}}))}([""]);return Bt=function(){return t},t}customElements.define("tag-input",class extends ot{render(){return z(It(),this.afterPaste,this.afterKeyDown,this.placeholder)}static get styles(){return[rt(Nt())]}static get properties(){return{placeholder:{type:String}}}afterPaste(t){let e=(t.clipboardData||window.clipboardData).getData("Text");console.log(e)}afterKeyDown(t){if(13===t.keyCode){t.stopPropagation(),t.preventDefault();let e=document.createElement("span");""!==t.target.value.trim()&&(e.innerText=t.target.value,t.target.value="",e.classList.add("tag"),e.setAttribute("contenteditable","false"),this.shadowRoot.querySelector(".tags").insertBefore(e,t.target))}else 8===t.keyCode&&0===t.target.selectionStart&&t.target.previousSibling&&t.target.previousSibling.remove()}getValues(){let t=[],e=this.shadowRoot.querySelectorAll(".tag");for(let n of e)t.push(n.innerText);return t}});var Ht=z(Bt());function Yt(){const t=function(t,e){e||(e=t.slice(0));return Object.freeze(Object.defineProperties(t,{raw:{value:Object.freeze(e)}}))}([""]);return Yt=function(){return t},t}var Zt=z(Yt());function Xt(){const t=function(t,e){e||(e=t.slice(0));return Object.freeze(Object.defineProperties(t,{raw:{value:Object.freeze(e)}}))}(['']);return Xt=function(){return t},t}var Wt=z(Xt(),ct.color.inputReverseBg,ct.color.inputReverseFg);function Jt(){const t=function(t,e){e||(e=t.slice(0));return Object.freeze(Object.defineProperties(t,{raw:{value:Object.freeze(e)}}))}([""]);return Jt=function(){return t},t}var Gt=z(Jt());function Qt(t){let e=arguments.length>1&&void 0!==arguments[1]?arguments[1]:null;if(!t)return;let n={hasCircularRefs:"circular"===t.type,format:t.format?t.format:"",pattern:t.pattern&&!t.enum?t.pattern:"",readOnly:t.readOnly?"🆁 ":"",writeOnly:t.writeOnly?"🆆 ":"",depricated:t.deprecated?"❌ ":"",default:0==t.default?"0 ":t.default?t.default:"",type:"",arrayType:"",allowedValues:"",constrain:"",html:""};if(n.hasCircularRefs)return n;if(t.enum){let e="";t.enum.map(function(t){e+="".concat(t,", ")}),n.type="enum",n.allowedValues=e.slice(0,-2)}else t.type&&(n.type=t.type);if("array"===t.type&&t.items){let e=t.items;if(n.arrayType="".concat(t.type," of ").concat(e.type),n.default=0==e.default?"0 ":e.default?e.default:"",e.enum){let t="";e.enum.map(function(e){t+="".concat(e,", ")}),n.allowedValues=t.slice(0,-2)}}else"integer"===t.type||"number"===t.type?(void 0!==t.minimum&&void 0!==t.maximum?n.constrain="".concat(t.exclusiveMinimum?">":"").concat(t.minimum," ⋯ ").concat(t.exclusiveMaximum?"<":""," ").concat(t.maximum):void 0!==t.minimum&&void 0===t.maximum?n.constrain="".concat(t.exclusiveMinimum?">":"≥").concat(t.minimum):void 0===t.minimum&&void 0!==t.maximum&&(n.constrain="".concat(t.exclusiveMaximum?"<":"≤").concat(t.maximum)),void 0!==t.multipleOf&&(n.constrain="(multiple of ".concat(t.multipleOf,")"))):"string"===t.type&&(void 0!==t.minLength&&void 0!==t.maxLength?n.constrain="(".concat(t.minLength," to ").concat(t.maxLength," chars)"):void 0!==t.minLength&&void 0===t.maxLength?n.constrain="(min:".concat(t.minLength," chars)"):void 0===t.minLength&&void 0!==t.maxLength&&(n.constrain="(max:".concat(t.maxLength," chars)")));e&&(e.readOnly&&(n.readOnly="🆁 "),e.writeOnly&&(n.writeOnly="🆆 "),e.deprecated&&(n.deprecated="❌ "));let r="".concat(n.type);return n.allowedValues&&(r+=":(".concat(n.allowedValues,")")),n.readOnly&&(r+=" 🆁"),n.writeOnly&&(r+=" 🆆"),n.deprecated&&(r+=" ❌"),n.constrain&&(r+=" ".concat(n.constrain)),n.format&&(r+=" ".concat(n.format)),n.pattern&&(r+=" ".concat(n.pattern)),n.html=r,n}function Vt(t,e){if(null!=t){if("object"===t.type||t.properties){t.description&&(e[":description"]=t.description);for(let n in t.properties)t.required&&t.required.includes(n)?e[n+"*"]=Vt(t.properties[n],{}):e[n]=Vt(t.properties[n],{})}else if("array"===t.type||t.items)e=[Vt(t.items,{})];else{if(!t.allOf)return"".concat(Qt(t).html,"~|~").concat(t.description?t.description:"");{if(1===t.allOf.length){if(t.allOf[0]){let e={readOnly:t.readOnly,writeOnly:t.writeOnly,deprecated:t.deprecated};return"".concat(Qt(t.allOf[0],e).html,"~|~").concat(t.description?t.description:"")}return"string~|~".concat(t.description?t.description:"")}let n={};t.allOf.map(function(t){if(t&&t.properties){let e=Vt(t,{});Object.assign(n,e)}}),e=n}}return e}}function Kt(t,e,n,r,i){let o=[];if(t)for(let e in t){let n="";n=r.toLowerCase().includes("json")&&"text"===i?JSON.stringify(t[e].value,void 0,2):t[e].value,o.push({exampleType:r,exampleValue:n})}else if(e){let t="";t=r.toLowerCase().includes("json")&&"text"===i?JSON.stringify(e,void 0,2):e,o.push({exampleType:r,exampleValue:t})}if(0==o.length)if(n)if(r.toLowerCase().includes("json")||r.toLowerCase().includes("*/*")){let t=function t(e,n){let r=arguments.length>2&&void 0!==arguments[2]?arguments[2]:{};if(null==e)return;if("object"===e.type||e.properties)for(let i in e.properties)e.properties[i].deprecated||e.properties[i].readOnly&&!r.includeReadOnly||e.properties[i].writeOnly&&!r.includeWriteOnly||(n[i]=t(e.properties[i],{},r));else if("array"===e.type||e.items)n=[t(e.items,{},r)];else{if(!e.allOf)return te(e);{if(1===e.allOf.length)return e.allOf[0]?te(e.allOf[0]):"string";let i={};e.allOf.map(function(e){if(e&&e.type){let n=t(e,{},r);Object.assign(i,n)}}),n=i}}return n}(n,{},{includeReadOnly:!0,includeWriteOnly:!0,deprecated:!0});o.push({exampleType:r,exampleValue:"text"===i?JSON.stringify(t,void 0,2):t})}else o.push({exampleType:r,exampleValue:""});else o.push({exampleType:r,exampleValue:""});return o}function te(t){if(t.example)return t.example;if(0===Object.keys(t).length)return null;switch(t.format||t.type||(t.enum?"enum":null)){case"int32":case"int64":case"integer":return 0;case"float":case"double":case"number":return.5;case"string":return t.enum?t.enum[0]:t.pattern?t.pattern:"string";case"byte":return btoa("string");case"binary":return"binary";case"boolean":return!1;case"date":return new Date(0).toISOString().split("T")[0];case"date-time":case"dateTime":return new Date(0).toISOString();case"password":return"password";case"enum":return t.enum[0];case"uri":return"http://example.com";case"uuid":return"3fa85f64-5717-4562-b3fc-2c963f66afa6";case"email":return"user@example.com";case"hostname":return"example.com";case"ipv4":return"198.51.100.42";case"ipv6":return"2001:0db8:5b96:0000:0000:426f:8e17:642a";case"circular":return"CIRCULAR REF";default:return t.nullable?null:t.$ref?"data of type ".concat(t.$ref):(console.warn("Unknown schema value",t),"?")}}function ee(){let t=arguments.length>0&&void 0!==arguments[0]?arguments[0]:0;const e=new WeakSet;return(n,r)=>{if("object"==typeof r&&null!==r){if(e.has(r)){if(t>0)return{};{let n=JSON.parse(JSON.stringify(r,ee(t+1)));return e.add(n),n}}e.add(r)}return r}}function ne(){const t=ze(['"]);return ne=function(){return t},t}function re(){const t=ze(['
    ']);return re=function(){return t},t}function ie(){const t=ze(['
    Response Status: ','
    ','
    "]);return ie=function(){return t},t}function oe(){const t=ze(['
    No Authentication Token provided
    ']);return oe=function(){return t},t}function se(){const t=ze(['
    Authentication:  
    send
    \'',"'
    in
    '","'
    with value
    '","'
    "]);return se=function(){return t},t}function ue(){const t=ze(['
    Not Set
    ']);return ue=function(){return t},t}function ae(){const t=ze(["",""]);return ae=function(){return t},t}function ce(){const t=ze(['
    API_Server:
    ','
    ','
    ',""]);return ce=function(){return t},t}function le(){const t=ze(['']);return le=function(){return t},t}function fe(){const t=ze(['']);return fe=function(){return t},t}function pe(){const t=ze([""," ",""]);return pe=function(){return t},t}function he(){const t=ze(["",""]);return he=function(){return t},t}function de(){const t=ze(['
    ','
    ','
    ']);return de=function(){return t},t}function ve(){const t=ze(["",""]);return ve=function(){return t},t}function ge(){const t=ze(['
    '," DATA ","
    "," ",""]);return ge=function(){return t},t}function ye(){const t=ze(['
    ',"
    "]);return ye=function(){return t},t}function me(){const t=ze(['',""]);return me=function(){return t},t}function be(){const t=ze(['']);return be=function(){return t},t}function we(){const t=ze([''],['']);return we=function(){return t},t}function _e(){const t=ze(['
    ','
    ','
    ','
    ',""]);return _e=function(){return t},t}function xe(){const t=ze(['
    ',"
    "]);return xe=function(){return t},t}function Se(){const t=ze(['
    ','
    ',"
    "]);return Se=function(){return t},t}function Ae(){const t=ze(['',""]);return Ae=function(){return t},t}function Oe(){const t=ze(["",""]);return Oe=function(){return t},t}function Ce(){const t=ze(["","
    "]);return Ce=function(){return t},t}function Ee(){const t=ze(['']);return Ee=function(){return t},t}function Ue(){const t=ze([''],['']);return Ue=function(){return t},t}function Re(){const t=ze(['*']);return Re=function(){return t},t}function Te(){const t=ze(['
    ',"",'
    ','
    ','
    '," ","
    ",""]);return Te=function(){return t},t}function qe(){const t=ze(["",""]);return qe=function(){return t},t}function Pe(){const t=ze([""," "," "," "," ",'
    REQUEST
    '," "," "," "," "," ","
    "]);return Pe=function(){return t},t}function ze(t,e){return e||(e=t.slice(0)),Object.freeze(Object.defineProperties(t,{raw:{value:Object.freeze(e)}}))}function De(){const t=He(['
    ','
    ']);return De=function(){return t},t}function Me(){const t=He(['
    Content-Type: '," (Binary Data)
    "]);return Me=function(){return t},t}function je(){const t=He(['
    EXAMPLE: ',""]);return je=function(){return t},t}function ke(){const t=He(['',''," ",""]);return ke=function(){return t},t}function Fe(){const t=He(['
    Response Headers:
    ',"
    "]);return Fe=function(){return t},t}function Le(){const t=He(['
    ',': '," ","
    ",""]);return Le=function(){return t},t}function Ne(){const t=He(["",""]);return Ne=function(){return t},t}function Ie(t){for(var e=1;e.title{\n font-family:var(--font-regular);\n font-size:var(--title-font-size);\n font-weight:bold;\n margin-bottom:8px;\n }\n .resp-head{\n vertical-align: middle;\n padding:16px 0 8px;\n }\n .resp-head.divider{\n border-top: 1px solid var(--border-color);\n margin-top:10px;\n }\n .resp-status{ \n font-weight:bold;\n font-size:calc(var(--small-font-size) + 1px);\n }\n .resp-descr{\n font-size:calc(var(--small-font-size) + 1px);\n color:var(--light-fg);\n }\n .top-gap{margin-top:16px;}\n .tab-buttons{\n height:30px;\n border-bottom: 1px solid var(--light-border-color) ;\n align-items: stretch;\n }\n .tab-btn{\n color:var(--fg);\n border:none;\n background-color:transparent;\n cursor:pointer;\n padding:1px;\n outline:none;\n font-size:var(--small-font-size);\n margin-right:16px;\n padding:1px;\n }\n .tab-btn.active{\n border-bottom: 3px solid var(--primary-color);\n font-weight:bold;\n color:var(--primary-color);\n }\n\n .tab-btn:hover{\n color:var(--primary-color);\n }\n .tab-content{\n margin:-1px 0 0 0;\n }\n .descr-text{\n color:var(--light-fg);\n font-family:var(--font-regular);\n }\n .tree{\n padding:16px 2px;\n }\n @media only screen and (min-width: 768px){\n .tree {\n padding:16px;\n }\n }
    RESPONSE
    ',"
    "]);return Be=function(){return t},t}function He(t,e){return e||(e=t.slice(0)),Object.freeze(Object.defineProperties(t,{raw:{value:Object.freeze(e)}}))}customElements.define("api-request",class extends ot{render(){return z(Pe(),Ht,Wt,ht,Zt,Gt,this.inputParametersTemplate("path"),this.inputParametersTemplate("query"),this.requestBodyTemplate(),this.inputParametersTemplate("header"),this.inputParametersTemplate("cookie"),"false"===this.allowTry?"":z(qe(),this.apiCallTemplate()))}constructor(){super(),this.responseMessage="",this.responseStatus="success",this.responseHeaders="",this.responseText="",this.responseUrl="",this.curlSyntax=""}static get properties(){return{apiKeyName:{type:String,attribute:"api-key-name"},apiKeyValue:{type:String,attribute:"api-key-value"},apiKeyLocation:{type:String,attribute:"api-key-location"},selectedServer:{type:String,attribute:"selected-server"},method:{type:String},path:{type:String},parameters:{type:Array},request_body:{type:Object},parser:{type:Object},accept:{type:String},responseMessage:{type:String,attribute:!1},responseText:{type:String,attribute:!1},responseHeaders:{type:String,attribute:!1},responseStatus:{type:String,attribute:!1},responseUrl:{type:String,attribute:!1},allowTry:{type:String,attribute:"allow-try"}}}inputParametersTemplate(t){let e="",n=this.parameters?this.parameters.filter(e=>e.in===t):[];if(0==n.length)return"";"path"===t?e="PATH PARAMETERS":"query"===t?e="QUERY-STRING PARAMETERS":"header"===t?e="REQUEST HEADERS":"cookie"===t&&(e="COOKIES");const r=[];for(const e of n){if(!e.schema)continue;let n=Qt(e.schema),i="";i=e.example?"0"==e.example||0==e.example?"0":e.example:n.default,r.push(z(Te(),e.required?z(Re()):"",e.name,"array"===n.type?"".concat(n.arrayType):"".concat(n.type).concat(n.format?" (".concat(n.format,")"):""),"array"===n.type?z(Ue(),t,e.name):z(Ee(),e.name,t,i),n.constrain?z(Ce(),n.constrain):"",n.allowedValues?z(Oe(),n.allowedValues):"",e.description?z(Ae(),ut(ft()(e.description))):""))}return z(Se(),e,r)}requestBodyTemplate(){if(!this.request_body)return"";if(0==Object.keys(this.request_body).length)return"";let t=0,e={},n=this.request_body.description?z(xe(),ut(ft()(this.request_body.description))):"",r="",i="";const o=[];let s=!1,u="",a=this.request_body.content;for(let n in a){n.includes("json")?e[n]="json":n.includes("xml")?e[n]="xml":n.includes("text/plain")?e[n]="text":n.includes("form-urlencoded")?e[n]="form-urlencoded":n.includes("multipart/form-data")&&(e[n]="multipart-form-data");let c=a[n],l="";if(n.includes("json")||n.includes("xml")||n.includes("text/plain")){try{c.schema=JSON.parse(JSON.stringify(c.schema,ee()))}catch(t){return void console.error("Unable to resolve circular refs in schema",c.schema)}u=Vt(c.schema,{}),l=Kt(c.schema?c.schema.examples:"",c.schema?c.schema.example:"",c.schema,n,"text"),r+='\n ")}else if(n.includes("form")||n.includes("multipart-form")){s=!0;for(const t in c.schema.properties){const e=c.schema.properties[t],n=e.type,r="array"===e.type?e.items.type:"";o.push(z(_e(),t,"array"===n?"".concat(n," of ").concat(r):"".concat(n," ").concat(e.format?" (".concat(e.format,")"):""),"array"===n?z(we(),n,t):z(be(),"binary"===e.format?"file":"text",t,n),e.description?z(me(),ut(ft()(e.description))):""))}i=z(ye(),e[n],o)}t++}return z(ge(),s?"form_data":"body_data",s?"FORM":"BODY",this.request_body.required?"(required)":"",n,s?z(ve(),i):z(de(),this.activateTab,1==t?"\n ".concat(Object.keys(e)[0],"\n "):z(he(),Object.keys(e).map(t=>z(pe(),"json"===e[t]?z(fe(),e[t],this.onMimeTypeChange):z(le(),e[t],this.onMimeTypeChange),e[t]))),ut(r),u))}apiCallTemplate(){return z(ce(),this.selectedServer?z(ae(),this.selectedServer):z(ue()),this.apiKeyValue&&this.apiKeyName?z(se(),this.apiKeyName,this.apiKeyLocation,this.apiKeyValue.substring(0,3)+"***"):z(oe()),this.onTryClick,""===this.responseMessage?"":z(ie(),this.responseStatus,this.responseMessage,this.clearResponseData,this.activateTab,this.responseIsBlob?z(re(),this.downloadResponseBlob):z(ne(),this.responseText),this.responseHeaders,this.curlSyntax))}activateTab(t){if(t.target.classList.contains("active")||!1===t.target.classList.contains("tab-btn"))return;let e=t.currentTarget.parentNode.querySelector(".tab-btn.active"),n=t.target;e.classList.remove("active"),t.target.classList.add("active");let r=this.shadowRoot.getElementById(n.attributes.content_id.value),i=t.currentTarget.parentNode.querySelectorAll(".tab-content");r&&(r.style.display="flex",i.forEach(function(t){t.attributes.id.value!==n.attributes.content_id.value&&(t.style.display="none")}))}onMimeTypeChange(t){[...t.target.closest(".tab-panel").querySelectorAll("textarea.request-body-param")].map(function(e){e.style.display=e.classList.contains(t.target.value)?"block":"none"})}onTryClick(t){let e,n,r,i=this,o="",s="",u="",a="",c=t.target.closest(".request-panel"),l=[...c.querySelectorAll(".request-param[data-ptype='path']")],f=[...c.querySelectorAll(".request-param[data-ptype='query']")],p=[...c.querySelectorAll(".request-param[data-ptype='header']")],h=[...c.querySelectorAll(".request-form-param")],d=[...c.querySelectorAll(".request-body-param")];if(e=i.path,n={mode:"cors",method:this.method.toUpperCase(),headers:{}},l.map(function(t){e=e.replace("{"+t.dataset.pname+"}",encodeURIComponent(t.value))}),f.length>0){let t=new URLSearchParams("");f.map(function(e){if("false"===e.dataset.array)""!==e.value&&t.append(e.dataset.pname,encodeURIComponent(e.value));else{let n=e.getValues();for(let r of n)t.append(e.dataset.pname,encodeURIComponent(r))}}),e="".concat(e,"?").concat(t.toString())}if(this.apiKeyValue&&this.apiKeyName&&"query"===this.apiKeyLocation&&(e="".concat(e,"&").concat(this.apiKeyName,"=").concat(encodeURIComponent(this.apiKeyValue))),r=!1===(e="".concat(this.selectedServer.replace(/\/$/,"")).concat(e)).startsWith("http")?new URL(e,location.href).href:e,o="curl -X ".concat(this.method.toUpperCase(),' "').concat(r,'" '),this.accept&&(n.headers.Accept=this.accept,s+=' -H "Accept: '.concat(this.accept,'"')),p.map(function(t){t.value&&(n.headers[t.dataset.pname]=t.value,s+=' -H "'.concat(n.headers[t.dataset.pname],": ").concat(t.value,'"'))}),this.apiKeyValue&&this.apiKeyName&&"header"===this.apiKeyLocation&&(n.headers[this.apiKeyName]=this.apiKeyValue,s+=' -H "'.concat(this.apiKeyName,": ").concat(this.apiKeyValue,'"')),h.length>=1){let t=c.querySelector("form");const e=new URLSearchParams,r=new FormData;h.map(function(t){if("false"===t.dataset.array)"file"!==t.type?""!==t.value&&(e.append(t.dataset.pname,t.value),r.append(t.dataset.pname,t.value),a+=' -F "'.concat(t.dataset.pname,"=").concat(t.value,'"')):t.files[0]&&(e.append(t.dataset.pname,t.files[0]),r.append(t.dataset.pname,t.files[0]),a+=' -F "'.concat(t.dataset.pname,"=@").concat(t.value,'"'));else{let n=t.getValues();for(let i of n)e.append(t.dataset.pname,i),r.append(t.dataset.pname,i),a+=' -F "'.concat(t.dataset.pname,"=").concat(i,'"')}}),t.classList.contains("form-urlencoded")?(n.headers["Content-Type"]="application/x-www-form-urlencoded; charset=utf-8",s+=' -H "Content-Type: application/x-www-form-urlencoded"',n.body=e):(s+=' -H "Content-Type: multipart/form-data"',n.body=r)}if(d.length>=1)if(1===d.length)n.headers["Content-Type"]=d[0].dataset.ptype,s+=' -H "Content-Type: '.concat(d[0].dataset.ptype,'"'),n.body=d[0].value,u=" -d ".concat(JSON.stringify(d[0].value.replace(/(\r\n|\n|\r)/gm,"")));else{let e=t.target.closest(".request-panel").querySelector("input[name='request_body_type']:checked"),r=null===e?"json":e.value,i="";"json"===r?(i=c.querySelector(".request-body-param.json").value,n.headers["Content-Type"]="application/json; charset=utf-8",s+=' -H "Content-Type: application/json"'):"xml"===r?(i=c.querySelector(".request-body-param.xml").value,n.headers["Content-Type"]="application/xml; charset=utf-8",s+=' -H "Content-Type: application/xml"'):"text"===r&&(i=c.querySelector(".request-body-param.text").value,n.headers["Content-Type"]="text/plain; charset=utf-8",s+=' -H "Content-Type: text/plain"'),n.body=i,u=" -d ".concat(JSON.stringify(i.replace(/(\r\n|\n|\r)/gm,"")))}i.responseUrl="",i.responseHeaders="",i.curlSyntax="",i.responseStatus="success",i.responseIsBlob=!1,i.respContentDisposition="",i.responseBlobUrl&&(URL.revokeObjectURL(i.responseBlobUrl),i.responseBlobUrl=""),i.curlSyntax="".concat(o," ").concat(s," ").concat(u," ").concat(a),fetch(e,n).then(function(t){i.responseStatus=t.ok?"success":"error",i.responseMessage="".concat(t.statusText,":").concat(t.status),i.responseUrl=t.url,t.headers.forEach(function(t,e){i.responseHeaders=i.responseHeaders+"".concat(e.trim(),": ").concat(t)+"\n"});let e=t.headers.get("content-type");if(e)if(e.includes("json"))t.json().then(function(t){i.responseText=JSON.stringify(t,null,2)});else if(e.includes("octet-stream")){i.responseIsBlob=!0;let e=t.headers.get("content-disposition");i.respContentDisposition=e?e.split("filename=")[1]:"filename",t.blob().then(function(t){i.responseBlobUrl=URL.createObjectURL(t)})}else t.text().then(function(t){i.responseText=t});else t.text().then(function(t){i.responseText=t})}).catch(function(t){i.responseMessage=t.message+" (CORS or Network Issue)"})}downloadResponseBlob(){if(this.responseBlobUrl){let t=document.createElement("a");document.body.appendChild(t),t.style="display: none",t.href=this.responseBlobUrl,t.download=this.respContentDisposition,t.click(),t.remove()}}clearResponseData(){this.responseUrl="",this.responseHeaders="",this.responseText="",this.responseStatus="success",this.responseMessage="",this.responseIsBlob=!1,this.respContentDisposition="",this.responseBlobUrl&&(URL.revokeObjectURL(this.responseBlobUrl),this.responseBlobUrl="")}disconnectedCallback(){this.responseBlobUrl&&(URL.revokeObjectURL(this.responseBlobUrl),this.responseBlobUrl="")}});function Ye(){const t=tn([".only-large-screen {\n display:none;\n }\n\n .head .path{\n display: flex;\n font-family:var(--font-mono);\n font-size: var(--small-font-size);\n align-items: center;\n overflow-wrap: break-word;\n word-break: break-all;\n }\n\n .head .descr{\n font-size: var(--small-font-size);\n color:var(--light-fg);\n font-weight:400;\n align-items: center;\n overflow-wrap: break-word;\n word-break: break-all;\n display:none;\n }\n\n .m-endpoint.expanded{margin-bottom:16px; }\n .m-endpoint > .head{\n border-width:1px 1px 1px 5px;\n border-style:solid;\n border-color:transparent;\n border-top-color:var(--light-border-color);\n display:flex;\n padding:6px 16px;\n align-items: center;\n cursor: pointer;\n }\n .m-endpoint > .head.put:hover,\n .m-endpoint > .head.put.expanded{\n border-color:var(--put-color); \n background-color:var(--light-put-color); \n }\n .m-endpoint > .head.post:hover,\n .m-endpoint > .head.post.expanded{\n border-color:var(--post-color); \n background-color:var(--light-post-color); \n }\n .m-endpoint > .head.get:hover,\n .m-endpoint > .head.get.expanded{\n border-color:var(--get-color); \n background-color:var(--light-get-color); \n }\n .m-endpoint > .head.delete:hover,\n .m-endpoint > .head.delete.expanded{\n border-color:var(--delete-color); \n background-color:var(--light-delete-color); \n }\n .m-endpoint > .head.patch:hover,\n .m-endpoint > .head.patch.expanded{\n border-color:var(--patch-color); \n background-color:var(--light-patch-color); \n }\n .m-endpoint .body {\n flex-wrap:wrap;\n padding:16px 0px 0 0px;\n border-width:0px 1px 1px 5px;\n border-style:solid;\n box-shadow: 0px 4px 3px -3px rgba(0, 0, 0, 0.15);\n }\n .m-endpoint .body.delete{ border-color:var(--delete-color); }\n .m-endpoint .body.patch{ border-color:var(--patch-color); }\n .m-endpoint .body.put{ border-color:var(--put-color); }\n .m-endpoint .body.post{border-color:var(--post-color);}\n .m-endpoint .body.get{ border-color:var(--get-color); }\n\n .head .deprecated{\n text-decoration: line-through red;\n }\n\n .summary{\n padding:8px 8px;\n }\n .summary .title{\n font-size:calc(var(--title-font-size) + 2px);\n margin-bottom: 6px;\n word-break: break-all;\n }\n\n .method{\n padding:2px 5px;\n vertical-align: middle;\n height: 20px;\n line-height: 20px;\n min-width: 48px;\n border-radius: 2px;\n display:inline-block;\n font-size:var(--small-font-size);\n text-align: center;\n font-weight: bold;\n text-transform:uppercase;\n margin-right:5px;\n }\n .method.delete{ border: 2px solid var(--delete-color);}\n .method.patch{ border: 2px solid var(--patch-color); }\n .method.put{ border: 2px solid var(--put-color); }\n .method.post{ border: 2px solid var(--post-color); }\n .method.get{ border: 2px solid var(--get-color); }\n\n .req-resp-container{\n display: flex;\n margin-top:16px;\n align-items: stretch;\n flex-wrap: wrap;\n flex-direction: column;\n border-top:1px solid var(--light-border-color);\n }\n .request,\n .response{\n flex:1; \n min-height:100px;\n padding:16px 8px;\n overflow:hidden;\n }\n .request{\n border-width:0 0 1px 0;\n border-style:dashed;\n }\n .patch .request{ \n border-color:var(--patch-color); \n }\n .put .request{ \n border-color:var(--put-color); \n }\n .post .request{ \n border-color:var(--post-color); \n }\n .get .request{ \n border-color:var(--get-color); \n }\n .delete .request{ \n border-color:var(--delete-color); \n }\n\n\n @media only screen and (min-width: 768px){\n .head .path{\n font-size: var(--regular-font-size);\n min-width:400px;\n }\n .head .descr{\n display: flex;\n }\n .head .m-markdown-small,\n .descr .m-markdown-small{\n display:block;\n }\n .only-large-screen{\n display:block;\n }\n .req-resp-container{\n flex-direction: var(--layout, row);\n }\n .request{\n border-width:0 1px 0 0;\n padding:16px 24px;\n }\n .response{\n padding:16px 24px;\n } \n .summary{\n padding:8px 24px;\n }\n }"]);return Ye=function(){return t},t}function Ze(){const t=tn(['
    ',"
    "]);return Ze=function(){return t},t}function Xe(){const t=tn(['
    ',"
    ","
    "]);return Xe=function(){return t},t}function We(){const t=tn(['
    ','
    ']);return We=function(){return t},t}function Je(){const t=tn(['deprecated']);return Je=function(){return t},t}function Ge(){const t=tn([""]);return Ge=function(){return t},t}function Qe(){const t=tn([""]);return Qe=function(){return t},t}function Ve(){const t=tn(["",""]);return Ve=function(){return t},t}function Ke(){const t=tn(["","",'
    \x3c!-- Endpoint Head --\x3e
    ','
    ',"
    ",'
    ',"
    \x3c!-- Endpoint Body --\x3e ","
    "]);return Ke=function(){return t},t}function tn(t,e){return e||(e=t.slice(0)),Object.freeze(Object.defineProperties(t,{raw:{value:Object.freeze(e)}}))}customElements.define("api-response",class extends ot{render(){return z(Be(),ht,Zt,Ht,Wt,this.responseTemplate())}static get properties(){return{responses:{type:Object},parser:{type:Object}}}responseTemplate(){let t={},e={},n="",r={};for(let i in this.responses){let o={},s=0;for(let e in this.responses[i].content){let r=this.responses[i].content[e],u=Vt(r.schema,{}),a=Kt(r.schema?r.schema.examples:"",r.schema?r.schema.example:"",r.schema,e,"json");o[e]={description:this.responses[i].description,examples:a,schemaTree:u},e.includes("json")&&(n=e),t[i]=e,s++}let u=[];for(let t in this.responses[i].headers)u.push(Ie({name:t},this.responses[i].headers[t]));e[i]=u,r[i]=o}return z(Ne(),Object.keys(this.responses).map((t,n)=>z(Le(),0===n?"top-gap":"divider",t,this.responses[t].description,e[t]&&e[t].length>0?z(Fe(),e[t].map(t=>z(ke(),t.name,ut(ft()(t.description)),t.schema&&t.schema.example?z(je(),t.schema.example):""))):"",Object.keys(r[t]).map(e=>e.includes("octet-stream")?z(Me(),e):z(De(),t,e,this.activateTab,t,e,t,e,e,t,e,r[t][e].examples[0].exampleValue,t,e,r[t][e].schemaTree)))))}activateTab(t){if(t.target.classList.contains("active")||!1===t.target.classList.contains("tab-btn"))return;t.currentTarget.parentNode.querySelector(".tab-btn.active").classList.remove("active"),t.target.classList.add("active");let e=t.target.attributes.content_id.value,n=t.currentTarget.parentNode.querySelectorAll(".tab-content");e&&n.forEach(function(t){t.style.display=t.attributes.id.value===e?"flex":"none"})}});function en(){const t=rn(['']);return en=function(){return t},t}function nn(){const t=rn(["",""]);return nn=function(){return t},t}function rn(t,e){return e||(e=t.slice(0)),Object.freeze(Object.defineProperties(t,{raw:{value:Object.freeze(e)}}))}customElements.define("end-point",class extends ot{render(){return z(Ke(),ht,window.innerWidth>=768?z(Ve(),"row"===this.layout?z(Qe()):z(Ge())):"",this.path.method,this.path.expanded?"expanded":"collapsed",this.toggleExpand,this.path.method,this.path.expanded?"expanded":"collapsed",this.path.method,this.path.method,this.path.deprecated?"deprecated":"",this.path.path,this.path.deprecated?z(Je()):"",ut(ft()(this.path.summary)),this.path.expanded?z(We(),this.path.method,this.path.summary||this.path.description?z(Xe(),ut(ft()(this.path.summary)),this.path.summary!==this.path.description?z(Ze(),ut(ft()(this.path.description?this.path.description:""))):""):"",this.path.method,this.path.path,this.apiKeyName,this.apiKeyValue,this.apiKeyLocation,this.selectedServer,this.path.parameters,this.path.requestBody,this.allowTry,this.accept,this.path.responses):"")}static get styles(){return[rt(Ye())]}constructor(){super(),this.accept=""}static get properties(){return{apiKeyName:{type:String,attribute:"api-key-name"},apiKeyValue:{type:String,attribute:"api-key-value"},apiKeyLocation:{type:String,attribute:"api-key-location"},selectedServer:{type:String,attribute:"selected-server"},layout:{type:String},path:{type:Object},allowTry:{type:String,attribute:"allow-try"}}}toggleExpand(){if(this.path.expanded)this.path.expanded=!1;else{this.path.expanded=!0;let t="";for(let e in this.path.responses)for(let n in this.path.responses[e].content)t=t+n+", ";t=t.replace(/,\s*$/,""),this.accept=t}this.requestUpdate()}});function on(){const t=gn(['
    Refresh URL: ',"
    "]);return on=function(){return t},t}function sn(){const t=gn(['
    Token URL: ',"
    "]);return sn=function(){return t},t}function un(){const t=gn(['
    Auth URL: ',"
    "]);return un=function(){return t},t}function an(){const t=gn([""," "," ",'
    ']);return an=function(){return t},t}function cn(){const t=gn(["
    ","
    "]);return cn=function(){return t},t}function ln(){const t=gn(["Send 'Authorization' in header which will contains the word 'Bearer' followed by a space and a Token String.
    "]);return ln=function(){return t},t}function fn(){const t=gn(["Send 'Authorization' in header which will contains the word 'Basic' followed by a space and a base64-encoded string username:password.
    "]);return fn=function(){return t},t}function pn(){const t=gn(["Send '","' in '","' with the given value
    "]);return pn=function(){return t},t}function hn(){const t=gn(['
    ',"
    "]);return hn=function(){return t},t}function dn(){const t=gn(['
    ',": "," ","
    "," "," "," ",""]);return dn=function(){return t},t}function vn(){const t=gn([""," "," ",'
    AUTHENTICATION
    ',"
    TypeAuthentication Procedure
    "]);return vn=function(){return t},t}function gn(t,e){return e||(e=t.slice(0)),Object.freeze(Object.defineProperties(t,{raw:{value:Object.freeze(e)}}))}customElements.define("end-points",class extends ot{render(){return z(nn(),this.paths.filter(t=>!this.matchPaths||"".concat(t.method," ").concat(t.path).includes(this.matchPaths)).map(t=>z(en(),this.selectedServer,this.apiKeyName?this.apiKeyName:"",this.apiKeyValue?this.apiKeyValue:"",this.apiKeyLocation,this.layout,t,this.allowTry?this.allowTry:"true")))}static get properties(){return{apiKeyName:{type:String,attribute:"api-key-name"},apiKeyValue:{type:String,attribute:"api-key-value"},apiKeyLocation:{type:String,attribute:"api-key-location"},selectedServer:{type:String,attribute:"selected-server"},layout:{type:String},paths:{type:Object},matchPaths:{type:String,attribute:"match-paths"},allowTry:{type:String,attribute:"allow-try"}}}});customElements.define("security-schemes",class extends ot{render(){return z(vn(),ht,Ht,Wt,Object.keys(this.schemes).map(t=>z(dn(),this.schemes[t].type,this.schemes[t].scheme,this.schemes[t].description?z(hn(),ut(ft()(this.schemes[t].description))):"","apiKey"===this.schemes[t].type?z(pn(),this.schemes[t].name,this.schemes[t].in,t,this.schemes[t].type,this.schemes[t].in,this.schemes[t].name,t,t,t,t,this.selectedApiKeyValue?"CLEAR":"SET",this.dispatchChange,this.selectedApiKeyValue?"CLEAR":"SET"):"","http"===this.schemes[t].type&&"basic"===this.schemes[t].scheme?z(fn(),t,this.schemes[t].type,this.schemes[t].scheme,t,t,t,t,t,this.selectedApiKeyValue?"CLEAR":"SET",this.dispatchChange,this.selectedApiKeyValue?"CLEAR":"SET"):"","http"===this.schemes[t].type&&"bearer"===this.schemes[t].scheme?z(ln(),t,this.schemes[t].type,this.schemes[t].scheme,t,t,t,t,this.selectedApiKeyValue?"CLEAR":"SET",this.dispatchChange,this.selectedApiKeyValue?"CLEAR":"SET"):"","oauth2"===this.schemes[t].type?z(cn(),Object.keys(this.schemes[t].flows).map(e=>z(an(),this.schemes[t].flows[e].authorizationUrl?z(un(),this.schemes[t].flows[e].authorizationUrl):"",this.schemes[t].flows[e].tokenUrl?z(sn(),this.schemes[t].flows[e].tokenUrl):"",this.schemes[t].flows[e].refreshUrl?z(on(),this.schemes[t].flows[e].refreshUrl):"",t,t))):"")))}static get properties(){return{schemes:{type:Object},selectedApiKeyName:{type:String,attribute:"selected-api-key-name"},selectedApiKeyValue:{type:String,attribute:"selected-api-key-value"}}}dispatchChange(t){let e=t.target.closest(".".concat(t.target.dataset.class));if(!e)return;let n=e.dataset.type,r=e.dataset.in,i=e.dataset.name,o=e.dataset.inputname,s="";if("CLEAR"===t.target.dataset.action){let t=e.querySelector("input[name=".concat(o,"-token]"));t&&(t.value="")}else if("apiKey"===n){let t=e.querySelector("input[name=".concat(o,"-token]"));t&&(s=t.value)}else if("http"===n){let t=e.dataset.scheme;if("basic"===t){let t=e.querySelector("input[name=".concat(o,"-username]")),n=e.querySelector("input[name=".concat(o,"-password]"));t&&n&&(s="Basic "+btoa(t.value+":"+n.value))}else if("bearer"===t){let t=e.querySelector("input[name=".concat(o,"-bearer-token]"));t&&(s="Bearer "+t.value)}}let u=new CustomEvent("change",{detail:{keyType:n,keyName:i,keyValue:s,keyLocation:r}});this.dispatchEvent(u)}});var yn=n(123),mn=n.n(yn),bn=n(65),wn=n.n(bn);function _n(t,e,n,r,i,o,s){try{var u=t[o](s),a=u.value}catch(t){return void n(t)}u.done?e(a):Promise.resolve(a).then(r,i)}function xn(){var t;return t=function*(t){let e,n,r,i,o,s,u="";i={patch:!0,warnOnly:!0};try{(u=(n="string"==typeof t?yield wn.a.convertUrl(t,i):yield wn.a.convertObj(t,i)).source.trim()).startsWith("/")&&(u=(s=new URL("."+u,location.href)).pathname),o={resolveCirculars:!1,location:u},e=(r=yield mn.a.resolveRefs(n.openapi,o)).resolved}catch(t){console.info("%c There was an issue while parsing the spec %o ","color:orangered",t)}console.info("%c Spec Conversion - Success !!! ","color:cornflowerblue");let a=e,c=["get","put","post","delete","patch","options","head"],l=[],f=0;for(let t in a.paths){let e=a.paths[t].parameters,n={summary:a.paths[t].summary,description:a.paths[t].description,servers:a.paths[t].servers?a.paths[t].servers:[],parameters:a.paths[t].parameters?a.paths[t].parameters:[]};c.forEach(function(r){let i,o,s;if(a.paths[t][r]){let u=a.paths[t][r];if(u.tags)o=u.tags[0],a.tags&&(s=a.tags.find(function(t){return t.name===o}));else{let e=t.indexOf("/",1);-1===e?e=t.length-1:e-=1,o=t.substr(1,e)}(i=l.find(t=>t.name==o))||(i={show:!0,name:o,description:s?s.description:"",paths:[]},l.push(i));let c=u.summary?u.summary:"",p=u.description?u.description:"";if(!c&&p)if(p.length>100){let t=-1;(-1===(t=p.indexOf("\n"))||t>100)&&(t=p.indexOf(". ")),(-1===t||t>100)&&(t=p.indexOf(".")),c=-1===t||t>100?p:p.substr(0,t)}else c=p;let h=[];h=e?u.parameters?e.filter(t=>{if(!u.parameters.some(e=>t.name===e.name&&t.in===e.in))return t}).concat(u.parameters):e.slice(0):u.parameters?u.parameters.slice(0):[],i.paths.push({show:!0,expanded:!1,expandedAtLeastOnce:!1,summary:c,method:r,description:u.description,path:t,operationId:u.operationId,requestBody:u.requestBody,parameters:h,servers:u.servers?n.servers.concat(u.servers):n.servers,responses:u.responses,deprecated:u.deprecated,security:u.security,commonSummary:n.summary,commonDescription:n.description}),f++}})}let p={},h=[];return p=a.components?a.components.securitySchemes:{},a.servers?a.servers.map(function(t){let e=t.url.trim().toLowerCase();t.url&&"http"!==e.substr(0,4)&&("//"==e.substr(0,2)?t.url=location.protocol+t.url:t.url=location.origin+t.url)}):a.servers=[{url:location.origin}],h=a.servers,l.sort((t,e)=>t.namee.name?1:0),{info:a.info,tags:l,externalDocs:a.externalDocs,securitySchemes:p,servers:h,basePath:a.basePath,totalPathCount:f}},(xn=function(){var e=this,n=arguments;return new Promise(function(r,i){var o=t.apply(e,n);function s(t){_n(o,r,i,s,u,"next",t)}function u(t){_n(o,r,i,s,u,"throw",t)}s(void 0)})}).apply(this,arguments)}function Sn(){const t=In(['
    ','
    ','
    ']);return Sn=function(){return t},t}function An(){const t=In(["",""]);return An=function(){return t},t}function On(){const t=In(['
    ']);return On=function(){return t},t}function Cn(){const t=In([' ',"
    "]);return Cn=function(){return t},t}function En(){const t=In([' ',"
    "]);return En=function(){return t},t}function Un(){const t=In(["",""]);return Un=function(){return t},t}function Rn(){const t=In(['
    "]);return Rn=function(){return t},t}function Tn(){const t=In(["",""]);return Tn=function(){return t},t}function qn(){const t=In(['',""]);return qn=function(){return t},t}function Pn(){const t=In(['
    '," ","
    ","
    "]);return Pn=function(){return t},t}function zn(){const t=In(['
    Loading ...
    ']);return zn=function(){return t},t}function Dn(){const t=In(['
    ']);return Dn=function(){return t},t}function Mn(){const t=In([' ']);return Mn=function(){return t},t}function jn(){const t=In(['
    ']);return jn=function(){return t},t}function kn(){const t=In(['
    ','
    '," ",'',"
    "]);return kn=function(){return t},t}function Fn(){const t=In([""]);return Fn=function(){return t},t}function Ln(){const t=In([""]);return Ln=function(){return t},t}function Nn(){const t=In([""," "," "," "," ","",'
    '," "," "," "," ",'
    ']);return Nn=function(){return t},t}function In(t,e){return e||(e=t.slice(0)),Object.freeze(Object.defineProperties(t,{raw:{value:Object.freeze(e)}}))}class $n extends ot{render(){return z(Nn(),ht,Wt,Zt,Ht,"dark"===this.theme?z(Ln()):z(Fn()),this.primaryColor?"".concat(this.primaryColor):"#FF791A",ct.color.brightness(this.primaryColor?this.primaryColor:"#FF791A",-30),this.primaryColor?"".concat(ct.color.invert(this.primaryColor)):"#ffffff",this.headerColor?"".concat(this.headerColor):"#444",this.headerColor?"".concat(ct.color.invert(this.headerColor)):"#ccc",this.layout?"".concat(this.layout):"row",this.monoFont?"".concat(this.monoFont):"Monaco, 'Andale Mono', 'Roboto Mono', Consolas",this.regularFont?"".concat(this.regularFont):"rapidoc, Helvetica, Arial",this.headerColor?ct.color.brightness(this.headerColor,-20):ct.color.inputReverseBg,"false"===this.showHeader?"":z(kn(),this.headingText,"false"===this.allowSpecUrlLoad?"":z(jn(),this.specUrl?this.specUrl:"",this.onSepcUrlChange),"false"===this.allowSpecFileLoad?"":z(Mn(),this.specFile?this.specFile:"",this.onSepcFileChange,this.onFileLoadClick),"false"===this.allowSearch?"":z(Dn(),this.onSearchChange)),!0===this.loading?z(zn()):"","false"!==this.showInfo&&this.resolvedSpec&&this.resolvedSpec.info?z(Pn(),this.resolvedSpec.info.title,this.resolvedSpec.info.version?z(qn(),this.resolvedSpec.info.version):"",this.resolvedSpec.info.description?z(Tn(),ut("
    ".concat(ft()(this.resolvedSpec.info.description),"
    "))):""):"","false"!==this.allowTry&&this.resolvedSpec?z(Rn(),this.resolvedSpec.servers&&0!==this.resolvedSpec.servers.length?z(Un(),this.resolvedSpec.servers.map(t=>z(En(),t.url,this.onApiServerChange,t.url))):"",this.serverUrl?z(Cn(),this.serverUrl,this.onApiServerChange,this.serverUrl):""):"","false"!==this.allowAuthentication&&this.resolvedSpec&&this.resolvedSpec.securitySchemes?z(On(),this.resolvedSpec.securitySchemes,this.apiKeyName?this.apiKeyName:"",this.apiKeyValue?this.apiKeyValue:"",this.onSecurityChange):"",this.resolvedSpec&&this.resolvedSpec.tags?z(An(),this.resolvedSpec.tags.map(t=>z(Sn(),t.name,ut("
    ".concat(ft()(t.description?t.description:""),"
    ")),this.selectedServer?this.selectedServer:"",this.apiKeyName?this.apiKeyName:"",this.apiKeyValue?this.apiKeyValue:"",this.apiKeyLocation?this.apiKeyLocation:"",this.layout?this.layout:"row",t.paths,this.allowTry?this.allowTry:"true",this.matchPaths))):"")}static get properties(){return{specUrl:{type:String,attribute:"spec-url"},specFile:{type:String,attribute:!1},serverUrl:{type:String,attribute:"server-url"},matchPaths:{type:String,attribute:"match-paths"},headingText:{type:String,attribute:"heading-text"},headerColor:{type:String,attribute:"header-color"},primaryColor:{type:String,attribute:"primary-color"},regularFont:{type:String,attribute:"regular-font"},monoFont:{type:String,attribute:"mono-font"},showHeader:{type:String,attribute:"show-header"},showInfo:{type:String,attribute:"show-info"},allowAuthentication:{type:String,attribute:"allow-authentication"},allowTry:{type:String,attribute:"allow-try"},allowSpecUrlLoad:{type:String,attribute:"allow-spec-url-load"},allowSpecFileLoad:{type:String,attribute:"allow-spec-file-load"},allowSearch:{type:String,attribute:"allow-search"},layout:{type:String},theme:{type:String},logoUrl:{type:String,attribute:"logo-url"},apiKeyName:{type:String,attribute:"api-key-name"},apiKeyValue:{type:String,attribute:"api-key-value"},apiKeyLocation:{type:String,attribute:"api-key-location"}}}attributeChangedCallback(t,e,n){"spec-url"==t&&e!==n&&this.loadSpec(n),super.attributeChangedCallback(t,e,n)}onSepcUrlChange(t){this.setAttribute("spec-url",this.shadowRoot.getElementById("spec-url").value)}onSepcFileChange(t){let e=this;this.setAttribute("spec-file",this.shadowRoot.getElementById("spec-file").value);let n=t.target.files[0],r=new FileReader;r.onload=function(t){try{let t=JSON.parse(r.result);e.loadSpec(t),e.shadowRoot.getElementById("spec-url").value=""}catch(t){alert("Unable to read or parse json"),console.log("Unable to read or parse json")}},r.readAsText(n)}onFileLoadClick(){this.shadowRoot.getElementById("spec-file").click()}onApiServerChange(){let t=this.shadowRoot.querySelector("input[name='api_server']:checked");null!==t&&(this.selectedServer=t.value,this.requestUpdate())}onSecurityChange(t){this.apiKeyName=t.detail.keyName,this.apiKeyValue=t.detail.keyValue,this.apiKeyLocation=t.detail.keyLocation}onSearchChange(t){this.matchPaths=t.target.value}loadSpec(t){let e=this;t&&(this.loading=!0,this.apiKeyName="",this.apiKeyValue="",this.apiKeyLocation="",this.selectedServer="",this.matchPaths="",function(t){return xn.apply(this,arguments)}(t).then(function(t){e.loading=!1,null==t&&console.error("Unable to resolve the API spec. "),console.log(t),e.afterSpecParsedAndValidated(t)}).catch(function(t){e.loading=!1,console.error("Unable to resolve the API spec.. "+t.message)}))}afterSpecParsedAndValidated(t){arguments.length>1&&void 0!==arguments[1]&&arguments[1];this.resolvedSpec=t,this.requestUpdate(),window.setTimeout(()=>{this.onApiServerChange()},0)}}customElements.define("rapi-doc",$n);e.default={RapiDoc:$n}}]); +//# sourceMappingURL=rapidoc-min.js.map \ No newline at end of file diff --git a/modules/openapi-generator-online/src/main/resources/version.properties b/modules/openapi-generator-online/src/main/resources/version.properties new file mode 100644 index 0000000000..410af8cc68 --- /dev/null +++ b/modules/openapi-generator-online/src/main/resources/version.properties @@ -0,0 +1 @@ +version = ${project.version} From 1730a4efceb5ed52b79a9ac388f151e186d0c985 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Michael=20Pet=C3=B6?= Date: Sun, 30 Jun 2019 06:07:49 +0200 Subject: [PATCH 17/22] Fix typo in javascript generator template (#3249) * Fix typo in javascript generator template * Update sample client --- .../resources/Javascript/es6/README.mustache | 4 +- .../client/petstore/javascript-es6/README.md | 4 +- .../petstore/javascript-promise-es6/README.md | 4 +- .../javascript-es6/.openapi-generator/VERSION | 2 +- .../petstore/javascript-es6/.travis.yml | 4 +- .../client/petstore/javascript-es6/README.md | 51 +++++- .../docs/AdditionalPropertiesClass.md | 1 + .../petstore/javascript-es6/docs/Animal.md | 1 + .../javascript-es6/docs/AnotherFakeApi.md | 11 +- .../javascript-es6/docs/ApiResponse.md | 1 + .../docs/ArrayOfArrayOfNumberOnly.md | 1 + .../javascript-es6/docs/ArrayOfNumberOnly.md | 1 + .../petstore/javascript-es6/docs/ArrayTest.md | 1 + .../javascript-es6/docs/Capitalization.md | 1 + .../petstore/javascript-es6/docs/Cat.md | 1 + .../petstore/javascript-es6/docs/CatAllOf.md | 9 + .../petstore/javascript-es6/docs/Category.md | 1 + .../javascript-es6/docs/ClassModel.md | 1 + .../petstore/javascript-es6/docs/Client.md | 1 + .../javascript-es6/docs/DefaultApi.md | 11 +- .../petstore/javascript-es6/docs/Dog.md | 1 + .../petstore/javascript-es6/docs/DogAllOf.md | 9 + .../javascript-es6/docs/EnumArrays.md | 5 +- .../petstore/javascript-es6/docs/EnumTest.md | 9 +- .../petstore/javascript-es6/docs/FakeApi.md | 143 +++++++++------ .../docs/FakeClassnameTags123Api.md | 11 +- .../petstore/javascript-es6/docs/File.md | 1 + .../docs/FileSchemaTestClass.md | 1 + .../petstore/javascript-es6/docs/Foo.md | 1 + .../javascript-es6/docs/FormatTest.md | 1 + .../javascript-es6/docs/HasOnlyReadOnly.md | 1 + .../javascript-es6/docs/HealthCheckResult.md | 1 + .../javascript-es6/docs/InlineObject.md | 1 + .../javascript-es6/docs/InlineObject1.md | 1 + .../javascript-es6/docs/InlineObject2.md | 5 +- .../javascript-es6/docs/InlineObject3.md | 1 + .../javascript-es6/docs/InlineObject4.md | 1 + .../javascript-es6/docs/InlineObject5.md | 1 + .../docs/InlineResponseDefault.md | 1 + .../petstore/javascript-es6/docs/List.md | 1 + .../petstore/javascript-es6/docs/MapTest.md | 3 +- ...dPropertiesAndAdditionalPropertiesClass.md | 1 + .../javascript-es6/docs/Model200Response.md | 1 + .../javascript-es6/docs/ModelReturn.md | 1 + .../petstore/javascript-es6/docs/Name.md | 1 + .../javascript-es6/docs/NullableClass.md | 20 +++ .../javascript-es6/docs/NumberOnly.md | 1 + .../petstore/javascript-es6/docs/Order.md | 3 +- .../javascript-es6/docs/OuterComposite.md | 1 + .../petstore/javascript-es6/docs/Pet.md | 3 +- .../petstore/javascript-es6/docs/PetApi.md | 99 +++++++---- .../javascript-es6/docs/ReadOnlyFirst.md | 1 + .../javascript-es6/docs/SpecialModelName.md | 1 + .../petstore/javascript-es6/docs/StoreApi.md | 44 +++-- .../petstore/javascript-es6/docs/Tag.md | 1 + .../petstore/javascript-es6/docs/User.md | 1 + .../petstore/javascript-es6/docs/UserApi.md | 92 ++++++---- .../petstore/javascript-es6/package.json | 6 +- .../petstore/javascript-es6/src/ApiClient.js | 5 +- .../javascript-es6/src/api/AnotherFakeApi.js | 2 +- .../javascript-es6/src/api/DefaultApi.js | 2 +- .../javascript-es6/src/api/FakeApi.js | 16 +- .../src/api/FakeClassnameTags123Api.js | 2 +- .../petstore/javascript-es6/src/api/PetApi.js | 2 +- .../javascript-es6/src/api/StoreApi.js | 6 +- .../javascript-es6/src/api/UserApi.js | 6 +- .../petstore/javascript-es6/src/index.js | 25 ++- .../src/model/AdditionalPropertiesClass.js | 2 +- .../javascript-es6/src/model/Animal.js | 2 +- .../javascript-es6/src/model/ApiResponse.js | 2 +- .../src/model/ArrayOfArrayOfNumberOnly.js | 2 +- .../src/model/ArrayOfNumberOnly.js | 2 +- .../javascript-es6/src/model/ArrayTest.js | 2 +- .../src/model/Capitalization.js | 2 +- .../petstore/javascript-es6/src/model/Cat.js | 12 +- .../javascript-es6/src/model/CatAllOf.js | 71 ++++++++ .../javascript-es6/src/model/Category.js | 2 +- .../javascript-es6/src/model/ClassModel.js | 2 +- .../javascript-es6/src/model/Client.js | 2 +- .../petstore/javascript-es6/src/model/Dog.js | 12 +- .../javascript-es6/src/model/DogAllOf.js | 71 ++++++++ .../javascript-es6/src/model/EnumArrays.js | 2 +- .../javascript-es6/src/model/EnumClass.js | 2 +- .../javascript-es6/src/model/EnumTest.js | 2 +- .../petstore/javascript-es6/src/model/File.js | 2 +- .../src/model/FileSchemaTestClass.js | 2 +- .../petstore/javascript-es6/src/model/Foo.js | 2 +- .../javascript-es6/src/model/FormatTest.js | 2 +- .../src/model/HasOnlyReadOnly.js | 2 +- .../src/model/HealthCheckResult.js | 2 +- .../javascript-es6/src/model/InlineObject.js | 2 +- .../javascript-es6/src/model/InlineObject1.js | 2 +- .../javascript-es6/src/model/InlineObject2.js | 2 +- .../javascript-es6/src/model/InlineObject3.js | 2 +- .../javascript-es6/src/model/InlineObject4.js | 2 +- .../javascript-es6/src/model/InlineObject5.js | 2 +- .../src/model/InlineResponseDefault.js | 2 +- .../petstore/javascript-es6/src/model/List.js | 2 +- .../javascript-es6/src/model/MapTest.js | 2 +- ...dPropertiesAndAdditionalPropertiesClass.js | 2 +- .../src/model/Model200Response.js | 2 +- .../javascript-es6/src/model/ModelReturn.js | 2 +- .../petstore/javascript-es6/src/model/Name.js | 2 +- .../javascript-es6/src/model/NullableClass.js | 163 ++++++++++++++++++ .../javascript-es6/src/model/NumberOnly.js | 2 +- .../javascript-es6/src/model/Order.js | 2 +- .../src/model/OuterComposite.js | 2 +- .../javascript-es6/src/model/OuterEnum.js | 2 +- .../src/model/OuterEnumDefaultValue.js | 2 +- .../src/model/OuterEnumInteger.js | 2 +- .../src/model/OuterEnumIntegerDefaultValue.js | 2 +- .../petstore/javascript-es6/src/model/Pet.js | 2 +- .../javascript-es6/src/model/ReadOnlyFirst.js | 2 +- .../src/model/SpecialModelName.js | 2 +- .../petstore/javascript-es6/src/model/Tag.js | 2 +- .../petstore/javascript-es6/src/model/User.js | 2 +- .../test/model/CatAllOf.spec.js | 65 +++++++ .../test/model/DogAllOf.spec.js | 65 +++++++ .../test/model/NullableClass.spec.js | 131 ++++++++++++++ 119 files changed, 1082 insertions(+), 249 deletions(-) create mode 100644 samples/openapi3/client/petstore/javascript-es6/docs/CatAllOf.md create mode 100644 samples/openapi3/client/petstore/javascript-es6/docs/DogAllOf.md create mode 100644 samples/openapi3/client/petstore/javascript-es6/docs/NullableClass.md create mode 100644 samples/openapi3/client/petstore/javascript-es6/src/model/CatAllOf.js create mode 100644 samples/openapi3/client/petstore/javascript-es6/src/model/DogAllOf.js create mode 100644 samples/openapi3/client/petstore/javascript-es6/src/model/NullableClass.js create mode 100644 samples/openapi3/client/petstore/javascript-es6/test/model/CatAllOf.spec.js create mode 100644 samples/openapi3/client/petstore/javascript-es6/test/model/DogAllOf.spec.js create mode 100644 samples/openapi3/client/petstore/javascript-es6/test/model/NullableClass.spec.js diff --git a/modules/openapi-generator/src/main/resources/Javascript/es6/README.mustache b/modules/openapi-generator/src/main/resources/Javascript/es6/README.mustache index dd773d6c1b..82a66fe391 100644 --- a/modules/openapi-generator/src/main/resources/Javascript/es6/README.mustache +++ b/modules/openapi-generator/src/main/resources/Javascript/es6/README.mustache @@ -30,7 +30,7 @@ Then install it via: npm install {{{projectName}}} --save ``` -Finaly, you need to build the module: +Finally, you need to build the module: ```shell npm run build @@ -56,7 +56,7 @@ To use the link you just defined in your project, switch to the directory you wa npm link /path/to/ ``` -Finaly, you need to build the module: +Finally, you need to build the module: ```shell npm run build diff --git a/samples/client/petstore/javascript-es6/README.md b/samples/client/petstore/javascript-es6/README.md index 4c0b3c5746..d66a692c69 100644 --- a/samples/client/petstore/javascript-es6/README.md +++ b/samples/client/petstore/javascript-es6/README.md @@ -22,7 +22,7 @@ Then install it via: npm install open_api_petstore --save ``` -Finaly, you need to build the module: +Finally, you need to build the module: ```shell npm run build @@ -48,7 +48,7 @@ To use the link you just defined in your project, switch to the directory you wa npm link /path/to/ ``` -Finaly, you need to build the module: +Finally, you need to build the module: ```shell npm run build diff --git a/samples/client/petstore/javascript-promise-es6/README.md b/samples/client/petstore/javascript-promise-es6/README.md index 979dfd9567..a37ff17a10 100644 --- a/samples/client/petstore/javascript-promise-es6/README.md +++ b/samples/client/petstore/javascript-promise-es6/README.md @@ -22,7 +22,7 @@ Then install it via: npm install open_api_petstore --save ``` -Finaly, you need to build the module: +Finally, you need to build the module: ```shell npm run build @@ -48,7 +48,7 @@ To use the link you just defined in your project, switch to the directory you wa npm link /path/to/ ``` -Finaly, you need to build the module: +Finally, you need to build the module: ```shell npm run build diff --git a/samples/openapi3/client/petstore/javascript-es6/.openapi-generator/VERSION b/samples/openapi3/client/petstore/javascript-es6/.openapi-generator/VERSION index afa6365606..479c313e87 100644 --- a/samples/openapi3/client/petstore/javascript-es6/.openapi-generator/VERSION +++ b/samples/openapi3/client/petstore/javascript-es6/.openapi-generator/VERSION @@ -1 +1 @@ -4.0.0-SNAPSHOT \ No newline at end of file +4.0.3-SNAPSHOT \ No newline at end of file diff --git a/samples/openapi3/client/petstore/javascript-es6/.travis.yml b/samples/openapi3/client/petstore/javascript-es6/.travis.yml index e49f4692f7..0968f7a433 100644 --- a/samples/openapi3/client/petstore/javascript-es6/.travis.yml +++ b/samples/openapi3/client/petstore/javascript-es6/.travis.yml @@ -1,7 +1,5 @@ language: node_js +cache: npm node_js: - "6" - "6.1" - - "5" - - "5.11" - diff --git a/samples/openapi3/client/petstore/javascript-es6/README.md b/samples/openapi3/client/petstore/javascript-es6/README.md index 7382b69e20..70e6ac7a2a 100644 --- a/samples/openapi3/client/petstore/javascript-es6/README.md +++ b/samples/openapi3/client/petstore/javascript-es6/README.md @@ -14,8 +14,7 @@ This SDK is automatically generated by the [OpenAPI Generator](https://openapi-g #### npm -To publish the library as a [npm](https://www.npmjs.com/), -please follow the procedure in ["Publishing npm packages"](https://docs.npmjs.com/getting-started/publishing-npm-packages). +To publish the library as a [npm](https://www.npmjs.com/), please follow the procedure in ["Publishing npm packages"](https://docs.npmjs.com/getting-started/publishing-npm-packages). Then install it via: @@ -23,10 +22,41 @@ Then install it via: npm install open_api_petstore --save ``` +Finally, you need to build the module: + +```shell +npm run build +``` + +##### Local development + +To use the library locally without publishing to a remote npm registry, first install the dependencies by changing into the directory containing `package.json` (and this README). Let's call this `JAVASCRIPT_CLIENT_DIR`. Then run: + +```shell +npm install +``` + +Next, [link](https://docs.npmjs.com/cli/link) it globally in npm with the following, also from `JAVASCRIPT_CLIENT_DIR`: + +```shell +npm link +``` + +To use the link you just defined in your project, switch to the directory you want to use your open_api_petstore from, and run: + +```shell +npm link /path/to/ +``` + +Finally, you need to build the module: + +```shell +npm run build +``` + #### git -# -If the library is hosted at a git repository, e.g. -https://github.com/GIT_USER_ID/GIT_REPO_ID + +If the library is hosted at a git repository, e.g.https://github.com/GIT_USER_ID/GIT_REPO_ID then install it via: ```shell @@ -139,10 +169,12 @@ Class | Method | HTTP request | Description - [OpenApiPetstore.ArrayTest](docs/ArrayTest.md) - [OpenApiPetstore.Capitalization](docs/Capitalization.md) - [OpenApiPetstore.Cat](docs/Cat.md) + - [OpenApiPetstore.CatAllOf](docs/CatAllOf.md) - [OpenApiPetstore.Category](docs/Category.md) - [OpenApiPetstore.ClassModel](docs/ClassModel.md) - [OpenApiPetstore.Client](docs/Client.md) - [OpenApiPetstore.Dog](docs/Dog.md) + - [OpenApiPetstore.DogAllOf](docs/DogAllOf.md) - [OpenApiPetstore.EnumArrays](docs/EnumArrays.md) - [OpenApiPetstore.EnumClass](docs/EnumClass.md) - [OpenApiPetstore.EnumTest](docs/EnumTest.md) @@ -165,6 +197,7 @@ Class | Method | HTTP request | Description - [OpenApiPetstore.Model200Response](docs/Model200Response.md) - [OpenApiPetstore.ModelReturn](docs/ModelReturn.md) - [OpenApiPetstore.Name](docs/Name.md) + - [OpenApiPetstore.NullableClass](docs/NullableClass.md) - [OpenApiPetstore.NumberOnly](docs/NumberOnly.md) - [OpenApiPetstore.Order](docs/Order.md) - [OpenApiPetstore.OuterComposite](docs/OuterComposite.md) @@ -182,32 +215,40 @@ Class | Method | HTTP request | Description ## Documentation for Authorization + ### api_key + - **Type**: API key - **API key parameter name**: api_key - **Location**: HTTP header + ### api_key_query + - **Type**: API key - **API key parameter name**: api_key_query - **Location**: URL query string + ### bearer_test - **Type**: Bearer authentication (JWT) + ### http_basic_test - **Type**: HTTP basic authentication + ### petstore_auth + - **Type**: OAuth - **Flow**: implicit - **Authorization URL**: http://petstore.swagger.io/api/oauth/dialog diff --git a/samples/openapi3/client/petstore/javascript-es6/docs/AdditionalPropertiesClass.md b/samples/openapi3/client/petstore/javascript-es6/docs/AdditionalPropertiesClass.md index 7df1c7b339..c85e85acd9 100644 --- a/samples/openapi3/client/petstore/javascript-es6/docs/AdditionalPropertiesClass.md +++ b/samples/openapi3/client/petstore/javascript-es6/docs/AdditionalPropertiesClass.md @@ -1,6 +1,7 @@ # OpenApiPetstore.AdditionalPropertiesClass ## Properties + Name | Type | Description | Notes ------------ | ------------- | ------------- | ------------- **mapProperty** | **{String: String}** | | [optional] diff --git a/samples/openapi3/client/petstore/javascript-es6/docs/Animal.md b/samples/openapi3/client/petstore/javascript-es6/docs/Animal.md index 7bff016758..483c89a1ab 100644 --- a/samples/openapi3/client/petstore/javascript-es6/docs/Animal.md +++ b/samples/openapi3/client/petstore/javascript-es6/docs/Animal.md @@ -1,6 +1,7 @@ # OpenApiPetstore.Animal ## Properties + Name | Type | Description | Notes ------------ | ------------- | ------------- | ------------- **className** | **String** | | diff --git a/samples/openapi3/client/petstore/javascript-es6/docs/AnotherFakeApi.md b/samples/openapi3/client/petstore/javascript-es6/docs/AnotherFakeApi.md index efd102e1ab..ba01bd3e2a 100644 --- a/samples/openapi3/client/petstore/javascript-es6/docs/AnotherFakeApi.md +++ b/samples/openapi3/client/petstore/javascript-es6/docs/AnotherFakeApi.md @@ -7,8 +7,9 @@ Method | HTTP request | Description [**call123testSpecialTags**](AnotherFakeApi.md#call123testSpecialTags) | **PATCH** /another-fake/dummy | To test special tags - -# **call123testSpecialTags** + +## call123testSpecialTags + > Client call123testSpecialTags(client) To test special tags @@ -16,6 +17,7 @@ To test special tags To test special tags and operation ID starting with number ### Example + ```javascript import OpenApiPetstore from 'open_api_petstore'; @@ -32,6 +34,7 @@ apiInstance.call123testSpecialTags(client, (error, data, response) => { ### Parameters + Name | Type | Description | Notes ------------- | ------------- | ------------- | ------------- **client** | [**Client**](Client.md)| client model | @@ -46,6 +49,6 @@ No authorization required ### HTTP request headers - - **Content-Type**: application/json - - **Accept**: application/json +- **Content-Type**: application/json +- **Accept**: application/json diff --git a/samples/openapi3/client/petstore/javascript-es6/docs/ApiResponse.md b/samples/openapi3/client/petstore/javascript-es6/docs/ApiResponse.md index e60378fcbf..0dc945d607 100644 --- a/samples/openapi3/client/petstore/javascript-es6/docs/ApiResponse.md +++ b/samples/openapi3/client/petstore/javascript-es6/docs/ApiResponse.md @@ -1,6 +1,7 @@ # OpenApiPetstore.ApiResponse ## Properties + Name | Type | Description | Notes ------------ | ------------- | ------------- | ------------- **code** | **Number** | | [optional] diff --git a/samples/openapi3/client/petstore/javascript-es6/docs/ArrayOfArrayOfNumberOnly.md b/samples/openapi3/client/petstore/javascript-es6/docs/ArrayOfArrayOfNumberOnly.md index 7a1426ef81..c321c0985f 100644 --- a/samples/openapi3/client/petstore/javascript-es6/docs/ArrayOfArrayOfNumberOnly.md +++ b/samples/openapi3/client/petstore/javascript-es6/docs/ArrayOfArrayOfNumberOnly.md @@ -1,6 +1,7 @@ # OpenApiPetstore.ArrayOfArrayOfNumberOnly ## Properties + Name | Type | Description | Notes ------------ | ------------- | ------------- | ------------- **arrayArrayNumber** | **[[Number]]** | | [optional] diff --git a/samples/openapi3/client/petstore/javascript-es6/docs/ArrayOfNumberOnly.md b/samples/openapi3/client/petstore/javascript-es6/docs/ArrayOfNumberOnly.md index 7cec2e71d4..b83e136d97 100644 --- a/samples/openapi3/client/petstore/javascript-es6/docs/ArrayOfNumberOnly.md +++ b/samples/openapi3/client/petstore/javascript-es6/docs/ArrayOfNumberOnly.md @@ -1,6 +1,7 @@ # OpenApiPetstore.ArrayOfNumberOnly ## Properties + Name | Type | Description | Notes ------------ | ------------- | ------------- | ------------- **arrayNumber** | **[Number]** | | [optional] diff --git a/samples/openapi3/client/petstore/javascript-es6/docs/ArrayTest.md b/samples/openapi3/client/petstore/javascript-es6/docs/ArrayTest.md index 5828f6ee75..711b53a520 100644 --- a/samples/openapi3/client/petstore/javascript-es6/docs/ArrayTest.md +++ b/samples/openapi3/client/petstore/javascript-es6/docs/ArrayTest.md @@ -1,6 +1,7 @@ # OpenApiPetstore.ArrayTest ## Properties + Name | Type | Description | Notes ------------ | ------------- | ------------- | ------------- **arrayOfString** | **[String]** | | [optional] diff --git a/samples/openapi3/client/petstore/javascript-es6/docs/Capitalization.md b/samples/openapi3/client/petstore/javascript-es6/docs/Capitalization.md index abeff984c6..3bbc5d491f 100644 --- a/samples/openapi3/client/petstore/javascript-es6/docs/Capitalization.md +++ b/samples/openapi3/client/petstore/javascript-es6/docs/Capitalization.md @@ -1,6 +1,7 @@ # OpenApiPetstore.Capitalization ## Properties + Name | Type | Description | Notes ------------ | ------------- | ------------- | ------------- **smallCamel** | **String** | | [optional] diff --git a/samples/openapi3/client/petstore/javascript-es6/docs/Cat.md b/samples/openapi3/client/petstore/javascript-es6/docs/Cat.md index 6dd0f057c8..652bca4ed0 100644 --- a/samples/openapi3/client/petstore/javascript-es6/docs/Cat.md +++ b/samples/openapi3/client/petstore/javascript-es6/docs/Cat.md @@ -1,6 +1,7 @@ # OpenApiPetstore.Cat ## Properties + Name | Type | Description | Notes ------------ | ------------- | ------------- | ------------- **declawed** | **Boolean** | | [optional] diff --git a/samples/openapi3/client/petstore/javascript-es6/docs/CatAllOf.md b/samples/openapi3/client/petstore/javascript-es6/docs/CatAllOf.md new file mode 100644 index 0000000000..3b8274c012 --- /dev/null +++ b/samples/openapi3/client/petstore/javascript-es6/docs/CatAllOf.md @@ -0,0 +1,9 @@ +# OpenApiPetstore.CatAllOf + +## Properties + +Name | Type | Description | Notes +------------ | ------------- | ------------- | ------------- +**declawed** | **Boolean** | | [optional] + + diff --git a/samples/openapi3/client/petstore/javascript-es6/docs/Category.md b/samples/openapi3/client/petstore/javascript-es6/docs/Category.md index 5c333f8f61..2de44aa03d 100644 --- a/samples/openapi3/client/petstore/javascript-es6/docs/Category.md +++ b/samples/openapi3/client/petstore/javascript-es6/docs/Category.md @@ -1,6 +1,7 @@ # OpenApiPetstore.Category ## Properties + Name | Type | Description | Notes ------------ | ------------- | ------------- | ------------- **id** | **Number** | | [optional] diff --git a/samples/openapi3/client/petstore/javascript-es6/docs/ClassModel.md b/samples/openapi3/client/petstore/javascript-es6/docs/ClassModel.md index 6fe9c501a5..dd90930dad 100644 --- a/samples/openapi3/client/petstore/javascript-es6/docs/ClassModel.md +++ b/samples/openapi3/client/petstore/javascript-es6/docs/ClassModel.md @@ -1,6 +1,7 @@ # OpenApiPetstore.ClassModel ## Properties + Name | Type | Description | Notes ------------ | ------------- | ------------- | ------------- **_class** | **String** | | [optional] diff --git a/samples/openapi3/client/petstore/javascript-es6/docs/Client.md b/samples/openapi3/client/petstore/javascript-es6/docs/Client.md index a6c7711e74..1164b70431 100644 --- a/samples/openapi3/client/petstore/javascript-es6/docs/Client.md +++ b/samples/openapi3/client/petstore/javascript-es6/docs/Client.md @@ -1,6 +1,7 @@ # OpenApiPetstore.Client ## Properties + Name | Type | Description | Notes ------------ | ------------- | ------------- | ------------- **client** | **String** | | [optional] diff --git a/samples/openapi3/client/petstore/javascript-es6/docs/DefaultApi.md b/samples/openapi3/client/petstore/javascript-es6/docs/DefaultApi.md index f351144fab..cf507abc2f 100644 --- a/samples/openapi3/client/petstore/javascript-es6/docs/DefaultApi.md +++ b/samples/openapi3/client/petstore/javascript-es6/docs/DefaultApi.md @@ -7,13 +7,15 @@ Method | HTTP request | Description [**fooGet**](DefaultApi.md#fooGet) | **GET** /foo | - -# **fooGet** + +## fooGet + > InlineResponseDefault fooGet() ### Example + ```javascript import OpenApiPetstore from 'open_api_petstore'; @@ -28,6 +30,7 @@ apiInstance.fooGet((error, data, response) => { ``` ### Parameters + This endpoint does not need any parameter. ### Return type @@ -40,6 +43,6 @@ No authorization required ### HTTP request headers - - **Content-Type**: Not defined - - **Accept**: application/json +- **Content-Type**: Not defined +- **Accept**: application/json diff --git a/samples/openapi3/client/petstore/javascript-es6/docs/Dog.md b/samples/openapi3/client/petstore/javascript-es6/docs/Dog.md index f35663407e..fd3b9f7c77 100644 --- a/samples/openapi3/client/petstore/javascript-es6/docs/Dog.md +++ b/samples/openapi3/client/petstore/javascript-es6/docs/Dog.md @@ -1,6 +1,7 @@ # OpenApiPetstore.Dog ## Properties + Name | Type | Description | Notes ------------ | ------------- | ------------- | ------------- **breed** | **String** | | [optional] diff --git a/samples/openapi3/client/petstore/javascript-es6/docs/DogAllOf.md b/samples/openapi3/client/petstore/javascript-es6/docs/DogAllOf.md new file mode 100644 index 0000000000..8a64029407 --- /dev/null +++ b/samples/openapi3/client/petstore/javascript-es6/docs/DogAllOf.md @@ -0,0 +1,9 @@ +# OpenApiPetstore.DogAllOf + +## Properties + +Name | Type | Description | Notes +------------ | ------------- | ------------- | ------------- +**breed** | **String** | | [optional] + + diff --git a/samples/openapi3/client/petstore/javascript-es6/docs/EnumArrays.md b/samples/openapi3/client/petstore/javascript-es6/docs/EnumArrays.md index 5f624e5db4..4926385b3f 100644 --- a/samples/openapi3/client/petstore/javascript-es6/docs/EnumArrays.md +++ b/samples/openapi3/client/petstore/javascript-es6/docs/EnumArrays.md @@ -1,13 +1,14 @@ # OpenApiPetstore.EnumArrays ## Properties + Name | Type | Description | Notes ------------ | ------------- | ------------- | ------------- **justSymbol** | **String** | | [optional] **arrayEnum** | **[String]** | | [optional] - + ## Enum: JustSymbolEnum @@ -18,7 +19,7 @@ Name | Type | Description | Notes - + ## Enum: [ArrayEnumEnum] diff --git a/samples/openapi3/client/petstore/javascript-es6/docs/EnumTest.md b/samples/openapi3/client/petstore/javascript-es6/docs/EnumTest.md index 2452654816..b56c3c4cef 100644 --- a/samples/openapi3/client/petstore/javascript-es6/docs/EnumTest.md +++ b/samples/openapi3/client/petstore/javascript-es6/docs/EnumTest.md @@ -1,6 +1,7 @@ # OpenApiPetstore.EnumTest ## Properties + Name | Type | Description | Notes ------------ | ------------- | ------------- | ------------- **enumString** | **String** | | [optional] @@ -13,7 +14,7 @@ Name | Type | Description | Notes **outerEnumIntegerDefaultValue** | [**OuterEnumIntegerDefaultValue**](OuterEnumIntegerDefaultValue.md) | | [optional] - + ## Enum: EnumStringEnum @@ -26,7 +27,7 @@ Name | Type | Description | Notes - + ## Enum: EnumStringRequiredEnum @@ -39,7 +40,7 @@ Name | Type | Description | Notes - + ## Enum: EnumIntegerEnum @@ -50,7 +51,7 @@ Name | Type | Description | Notes - + ## Enum: EnumNumberEnum diff --git a/samples/openapi3/client/petstore/javascript-es6/docs/FakeApi.md b/samples/openapi3/client/petstore/javascript-es6/docs/FakeApi.md index 258f637c3d..cc6ba6590f 100644 --- a/samples/openapi3/client/petstore/javascript-es6/docs/FakeApi.md +++ b/samples/openapi3/client/petstore/javascript-es6/docs/FakeApi.md @@ -19,13 +19,15 @@ Method | HTTP request | Description [**testJsonFormData**](FakeApi.md#testJsonFormData) | **GET** /fake/jsonFormData | test json serialization of form data - -# **fakeHealthGet** + +## fakeHealthGet + > HealthCheckResult fakeHealthGet() Health check endpoint ### Example + ```javascript import OpenApiPetstore from 'open_api_petstore'; @@ -40,6 +42,7 @@ apiInstance.fakeHealthGet((error, data, response) => { ``` ### Parameters + This endpoint does not need any parameter. ### Return type @@ -52,11 +55,12 @@ No authorization required ### HTTP request headers - - **Content-Type**: Not defined - - **Accept**: application/json +- **Content-Type**: Not defined +- **Accept**: application/json + + +## fakeOuterBooleanSerialize - -# **fakeOuterBooleanSerialize** > Boolean fakeOuterBooleanSerialize(opts) @@ -64,6 +68,7 @@ No authorization required Test serialization of outer boolean types ### Example + ```javascript import OpenApiPetstore from 'open_api_petstore'; @@ -82,6 +87,7 @@ apiInstance.fakeOuterBooleanSerialize(opts, (error, data, response) => { ### Parameters + Name | Type | Description | Notes ------------- | ------------- | ------------- | ------------- **body** | **Boolean**| Input boolean as post body | [optional] @@ -96,11 +102,12 @@ No authorization required ### HTTP request headers - - **Content-Type**: application/json - - **Accept**: */* +- **Content-Type**: application/json +- **Accept**: */* + + +## fakeOuterCompositeSerialize - -# **fakeOuterCompositeSerialize** > OuterComposite fakeOuterCompositeSerialize(opts) @@ -108,6 +115,7 @@ No authorization required Test serialization of object with outer number type ### Example + ```javascript import OpenApiPetstore from 'open_api_petstore'; @@ -126,6 +134,7 @@ apiInstance.fakeOuterCompositeSerialize(opts, (error, data, response) => { ### Parameters + Name | Type | Description | Notes ------------- | ------------- | ------------- | ------------- **outerComposite** | [**OuterComposite**](OuterComposite.md)| Input composite as post body | [optional] @@ -140,11 +149,12 @@ No authorization required ### HTTP request headers - - **Content-Type**: application/json - - **Accept**: */* +- **Content-Type**: application/json +- **Accept**: */* + + +## fakeOuterNumberSerialize - -# **fakeOuterNumberSerialize** > Number fakeOuterNumberSerialize(opts) @@ -152,6 +162,7 @@ No authorization required Test serialization of outer number types ### Example + ```javascript import OpenApiPetstore from 'open_api_petstore'; @@ -170,6 +181,7 @@ apiInstance.fakeOuterNumberSerialize(opts, (error, data, response) => { ### Parameters + Name | Type | Description | Notes ------------- | ------------- | ------------- | ------------- **body** | **Number**| Input number as post body | [optional] @@ -184,11 +196,12 @@ No authorization required ### HTTP request headers - - **Content-Type**: application/json - - **Accept**: */* +- **Content-Type**: application/json +- **Accept**: */* + + +## fakeOuterStringSerialize - -# **fakeOuterStringSerialize** > String fakeOuterStringSerialize(opts) @@ -196,6 +209,7 @@ No authorization required Test serialization of outer string types ### Example + ```javascript import OpenApiPetstore from 'open_api_petstore'; @@ -214,6 +228,7 @@ apiInstance.fakeOuterStringSerialize(opts, (error, data, response) => { ### Parameters + Name | Type | Description | Notes ------------- | ------------- | ------------- | ------------- **body** | **String**| Input string as post body | [optional] @@ -228,11 +243,12 @@ No authorization required ### HTTP request headers - - **Content-Type**: application/json - - **Accept**: */* +- **Content-Type**: application/json +- **Accept**: */* + + +## testBodyWithFileSchema - -# **testBodyWithFileSchema** > testBodyWithFileSchema(fileSchemaTestClass) @@ -240,6 +256,7 @@ No authorization required For this test, the body for this request much reference a schema named `File`. ### Example + ```javascript import OpenApiPetstore from 'open_api_petstore'; @@ -256,6 +273,7 @@ apiInstance.testBodyWithFileSchema(fileSchemaTestClass, (error, data, response) ### Parameters + Name | Type | Description | Notes ------------- | ------------- | ------------- | ------------- **fileSchemaTestClass** | [**FileSchemaTestClass**](FileSchemaTestClass.md)| | @@ -270,16 +288,18 @@ No authorization required ### HTTP request headers - - **Content-Type**: application/json - - **Accept**: Not defined +- **Content-Type**: application/json +- **Accept**: Not defined + + +## testBodyWithQueryParams - -# **testBodyWithQueryParams** > testBodyWithQueryParams(query, user) ### Example + ```javascript import OpenApiPetstore from 'open_api_petstore'; @@ -297,6 +317,7 @@ apiInstance.testBodyWithQueryParams(query, user, (error, data, response) => { ### Parameters + Name | Type | Description | Notes ------------- | ------------- | ------------- | ------------- **query** | **String**| | @@ -312,11 +333,12 @@ No authorization required ### HTTP request headers - - **Content-Type**: application/json - - **Accept**: Not defined +- **Content-Type**: application/json +- **Accept**: Not defined + + +## testClientModel - -# **testClientModel** > Client testClientModel(client) To test \"client\" model @@ -324,6 +346,7 @@ To test \"client\" model To test \"client\" model ### Example + ```javascript import OpenApiPetstore from 'open_api_petstore'; @@ -340,6 +363,7 @@ apiInstance.testClientModel(client, (error, data, response) => { ### Parameters + Name | Type | Description | Notes ------------- | ------------- | ------------- | ------------- **client** | [**Client**](Client.md)| client model | @@ -354,11 +378,12 @@ No authorization required ### HTTP request headers - - **Content-Type**: application/json - - **Accept**: application/json +- **Content-Type**: application/json +- **Accept**: application/json + + +## testEndpointParameters - -# **testEndpointParameters** > testEndpointParameters(_number, _double, patternWithoutDelimiter, _byte, opts) Fake endpoint for testing various parameters 假端點 偽のエンドポイント 가짜 엔드 포인트 @@ -366,6 +391,7 @@ Fake endpoint for testing various parameters 假端點 偽のエンドポイン Fake endpoint for testing various parameters 假端點 偽のエンドポイント 가짜 엔드 포인트 ### Example + ```javascript import OpenApiPetstore from 'open_api_petstore'; let defaultClient = OpenApiPetstore.ApiClient.instance; @@ -402,6 +428,7 @@ apiInstance.testEndpointParameters(_number, _double, patternWithoutDelimiter, _b ### Parameters + Name | Type | Description | Notes ------------- | ------------- | ------------- | ------------- **_number** | **Number**| None | @@ -429,11 +456,12 @@ null (empty response body) ### HTTP request headers - - **Content-Type**: application/x-www-form-urlencoded - - **Accept**: Not defined +- **Content-Type**: application/x-www-form-urlencoded +- **Accept**: Not defined + + +## testEnumParameters - -# **testEnumParameters** > testEnumParameters(opts) To test enum parameters @@ -441,6 +469,7 @@ To test enum parameters To test enum parameters ### Example + ```javascript import OpenApiPetstore from 'open_api_petstore'; @@ -466,6 +495,7 @@ apiInstance.testEnumParameters(opts, (error, data, response) => { ### Parameters + Name | Type | Description | Notes ------------- | ------------- | ------------- | ------------- **enumHeaderStringArray** | [**[String]**](String.md)| Header parameter enum test (string array) | [optional] @@ -487,11 +517,12 @@ No authorization required ### HTTP request headers - - **Content-Type**: application/x-www-form-urlencoded - - **Accept**: Not defined +- **Content-Type**: application/x-www-form-urlencoded +- **Accept**: Not defined + + +## testGroupParameters - -# **testGroupParameters** > testGroupParameters(requiredStringGroup, requiredBooleanGroup, requiredInt64Group, opts) Fake endpoint to test group parameters (optional) @@ -499,6 +530,7 @@ Fake endpoint to test group parameters (optional) Fake endpoint to test group parameters (optional) ### Example + ```javascript import OpenApiPetstore from 'open_api_petstore'; let defaultClient = OpenApiPetstore.ApiClient.instance; @@ -526,6 +558,7 @@ apiInstance.testGroupParameters(requiredStringGroup, requiredBooleanGroup, requi ### Parameters + Name | Type | Description | Notes ------------- | ------------- | ------------- | ------------- **requiredStringGroup** | **Number**| Required String in group parameters | @@ -545,16 +578,18 @@ null (empty response body) ### HTTP request headers - - **Content-Type**: Not defined - - **Accept**: Not defined +- **Content-Type**: Not defined +- **Accept**: Not defined + + +## testInlineAdditionalProperties - -# **testInlineAdditionalProperties** > testInlineAdditionalProperties(requestBody) test inline additionalProperties ### Example + ```javascript import OpenApiPetstore from 'open_api_petstore'; @@ -571,6 +606,7 @@ apiInstance.testInlineAdditionalProperties(requestBody, (error, data, response) ### Parameters + Name | Type | Description | Notes ------------- | ------------- | ------------- | ------------- **requestBody** | [**{String: String}**](String.md)| request body | @@ -585,16 +621,18 @@ No authorization required ### HTTP request headers - - **Content-Type**: application/json - - **Accept**: Not defined +- **Content-Type**: application/json +- **Accept**: Not defined + + +## testJsonFormData - -# **testJsonFormData** > testJsonFormData(param, param2) test json serialization of form data ### Example + ```javascript import OpenApiPetstore from 'open_api_petstore'; @@ -612,6 +650,7 @@ apiInstance.testJsonFormData(param, param2, (error, data, response) => { ### Parameters + Name | Type | Description | Notes ------------- | ------------- | ------------- | ------------- **param** | **String**| field1 | @@ -627,6 +666,6 @@ No authorization required ### HTTP request headers - - **Content-Type**: application/x-www-form-urlencoded - - **Accept**: Not defined +- **Content-Type**: application/x-www-form-urlencoded +- **Accept**: Not defined diff --git a/samples/openapi3/client/petstore/javascript-es6/docs/FakeClassnameTags123Api.md b/samples/openapi3/client/petstore/javascript-es6/docs/FakeClassnameTags123Api.md index 929885c3d9..142a911a3c 100644 --- a/samples/openapi3/client/petstore/javascript-es6/docs/FakeClassnameTags123Api.md +++ b/samples/openapi3/client/petstore/javascript-es6/docs/FakeClassnameTags123Api.md @@ -7,8 +7,9 @@ Method | HTTP request | Description [**testClassname**](FakeClassnameTags123Api.md#testClassname) | **PATCH** /fake_classname_test | To test class name in snake case - -# **testClassname** + +## testClassname + > Client testClassname(client) To test class name in snake case @@ -16,6 +17,7 @@ To test class name in snake case To test class name in snake case ### Example + ```javascript import OpenApiPetstore from 'open_api_petstore'; let defaultClient = OpenApiPetstore.ApiClient.instance; @@ -38,6 +40,7 @@ apiInstance.testClassname(client, (error, data, response) => { ### Parameters + Name | Type | Description | Notes ------------- | ------------- | ------------- | ------------- **client** | [**Client**](Client.md)| client model | @@ -52,6 +55,6 @@ Name | Type | Description | Notes ### HTTP request headers - - **Content-Type**: application/json - - **Accept**: application/json +- **Content-Type**: application/json +- **Accept**: application/json diff --git a/samples/openapi3/client/petstore/javascript-es6/docs/File.md b/samples/openapi3/client/petstore/javascript-es6/docs/File.md index a34d76a3e4..51162c3e0d 100644 --- a/samples/openapi3/client/petstore/javascript-es6/docs/File.md +++ b/samples/openapi3/client/petstore/javascript-es6/docs/File.md @@ -1,6 +1,7 @@ # OpenApiPetstore.File ## Properties + Name | Type | Description | Notes ------------ | ------------- | ------------- | ------------- **sourceURI** | **String** | Test capitalization | [optional] diff --git a/samples/openapi3/client/petstore/javascript-es6/docs/FileSchemaTestClass.md b/samples/openapi3/client/petstore/javascript-es6/docs/FileSchemaTestClass.md index 3ccb4162dc..6f28c4976f 100644 --- a/samples/openapi3/client/petstore/javascript-es6/docs/FileSchemaTestClass.md +++ b/samples/openapi3/client/petstore/javascript-es6/docs/FileSchemaTestClass.md @@ -1,6 +1,7 @@ # OpenApiPetstore.FileSchemaTestClass ## Properties + Name | Type | Description | Notes ------------ | ------------- | ------------- | ------------- **file** | **File** | | [optional] diff --git a/samples/openapi3/client/petstore/javascript-es6/docs/Foo.md b/samples/openapi3/client/petstore/javascript-es6/docs/Foo.md index 60f1ad838f..1e0c9a294c 100644 --- a/samples/openapi3/client/petstore/javascript-es6/docs/Foo.md +++ b/samples/openapi3/client/petstore/javascript-es6/docs/Foo.md @@ -1,6 +1,7 @@ # OpenApiPetstore.Foo ## Properties + Name | Type | Description | Notes ------------ | ------------- | ------------- | ------------- **bar** | **String** | | [optional] [default to 'bar'] diff --git a/samples/openapi3/client/petstore/javascript-es6/docs/FormatTest.md b/samples/openapi3/client/petstore/javascript-es6/docs/FormatTest.md index 611ac6b05e..83d751d4cd 100644 --- a/samples/openapi3/client/petstore/javascript-es6/docs/FormatTest.md +++ b/samples/openapi3/client/petstore/javascript-es6/docs/FormatTest.md @@ -1,6 +1,7 @@ # OpenApiPetstore.FormatTest ## Properties + Name | Type | Description | Notes ------------ | ------------- | ------------- | ------------- **integer** | **Number** | | [optional] diff --git a/samples/openapi3/client/petstore/javascript-es6/docs/HasOnlyReadOnly.md b/samples/openapi3/client/petstore/javascript-es6/docs/HasOnlyReadOnly.md index abc4ce6218..f3d71895b5 100644 --- a/samples/openapi3/client/petstore/javascript-es6/docs/HasOnlyReadOnly.md +++ b/samples/openapi3/client/petstore/javascript-es6/docs/HasOnlyReadOnly.md @@ -1,6 +1,7 @@ # OpenApiPetstore.HasOnlyReadOnly ## Properties + Name | Type | Description | Notes ------------ | ------------- | ------------- | ------------- **bar** | **String** | | [optional] diff --git a/samples/openapi3/client/petstore/javascript-es6/docs/HealthCheckResult.md b/samples/openapi3/client/petstore/javascript-es6/docs/HealthCheckResult.md index 366b5f56c5..bbb74ac6a0 100644 --- a/samples/openapi3/client/petstore/javascript-es6/docs/HealthCheckResult.md +++ b/samples/openapi3/client/petstore/javascript-es6/docs/HealthCheckResult.md @@ -1,6 +1,7 @@ # OpenApiPetstore.HealthCheckResult ## Properties + Name | Type | Description | Notes ------------ | ------------- | ------------- | ------------- **nullableMessage** | **String** | | [optional] diff --git a/samples/openapi3/client/petstore/javascript-es6/docs/InlineObject.md b/samples/openapi3/client/petstore/javascript-es6/docs/InlineObject.md index 1908f0e47c..529c032d7a 100644 --- a/samples/openapi3/client/petstore/javascript-es6/docs/InlineObject.md +++ b/samples/openapi3/client/petstore/javascript-es6/docs/InlineObject.md @@ -1,6 +1,7 @@ # OpenApiPetstore.InlineObject ## Properties + Name | Type | Description | Notes ------------ | ------------- | ------------- | ------------- **name** | **String** | Updated name of the pet | [optional] diff --git a/samples/openapi3/client/petstore/javascript-es6/docs/InlineObject1.md b/samples/openapi3/client/petstore/javascript-es6/docs/InlineObject1.md index fcb6a4dbb4..bd2fcd57a2 100644 --- a/samples/openapi3/client/petstore/javascript-es6/docs/InlineObject1.md +++ b/samples/openapi3/client/petstore/javascript-es6/docs/InlineObject1.md @@ -1,6 +1,7 @@ # OpenApiPetstore.InlineObject1 ## Properties + Name | Type | Description | Notes ------------ | ------------- | ------------- | ------------- **additionalMetadata** | **String** | Additional data to pass to server | [optional] diff --git a/samples/openapi3/client/petstore/javascript-es6/docs/InlineObject2.md b/samples/openapi3/client/petstore/javascript-es6/docs/InlineObject2.md index 61d275b724..7d703a9086 100644 --- a/samples/openapi3/client/petstore/javascript-es6/docs/InlineObject2.md +++ b/samples/openapi3/client/petstore/javascript-es6/docs/InlineObject2.md @@ -1,13 +1,14 @@ # OpenApiPetstore.InlineObject2 ## Properties + Name | Type | Description | Notes ------------ | ------------- | ------------- | ------------- **enumFormStringArray** | **[String]** | Form parameter enum test (string array) | [optional] **enumFormString** | **String** | Form parameter enum test (string) | [optional] [default to '-efg'] - + ## Enum: [EnumFormStringArrayEnum] @@ -18,7 +19,7 @@ Name | Type | Description | Notes - + ## Enum: EnumFormStringEnum diff --git a/samples/openapi3/client/petstore/javascript-es6/docs/InlineObject3.md b/samples/openapi3/client/petstore/javascript-es6/docs/InlineObject3.md index 000c9a45aa..ec8980b728 100644 --- a/samples/openapi3/client/petstore/javascript-es6/docs/InlineObject3.md +++ b/samples/openapi3/client/petstore/javascript-es6/docs/InlineObject3.md @@ -1,6 +1,7 @@ # OpenApiPetstore.InlineObject3 ## Properties + Name | Type | Description | Notes ------------ | ------------- | ------------- | ------------- **integer** | **Number** | None | [optional] diff --git a/samples/openapi3/client/petstore/javascript-es6/docs/InlineObject4.md b/samples/openapi3/client/petstore/javascript-es6/docs/InlineObject4.md index dc35a76422..07ce4b0cac 100644 --- a/samples/openapi3/client/petstore/javascript-es6/docs/InlineObject4.md +++ b/samples/openapi3/client/petstore/javascript-es6/docs/InlineObject4.md @@ -1,6 +1,7 @@ # OpenApiPetstore.InlineObject4 ## Properties + Name | Type | Description | Notes ------------ | ------------- | ------------- | ------------- **param** | **String** | field1 | diff --git a/samples/openapi3/client/petstore/javascript-es6/docs/InlineObject5.md b/samples/openapi3/client/petstore/javascript-es6/docs/InlineObject5.md index a4bda699ba..16547e7f52 100644 --- a/samples/openapi3/client/petstore/javascript-es6/docs/InlineObject5.md +++ b/samples/openapi3/client/petstore/javascript-es6/docs/InlineObject5.md @@ -1,6 +1,7 @@ # OpenApiPetstore.InlineObject5 ## Properties + Name | Type | Description | Notes ------------ | ------------- | ------------- | ------------- **additionalMetadata** | **String** | Additional data to pass to server | [optional] diff --git a/samples/openapi3/client/petstore/javascript-es6/docs/InlineResponseDefault.md b/samples/openapi3/client/petstore/javascript-es6/docs/InlineResponseDefault.md index ee3d62120d..19cae09524 100644 --- a/samples/openapi3/client/petstore/javascript-es6/docs/InlineResponseDefault.md +++ b/samples/openapi3/client/petstore/javascript-es6/docs/InlineResponseDefault.md @@ -1,6 +1,7 @@ # OpenApiPetstore.InlineResponseDefault ## Properties + Name | Type | Description | Notes ------------ | ------------- | ------------- | ------------- **_string** | [**Foo**](Foo.md) | | [optional] diff --git a/samples/openapi3/client/petstore/javascript-es6/docs/List.md b/samples/openapi3/client/petstore/javascript-es6/docs/List.md index 3a9555e34e..aaaa082e6a 100644 --- a/samples/openapi3/client/petstore/javascript-es6/docs/List.md +++ b/samples/openapi3/client/petstore/javascript-es6/docs/List.md @@ -1,6 +1,7 @@ # OpenApiPetstore.List ## Properties + Name | Type | Description | Notes ------------ | ------------- | ------------- | ------------- **_123list** | **String** | | [optional] diff --git a/samples/openapi3/client/petstore/javascript-es6/docs/MapTest.md b/samples/openapi3/client/petstore/javascript-es6/docs/MapTest.md index 152d3fbe8c..9399adf753 100644 --- a/samples/openapi3/client/petstore/javascript-es6/docs/MapTest.md +++ b/samples/openapi3/client/petstore/javascript-es6/docs/MapTest.md @@ -1,6 +1,7 @@ # OpenApiPetstore.MapTest ## Properties + Name | Type | Description | Notes ------------ | ------------- | ------------- | ------------- **mapMapOfString** | **{String: {String: String}}** | | [optional] @@ -9,7 +10,7 @@ Name | Type | Description | Notes **indirectMap** | **{String: Boolean}** | | [optional] - + ## Enum: {String: String} diff --git a/samples/openapi3/client/petstore/javascript-es6/docs/MixedPropertiesAndAdditionalPropertiesClass.md b/samples/openapi3/client/petstore/javascript-es6/docs/MixedPropertiesAndAdditionalPropertiesClass.md index 051f771930..776d4b3ae0 100644 --- a/samples/openapi3/client/petstore/javascript-es6/docs/MixedPropertiesAndAdditionalPropertiesClass.md +++ b/samples/openapi3/client/petstore/javascript-es6/docs/MixedPropertiesAndAdditionalPropertiesClass.md @@ -1,6 +1,7 @@ # OpenApiPetstore.MixedPropertiesAndAdditionalPropertiesClass ## Properties + Name | Type | Description | Notes ------------ | ------------- | ------------- | ------------- **uuid** | **String** | | [optional] diff --git a/samples/openapi3/client/petstore/javascript-es6/docs/Model200Response.md b/samples/openapi3/client/petstore/javascript-es6/docs/Model200Response.md index 0a0d02cc32..45f7932a1b 100644 --- a/samples/openapi3/client/petstore/javascript-es6/docs/Model200Response.md +++ b/samples/openapi3/client/petstore/javascript-es6/docs/Model200Response.md @@ -1,6 +1,7 @@ # OpenApiPetstore.Model200Response ## Properties + Name | Type | Description | Notes ------------ | ------------- | ------------- | ------------- **name** | **Number** | | [optional] diff --git a/samples/openapi3/client/petstore/javascript-es6/docs/ModelReturn.md b/samples/openapi3/client/petstore/javascript-es6/docs/ModelReturn.md index 9ce6e20387..c93601692f 100644 --- a/samples/openapi3/client/petstore/javascript-es6/docs/ModelReturn.md +++ b/samples/openapi3/client/petstore/javascript-es6/docs/ModelReturn.md @@ -1,6 +1,7 @@ # OpenApiPetstore.ModelReturn ## Properties + Name | Type | Description | Notes ------------ | ------------- | ------------- | ------------- **_return** | **Number** | | [optional] diff --git a/samples/openapi3/client/petstore/javascript-es6/docs/Name.md b/samples/openapi3/client/petstore/javascript-es6/docs/Name.md index 8dfcc46036..be2344179b 100644 --- a/samples/openapi3/client/petstore/javascript-es6/docs/Name.md +++ b/samples/openapi3/client/petstore/javascript-es6/docs/Name.md @@ -1,6 +1,7 @@ # OpenApiPetstore.Name ## Properties + Name | Type | Description | Notes ------------ | ------------- | ------------- | ------------- **name** | **Number** | | diff --git a/samples/openapi3/client/petstore/javascript-es6/docs/NullableClass.md b/samples/openapi3/client/petstore/javascript-es6/docs/NullableClass.md new file mode 100644 index 0000000000..3460980270 --- /dev/null +++ b/samples/openapi3/client/petstore/javascript-es6/docs/NullableClass.md @@ -0,0 +1,20 @@ +# OpenApiPetstore.NullableClass + +## Properties + +Name | Type | Description | Notes +------------ | ------------- | ------------- | ------------- +**integerProp** | **Number** | | [optional] +**numberProp** | **Number** | | [optional] +**booleanProp** | **Boolean** | | [optional] +**stringProp** | **String** | | [optional] +**dateProp** | **Date** | | [optional] +**datetimeProp** | **Date** | | [optional] +**arrayNullableProp** | **[Object]** | | [optional] +**arrayAndItemsNullableProp** | **[Object]** | | [optional] +**arrayItemsNullable** | **[Object]** | | [optional] +**objectNullableProp** | **{String: Object}** | | [optional] +**objectAndItemsNullableProp** | **{String: Object}** | | [optional] +**objectItemsNullable** | **{String: Object}** | | [optional] + + diff --git a/samples/openapi3/client/petstore/javascript-es6/docs/NumberOnly.md b/samples/openapi3/client/petstore/javascript-es6/docs/NumberOnly.md index cf84674ed4..6524360075 100644 --- a/samples/openapi3/client/petstore/javascript-es6/docs/NumberOnly.md +++ b/samples/openapi3/client/petstore/javascript-es6/docs/NumberOnly.md @@ -1,6 +1,7 @@ # OpenApiPetstore.NumberOnly ## Properties + Name | Type | Description | Notes ------------ | ------------- | ------------- | ------------- **justNumber** | **Number** | | [optional] diff --git a/samples/openapi3/client/petstore/javascript-es6/docs/Order.md b/samples/openapi3/client/petstore/javascript-es6/docs/Order.md index 987992caa7..3f63473a23 100644 --- a/samples/openapi3/client/petstore/javascript-es6/docs/Order.md +++ b/samples/openapi3/client/petstore/javascript-es6/docs/Order.md @@ -1,6 +1,7 @@ # OpenApiPetstore.Order ## Properties + Name | Type | Description | Notes ------------ | ------------- | ------------- | ------------- **id** | **Number** | | [optional] @@ -11,7 +12,7 @@ Name | Type | Description | Notes **complete** | **Boolean** | | [optional] [default to false] - + ## Enum: StatusEnum diff --git a/samples/openapi3/client/petstore/javascript-es6/docs/OuterComposite.md b/samples/openapi3/client/petstore/javascript-es6/docs/OuterComposite.md index c49b32ff32..aea253a0df 100644 --- a/samples/openapi3/client/petstore/javascript-es6/docs/OuterComposite.md +++ b/samples/openapi3/client/petstore/javascript-es6/docs/OuterComposite.md @@ -1,6 +1,7 @@ # OpenApiPetstore.OuterComposite ## Properties + Name | Type | Description | Notes ------------ | ------------- | ------------- | ------------- **myNumber** | **Number** | | [optional] diff --git a/samples/openapi3/client/petstore/javascript-es6/docs/Pet.md b/samples/openapi3/client/petstore/javascript-es6/docs/Pet.md index e91ae688aa..68bb1eb7a0 100644 --- a/samples/openapi3/client/petstore/javascript-es6/docs/Pet.md +++ b/samples/openapi3/client/petstore/javascript-es6/docs/Pet.md @@ -1,6 +1,7 @@ # OpenApiPetstore.Pet ## Properties + Name | Type | Description | Notes ------------ | ------------- | ------------- | ------------- **id** | **Number** | | [optional] @@ -11,7 +12,7 @@ Name | Type | Description | Notes **status** | **String** | pet status in the store | [optional] - + ## Enum: StatusEnum diff --git a/samples/openapi3/client/petstore/javascript-es6/docs/PetApi.md b/samples/openapi3/client/petstore/javascript-es6/docs/PetApi.md index 554b75396d..44734fbe72 100644 --- a/samples/openapi3/client/petstore/javascript-es6/docs/PetApi.md +++ b/samples/openapi3/client/petstore/javascript-es6/docs/PetApi.md @@ -15,13 +15,15 @@ Method | HTTP request | Description [**uploadFileWithRequiredFile**](PetApi.md#uploadFileWithRequiredFile) | **POST** /fake/{petId}/uploadImageWithRequiredFile | uploads an image (required) - -# **addPet** + +## addPet + > addPet(pet) Add a new pet to the store ### Example + ```javascript import OpenApiPetstore from 'open_api_petstore'; let defaultClient = OpenApiPetstore.ApiClient.instance; @@ -42,6 +44,7 @@ apiInstance.addPet(pet, (error, data, response) => { ### Parameters + Name | Type | Description | Notes ------------- | ------------- | ------------- | ------------- **pet** | [**Pet**](Pet.md)| Pet object that needs to be added to the store | @@ -56,16 +59,18 @@ null (empty response body) ### HTTP request headers - - **Content-Type**: application/json, application/xml - - **Accept**: Not defined +- **Content-Type**: application/json, application/xml +- **Accept**: Not defined + + +## deletePet - -# **deletePet** > deletePet(petId, opts) Deletes a pet ### Example + ```javascript import OpenApiPetstore from 'open_api_petstore'; let defaultClient = OpenApiPetstore.ApiClient.instance; @@ -89,6 +94,7 @@ apiInstance.deletePet(petId, opts, (error, data, response) => { ### Parameters + Name | Type | Description | Notes ------------- | ------------- | ------------- | ------------- **petId** | **Number**| Pet id to delete | @@ -104,11 +110,12 @@ null (empty response body) ### HTTP request headers - - **Content-Type**: Not defined - - **Accept**: Not defined +- **Content-Type**: Not defined +- **Accept**: Not defined + + +## findPetsByStatus - -# **findPetsByStatus** > [Pet] findPetsByStatus(status) Finds Pets by status @@ -116,6 +123,7 @@ Finds Pets by status Multiple status values can be provided with comma separated strings ### Example + ```javascript import OpenApiPetstore from 'open_api_petstore'; let defaultClient = OpenApiPetstore.ApiClient.instance; @@ -136,6 +144,7 @@ apiInstance.findPetsByStatus(status, (error, data, response) => { ### Parameters + Name | Type | Description | Notes ------------- | ------------- | ------------- | ------------- **status** | [**[String]**](String.md)| Status values that need to be considered for filter | @@ -150,11 +159,12 @@ Name | Type | Description | Notes ### HTTP request headers - - **Content-Type**: Not defined - - **Accept**: application/xml, application/json +- **Content-Type**: Not defined +- **Accept**: application/xml, application/json + + +## findPetsByTags - -# **findPetsByTags** > [Pet] findPetsByTags(tags) Finds Pets by tags @@ -162,6 +172,7 @@ Finds Pets by tags Multiple tags can be provided with comma separated strings. Use tag1, tag2, tag3 for testing. ### Example + ```javascript import OpenApiPetstore from 'open_api_petstore'; let defaultClient = OpenApiPetstore.ApiClient.instance; @@ -182,6 +193,7 @@ apiInstance.findPetsByTags(tags, (error, data, response) => { ### Parameters + Name | Type | Description | Notes ------------- | ------------- | ------------- | ------------- **tags** | [**[String]**](String.md)| Tags to filter by | @@ -196,11 +208,12 @@ Name | Type | Description | Notes ### HTTP request headers - - **Content-Type**: Not defined - - **Accept**: application/xml, application/json +- **Content-Type**: Not defined +- **Accept**: application/xml, application/json + + +## getPetById - -# **getPetById** > Pet getPetById(petId) Find pet by ID @@ -208,6 +221,7 @@ Find pet by ID Returns a single pet ### Example + ```javascript import OpenApiPetstore from 'open_api_petstore'; let defaultClient = OpenApiPetstore.ApiClient.instance; @@ -230,6 +244,7 @@ apiInstance.getPetById(petId, (error, data, response) => { ### Parameters + Name | Type | Description | Notes ------------- | ------------- | ------------- | ------------- **petId** | **Number**| ID of pet to return | @@ -244,16 +259,18 @@ Name | Type | Description | Notes ### HTTP request headers - - **Content-Type**: Not defined - - **Accept**: application/xml, application/json +- **Content-Type**: Not defined +- **Accept**: application/xml, application/json + + +## updatePet - -# **updatePet** > updatePet(pet) Update an existing pet ### Example + ```javascript import OpenApiPetstore from 'open_api_petstore'; let defaultClient = OpenApiPetstore.ApiClient.instance; @@ -274,6 +291,7 @@ apiInstance.updatePet(pet, (error, data, response) => { ### Parameters + Name | Type | Description | Notes ------------- | ------------- | ------------- | ------------- **pet** | [**Pet**](Pet.md)| Pet object that needs to be added to the store | @@ -288,16 +306,18 @@ null (empty response body) ### HTTP request headers - - **Content-Type**: application/json, application/xml - - **Accept**: Not defined +- **Content-Type**: application/json, application/xml +- **Accept**: Not defined + + +## updatePetWithForm - -# **updatePetWithForm** > updatePetWithForm(petId, opts) Updates a pet in the store with form data ### Example + ```javascript import OpenApiPetstore from 'open_api_petstore'; let defaultClient = OpenApiPetstore.ApiClient.instance; @@ -322,6 +342,7 @@ apiInstance.updatePetWithForm(petId, opts, (error, data, response) => { ### Parameters + Name | Type | Description | Notes ------------- | ------------- | ------------- | ------------- **petId** | **Number**| ID of pet that needs to be updated | @@ -338,16 +359,18 @@ null (empty response body) ### HTTP request headers - - **Content-Type**: application/x-www-form-urlencoded - - **Accept**: Not defined +- **Content-Type**: application/x-www-form-urlencoded +- **Accept**: Not defined + + +## uploadFile - -# **uploadFile** > ApiResponse uploadFile(petId, opts) uploads an image ### Example + ```javascript import OpenApiPetstore from 'open_api_petstore'; let defaultClient = OpenApiPetstore.ApiClient.instance; @@ -372,6 +395,7 @@ apiInstance.uploadFile(petId, opts, (error, data, response) => { ### Parameters + Name | Type | Description | Notes ------------- | ------------- | ------------- | ------------- **petId** | **Number**| ID of pet to update | @@ -388,16 +412,18 @@ Name | Type | Description | Notes ### HTTP request headers - - **Content-Type**: multipart/form-data - - **Accept**: application/json +- **Content-Type**: multipart/form-data +- **Accept**: application/json + + +## uploadFileWithRequiredFile - -# **uploadFileWithRequiredFile** > ApiResponse uploadFileWithRequiredFile(petId, requiredFile, opts) uploads an image (required) ### Example + ```javascript import OpenApiPetstore from 'open_api_petstore'; let defaultClient = OpenApiPetstore.ApiClient.instance; @@ -422,6 +448,7 @@ apiInstance.uploadFileWithRequiredFile(petId, requiredFile, opts, (error, data, ### Parameters + Name | Type | Description | Notes ------------- | ------------- | ------------- | ------------- **petId** | **Number**| ID of pet to update | @@ -438,6 +465,6 @@ Name | Type | Description | Notes ### HTTP request headers - - **Content-Type**: multipart/form-data - - **Accept**: application/json +- **Content-Type**: multipart/form-data +- **Accept**: application/json diff --git a/samples/openapi3/client/petstore/javascript-es6/docs/ReadOnlyFirst.md b/samples/openapi3/client/petstore/javascript-es6/docs/ReadOnlyFirst.md index 671280fba3..01063e61a9 100644 --- a/samples/openapi3/client/petstore/javascript-es6/docs/ReadOnlyFirst.md +++ b/samples/openapi3/client/petstore/javascript-es6/docs/ReadOnlyFirst.md @@ -1,6 +1,7 @@ # OpenApiPetstore.ReadOnlyFirst ## Properties + Name | Type | Description | Notes ------------ | ------------- | ------------- | ------------- **bar** | **String** | | [optional] diff --git a/samples/openapi3/client/petstore/javascript-es6/docs/SpecialModelName.md b/samples/openapi3/client/petstore/javascript-es6/docs/SpecialModelName.md index 6039f53de3..f33678460b 100644 --- a/samples/openapi3/client/petstore/javascript-es6/docs/SpecialModelName.md +++ b/samples/openapi3/client/petstore/javascript-es6/docs/SpecialModelName.md @@ -1,6 +1,7 @@ # OpenApiPetstore.SpecialModelName ## Properties + Name | Type | Description | Notes ------------ | ------------- | ------------- | ------------- **specialPropertyName** | **Number** | | [optional] diff --git a/samples/openapi3/client/petstore/javascript-es6/docs/StoreApi.md b/samples/openapi3/client/petstore/javascript-es6/docs/StoreApi.md index fc6278c209..0f29ae4629 100644 --- a/samples/openapi3/client/petstore/javascript-es6/docs/StoreApi.md +++ b/samples/openapi3/client/petstore/javascript-es6/docs/StoreApi.md @@ -10,8 +10,9 @@ Method | HTTP request | Description [**placeOrder**](StoreApi.md#placeOrder) | **POST** /store/order | Place an order for a pet - -# **deleteOrder** + +## deleteOrder + > deleteOrder(orderId) Delete purchase order by ID @@ -19,6 +20,7 @@ Delete purchase order by ID For valid response try integer IDs with value < 1000. Anything above 1000 or nonintegers will generate API errors ### Example + ```javascript import OpenApiPetstore from 'open_api_petstore'; @@ -35,6 +37,7 @@ apiInstance.deleteOrder(orderId, (error, data, response) => { ### Parameters + Name | Type | Description | Notes ------------- | ------------- | ------------- | ------------- **orderId** | **String**| ID of the order that needs to be deleted | @@ -49,11 +52,12 @@ No authorization required ### HTTP request headers - - **Content-Type**: Not defined - - **Accept**: Not defined +- **Content-Type**: Not defined +- **Accept**: Not defined + + +## getInventory - -# **getInventory** > {String: Number} getInventory() Returns pet inventories by status @@ -61,6 +65,7 @@ Returns pet inventories by status Returns a map of status codes to quantities ### Example + ```javascript import OpenApiPetstore from 'open_api_petstore'; let defaultClient = OpenApiPetstore.ApiClient.instance; @@ -81,6 +86,7 @@ apiInstance.getInventory((error, data, response) => { ``` ### Parameters + This endpoint does not need any parameter. ### Return type @@ -93,11 +99,12 @@ This endpoint does not need any parameter. ### HTTP request headers - - **Content-Type**: Not defined - - **Accept**: application/json +- **Content-Type**: Not defined +- **Accept**: application/json + + +## getOrderById - -# **getOrderById** > Order getOrderById(orderId) Find purchase order by ID @@ -105,6 +112,7 @@ Find purchase order by ID For valid response try integer IDs with value <= 5 or > 10. Other values will generated exceptions ### Example + ```javascript import OpenApiPetstore from 'open_api_petstore'; @@ -121,6 +129,7 @@ apiInstance.getOrderById(orderId, (error, data, response) => { ### Parameters + Name | Type | Description | Notes ------------- | ------------- | ------------- | ------------- **orderId** | **Number**| ID of pet that needs to be fetched | @@ -135,16 +144,18 @@ No authorization required ### HTTP request headers - - **Content-Type**: Not defined - - **Accept**: application/xml, application/json +- **Content-Type**: Not defined +- **Accept**: application/xml, application/json + + +## placeOrder - -# **placeOrder** > Order placeOrder(order) Place an order for a pet ### Example + ```javascript import OpenApiPetstore from 'open_api_petstore'; @@ -161,6 +172,7 @@ apiInstance.placeOrder(order, (error, data, response) => { ### Parameters + Name | Type | Description | Notes ------------- | ------------- | ------------- | ------------- **order** | [**Order**](Order.md)| order placed for purchasing the pet | @@ -175,6 +187,6 @@ No authorization required ### HTTP request headers - - **Content-Type**: application/json - - **Accept**: application/xml, application/json +- **Content-Type**: application/json +- **Accept**: application/xml, application/json diff --git a/samples/openapi3/client/petstore/javascript-es6/docs/Tag.md b/samples/openapi3/client/petstore/javascript-es6/docs/Tag.md index a53941e80e..ce6fec0ab9 100644 --- a/samples/openapi3/client/petstore/javascript-es6/docs/Tag.md +++ b/samples/openapi3/client/petstore/javascript-es6/docs/Tag.md @@ -1,6 +1,7 @@ # OpenApiPetstore.Tag ## Properties + Name | Type | Description | Notes ------------ | ------------- | ------------- | ------------- **id** | **Number** | | [optional] diff --git a/samples/openapi3/client/petstore/javascript-es6/docs/User.md b/samples/openapi3/client/petstore/javascript-es6/docs/User.md index 2e86dd378b..096f606d0b 100644 --- a/samples/openapi3/client/petstore/javascript-es6/docs/User.md +++ b/samples/openapi3/client/petstore/javascript-es6/docs/User.md @@ -1,6 +1,7 @@ # OpenApiPetstore.User ## Properties + Name | Type | Description | Notes ------------ | ------------- | ------------- | ------------- **id** | **Number** | | [optional] diff --git a/samples/openapi3/client/petstore/javascript-es6/docs/UserApi.md b/samples/openapi3/client/petstore/javascript-es6/docs/UserApi.md index 76825a343e..c456208541 100644 --- a/samples/openapi3/client/petstore/javascript-es6/docs/UserApi.md +++ b/samples/openapi3/client/petstore/javascript-es6/docs/UserApi.md @@ -14,8 +14,9 @@ Method | HTTP request | Description [**updateUser**](UserApi.md#updateUser) | **PUT** /user/{username} | Updated user - -# **createUser** + +## createUser + > createUser(user) Create user @@ -23,6 +24,7 @@ Create user This can only be done by the logged in user. ### Example + ```javascript import OpenApiPetstore from 'open_api_petstore'; @@ -39,6 +41,7 @@ apiInstance.createUser(user, (error, data, response) => { ### Parameters + Name | Type | Description | Notes ------------- | ------------- | ------------- | ------------- **user** | [**User**](User.md)| Created user object | @@ -53,16 +56,18 @@ No authorization required ### HTTP request headers - - **Content-Type**: application/json - - **Accept**: Not defined +- **Content-Type**: application/json +- **Accept**: Not defined + + +## createUsersWithArrayInput - -# **createUsersWithArrayInput** > createUsersWithArrayInput(user) Creates list of users with given input array ### Example + ```javascript import OpenApiPetstore from 'open_api_petstore'; @@ -79,9 +84,10 @@ apiInstance.createUsersWithArrayInput(user, (error, data, response) => { ### Parameters + Name | Type | Description | Notes ------------- | ------------- | ------------- | ------------- - **user** | [**[User]**](Array.md)| List of user object | + **user** | [**[User]**](User.md)| List of user object | ### Return type @@ -93,16 +99,18 @@ No authorization required ### HTTP request headers - - **Content-Type**: application/json - - **Accept**: Not defined +- **Content-Type**: application/json +- **Accept**: Not defined + + +## createUsersWithListInput - -# **createUsersWithListInput** > createUsersWithListInput(user) Creates list of users with given input array ### Example + ```javascript import OpenApiPetstore from 'open_api_petstore'; @@ -119,9 +127,10 @@ apiInstance.createUsersWithListInput(user, (error, data, response) => { ### Parameters + Name | Type | Description | Notes ------------- | ------------- | ------------- | ------------- - **user** | [**[User]**](Array.md)| List of user object | + **user** | [**[User]**](User.md)| List of user object | ### Return type @@ -133,11 +142,12 @@ No authorization required ### HTTP request headers - - **Content-Type**: application/json - - **Accept**: Not defined +- **Content-Type**: application/json +- **Accept**: Not defined + + +## deleteUser - -# **deleteUser** > deleteUser(username) Delete user @@ -145,6 +155,7 @@ Delete user This can only be done by the logged in user. ### Example + ```javascript import OpenApiPetstore from 'open_api_petstore'; @@ -161,6 +172,7 @@ apiInstance.deleteUser(username, (error, data, response) => { ### Parameters + Name | Type | Description | Notes ------------- | ------------- | ------------- | ------------- **username** | **String**| The name that needs to be deleted | @@ -175,16 +187,18 @@ No authorization required ### HTTP request headers - - **Content-Type**: Not defined - - **Accept**: Not defined +- **Content-Type**: Not defined +- **Accept**: Not defined + + +## getUserByName - -# **getUserByName** > User getUserByName(username) Get user by user name ### Example + ```javascript import OpenApiPetstore from 'open_api_petstore'; @@ -201,6 +215,7 @@ apiInstance.getUserByName(username, (error, data, response) => { ### Parameters + Name | Type | Description | Notes ------------- | ------------- | ------------- | ------------- **username** | **String**| The name that needs to be fetched. Use user1 for testing. | @@ -215,16 +230,18 @@ No authorization required ### HTTP request headers - - **Content-Type**: Not defined - - **Accept**: application/xml, application/json +- **Content-Type**: Not defined +- **Accept**: application/xml, application/json + + +## loginUser - -# **loginUser** > String loginUser(username, password) Logs user into the system ### Example + ```javascript import OpenApiPetstore from 'open_api_petstore'; @@ -242,6 +259,7 @@ apiInstance.loginUser(username, password, (error, data, response) => { ### Parameters + Name | Type | Description | Notes ------------- | ------------- | ------------- | ------------- **username** | **String**| The user name for login | @@ -257,16 +275,18 @@ No authorization required ### HTTP request headers - - **Content-Type**: Not defined - - **Accept**: application/xml, application/json +- **Content-Type**: Not defined +- **Accept**: application/xml, application/json + + +## logoutUser - -# **logoutUser** > logoutUser() Logs out current logged in user session ### Example + ```javascript import OpenApiPetstore from 'open_api_petstore'; @@ -281,6 +301,7 @@ apiInstance.logoutUser((error, data, response) => { ``` ### Parameters + This endpoint does not need any parameter. ### Return type @@ -293,11 +314,12 @@ No authorization required ### HTTP request headers - - **Content-Type**: Not defined - - **Accept**: Not defined +- **Content-Type**: Not defined +- **Accept**: Not defined + + +## updateUser - -# **updateUser** > updateUser(username, user) Updated user @@ -305,6 +327,7 @@ Updated user This can only be done by the logged in user. ### Example + ```javascript import OpenApiPetstore from 'open_api_petstore'; @@ -322,6 +345,7 @@ apiInstance.updateUser(username, user, (error, data, response) => { ### Parameters + Name | Type | Description | Notes ------------- | ------------- | ------------- | ------------- **username** | **String**| name that need to be deleted | @@ -337,6 +361,6 @@ No authorization required ### HTTP request headers - - **Content-Type**: application/json - - **Accept**: Not defined +- **Content-Type**: application/json +- **Accept**: Not defined diff --git a/samples/openapi3/client/petstore/javascript-es6/package.json b/samples/openapi3/client/petstore/javascript-es6/package.json index ae6e93fe8d..94455e4a69 100644 --- a/samples/openapi3/client/petstore/javascript-es6/package.json +++ b/samples/openapi3/client/petstore/javascript-es6/package.json @@ -1,7 +1,7 @@ { "name": "open_api_petstore", "version": "1.0.0", - "description": "This_spec_is_mainly_for_testing_Petstore_server_and_contains_fake_endpoints_models__Please_do_not_use_this_for_any_other_purpose__Special_characters__", + "description": "This_spec_is_mainly_for_testing_Petstore_server_and_contains_fake_endpoints_models__Please_do_not_use_this_for_any_other_purpose__Special_characters___", "license": "Apache-2.0", "main": "dist/index.js", "scripts": { @@ -20,9 +20,9 @@ "babel-core": "6.26.0", "babel-preset-env": "^1.6.1", "babel-preset-stage-0": "^6.24.1", - "expect.js": "~0.3.1", + "expect.js": "^0.3.1", "mocha": "^5.2.0", - "sinon": "1.17.3" + "sinon": "^7.2.0" }, "files": [ "dist" diff --git a/samples/openapi3/client/petstore/javascript-es6/src/ApiClient.js b/samples/openapi3/client/petstore/javascript-es6/src/ApiClient.js index d9a4ee1659..fc521813b3 100644 --- a/samples/openapi3/client/petstore/javascript-es6/src/ApiClient.js +++ b/samples/openapi3/client/petstore/javascript-es6/src/ApiClient.js @@ -2,7 +2,7 @@ * OpenAPI Petstore * This spec is mainly for testing Petstore server and contains fake endpoints, models. Please do not use this for any other purpose. Special characters: \" \\ * - * OpenAPI spec version: 1.0.0 + * The version of the OpenAPI document: 1.0.0 * * * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). @@ -610,7 +610,8 @@ class ApiClient { // go through variable and assign a value for (var variable_name in server['variables']) { if (variable_name in variables) { - if (server['variables'][variable_name]['enum_values'].includes(variables[variable_name])) { + let variable = server['variables'][variable_name]; + if ( !('enum_values' in variable) || variable['enum_values'].includes(variables[variable_name]) ) { url = url.replace("{" + variable_name + "}", variables[variable_name]); } else { throw new Error("The variable `" + variable_name + "` in the host URL has invalid value " + variables[variable_name] + ". Must be " + server['variables'][variable_name]['enum_values'] + "."); diff --git a/samples/openapi3/client/petstore/javascript-es6/src/api/AnotherFakeApi.js b/samples/openapi3/client/petstore/javascript-es6/src/api/AnotherFakeApi.js index 68992561fe..c84fc12049 100644 --- a/samples/openapi3/client/petstore/javascript-es6/src/api/AnotherFakeApi.js +++ b/samples/openapi3/client/petstore/javascript-es6/src/api/AnotherFakeApi.js @@ -2,7 +2,7 @@ * OpenAPI Petstore * This spec is mainly for testing Petstore server and contains fake endpoints, models. Please do not use this for any other purpose. Special characters: \" \\ * - * OpenAPI spec version: 1.0.0 + * The version of the OpenAPI document: 1.0.0 * * * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). diff --git a/samples/openapi3/client/petstore/javascript-es6/src/api/DefaultApi.js b/samples/openapi3/client/petstore/javascript-es6/src/api/DefaultApi.js index 9cb51731ac..2a586e6fc3 100644 --- a/samples/openapi3/client/petstore/javascript-es6/src/api/DefaultApi.js +++ b/samples/openapi3/client/petstore/javascript-es6/src/api/DefaultApi.js @@ -2,7 +2,7 @@ * OpenAPI Petstore * This spec is mainly for testing Petstore server and contains fake endpoints, models. Please do not use this for any other purpose. Special characters: \" \\ * - * OpenAPI spec version: 1.0.0 + * The version of the OpenAPI document: 1.0.0 * * * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). diff --git a/samples/openapi3/client/petstore/javascript-es6/src/api/FakeApi.js b/samples/openapi3/client/petstore/javascript-es6/src/api/FakeApi.js index 039aad40f3..b779413c5a 100644 --- a/samples/openapi3/client/petstore/javascript-es6/src/api/FakeApi.js +++ b/samples/openapi3/client/petstore/javascript-es6/src/api/FakeApi.js @@ -2,7 +2,7 @@ * OpenAPI Petstore * This spec is mainly for testing Petstore server and contains fake endpoints, models. Please do not use this for any other purpose. Special characters: \" \\ * - * OpenAPI spec version: 1.0.0 + * The version of the OpenAPI document: 1.0.0 * * * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). @@ -239,7 +239,7 @@ export default class FakeApi { */ /** - * For this test, the body for this request much reference a schema named `File`. + * For this test, the body for this request much reference a schema named `File`. * @param {module:model/FileSchemaTestClass} fileSchemaTestClass * @param {module:api/FakeApi~testBodyWithFileSchemaCallback} callback The callback function, accepting three arguments: error, data, response */ @@ -324,8 +324,8 @@ export default class FakeApi { */ /** - * To test \"client\" model - * To test \"client\" model + * To test \"client\" model + * To test \"client\" model * @param {module:model/Client} client client model * @param {module:api/FakeApi~testClientModelCallback} callback The callback function, accepting three arguments: error, data, response * data is of type: {@link module:model/Client} @@ -452,13 +452,13 @@ export default class FakeApi { * To test enum parameters * @param {Object} opts Optional parameters * @param {Array.} opts.enumHeaderStringArray Header parameter enum test (string array) - * @param {module:model/String} opts.enumHeaderString Header parameter enum test (string) (default to '-efg') + * @param {module:model/String} opts.enumHeaderString Header parameter enum test (string) (default to '-efg') * @param {Array.} opts.enumQueryStringArray Query parameter enum test (string array) - * @param {module:model/String} opts.enumQueryString Query parameter enum test (string) (default to '-efg') + * @param {module:model/String} opts.enumQueryString Query parameter enum test (string) (default to '-efg') * @param {module:model/Number} opts.enumQueryInteger Query parameter enum test (double) * @param {module:model/Number} opts.enumQueryDouble Query parameter enum test (double) - * @param {Array.} opts.enumFormStringArray Form parameter enum test (string array) (default to '$') - * @param {module:model/String} opts.enumFormString Form parameter enum test (string) (default to '-efg') + * @param {Array.} opts.enumFormStringArray Form parameter enum test (string array) (default to '$') + * @param {module:model/String} opts.enumFormString Form parameter enum test (string) (default to '-efg') * @param {module:api/FakeApi~testEnumParametersCallback} callback The callback function, accepting three arguments: error, data, response */ testEnumParameters(opts, callback) { diff --git a/samples/openapi3/client/petstore/javascript-es6/src/api/FakeClassnameTags123Api.js b/samples/openapi3/client/petstore/javascript-es6/src/api/FakeClassnameTags123Api.js index d6250c7451..324529a59b 100644 --- a/samples/openapi3/client/petstore/javascript-es6/src/api/FakeClassnameTags123Api.js +++ b/samples/openapi3/client/petstore/javascript-es6/src/api/FakeClassnameTags123Api.js @@ -2,7 +2,7 @@ * OpenAPI Petstore * This spec is mainly for testing Petstore server and contains fake endpoints, models. Please do not use this for any other purpose. Special characters: \" \\ * - * OpenAPI spec version: 1.0.0 + * The version of the OpenAPI document: 1.0.0 * * * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). diff --git a/samples/openapi3/client/petstore/javascript-es6/src/api/PetApi.js b/samples/openapi3/client/petstore/javascript-es6/src/api/PetApi.js index 7678d73bf3..0f23c06901 100644 --- a/samples/openapi3/client/petstore/javascript-es6/src/api/PetApi.js +++ b/samples/openapi3/client/petstore/javascript-es6/src/api/PetApi.js @@ -2,7 +2,7 @@ * OpenAPI Petstore * This spec is mainly for testing Petstore server and contains fake endpoints, models. Please do not use this for any other purpose. Special characters: \" \\ * - * OpenAPI spec version: 1.0.0 + * The version of the OpenAPI document: 1.0.0 * * * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). diff --git a/samples/openapi3/client/petstore/javascript-es6/src/api/StoreApi.js b/samples/openapi3/client/petstore/javascript-es6/src/api/StoreApi.js index 153fc4a257..74ad1afd3e 100644 --- a/samples/openapi3/client/petstore/javascript-es6/src/api/StoreApi.js +++ b/samples/openapi3/client/petstore/javascript-es6/src/api/StoreApi.js @@ -2,7 +2,7 @@ * OpenAPI Petstore * This spec is mainly for testing Petstore server and contains fake endpoints, models. Please do not use this for any other purpose. Special characters: \" \\ * - * OpenAPI spec version: 1.0.0 + * The version of the OpenAPI document: 1.0.0 * * * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). @@ -44,7 +44,7 @@ export default class StoreApi { /** * Delete purchase order by ID - * For valid response try integer IDs with value < 1000. Anything above 1000 or nonintegers will generate API errors + * For valid response try integer IDs with value < 1000. Anything above 1000 or nonintegers will generate API errors * @param {String} orderId ID of the order that needs to be deleted * @param {module:api/StoreApi~deleteOrderCallback} callback The callback function, accepting three arguments: error, data, response */ @@ -123,7 +123,7 @@ export default class StoreApi { /** * Find purchase order by ID - * For valid response try integer IDs with value <= 5 or > 10. Other values will generated exceptions + * For valid response try integer IDs with value <= 5 or > 10. Other values will generated exceptions * @param {Number} orderId ID of pet that needs to be fetched * @param {module:api/StoreApi~getOrderByIdCallback} callback The callback function, accepting three arguments: error, data, response * data is of type: {@link module:model/Order} diff --git a/samples/openapi3/client/petstore/javascript-es6/src/api/UserApi.js b/samples/openapi3/client/petstore/javascript-es6/src/api/UserApi.js index eb9cbeaad7..83720dd3a1 100644 --- a/samples/openapi3/client/petstore/javascript-es6/src/api/UserApi.js +++ b/samples/openapi3/client/petstore/javascript-es6/src/api/UserApi.js @@ -2,7 +2,7 @@ * OpenAPI Petstore * This spec is mainly for testing Petstore server and contains fake endpoints, models. Please do not use this for any other purpose. Special characters: \" \\ * - * OpenAPI spec version: 1.0.0 + * The version of the OpenAPI document: 1.0.0 * * * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). @@ -85,7 +85,7 @@ export default class UserApi { /** * Creates list of users with given input array - * @param {Array.} user List of user object + * @param {Array.} user List of user object * @param {module:api/UserApi~createUsersWithArrayInputCallback} callback The callback function, accepting three arguments: error, data, response */ createUsersWithArrayInput(user, callback) { @@ -125,7 +125,7 @@ export default class UserApi { /** * Creates list of users with given input array - * @param {Array.} user List of user object + * @param {Array.} user List of user object * @param {module:api/UserApi~createUsersWithListInputCallback} callback The callback function, accepting three arguments: error, data, response */ createUsersWithListInput(user, callback) { diff --git a/samples/openapi3/client/petstore/javascript-es6/src/index.js b/samples/openapi3/client/petstore/javascript-es6/src/index.js index 76f8c23aee..1a0cda3b1d 100644 --- a/samples/openapi3/client/petstore/javascript-es6/src/index.js +++ b/samples/openapi3/client/petstore/javascript-es6/src/index.js @@ -2,7 +2,7 @@ * OpenAPI Petstore * This spec is mainly for testing Petstore server and contains fake endpoints, models. Please do not use this for any other purpose. Special characters: \" \\ * - * OpenAPI spec version: 1.0.0 + * The version of the OpenAPI document: 1.0.0 * * * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). @@ -21,10 +21,12 @@ import ArrayOfNumberOnly from './model/ArrayOfNumberOnly'; import ArrayTest from './model/ArrayTest'; import Capitalization from './model/Capitalization'; import Cat from './model/Cat'; +import CatAllOf from './model/CatAllOf'; import Category from './model/Category'; import ClassModel from './model/ClassModel'; import Client from './model/Client'; import Dog from './model/Dog'; +import DogAllOf from './model/DogAllOf'; import EnumArrays from './model/EnumArrays'; import EnumClass from './model/EnumClass'; import EnumTest from './model/EnumTest'; @@ -47,6 +49,7 @@ import MixedPropertiesAndAdditionalPropertiesClass from './model/MixedProperties import Model200Response from './model/Model200Response'; import ModelReturn from './model/ModelReturn'; import Name from './model/Name'; +import NullableClass from './model/NullableClass'; import NumberOnly from './model/NumberOnly'; import Order from './model/Order'; import OuterComposite from './model/OuterComposite'; @@ -69,7 +72,7 @@ import UserApi from './api/UserApi'; /** -* This_spec_is_mainly_for_testing_Petstore_server_and_contains_fake_endpoints_models__Please_do_not_use_this_for_any_other_purpose__Special_characters__.
    +* This_spec_is_mainly_for_testing_Petstore_server_and_contains_fake_endpoints_models__Please_do_not_use_this_for_any_other_purpose__Special_characters___.
    * The index module provides access to constructors for all the classes which comprise the public API. *

    * An AMD (recommended!) or CommonJS application will generally do something equivalent to the following: @@ -154,6 +157,12 @@ export { */ Cat, + /** + * The CatAllOf model constructor. + * @property {module:model/CatAllOf} + */ + CatAllOf, + /** * The Category model constructor. * @property {module:model/Category} @@ -178,6 +187,12 @@ export { */ Dog, + /** + * The DogAllOf model constructor. + * @property {module:model/DogAllOf} + */ + DogAllOf, + /** * The EnumArrays model constructor. * @property {module:model/EnumArrays} @@ -310,6 +325,12 @@ export { */ Name, + /** + * The NullableClass model constructor. + * @property {module:model/NullableClass} + */ + NullableClass, + /** * The NumberOnly model constructor. * @property {module:model/NumberOnly} diff --git a/samples/openapi3/client/petstore/javascript-es6/src/model/AdditionalPropertiesClass.js b/samples/openapi3/client/petstore/javascript-es6/src/model/AdditionalPropertiesClass.js index d6e898a5ab..d6d83cca28 100644 --- a/samples/openapi3/client/petstore/javascript-es6/src/model/AdditionalPropertiesClass.js +++ b/samples/openapi3/client/petstore/javascript-es6/src/model/AdditionalPropertiesClass.js @@ -2,7 +2,7 @@ * OpenAPI Petstore * This spec is mainly for testing Petstore server and contains fake endpoints, models. Please do not use this for any other purpose. Special characters: \" \\ * - * OpenAPI spec version: 1.0.0 + * The version of the OpenAPI document: 1.0.0 * * * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). diff --git a/samples/openapi3/client/petstore/javascript-es6/src/model/Animal.js b/samples/openapi3/client/petstore/javascript-es6/src/model/Animal.js index c55d0c758f..7cb9017160 100644 --- a/samples/openapi3/client/petstore/javascript-es6/src/model/Animal.js +++ b/samples/openapi3/client/petstore/javascript-es6/src/model/Animal.js @@ -2,7 +2,7 @@ * OpenAPI Petstore * This spec is mainly for testing Petstore server and contains fake endpoints, models. Please do not use this for any other purpose. Special characters: \" \\ * - * OpenAPI spec version: 1.0.0 + * The version of the OpenAPI document: 1.0.0 * * * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). diff --git a/samples/openapi3/client/petstore/javascript-es6/src/model/ApiResponse.js b/samples/openapi3/client/petstore/javascript-es6/src/model/ApiResponse.js index 4f5fb55291..f5af17fdf8 100644 --- a/samples/openapi3/client/petstore/javascript-es6/src/model/ApiResponse.js +++ b/samples/openapi3/client/petstore/javascript-es6/src/model/ApiResponse.js @@ -2,7 +2,7 @@ * OpenAPI Petstore * This spec is mainly for testing Petstore server and contains fake endpoints, models. Please do not use this for any other purpose. Special characters: \" \\ * - * OpenAPI spec version: 1.0.0 + * The version of the OpenAPI document: 1.0.0 * * * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). diff --git a/samples/openapi3/client/petstore/javascript-es6/src/model/ArrayOfArrayOfNumberOnly.js b/samples/openapi3/client/petstore/javascript-es6/src/model/ArrayOfArrayOfNumberOnly.js index e8d959f368..eadd7db414 100644 --- a/samples/openapi3/client/petstore/javascript-es6/src/model/ArrayOfArrayOfNumberOnly.js +++ b/samples/openapi3/client/petstore/javascript-es6/src/model/ArrayOfArrayOfNumberOnly.js @@ -2,7 +2,7 @@ * OpenAPI Petstore * This spec is mainly for testing Petstore server and contains fake endpoints, models. Please do not use this for any other purpose. Special characters: \" \\ * - * OpenAPI spec version: 1.0.0 + * The version of the OpenAPI document: 1.0.0 * * * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). diff --git a/samples/openapi3/client/petstore/javascript-es6/src/model/ArrayOfNumberOnly.js b/samples/openapi3/client/petstore/javascript-es6/src/model/ArrayOfNumberOnly.js index 4fb72e435e..1145a62630 100644 --- a/samples/openapi3/client/petstore/javascript-es6/src/model/ArrayOfNumberOnly.js +++ b/samples/openapi3/client/petstore/javascript-es6/src/model/ArrayOfNumberOnly.js @@ -2,7 +2,7 @@ * OpenAPI Petstore * This spec is mainly for testing Petstore server and contains fake endpoints, models. Please do not use this for any other purpose. Special characters: \" \\ * - * OpenAPI spec version: 1.0.0 + * The version of the OpenAPI document: 1.0.0 * * * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). diff --git a/samples/openapi3/client/petstore/javascript-es6/src/model/ArrayTest.js b/samples/openapi3/client/petstore/javascript-es6/src/model/ArrayTest.js index 8096c2c4f7..18bc925308 100644 --- a/samples/openapi3/client/petstore/javascript-es6/src/model/ArrayTest.js +++ b/samples/openapi3/client/petstore/javascript-es6/src/model/ArrayTest.js @@ -2,7 +2,7 @@ * OpenAPI Petstore * This spec is mainly for testing Petstore server and contains fake endpoints, models. Please do not use this for any other purpose. Special characters: \" \\ * - * OpenAPI spec version: 1.0.0 + * The version of the OpenAPI document: 1.0.0 * * * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). diff --git a/samples/openapi3/client/petstore/javascript-es6/src/model/Capitalization.js b/samples/openapi3/client/petstore/javascript-es6/src/model/Capitalization.js index bc1cdefb71..63b14361fe 100644 --- a/samples/openapi3/client/petstore/javascript-es6/src/model/Capitalization.js +++ b/samples/openapi3/client/petstore/javascript-es6/src/model/Capitalization.js @@ -2,7 +2,7 @@ * OpenAPI Petstore * This spec is mainly for testing Petstore server and contains fake endpoints, models. Please do not use this for any other purpose. Special characters: \" \\ * - * OpenAPI spec version: 1.0.0 + * The version of the OpenAPI document: 1.0.0 * * * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). diff --git a/samples/openapi3/client/petstore/javascript-es6/src/model/Cat.js b/samples/openapi3/client/petstore/javascript-es6/src/model/Cat.js index 63a4045455..d18ce94e70 100644 --- a/samples/openapi3/client/petstore/javascript-es6/src/model/Cat.js +++ b/samples/openapi3/client/petstore/javascript-es6/src/model/Cat.js @@ -2,7 +2,7 @@ * OpenAPI Petstore * This spec is mainly for testing Petstore server and contains fake endpoints, models. Please do not use this for any other purpose. Special characters: \" \\ * - * OpenAPI spec version: 1.0.0 + * The version of the OpenAPI document: 1.0.0 * * * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). @@ -13,6 +13,7 @@ import ApiClient from '../ApiClient'; import Animal from './Animal'; +import CatAllOf from './CatAllOf'; /** * The Cat model module. @@ -25,10 +26,11 @@ class Cat { * @alias module:model/Cat * @extends module:model/Animal * @implements module:model/Animal + * @implements module:model/CatAllOf * @param className {String} */ constructor(className) { - Animal.initialize(this, className); + Animal.initialize(this, className);CatAllOf.initialize(this); Cat.initialize(this, className); } @@ -52,6 +54,7 @@ class Cat { obj = obj || new Cat(); Animal.constructFromObject(data, obj); Animal.constructFromObject(data, obj); + CatAllOf.constructFromObject(data, obj); if (data.hasOwnProperty('declawed')) { obj['declawed'] = ApiClient.convertToType(data['declawed'], 'Boolean'); @@ -79,6 +82,11 @@ Animal.prototype['className'] = undefined; * @default 'red' */ Animal.prototype['color'] = 'red'; +// Implement CatAllOf interface: +/** + * @member {Boolean} declawed + */ +CatAllOf.prototype['declawed'] = undefined; diff --git a/samples/openapi3/client/petstore/javascript-es6/src/model/CatAllOf.js b/samples/openapi3/client/petstore/javascript-es6/src/model/CatAllOf.js new file mode 100644 index 0000000000..c71ea7129b --- /dev/null +++ b/samples/openapi3/client/petstore/javascript-es6/src/model/CatAllOf.js @@ -0,0 +1,71 @@ +/** + * OpenAPI Petstore + * This spec is mainly for testing Petstore server and contains fake endpoints, models. Please do not use this for any other purpose. Special characters: \" \\ + * + * The version of the OpenAPI document: 1.0.0 + * + * + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). + * https://openapi-generator.tech + * Do not edit the class manually. + * + */ + +import ApiClient from '../ApiClient'; + +/** + * The CatAllOf model module. + * @module model/CatAllOf + * @version 1.0.0 + */ +class CatAllOf { + /** + * Constructs a new CatAllOf. + * @alias module:model/CatAllOf + */ + constructor() { + + CatAllOf.initialize(this); + } + + /** + * Initializes the fields of this object. + * This method is used by the constructors of any subclasses, in order to implement multiple inheritance (mix-ins). + * Only for internal use. + */ + static initialize(obj) { + } + + /** + * Constructs a CatAllOf from a plain JavaScript object, optionally creating a new instance. + * Copies all relevant properties from data to obj if supplied or a new instance if not. + * @param {Object} data The plain JavaScript object bearing properties of interest. + * @param {module:model/CatAllOf} obj Optional instance to populate. + * @return {module:model/CatAllOf} The populated CatAllOf instance. + */ + static constructFromObject(data, obj) { + if (data) { + obj = obj || new CatAllOf(); + + if (data.hasOwnProperty('declawed')) { + obj['declawed'] = ApiClient.convertToType(data['declawed'], 'Boolean'); + } + } + return obj; + } + + +} + +/** + * @member {Boolean} declawed + */ +CatAllOf.prototype['declawed'] = undefined; + + + + + + +export default CatAllOf; + diff --git a/samples/openapi3/client/petstore/javascript-es6/src/model/Category.js b/samples/openapi3/client/petstore/javascript-es6/src/model/Category.js index 5540805591..00d86502a6 100644 --- a/samples/openapi3/client/petstore/javascript-es6/src/model/Category.js +++ b/samples/openapi3/client/petstore/javascript-es6/src/model/Category.js @@ -2,7 +2,7 @@ * OpenAPI Petstore * This spec is mainly for testing Petstore server and contains fake endpoints, models. Please do not use this for any other purpose. Special characters: \" \\ * - * OpenAPI spec version: 1.0.0 + * The version of the OpenAPI document: 1.0.0 * * * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). diff --git a/samples/openapi3/client/petstore/javascript-es6/src/model/ClassModel.js b/samples/openapi3/client/petstore/javascript-es6/src/model/ClassModel.js index 2e55c2a634..ee1f141777 100644 --- a/samples/openapi3/client/petstore/javascript-es6/src/model/ClassModel.js +++ b/samples/openapi3/client/petstore/javascript-es6/src/model/ClassModel.js @@ -2,7 +2,7 @@ * OpenAPI Petstore * This spec is mainly for testing Petstore server and contains fake endpoints, models. Please do not use this for any other purpose. Special characters: \" \\ * - * OpenAPI spec version: 1.0.0 + * The version of the OpenAPI document: 1.0.0 * * * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). diff --git a/samples/openapi3/client/petstore/javascript-es6/src/model/Client.js b/samples/openapi3/client/petstore/javascript-es6/src/model/Client.js index c506d2fa17..8521c85043 100644 --- a/samples/openapi3/client/petstore/javascript-es6/src/model/Client.js +++ b/samples/openapi3/client/petstore/javascript-es6/src/model/Client.js @@ -2,7 +2,7 @@ * OpenAPI Petstore * This spec is mainly for testing Petstore server and contains fake endpoints, models. Please do not use this for any other purpose. Special characters: \" \\ * - * OpenAPI spec version: 1.0.0 + * The version of the OpenAPI document: 1.0.0 * * * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). diff --git a/samples/openapi3/client/petstore/javascript-es6/src/model/Dog.js b/samples/openapi3/client/petstore/javascript-es6/src/model/Dog.js index 6187e03107..b101feecd3 100644 --- a/samples/openapi3/client/petstore/javascript-es6/src/model/Dog.js +++ b/samples/openapi3/client/petstore/javascript-es6/src/model/Dog.js @@ -2,7 +2,7 @@ * OpenAPI Petstore * This spec is mainly for testing Petstore server and contains fake endpoints, models. Please do not use this for any other purpose. Special characters: \" \\ * - * OpenAPI spec version: 1.0.0 + * The version of the OpenAPI document: 1.0.0 * * * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). @@ -13,6 +13,7 @@ import ApiClient from '../ApiClient'; import Animal from './Animal'; +import DogAllOf from './DogAllOf'; /** * The Dog model module. @@ -25,10 +26,11 @@ class Dog { * @alias module:model/Dog * @extends module:model/Animal * @implements module:model/Animal + * @implements module:model/DogAllOf * @param className {String} */ constructor(className) { - Animal.initialize(this, className); + Animal.initialize(this, className);DogAllOf.initialize(this); Dog.initialize(this, className); } @@ -52,6 +54,7 @@ class Dog { obj = obj || new Dog(); Animal.constructFromObject(data, obj); Animal.constructFromObject(data, obj); + DogAllOf.constructFromObject(data, obj); if (data.hasOwnProperty('breed')) { obj['breed'] = ApiClient.convertToType(data['breed'], 'String'); @@ -79,6 +82,11 @@ Animal.prototype['className'] = undefined; * @default 'red' */ Animal.prototype['color'] = 'red'; +// Implement DogAllOf interface: +/** + * @member {String} breed + */ +DogAllOf.prototype['breed'] = undefined; diff --git a/samples/openapi3/client/petstore/javascript-es6/src/model/DogAllOf.js b/samples/openapi3/client/petstore/javascript-es6/src/model/DogAllOf.js new file mode 100644 index 0000000000..58ecede612 --- /dev/null +++ b/samples/openapi3/client/petstore/javascript-es6/src/model/DogAllOf.js @@ -0,0 +1,71 @@ +/** + * OpenAPI Petstore + * This spec is mainly for testing Petstore server and contains fake endpoints, models. Please do not use this for any other purpose. Special characters: \" \\ + * + * The version of the OpenAPI document: 1.0.0 + * + * + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). + * https://openapi-generator.tech + * Do not edit the class manually. + * + */ + +import ApiClient from '../ApiClient'; + +/** + * The DogAllOf model module. + * @module model/DogAllOf + * @version 1.0.0 + */ +class DogAllOf { + /** + * Constructs a new DogAllOf. + * @alias module:model/DogAllOf + */ + constructor() { + + DogAllOf.initialize(this); + } + + /** + * Initializes the fields of this object. + * This method is used by the constructors of any subclasses, in order to implement multiple inheritance (mix-ins). + * Only for internal use. + */ + static initialize(obj) { + } + + /** + * Constructs a DogAllOf from a plain JavaScript object, optionally creating a new instance. + * Copies all relevant properties from data to obj if supplied or a new instance if not. + * @param {Object} data The plain JavaScript object bearing properties of interest. + * @param {module:model/DogAllOf} obj Optional instance to populate. + * @return {module:model/DogAllOf} The populated DogAllOf instance. + */ + static constructFromObject(data, obj) { + if (data) { + obj = obj || new DogAllOf(); + + if (data.hasOwnProperty('breed')) { + obj['breed'] = ApiClient.convertToType(data['breed'], 'String'); + } + } + return obj; + } + + +} + +/** + * @member {String} breed + */ +DogAllOf.prototype['breed'] = undefined; + + + + + + +export default DogAllOf; + diff --git a/samples/openapi3/client/petstore/javascript-es6/src/model/EnumArrays.js b/samples/openapi3/client/petstore/javascript-es6/src/model/EnumArrays.js index 9426d4735a..7fe64e3111 100644 --- a/samples/openapi3/client/petstore/javascript-es6/src/model/EnumArrays.js +++ b/samples/openapi3/client/petstore/javascript-es6/src/model/EnumArrays.js @@ -2,7 +2,7 @@ * OpenAPI Petstore * This spec is mainly for testing Petstore server and contains fake endpoints, models. Please do not use this for any other purpose. Special characters: \" \\ * - * OpenAPI spec version: 1.0.0 + * The version of the OpenAPI document: 1.0.0 * * * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). diff --git a/samples/openapi3/client/petstore/javascript-es6/src/model/EnumClass.js b/samples/openapi3/client/petstore/javascript-es6/src/model/EnumClass.js index 65ac9f1f1b..f0888e52d5 100644 --- a/samples/openapi3/client/petstore/javascript-es6/src/model/EnumClass.js +++ b/samples/openapi3/client/petstore/javascript-es6/src/model/EnumClass.js @@ -2,7 +2,7 @@ * OpenAPI Petstore * This spec is mainly for testing Petstore server and contains fake endpoints, models. Please do not use this for any other purpose. Special characters: \" \\ * - * OpenAPI spec version: 1.0.0 + * The version of the OpenAPI document: 1.0.0 * * * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). diff --git a/samples/openapi3/client/petstore/javascript-es6/src/model/EnumTest.js b/samples/openapi3/client/petstore/javascript-es6/src/model/EnumTest.js index 0c51138d73..dc684b7c26 100644 --- a/samples/openapi3/client/petstore/javascript-es6/src/model/EnumTest.js +++ b/samples/openapi3/client/petstore/javascript-es6/src/model/EnumTest.js @@ -2,7 +2,7 @@ * OpenAPI Petstore * This spec is mainly for testing Petstore server and contains fake endpoints, models. Please do not use this for any other purpose. Special characters: \" \\ * - * OpenAPI spec version: 1.0.0 + * The version of the OpenAPI document: 1.0.0 * * * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). diff --git a/samples/openapi3/client/petstore/javascript-es6/src/model/File.js b/samples/openapi3/client/petstore/javascript-es6/src/model/File.js index e29e1a0309..12b51b87d8 100644 --- a/samples/openapi3/client/petstore/javascript-es6/src/model/File.js +++ b/samples/openapi3/client/petstore/javascript-es6/src/model/File.js @@ -2,7 +2,7 @@ * OpenAPI Petstore * This spec is mainly for testing Petstore server and contains fake endpoints, models. Please do not use this for any other purpose. Special characters: \" \\ * - * OpenAPI spec version: 1.0.0 + * The version of the OpenAPI document: 1.0.0 * * * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). diff --git a/samples/openapi3/client/petstore/javascript-es6/src/model/FileSchemaTestClass.js b/samples/openapi3/client/petstore/javascript-es6/src/model/FileSchemaTestClass.js index b4be63df0e..b6fe9e90ec 100644 --- a/samples/openapi3/client/petstore/javascript-es6/src/model/FileSchemaTestClass.js +++ b/samples/openapi3/client/petstore/javascript-es6/src/model/FileSchemaTestClass.js @@ -2,7 +2,7 @@ * OpenAPI Petstore * This spec is mainly for testing Petstore server and contains fake endpoints, models. Please do not use this for any other purpose. Special characters: \" \\ * - * OpenAPI spec version: 1.0.0 + * The version of the OpenAPI document: 1.0.0 * * * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). diff --git a/samples/openapi3/client/petstore/javascript-es6/src/model/Foo.js b/samples/openapi3/client/petstore/javascript-es6/src/model/Foo.js index ef086dc645..3e4477b805 100644 --- a/samples/openapi3/client/petstore/javascript-es6/src/model/Foo.js +++ b/samples/openapi3/client/petstore/javascript-es6/src/model/Foo.js @@ -2,7 +2,7 @@ * OpenAPI Petstore * This spec is mainly for testing Petstore server and contains fake endpoints, models. Please do not use this for any other purpose. Special characters: \" \\ * - * OpenAPI spec version: 1.0.0 + * The version of the OpenAPI document: 1.0.0 * * * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). diff --git a/samples/openapi3/client/petstore/javascript-es6/src/model/FormatTest.js b/samples/openapi3/client/petstore/javascript-es6/src/model/FormatTest.js index 435482b99e..0c5fccb907 100644 --- a/samples/openapi3/client/petstore/javascript-es6/src/model/FormatTest.js +++ b/samples/openapi3/client/petstore/javascript-es6/src/model/FormatTest.js @@ -2,7 +2,7 @@ * OpenAPI Petstore * This spec is mainly for testing Petstore server and contains fake endpoints, models. Please do not use this for any other purpose. Special characters: \" \\ * - * OpenAPI spec version: 1.0.0 + * The version of the OpenAPI document: 1.0.0 * * * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). diff --git a/samples/openapi3/client/petstore/javascript-es6/src/model/HasOnlyReadOnly.js b/samples/openapi3/client/petstore/javascript-es6/src/model/HasOnlyReadOnly.js index 9c11ae559c..57c9173723 100644 --- a/samples/openapi3/client/petstore/javascript-es6/src/model/HasOnlyReadOnly.js +++ b/samples/openapi3/client/petstore/javascript-es6/src/model/HasOnlyReadOnly.js @@ -2,7 +2,7 @@ * OpenAPI Petstore * This spec is mainly for testing Petstore server and contains fake endpoints, models. Please do not use this for any other purpose. Special characters: \" \\ * - * OpenAPI spec version: 1.0.0 + * The version of the OpenAPI document: 1.0.0 * * * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). diff --git a/samples/openapi3/client/petstore/javascript-es6/src/model/HealthCheckResult.js b/samples/openapi3/client/petstore/javascript-es6/src/model/HealthCheckResult.js index cb43d1dfad..2dd62c2a26 100644 --- a/samples/openapi3/client/petstore/javascript-es6/src/model/HealthCheckResult.js +++ b/samples/openapi3/client/petstore/javascript-es6/src/model/HealthCheckResult.js @@ -2,7 +2,7 @@ * OpenAPI Petstore * This spec is mainly for testing Petstore server and contains fake endpoints, models. Please do not use this for any other purpose. Special characters: \" \\ * - * OpenAPI spec version: 1.0.0 + * The version of the OpenAPI document: 1.0.0 * * * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). diff --git a/samples/openapi3/client/petstore/javascript-es6/src/model/InlineObject.js b/samples/openapi3/client/petstore/javascript-es6/src/model/InlineObject.js index 5fb612b504..6815bc809c 100644 --- a/samples/openapi3/client/petstore/javascript-es6/src/model/InlineObject.js +++ b/samples/openapi3/client/petstore/javascript-es6/src/model/InlineObject.js @@ -2,7 +2,7 @@ * OpenAPI Petstore * This spec is mainly for testing Petstore server and contains fake endpoints, models. Please do not use this for any other purpose. Special characters: \" \\ * - * OpenAPI spec version: 1.0.0 + * The version of the OpenAPI document: 1.0.0 * * * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). diff --git a/samples/openapi3/client/petstore/javascript-es6/src/model/InlineObject1.js b/samples/openapi3/client/petstore/javascript-es6/src/model/InlineObject1.js index 8185d49be2..947877256f 100644 --- a/samples/openapi3/client/petstore/javascript-es6/src/model/InlineObject1.js +++ b/samples/openapi3/client/petstore/javascript-es6/src/model/InlineObject1.js @@ -2,7 +2,7 @@ * OpenAPI Petstore * This spec is mainly for testing Petstore server and contains fake endpoints, models. Please do not use this for any other purpose. Special characters: \" \\ * - * OpenAPI spec version: 1.0.0 + * The version of the OpenAPI document: 1.0.0 * * * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). diff --git a/samples/openapi3/client/petstore/javascript-es6/src/model/InlineObject2.js b/samples/openapi3/client/petstore/javascript-es6/src/model/InlineObject2.js index a419f55db1..e6ed904456 100644 --- a/samples/openapi3/client/petstore/javascript-es6/src/model/InlineObject2.js +++ b/samples/openapi3/client/petstore/javascript-es6/src/model/InlineObject2.js @@ -2,7 +2,7 @@ * OpenAPI Petstore * This spec is mainly for testing Petstore server and contains fake endpoints, models. Please do not use this for any other purpose. Special characters: \" \\ * - * OpenAPI spec version: 1.0.0 + * The version of the OpenAPI document: 1.0.0 * * * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). diff --git a/samples/openapi3/client/petstore/javascript-es6/src/model/InlineObject3.js b/samples/openapi3/client/petstore/javascript-es6/src/model/InlineObject3.js index ffe0fcc5b0..6a14f67109 100644 --- a/samples/openapi3/client/petstore/javascript-es6/src/model/InlineObject3.js +++ b/samples/openapi3/client/petstore/javascript-es6/src/model/InlineObject3.js @@ -2,7 +2,7 @@ * OpenAPI Petstore * This spec is mainly for testing Petstore server and contains fake endpoints, models. Please do not use this for any other purpose. Special characters: \" \\ * - * OpenAPI spec version: 1.0.0 + * The version of the OpenAPI document: 1.0.0 * * * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). diff --git a/samples/openapi3/client/petstore/javascript-es6/src/model/InlineObject4.js b/samples/openapi3/client/petstore/javascript-es6/src/model/InlineObject4.js index 10317855d1..9d5d5715c6 100644 --- a/samples/openapi3/client/petstore/javascript-es6/src/model/InlineObject4.js +++ b/samples/openapi3/client/petstore/javascript-es6/src/model/InlineObject4.js @@ -2,7 +2,7 @@ * OpenAPI Petstore * This spec is mainly for testing Petstore server and contains fake endpoints, models. Please do not use this for any other purpose. Special characters: \" \\ * - * OpenAPI spec version: 1.0.0 + * The version of the OpenAPI document: 1.0.0 * * * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). diff --git a/samples/openapi3/client/petstore/javascript-es6/src/model/InlineObject5.js b/samples/openapi3/client/petstore/javascript-es6/src/model/InlineObject5.js index aced91fc5e..1969e9b2ef 100644 --- a/samples/openapi3/client/petstore/javascript-es6/src/model/InlineObject5.js +++ b/samples/openapi3/client/petstore/javascript-es6/src/model/InlineObject5.js @@ -2,7 +2,7 @@ * OpenAPI Petstore * This spec is mainly for testing Petstore server and contains fake endpoints, models. Please do not use this for any other purpose. Special characters: \" \\ * - * OpenAPI spec version: 1.0.0 + * The version of the OpenAPI document: 1.0.0 * * * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). diff --git a/samples/openapi3/client/petstore/javascript-es6/src/model/InlineResponseDefault.js b/samples/openapi3/client/petstore/javascript-es6/src/model/InlineResponseDefault.js index 910cf38d1e..2f66d888ec 100644 --- a/samples/openapi3/client/petstore/javascript-es6/src/model/InlineResponseDefault.js +++ b/samples/openapi3/client/petstore/javascript-es6/src/model/InlineResponseDefault.js @@ -2,7 +2,7 @@ * OpenAPI Petstore * This spec is mainly for testing Petstore server and contains fake endpoints, models. Please do not use this for any other purpose. Special characters: \" \\ * - * OpenAPI spec version: 1.0.0 + * The version of the OpenAPI document: 1.0.0 * * * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). diff --git a/samples/openapi3/client/petstore/javascript-es6/src/model/List.js b/samples/openapi3/client/petstore/javascript-es6/src/model/List.js index d4d342319e..18d6a25849 100644 --- a/samples/openapi3/client/petstore/javascript-es6/src/model/List.js +++ b/samples/openapi3/client/petstore/javascript-es6/src/model/List.js @@ -2,7 +2,7 @@ * OpenAPI Petstore * This spec is mainly for testing Petstore server and contains fake endpoints, models. Please do not use this for any other purpose. Special characters: \" \\ * - * OpenAPI spec version: 1.0.0 + * The version of the OpenAPI document: 1.0.0 * * * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). diff --git a/samples/openapi3/client/petstore/javascript-es6/src/model/MapTest.js b/samples/openapi3/client/petstore/javascript-es6/src/model/MapTest.js index 683ca05ebc..3113ad56bd 100644 --- a/samples/openapi3/client/petstore/javascript-es6/src/model/MapTest.js +++ b/samples/openapi3/client/petstore/javascript-es6/src/model/MapTest.js @@ -2,7 +2,7 @@ * OpenAPI Petstore * This spec is mainly for testing Petstore server and contains fake endpoints, models. Please do not use this for any other purpose. Special characters: \" \\ * - * OpenAPI spec version: 1.0.0 + * The version of the OpenAPI document: 1.0.0 * * * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). diff --git a/samples/openapi3/client/petstore/javascript-es6/src/model/MixedPropertiesAndAdditionalPropertiesClass.js b/samples/openapi3/client/petstore/javascript-es6/src/model/MixedPropertiesAndAdditionalPropertiesClass.js index 5568d3a6e9..7cd9ca844f 100644 --- a/samples/openapi3/client/petstore/javascript-es6/src/model/MixedPropertiesAndAdditionalPropertiesClass.js +++ b/samples/openapi3/client/petstore/javascript-es6/src/model/MixedPropertiesAndAdditionalPropertiesClass.js @@ -2,7 +2,7 @@ * OpenAPI Petstore * This spec is mainly for testing Petstore server and contains fake endpoints, models. Please do not use this for any other purpose. Special characters: \" \\ * - * OpenAPI spec version: 1.0.0 + * The version of the OpenAPI document: 1.0.0 * * * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). diff --git a/samples/openapi3/client/petstore/javascript-es6/src/model/Model200Response.js b/samples/openapi3/client/petstore/javascript-es6/src/model/Model200Response.js index 629b0f0c75..88daaba2eb 100644 --- a/samples/openapi3/client/petstore/javascript-es6/src/model/Model200Response.js +++ b/samples/openapi3/client/petstore/javascript-es6/src/model/Model200Response.js @@ -2,7 +2,7 @@ * OpenAPI Petstore * This spec is mainly for testing Petstore server and contains fake endpoints, models. Please do not use this for any other purpose. Special characters: \" \\ * - * OpenAPI spec version: 1.0.0 + * The version of the OpenAPI document: 1.0.0 * * * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). diff --git a/samples/openapi3/client/petstore/javascript-es6/src/model/ModelReturn.js b/samples/openapi3/client/petstore/javascript-es6/src/model/ModelReturn.js index 9ad0c11bef..bdfe578288 100644 --- a/samples/openapi3/client/petstore/javascript-es6/src/model/ModelReturn.js +++ b/samples/openapi3/client/petstore/javascript-es6/src/model/ModelReturn.js @@ -2,7 +2,7 @@ * OpenAPI Petstore * This spec is mainly for testing Petstore server and contains fake endpoints, models. Please do not use this for any other purpose. Special characters: \" \\ * - * OpenAPI spec version: 1.0.0 + * The version of the OpenAPI document: 1.0.0 * * * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). diff --git a/samples/openapi3/client/petstore/javascript-es6/src/model/Name.js b/samples/openapi3/client/petstore/javascript-es6/src/model/Name.js index 63e7d52e5f..740d4bad15 100644 --- a/samples/openapi3/client/petstore/javascript-es6/src/model/Name.js +++ b/samples/openapi3/client/petstore/javascript-es6/src/model/Name.js @@ -2,7 +2,7 @@ * OpenAPI Petstore * This spec is mainly for testing Petstore server and contains fake endpoints, models. Please do not use this for any other purpose. Special characters: \" \\ * - * OpenAPI spec version: 1.0.0 + * The version of the OpenAPI document: 1.0.0 * * * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). diff --git a/samples/openapi3/client/petstore/javascript-es6/src/model/NullableClass.js b/samples/openapi3/client/petstore/javascript-es6/src/model/NullableClass.js new file mode 100644 index 0000000000..12a0f2509b --- /dev/null +++ b/samples/openapi3/client/petstore/javascript-es6/src/model/NullableClass.js @@ -0,0 +1,163 @@ +/** + * OpenAPI Petstore + * This spec is mainly for testing Petstore server and contains fake endpoints, models. Please do not use this for any other purpose. Special characters: \" \\ + * + * The version of the OpenAPI document: 1.0.0 + * + * + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). + * https://openapi-generator.tech + * Do not edit the class manually. + * + */ + +import ApiClient from '../ApiClient'; + +/** + * The NullableClass model module. + * @module model/NullableClass + * @version 1.0.0 + */ +class NullableClass { + /** + * Constructs a new NullableClass. + * @alias module:model/NullableClass + * @extends Object + */ + constructor() { + + NullableClass.initialize(this); + } + + /** + * Initializes the fields of this object. + * This method is used by the constructors of any subclasses, in order to implement multiple inheritance (mix-ins). + * Only for internal use. + */ + static initialize(obj) { + } + + /** + * Constructs a NullableClass from a plain JavaScript object, optionally creating a new instance. + * Copies all relevant properties from data to obj if supplied or a new instance if not. + * @param {Object} data The plain JavaScript object bearing properties of interest. + * @param {module:model/NullableClass} obj Optional instance to populate. + * @return {module:model/NullableClass} The populated NullableClass instance. + */ + static constructFromObject(data, obj) { + if (data) { + obj = obj || new NullableClass(); + + ApiClient.constructFromObject(data, obj, 'Object'); + + + if (data.hasOwnProperty('integer_prop')) { + obj['integer_prop'] = ApiClient.convertToType(data['integer_prop'], 'Number'); + } + if (data.hasOwnProperty('number_prop')) { + obj['number_prop'] = ApiClient.convertToType(data['number_prop'], 'Number'); + } + if (data.hasOwnProperty('boolean_prop')) { + obj['boolean_prop'] = ApiClient.convertToType(data['boolean_prop'], 'Boolean'); + } + if (data.hasOwnProperty('string_prop')) { + obj['string_prop'] = ApiClient.convertToType(data['string_prop'], 'String'); + } + if (data.hasOwnProperty('date_prop')) { + obj['date_prop'] = ApiClient.convertToType(data['date_prop'], 'Date'); + } + if (data.hasOwnProperty('datetime_prop')) { + obj['datetime_prop'] = ApiClient.convertToType(data['datetime_prop'], 'Date'); + } + if (data.hasOwnProperty('array_nullable_prop')) { + obj['array_nullable_prop'] = ApiClient.convertToType(data['array_nullable_prop'], [Object]); + } + if (data.hasOwnProperty('array_and_items_nullable_prop')) { + obj['array_and_items_nullable_prop'] = ApiClient.convertToType(data['array_and_items_nullable_prop'], [Object]); + } + if (data.hasOwnProperty('array_items_nullable')) { + obj['array_items_nullable'] = ApiClient.convertToType(data['array_items_nullable'], [Object]); + } + if (data.hasOwnProperty('object_nullable_prop')) { + obj['object_nullable_prop'] = ApiClient.convertToType(data['object_nullable_prop'], {'String': Object}); + } + if (data.hasOwnProperty('object_and_items_nullable_prop')) { + obj['object_and_items_nullable_prop'] = ApiClient.convertToType(data['object_and_items_nullable_prop'], {'String': Object}); + } + if (data.hasOwnProperty('object_items_nullable')) { + obj['object_items_nullable'] = ApiClient.convertToType(data['object_items_nullable'], {'String': Object}); + } + } + return obj; + } + + +} + +/** + * @member {Number} integer_prop + */ +NullableClass.prototype['integer_prop'] = undefined; + +/** + * @member {Number} number_prop + */ +NullableClass.prototype['number_prop'] = undefined; + +/** + * @member {Boolean} boolean_prop + */ +NullableClass.prototype['boolean_prop'] = undefined; + +/** + * @member {String} string_prop + */ +NullableClass.prototype['string_prop'] = undefined; + +/** + * @member {Date} date_prop + */ +NullableClass.prototype['date_prop'] = undefined; + +/** + * @member {Date} datetime_prop + */ +NullableClass.prototype['datetime_prop'] = undefined; + +/** + * @member {Array.} array_nullable_prop + */ +NullableClass.prototype['array_nullable_prop'] = undefined; + +/** + * @member {Array.} array_and_items_nullable_prop + */ +NullableClass.prototype['array_and_items_nullable_prop'] = undefined; + +/** + * @member {Array.} array_items_nullable + */ +NullableClass.prototype['array_items_nullable'] = undefined; + +/** + * @member {Object.} object_nullable_prop + */ +NullableClass.prototype['object_nullable_prop'] = undefined; + +/** + * @member {Object.} object_and_items_nullable_prop + */ +NullableClass.prototype['object_and_items_nullable_prop'] = undefined; + +/** + * @member {Object.} object_items_nullable + */ +NullableClass.prototype['object_items_nullable'] = undefined; + + + + + + +export default NullableClass; + diff --git a/samples/openapi3/client/petstore/javascript-es6/src/model/NumberOnly.js b/samples/openapi3/client/petstore/javascript-es6/src/model/NumberOnly.js index ec5ad812b4..449e08bd9a 100644 --- a/samples/openapi3/client/petstore/javascript-es6/src/model/NumberOnly.js +++ b/samples/openapi3/client/petstore/javascript-es6/src/model/NumberOnly.js @@ -2,7 +2,7 @@ * OpenAPI Petstore * This spec is mainly for testing Petstore server and contains fake endpoints, models. Please do not use this for any other purpose. Special characters: \" \\ * - * OpenAPI spec version: 1.0.0 + * The version of the OpenAPI document: 1.0.0 * * * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). diff --git a/samples/openapi3/client/petstore/javascript-es6/src/model/Order.js b/samples/openapi3/client/petstore/javascript-es6/src/model/Order.js index 8c07a5cd0f..1d28748e82 100644 --- a/samples/openapi3/client/petstore/javascript-es6/src/model/Order.js +++ b/samples/openapi3/client/petstore/javascript-es6/src/model/Order.js @@ -2,7 +2,7 @@ * OpenAPI Petstore * This spec is mainly for testing Petstore server and contains fake endpoints, models. Please do not use this for any other purpose. Special characters: \" \\ * - * OpenAPI spec version: 1.0.0 + * The version of the OpenAPI document: 1.0.0 * * * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). diff --git a/samples/openapi3/client/petstore/javascript-es6/src/model/OuterComposite.js b/samples/openapi3/client/petstore/javascript-es6/src/model/OuterComposite.js index ba597462ee..cc4ed6c172 100644 --- a/samples/openapi3/client/petstore/javascript-es6/src/model/OuterComposite.js +++ b/samples/openapi3/client/petstore/javascript-es6/src/model/OuterComposite.js @@ -2,7 +2,7 @@ * OpenAPI Petstore * This spec is mainly for testing Petstore server and contains fake endpoints, models. Please do not use this for any other purpose. Special characters: \" \\ * - * OpenAPI spec version: 1.0.0 + * The version of the OpenAPI document: 1.0.0 * * * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). diff --git a/samples/openapi3/client/petstore/javascript-es6/src/model/OuterEnum.js b/samples/openapi3/client/petstore/javascript-es6/src/model/OuterEnum.js index 0404b03b06..12fdff9802 100644 --- a/samples/openapi3/client/petstore/javascript-es6/src/model/OuterEnum.js +++ b/samples/openapi3/client/petstore/javascript-es6/src/model/OuterEnum.js @@ -2,7 +2,7 @@ * OpenAPI Petstore * This spec is mainly for testing Petstore server and contains fake endpoints, models. Please do not use this for any other purpose. Special characters: \" \\ * - * OpenAPI spec version: 1.0.0 + * The version of the OpenAPI document: 1.0.0 * * * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). diff --git a/samples/openapi3/client/petstore/javascript-es6/src/model/OuterEnumDefaultValue.js b/samples/openapi3/client/petstore/javascript-es6/src/model/OuterEnumDefaultValue.js index 91eb853106..a65b1dd0a6 100644 --- a/samples/openapi3/client/petstore/javascript-es6/src/model/OuterEnumDefaultValue.js +++ b/samples/openapi3/client/petstore/javascript-es6/src/model/OuterEnumDefaultValue.js @@ -2,7 +2,7 @@ * OpenAPI Petstore * This spec is mainly for testing Petstore server and contains fake endpoints, models. Please do not use this for any other purpose. Special characters: \" \\ * - * OpenAPI spec version: 1.0.0 + * The version of the OpenAPI document: 1.0.0 * * * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). diff --git a/samples/openapi3/client/petstore/javascript-es6/src/model/OuterEnumInteger.js b/samples/openapi3/client/petstore/javascript-es6/src/model/OuterEnumInteger.js index 08cc429472..b6fc29568a 100644 --- a/samples/openapi3/client/petstore/javascript-es6/src/model/OuterEnumInteger.js +++ b/samples/openapi3/client/petstore/javascript-es6/src/model/OuterEnumInteger.js @@ -2,7 +2,7 @@ * OpenAPI Petstore * This spec is mainly for testing Petstore server and contains fake endpoints, models. Please do not use this for any other purpose. Special characters: \" \\ * - * OpenAPI spec version: 1.0.0 + * The version of the OpenAPI document: 1.0.0 * * * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). diff --git a/samples/openapi3/client/petstore/javascript-es6/src/model/OuterEnumIntegerDefaultValue.js b/samples/openapi3/client/petstore/javascript-es6/src/model/OuterEnumIntegerDefaultValue.js index d2df27044c..86a9d6b946 100644 --- a/samples/openapi3/client/petstore/javascript-es6/src/model/OuterEnumIntegerDefaultValue.js +++ b/samples/openapi3/client/petstore/javascript-es6/src/model/OuterEnumIntegerDefaultValue.js @@ -2,7 +2,7 @@ * OpenAPI Petstore * This spec is mainly for testing Petstore server and contains fake endpoints, models. Please do not use this for any other purpose. Special characters: \" \\ * - * OpenAPI spec version: 1.0.0 + * The version of the OpenAPI document: 1.0.0 * * * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). diff --git a/samples/openapi3/client/petstore/javascript-es6/src/model/Pet.js b/samples/openapi3/client/petstore/javascript-es6/src/model/Pet.js index 37b987fdf8..b88e5d869f 100644 --- a/samples/openapi3/client/petstore/javascript-es6/src/model/Pet.js +++ b/samples/openapi3/client/petstore/javascript-es6/src/model/Pet.js @@ -2,7 +2,7 @@ * OpenAPI Petstore * This spec is mainly for testing Petstore server and contains fake endpoints, models. Please do not use this for any other purpose. Special characters: \" \\ * - * OpenAPI spec version: 1.0.0 + * The version of the OpenAPI document: 1.0.0 * * * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). diff --git a/samples/openapi3/client/petstore/javascript-es6/src/model/ReadOnlyFirst.js b/samples/openapi3/client/petstore/javascript-es6/src/model/ReadOnlyFirst.js index 289277c191..8e2a39cf2a 100644 --- a/samples/openapi3/client/petstore/javascript-es6/src/model/ReadOnlyFirst.js +++ b/samples/openapi3/client/petstore/javascript-es6/src/model/ReadOnlyFirst.js @@ -2,7 +2,7 @@ * OpenAPI Petstore * This spec is mainly for testing Petstore server and contains fake endpoints, models. Please do not use this for any other purpose. Special characters: \" \\ * - * OpenAPI spec version: 1.0.0 + * The version of the OpenAPI document: 1.0.0 * * * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). diff --git a/samples/openapi3/client/petstore/javascript-es6/src/model/SpecialModelName.js b/samples/openapi3/client/petstore/javascript-es6/src/model/SpecialModelName.js index be9f36a855..45ba7d7ea0 100644 --- a/samples/openapi3/client/petstore/javascript-es6/src/model/SpecialModelName.js +++ b/samples/openapi3/client/petstore/javascript-es6/src/model/SpecialModelName.js @@ -2,7 +2,7 @@ * OpenAPI Petstore * This spec is mainly for testing Petstore server and contains fake endpoints, models. Please do not use this for any other purpose. Special characters: \" \\ * - * OpenAPI spec version: 1.0.0 + * The version of the OpenAPI document: 1.0.0 * * * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). diff --git a/samples/openapi3/client/petstore/javascript-es6/src/model/Tag.js b/samples/openapi3/client/petstore/javascript-es6/src/model/Tag.js index 0d39a36833..3330530c0c 100644 --- a/samples/openapi3/client/petstore/javascript-es6/src/model/Tag.js +++ b/samples/openapi3/client/petstore/javascript-es6/src/model/Tag.js @@ -2,7 +2,7 @@ * OpenAPI Petstore * This spec is mainly for testing Petstore server and contains fake endpoints, models. Please do not use this for any other purpose. Special characters: \" \\ * - * OpenAPI spec version: 1.0.0 + * The version of the OpenAPI document: 1.0.0 * * * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). diff --git a/samples/openapi3/client/petstore/javascript-es6/src/model/User.js b/samples/openapi3/client/petstore/javascript-es6/src/model/User.js index 7f8e2848e1..473bf7c78b 100644 --- a/samples/openapi3/client/petstore/javascript-es6/src/model/User.js +++ b/samples/openapi3/client/petstore/javascript-es6/src/model/User.js @@ -2,7 +2,7 @@ * OpenAPI Petstore * This spec is mainly for testing Petstore server and contains fake endpoints, models. Please do not use this for any other purpose. Special characters: \" \\ * - * OpenAPI spec version: 1.0.0 + * The version of the OpenAPI document: 1.0.0 * * * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). diff --git a/samples/openapi3/client/petstore/javascript-es6/test/model/CatAllOf.spec.js b/samples/openapi3/client/petstore/javascript-es6/test/model/CatAllOf.spec.js new file mode 100644 index 0000000000..be4cf8b972 --- /dev/null +++ b/samples/openapi3/client/petstore/javascript-es6/test/model/CatAllOf.spec.js @@ -0,0 +1,65 @@ +/** + * OpenAPI Petstore + * This spec is mainly for testing Petstore server and contains fake endpoints, models. Please do not use this for any other purpose. Special characters: \" \\ + * + * The version of the OpenAPI document: 1.0.0 + * + * + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). + * https://openapi-generator.tech + * Do not edit the class manually. + * + */ + +(function(root, factory) { + if (typeof define === 'function' && define.amd) { + // AMD. + define(['expect.js', process.cwd()+'/src/index'], factory); + } else if (typeof module === 'object' && module.exports) { + // CommonJS-like environments that support module.exports, like Node. + factory(require('expect.js'), require(process.cwd()+'/src/index')); + } else { + // Browser globals (root is window) + factory(root.expect, root.OpenApiPetstore); + } +}(this, function(expect, OpenApiPetstore) { + 'use strict'; + + var instance; + + beforeEach(function() { + instance = new OpenApiPetstore.CatAllOf(); + }); + + var getProperty = function(object, getter, property) { + // Use getter method if present; otherwise, get the property directly. + if (typeof object[getter] === 'function') + return object[getter](); + else + return object[property]; + } + + var setProperty = function(object, setter, property, value) { + // Use setter method if present; otherwise, set the property directly. + if (typeof object[setter] === 'function') + object[setter](value); + else + object[property] = value; + } + + describe('CatAllOf', function() { + it('should create an instance of CatAllOf', function() { + // uncomment below and update the code to test CatAllOf + //var instane = new OpenApiPetstore.CatAllOf(); + //expect(instance).to.be.a(OpenApiPetstore.CatAllOf); + }); + + it('should have the property declawed (base name: "declawed")', function() { + // uncomment below and update the code to test the property declawed + //var instane = new OpenApiPetstore.CatAllOf(); + //expect(instance).to.be(); + }); + + }); + +})); diff --git a/samples/openapi3/client/petstore/javascript-es6/test/model/DogAllOf.spec.js b/samples/openapi3/client/petstore/javascript-es6/test/model/DogAllOf.spec.js new file mode 100644 index 0000000000..767e3b0071 --- /dev/null +++ b/samples/openapi3/client/petstore/javascript-es6/test/model/DogAllOf.spec.js @@ -0,0 +1,65 @@ +/** + * OpenAPI Petstore + * This spec is mainly for testing Petstore server and contains fake endpoints, models. Please do not use this for any other purpose. Special characters: \" \\ + * + * The version of the OpenAPI document: 1.0.0 + * + * + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). + * https://openapi-generator.tech + * Do not edit the class manually. + * + */ + +(function(root, factory) { + if (typeof define === 'function' && define.amd) { + // AMD. + define(['expect.js', process.cwd()+'/src/index'], factory); + } else if (typeof module === 'object' && module.exports) { + // CommonJS-like environments that support module.exports, like Node. + factory(require('expect.js'), require(process.cwd()+'/src/index')); + } else { + // Browser globals (root is window) + factory(root.expect, root.OpenApiPetstore); + } +}(this, function(expect, OpenApiPetstore) { + 'use strict'; + + var instance; + + beforeEach(function() { + instance = new OpenApiPetstore.DogAllOf(); + }); + + var getProperty = function(object, getter, property) { + // Use getter method if present; otherwise, get the property directly. + if (typeof object[getter] === 'function') + return object[getter](); + else + return object[property]; + } + + var setProperty = function(object, setter, property, value) { + // Use setter method if present; otherwise, set the property directly. + if (typeof object[setter] === 'function') + object[setter](value); + else + object[property] = value; + } + + describe('DogAllOf', function() { + it('should create an instance of DogAllOf', function() { + // uncomment below and update the code to test DogAllOf + //var instane = new OpenApiPetstore.DogAllOf(); + //expect(instance).to.be.a(OpenApiPetstore.DogAllOf); + }); + + it('should have the property breed (base name: "breed")', function() { + // uncomment below and update the code to test the property breed + //var instane = new OpenApiPetstore.DogAllOf(); + //expect(instance).to.be(); + }); + + }); + +})); diff --git a/samples/openapi3/client/petstore/javascript-es6/test/model/NullableClass.spec.js b/samples/openapi3/client/petstore/javascript-es6/test/model/NullableClass.spec.js new file mode 100644 index 0000000000..89cd2821d4 --- /dev/null +++ b/samples/openapi3/client/petstore/javascript-es6/test/model/NullableClass.spec.js @@ -0,0 +1,131 @@ +/** + * OpenAPI Petstore + * This spec is mainly for testing Petstore server and contains fake endpoints, models. Please do not use this for any other purpose. Special characters: \" \\ + * + * The version of the OpenAPI document: 1.0.0 + * + * + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). + * https://openapi-generator.tech + * Do not edit the class manually. + * + */ + +(function(root, factory) { + if (typeof define === 'function' && define.amd) { + // AMD. + define(['expect.js', process.cwd()+'/src/index'], factory); + } else if (typeof module === 'object' && module.exports) { + // CommonJS-like environments that support module.exports, like Node. + factory(require('expect.js'), require(process.cwd()+'/src/index')); + } else { + // Browser globals (root is window) + factory(root.expect, root.OpenApiPetstore); + } +}(this, function(expect, OpenApiPetstore) { + 'use strict'; + + var instance; + + beforeEach(function() { + instance = new OpenApiPetstore.NullableClass(); + }); + + var getProperty = function(object, getter, property) { + // Use getter method if present; otherwise, get the property directly. + if (typeof object[getter] === 'function') + return object[getter](); + else + return object[property]; + } + + var setProperty = function(object, setter, property, value) { + // Use setter method if present; otherwise, set the property directly. + if (typeof object[setter] === 'function') + object[setter](value); + else + object[property] = value; + } + + describe('NullableClass', function() { + it('should create an instance of NullableClass', function() { + // uncomment below and update the code to test NullableClass + //var instane = new OpenApiPetstore.NullableClass(); + //expect(instance).to.be.a(OpenApiPetstore.NullableClass); + }); + + it('should have the property integerProp (base name: "integer_prop")', function() { + // uncomment below and update the code to test the property integerProp + //var instane = new OpenApiPetstore.NullableClass(); + //expect(instance).to.be(); + }); + + it('should have the property numberProp (base name: "number_prop")', function() { + // uncomment below and update the code to test the property numberProp + //var instane = new OpenApiPetstore.NullableClass(); + //expect(instance).to.be(); + }); + + it('should have the property booleanProp (base name: "boolean_prop")', function() { + // uncomment below and update the code to test the property booleanProp + //var instane = new OpenApiPetstore.NullableClass(); + //expect(instance).to.be(); + }); + + it('should have the property stringProp (base name: "string_prop")', function() { + // uncomment below and update the code to test the property stringProp + //var instane = new OpenApiPetstore.NullableClass(); + //expect(instance).to.be(); + }); + + it('should have the property dateProp (base name: "date_prop")', function() { + // uncomment below and update the code to test the property dateProp + //var instane = new OpenApiPetstore.NullableClass(); + //expect(instance).to.be(); + }); + + it('should have the property datetimeProp (base name: "datetime_prop")', function() { + // uncomment below and update the code to test the property datetimeProp + //var instane = new OpenApiPetstore.NullableClass(); + //expect(instance).to.be(); + }); + + it('should have the property arrayNullableProp (base name: "array_nullable_prop")', function() { + // uncomment below and update the code to test the property arrayNullableProp + //var instane = new OpenApiPetstore.NullableClass(); + //expect(instance).to.be(); + }); + + it('should have the property arrayAndItemsNullableProp (base name: "array_and_items_nullable_prop")', function() { + // uncomment below and update the code to test the property arrayAndItemsNullableProp + //var instane = new OpenApiPetstore.NullableClass(); + //expect(instance).to.be(); + }); + + it('should have the property arrayItemsNullable (base name: "array_items_nullable")', function() { + // uncomment below and update the code to test the property arrayItemsNullable + //var instane = new OpenApiPetstore.NullableClass(); + //expect(instance).to.be(); + }); + + it('should have the property objectNullableProp (base name: "object_nullable_prop")', function() { + // uncomment below and update the code to test the property objectNullableProp + //var instane = new OpenApiPetstore.NullableClass(); + //expect(instance).to.be(); + }); + + it('should have the property objectAndItemsNullableProp (base name: "object_and_items_nullable_prop")', function() { + // uncomment below and update the code to test the property objectAndItemsNullableProp + //var instane = new OpenApiPetstore.NullableClass(); + //expect(instance).to.be(); + }); + + it('should have the property objectItemsNullable (base name: "object_items_nullable")', function() { + // uncomment below and update the code to test the property objectItemsNullable + //var instane = new OpenApiPetstore.NullableClass(); + //expect(instance).to.be(); + }); + + }); + +})); From 40a293dcda056e87134767e5a4e6c35ec621e1a6 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?J=C3=A9r=C3=A9mie=20Bresson?= Date: Tue, 2 Jul 2019 10:37:41 +0200 Subject: [PATCH 18/22] Update to swagger-parser to 2.0.13-OpenAPITools.org-2 (#3239) * Update to swagger-parser to 2.0.13-SNAPSHOT * Update samples * Update swagger-parser to 2.0.13-OpenAPITools.org-2 --- pom.xml | 2 +- .../rust-server/output/rust-server-test/api/openapi.yaml | 4 ++-- .../output/rust-server-test/docs/ObjectOfObjectsInner.md | 2 +- .../rust-server/output/rust-server-test/src/models.rs | 8 ++++---- 4 files changed, 8 insertions(+), 8 deletions(-) diff --git a/pom.xml b/pom.xml index a63eb41b53..9e42bba2ad 100644 --- a/pom.xml +++ b/pom.xml @@ -1368,7 +1368,7 @@ 1.8 1.8 org.openapitools.swagger.parser - 2.0.13-OpenAPITools.org-1 + 2.0.13-OpenAPITools.org-2 2.0.7 2.11.1 3.3.1 diff --git a/samples/server/petstore/rust-server/output/rust-server-test/api/openapi.yaml b/samples/server/petstore/rust-server/output/rust-server-test/api/openapi.yaml index b2b215809d..f74c8f90cc 100644 --- a/samples/server/petstore/rust-server/output/rust-server-test/api/openapi.yaml +++ b/samples/server/petstore/rust-server/output/rust-server-test/api/openapi.yaml @@ -127,10 +127,10 @@ components: type: object ObjectOfObjects_inner: properties: - optional_thing: - type: integer required_thing: type: string + optional_thing: + type: integer required: - required_thing diff --git a/samples/server/petstore/rust-server/output/rust-server-test/docs/ObjectOfObjectsInner.md b/samples/server/petstore/rust-server/output/rust-server-test/docs/ObjectOfObjectsInner.md index 81a62e6fd9..9aa888a5f7 100644 --- a/samples/server/petstore/rust-server/output/rust-server-test/docs/ObjectOfObjectsInner.md +++ b/samples/server/petstore/rust-server/output/rust-server-test/docs/ObjectOfObjectsInner.md @@ -3,8 +3,8 @@ ## Properties Name | Type | Description | Notes ------------ | ------------- | ------------- | ------------- -**optional_thing** | **isize** | | [optional] [default to None] **required_thing** | **String** | | +**optional_thing** | **isize** | | [optional] [default to None] [[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md) diff --git a/samples/server/petstore/rust-server/output/rust-server-test/src/models.rs b/samples/server/petstore/rust-server/output/rust-server-test/src/models.rs index 257ce5d269..ee9a16a375 100644 --- a/samples/server/petstore/rust-server/output/rust-server-test/src/models.rs +++ b/samples/server/petstore/rust-server/output/rust-server-test/src/models.rs @@ -88,20 +88,20 @@ impl ObjectOfObjects { #[derive(Debug, Clone, PartialEq, Serialize, Deserialize)] pub struct ObjectOfObjectsInner { + #[serde(rename = "required_thing")] + pub required_thing: String, + #[serde(rename = "optional_thing")] #[serde(skip_serializing_if="Option::is_none")] pub optional_thing: Option, - #[serde(rename = "required_thing")] - pub required_thing: String, - } impl ObjectOfObjectsInner { pub fn new(required_thing: String, ) -> ObjectOfObjectsInner { ObjectOfObjectsInner { - optional_thing: None, required_thing: required_thing, + optional_thing: None, } } } From dd0c2a84ee348e4142936b5666ad843e0a5f4c4a Mon Sep 17 00:00:00 2001 From: Thibault Duperron Date: Tue, 2 Jul 2019 10:40:36 +0200 Subject: [PATCH 19/22] Check classVarName against reserved keywords (#3079) Must fix #1831 and #13 --- .../openapitools/codegen/DefaultCodegen.java | 10 +++++----- .../codegen/languages/ErlangClientCodegen.java | 2 +- .../codegen/languages/ErlangProperCodegen.java | 4 ++-- .../codegen/languages/JavaClientCodegen.java | 8 ++++++++ .../languages/PhpSymfonyServerCodegen.java | 2 +- .../codegen/java/JavaClientCodegenTest.java | 17 ++++++++++++----- 6 files changed, 29 insertions(+), 14 deletions(-) diff --git a/modules/openapi-generator/src/main/java/org/openapitools/codegen/DefaultCodegen.java b/modules/openapi-generator/src/main/java/org/openapitools/codegen/DefaultCodegen.java index d3998a47bc..507a4d1d59 100644 --- a/modules/openapi-generator/src/main/java/org/openapitools/codegen/DefaultCodegen.java +++ b/modules/openapi-generator/src/main/java/org/openapitools/codegen/DefaultCodegen.java @@ -810,7 +810,7 @@ public class DefaultCodegen implements CodegenConfig { * @return the snake-cased variable name */ public String toApiVarName(String name) { - return snakeCase(name); + return lowerCamelCase(name); } /** @@ -1533,13 +1533,13 @@ public class DefaultCodegen implements CodegenConfig { } /** - * Return the snake-case of the string + * Return the lowerCamelCase of the string * - * @param name string to be snake-cased - * @return snake-cased string + * @param name string to be lowerCamelCased + * @return lowerCamelCase string */ @SuppressWarnings("static-method") - public String snakeCase(String name) { + public String lowerCamelCase(String name) { return (name.length() > 0) ? (Character.toLowerCase(name.charAt(0)) + name.substring(1)) : ""; } diff --git a/modules/openapi-generator/src/main/java/org/openapitools/codegen/languages/ErlangClientCodegen.java b/modules/openapi-generator/src/main/java/org/openapitools/codegen/languages/ErlangClientCodegen.java index 8d5836f717..f924229a17 100644 --- a/modules/openapi-generator/src/main/java/org/openapitools/codegen/languages/ErlangClientCodegen.java +++ b/modules/openapi-generator/src/main/java/org/openapitools/codegen/languages/ErlangClientCodegen.java @@ -128,7 +128,7 @@ public class ErlangClientCodegen extends DefaultCodegen implements CodegenConfig if (languageSpecificPrimitives.contains(type)) return (type); } else - type = getTypeDeclaration(toModelName(snakeCase(schemaType))); + type = getTypeDeclaration(toModelName(lowerCamelCase(schemaType))); return type; } diff --git a/modules/openapi-generator/src/main/java/org/openapitools/codegen/languages/ErlangProperCodegen.java b/modules/openapi-generator/src/main/java/org/openapitools/codegen/languages/ErlangProperCodegen.java index 5d935d75bd..011501670b 100644 --- a/modules/openapi-generator/src/main/java/org/openapitools/codegen/languages/ErlangProperCodegen.java +++ b/modules/openapi-generator/src/main/java/org/openapitools/codegen/languages/ErlangProperCodegen.java @@ -137,7 +137,7 @@ public class ErlangProperCodegen extends DefaultCodegen implements CodegenConfig } else if (typeMapping.containsKey(typeDeclaration)) { return typeMapping.get(typeDeclaration); } else { - return getTypeDeclaration(toModelName(snakeCase(typeDeclaration))); + return getTypeDeclaration(toModelName(lowerCamelCase(typeDeclaration))); } } @@ -179,7 +179,7 @@ public class ErlangProperCodegen extends DefaultCodegen implements CodegenConfig } else if (typeMapping.containsKey(schemaType)) { return typeMapping.get(schemaType); } else { - return getTypeDeclaration(toModelName(snakeCase(schemaType))); + return getTypeDeclaration(toModelName(lowerCamelCase(schemaType))); } } diff --git a/modules/openapi-generator/src/main/java/org/openapitools/codegen/languages/JavaClientCodegen.java b/modules/openapi-generator/src/main/java/org/openapitools/codegen/languages/JavaClientCodegen.java index b95c9bf8d3..89ad9e0dd9 100644 --- a/modules/openapi-generator/src/main/java/org/openapitools/codegen/languages/JavaClientCodegen.java +++ b/modules/openapi-generator/src/main/java/org/openapitools/codegen/languages/JavaClientCodegen.java @@ -695,4 +695,12 @@ public class JavaClientCodegen extends AbstractJavaCodegen return mime != null && JSON_VENDOR_MIME_PATTERN.matcher(mime).matches(); } + @Override + public String toApiVarName(String name) { + String apiVarName = super.toApiVarName(name); + if (reservedWords.contains(apiVarName)) { + apiVarName = escapeReservedWord(apiVarName); + } + return apiVarName; + } } diff --git a/modules/openapi-generator/src/main/java/org/openapitools/codegen/languages/PhpSymfonyServerCodegen.java b/modules/openapi-generator/src/main/java/org/openapitools/codegen/languages/PhpSymfonyServerCodegen.java index d29dd78849..4a58052af4 100644 --- a/modules/openapi-generator/src/main/java/org/openapitools/codegen/languages/PhpSymfonyServerCodegen.java +++ b/modules/openapi-generator/src/main/java/org/openapitools/codegen/languages/PhpSymfonyServerCodegen.java @@ -200,7 +200,7 @@ public class PhpSymfonyServerCodegen extends AbstractPhpCodegen implements Codeg if (alias != null && !alias.isEmpty()) { this.bundleAlias = alias.toLowerCase(Locale.ROOT); } else { - this.bundleAlias = snakeCase(bundleName).replaceAll("([A-Z]+)", "\\_$1").toLowerCase(Locale.ROOT); + this.bundleAlias = lowerCamelCase(bundleName).replaceAll("([A-Z]+)", "\\_$1").toLowerCase(Locale.ROOT); } } diff --git a/modules/openapi-generator/src/test/java/org/openapitools/codegen/java/JavaClientCodegenTest.java b/modules/openapi-generator/src/test/java/org/openapitools/codegen/java/JavaClientCodegenTest.java index acfd791fd0..48183b49ef 100644 --- a/modules/openapi-generator/src/test/java/org/openapitools/codegen/java/JavaClientCodegenTest.java +++ b/modules/openapi-generator/src/test/java/org/openapitools/codegen/java/JavaClientCodegenTest.java @@ -68,7 +68,7 @@ import java.util.stream.Collectors; public class JavaClientCodegenTest { @Test - public void arraysInRequestBody() throws Exception { + public void arraysInRequestBody() { OpenAPI openAPI = TestUtils.createOpenAPI(); final JavaClientCodegen codegen = new JavaClientCodegen(); codegen.setOpenAPI(openAPI); @@ -103,8 +103,7 @@ public class JavaClientCodegenTest { } @Test - public void nullValuesInComposedSchema() throws Exception { - OpenAPI openAPI = TestUtils.createOpenAPI(); + public void nullValuesInComposedSchema() { final JavaClientCodegen codegen = new JavaClientCodegen(); ComposedSchema schema = new ComposedSchema(); CodegenModel result = codegen.fromModel("CompSche", @@ -192,7 +191,7 @@ public class JavaClientCodegenTest { } @Test - public void testPackageNamesSetInvokerDerivedFromApi() throws Exception { + public void testPackageNamesSetInvokerDerivedFromApi() { final JavaClientCodegen codegen = new JavaClientCodegen(); codegen.additionalProperties().put(CodegenConstants.MODEL_PACKAGE, "xyz.yyyyy.zzzzzzz.mmmmm.model"); codegen.additionalProperties().put(CodegenConstants.API_PACKAGE, "xyz.yyyyy.zzzzzzz.aaaaa.api"); @@ -207,7 +206,7 @@ public class JavaClientCodegenTest { } @Test - public void testPackageNamesSetInvokerDerivedFromModel() throws Exception { + public void testPackageNamesSetInvokerDerivedFromModel() { final JavaClientCodegen codegen = new JavaClientCodegen(); codegen.additionalProperties().put(CodegenConstants.MODEL_PACKAGE, "xyz.yyyyy.zzzzzzz.mmmmm.model"); codegen.processOpts(); @@ -455,4 +454,12 @@ public class JavaClientCodegenTest { codegenParameter.dataType = "String"; return codegenParameter; } + + @Test + public void escapeName() { + final JavaClientCodegen codegen = new JavaClientCodegen(); + assertEquals("_default", codegen.toApiVarName("Default")); + assertEquals("_int", codegen.toApiVarName("int")); + assertEquals("pony", codegen.toApiVarName("pony")); + } } From c012dcd7544a5388190b1dfa6acf58db56a787b3 Mon Sep 17 00:00:00 2001 From: Jan Willem Harmelink <677156+jharmelink@users.noreply.github.com> Date: Tue, 2 Jul 2019 10:46:02 +0200 Subject: [PATCH 20/22] Added RxJava2 to java-vertx server codegen. (#3240) --- docs/generators/java-vertx.md | 3 ++- .../codegen/languages/JavaVertXServerCodegen.java | 4 ++++ .../src/main/resources/JavaVertXServer/api.mustache | 4 ++-- 3 files changed, 8 insertions(+), 3 deletions(-) diff --git a/docs/generators/java-vertx.md b/docs/generators/java-vertx.md index ae329295a5..244e2315c9 100644 --- a/docs/generators/java-vertx.md +++ b/docs/generators/java-vertx.md @@ -42,5 +42,6 @@ sidebar_label: java-vertx |parentArtifactId|parent artifactId in generated pom N.B. parentGroupId, parentArtifactId and parentVersion must all be specified for any of them to take effect| |null| |parentVersion|parent version in generated pom N.B. parentGroupId, parentArtifactId and parentVersion must all be specified for any of them to take effect| |null| |snapshotVersion|Uses a SNAPSHOT version.|
    **true**
    Use a SnapShot Version
    **false**
    Use a Release Version
    |null| -|rxInterface|When specified, API interfaces are generated with RX and methods return Single<> and Comparable.| |false| +|rxInterface|When specified, API interfaces are generated with RxJava and methods return Single<> and Completable.| |false| +|rxVersion2|When specified in combination with **rxInterface**, package imports are generated for RxJava2.| |false| |vertxSwaggerRouterVersion|Specify the version of the swagger router library| |null| diff --git a/modules/openapi-generator/src/main/java/org/openapitools/codegen/languages/JavaVertXServerCodegen.java b/modules/openapi-generator/src/main/java/org/openapitools/codegen/languages/JavaVertXServerCodegen.java index 8d484d379c..a067e29d6b 100644 --- a/modules/openapi-generator/src/main/java/org/openapitools/codegen/languages/JavaVertXServerCodegen.java +++ b/modules/openapi-generator/src/main/java/org/openapitools/codegen/languages/JavaVertXServerCodegen.java @@ -44,6 +44,7 @@ public class JavaVertXServerCodegen extends AbstractJavaCodegen { public static final String ROOT_PACKAGE = "rootPackage"; public static final String RX_INTERFACE_OPTION = "rxInterface"; + public static final String RX_VERSION_2_OPTION = "rxVersion2"; public static final String VERTX_SWAGGER_ROUTER_VERSION_OPTION = "vertxSwaggerRouterVersion"; /** @@ -88,6 +89,9 @@ public class JavaVertXServerCodegen extends AbstractJavaCodegen { cliOptions.add(CliOption.newBoolean(RX_INTERFACE_OPTION, "When specified, API interfaces are generated with RX " + "and methods return Single<> and Comparable.")); + cliOptions.add(CliOption.newBoolean(RX_VERSION_2_OPTION, + "When specified in combination with rxInterface, " + + "API interfaces are generated with RxJava2.")); cliOptions.add(CliOption.newString(VERTX_SWAGGER_ROUTER_VERSION_OPTION, "Specify the version of the swagger router library")); diff --git a/modules/openapi-generator/src/main/resources/JavaVertXServer/api.mustache b/modules/openapi-generator/src/main/resources/JavaVertXServer/api.mustache index bbef264504..920bbd92ea 100644 --- a/modules/openapi-generator/src/main/resources/JavaVertXServer/api.mustache +++ b/modules/openapi-generator/src/main/resources/JavaVertXServer/api.mustache @@ -4,8 +4,8 @@ package {{package}}; {{/imports}} {{#rxInterface}} -import rx.Completable; -import rx.Single; +import {{#rxVersion2}}io.reactivex{{/rxVersion2}}{{^rxVersion2}}rx{{/rxVersion2}}.Completable; +import {{#rxVersion2}}io.reactivex{{/rxVersion2}}{{^rxVersion2}}rx{{/rxVersion2}}.Single; {{/rxInterface}} {{^rxInterface}} import io.vertx.core.AsyncResult; From 4e62e92dafd12e1c394a9c003896e066a8e8bb71 Mon Sep 17 00:00:00 2001 From: William Cheng Date: Tue, 2 Jul 2019 17:17:57 +0800 Subject: [PATCH 21/22] update doc --- docs/generators/java-vertx.md | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/docs/generators/java-vertx.md b/docs/generators/java-vertx.md index 244e2315c9..e3d2946a3a 100644 --- a/docs/generators/java-vertx.md +++ b/docs/generators/java-vertx.md @@ -42,6 +42,6 @@ sidebar_label: java-vertx |parentArtifactId|parent artifactId in generated pom N.B. parentGroupId, parentArtifactId and parentVersion must all be specified for any of them to take effect| |null| |parentVersion|parent version in generated pom N.B. parentGroupId, parentArtifactId and parentVersion must all be specified for any of them to take effect| |null| |snapshotVersion|Uses a SNAPSHOT version.|
    **true**
    Use a SnapShot Version
    **false**
    Use a Release Version
    |null| -|rxInterface|When specified, API interfaces are generated with RxJava and methods return Single<> and Completable.| |false| -|rxVersion2|When specified in combination with **rxInterface**, package imports are generated for RxJava2.| |false| +|rxInterface|When specified, API interfaces are generated with RX and methods return Single<> and Comparable.| |false| +|rxVersion2|When specified in combination with rxInterface, API interfaces are generated with RxJava2.| |false| |vertxSwaggerRouterVersion|Specify the version of the swagger router library| |null| From b87806834b5b83c0bf0644cd8d19e69d788a1a92 Mon Sep 17 00:00:00 2001 From: Jim Schubert Date: Tue, 2 Jul 2019 09:15:18 -0400 Subject: [PATCH 22/22] [online] Honor GENERATOR_HOST env variable (#3263) This sets "host" appropriately to the published host when GENERATOR_HOST is configured. --- .../online/configuration/OpenAPIDocumentationConfig.java | 9 +++++++++ 1 file changed, 9 insertions(+) diff --git a/modules/openapi-generator-online/src/main/java/org/openapitools/codegen/online/configuration/OpenAPIDocumentationConfig.java b/modules/openapi-generator-online/src/main/java/org/openapitools/codegen/online/configuration/OpenAPIDocumentationConfig.java index 497bdc7994..5eaa29f051 100644 --- a/modules/openapi-generator-online/src/main/java/org/openapitools/codegen/online/configuration/OpenAPIDocumentationConfig.java +++ b/modules/openapi-generator-online/src/main/java/org/openapitools/codegen/online/configuration/OpenAPIDocumentationConfig.java @@ -31,6 +31,8 @@ import springfox.documentation.swagger2.annotations.EnableSwagger2; import java.io.IOException; import java.io.InputStream; +import java.net.URI; +import java.net.URISyntaxException; import java.util.Properties; @@ -64,7 +66,14 @@ public class OpenAPIDocumentationConfig { @Bean public Docket customImplementation(){ + String host; + try { + host = new URI(System.getProperty("GENERATOR_HOST", "http://localhost")).getHost(); + } catch (URISyntaxException e) { + host = ""; + } return new Docket(DocumentationType.SWAGGER_2) + .host(host) .select() .apis(RequestHandlerSelectors.basePackage("org.openapitools.codegen.online.api")) .build()